Руководство программиста для Linux

    778b1c86   

Опции ввода


* int keypad(win, bf)

TRUE активизирует keypad на клавиатуре во время ожидания ввода. Для функциональных клавиш и стрелок keypad ncurses вернет код клавиши, определенный как KEY_* в ncurses.h. Это очень удобно для клавиатуры ПК, потому что вы имеете возможность и пользоваться цифровым блоком, и перемещать курсор.

* int meta(win, bf)

Если TRUE, то коды клавиш, возвращаемые getch(), 8-битовочистые (верхний бит не учитывается). * int cbreak() int nocbreak() int crmode() int nocrmode() cbreak() и nocbreak()

устанавливают или снимают режим терминала CBREAK. Когда CBREAK установлен, читаемый ввод немедленно доступен программе, когда нет - будет буферизован до получения целой строки. (Замечание: crmode() и nocrmode() существуют для повышения совместимости, их использовать не нужно.) * int raw() int noraw()

Устанавливает или снимает режим RAW. RAW - это то же, что и CBREAK, только без обработки специальных символов. * int echo() int noecho()

Вызывайте echo() для отображения ввода пользователя и noecho(), чтобы его скрыть. * int halfdelay(t)

То же, что cbreak() с паузой в t секунд.

* int nodelay(win, bf)

Терминал устанавливается в неблокируемый режим. getch() вернет ERR, если ввод не готов. Если bf есть FALSE, то getch() будет ждать нажатия клавиши. * int timeout(t) int wtimeout(win, t)

Эти функции рекомендуется использовать вместо halfdelay(t) и nodelay(win, bf). Результат getch() зависит от значения t. При положительном t считывание блокируется на t милисекунд; при t, равном нулю, блокировки не происходит; при отрицательном t программа блокируется, пока ввод не станет возможен.

* int notimeout(win, bf)

Если bf равен TRUE, getch() будет использовать односекундный таймер для интерпретации вводимой последовательности, начинающейся с ESCAPE и т.п.

* int typeahead(fd)

При fd, равном -1, никакой проверки печати производиться не будет, при других значениях ncurses будет использовать для таких проверок файловый дескриптор fd вместо stdin.

* int intrflush(win, bf)

При активизации истинным bf нажатая клавиша прерывания (типа quit, break) очистит очередь драйвера tty. * void noqiflush() void qiflush()

(Пока не реализованы.)



Содержание раздела