|
|
1.1 ! root 1: #include "curses.ext" ! 2: /* @(#) meta.c: 1.1 10/15/83 (1.19 3/17/83) */ ! 3: ! 4: /* ! 5: * TRUE => all 8 bits of input character should be passed through. ! 6: */ ! 7: meta(win,bf) ! 8: WINDOW *win; int bf; ! 9: { ! 10: int _outch(); ! 11: ! 12: if (!has_meta_key) ! 13: return ERR; ! 14: /* ! 15: * Do the appropriate fiddling with the tty driver to make it send ! 16: * all 8 bits through. On USG this means clearing ISTRIP, on ! 17: * V7 you have to resort to RAW mode. ! 18: */ ! 19: #ifdef USG ! 20: if (bf) { ! 21: (cur_term->Nttyb).c_iflag &= ~ISTRIP; ! 22: (cur_term->Nttyb).c_cflag &= ~CSIZE; ! 23: (cur_term->Nttyb).c_cflag |= CS8; ! 24: (cur_term->Nttyb).c_cflag &= ~PARENB; ! 25: } else { ! 26: (cur_term->Nttyb).c_iflag |= ISTRIP; ! 27: (cur_term->Nttyb).c_cflag &= ~CSIZE; ! 28: (cur_term->Nttyb).c_cflag |= CS7; ! 29: (cur_term->Nttyb).c_cflag |= PARENB; ! 30: } ! 31: #else ! 32: if (bf) ! 33: raw(); ! 34: else ! 35: noraw(); ! 36: #endif ! 37: reset_prog_mode(); ! 38: ! 39: /* ! 40: * Do whatever is needed to put the terminal into meta-mode. ! 41: */ ! 42: if (bf) ! 43: tputs(meta_on, 1, _outch); ! 44: else ! 45: tputs(meta_off, 1, _outch); ! 46: ! 47: /* Keep track internally. */ ! 48: win->_use_meta = bf; ! 49: ! 50: return OK; ! 51: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.