Unix Man (Справочное руководство)


CURSES(3X) - часть 17


meta (win, bf)

Если этот режим установлен, все 8 бит символов, вводимых с клавиатуры, передаются программе, иначе процедура wgetch сбрасывает восьмой бит. Чтобы режим META работал правильно, необходимо, чтобы в базе данных для данного терминала была задана характеристика km (клавиша МЕТА).

nodelay (win, bf)

Этот режим не позволяет процедуре wgetch уходить в ожидание. Если этот режим установлен и нет готового символа, то возвращается значение ERR. Если режим не установлен, то wgetch ожидает ввода следующего символа.

notimeout (win, bf)

При интерпретации вводимых управляющих последовательностей процедура wgetch запускает таймер, ожидая следующего символа. Если вызвать процедуру notimeout (win, TRUE), то запуска таймера не происходит. Таймер используется для различения последовательностей, приходящих от функциональных клавиш, и последовательных нажатий обычных клавиш.

raw ( )
noraw ( )

Устанавливается или отменяется режим RAW. Режим RAW аналогичен режиму CBREAK, вводимые символы сразу передаются программе. Отличие заключается в том, что символы прерывания (interrupt, quit), а также символы управления передачей (xon, xoff) передаются без интерпретации, сигналы при этом не генерируются. Режим RAW устанавливает восьмибитный ввод и вывод. Реакция на клавишу BREAK зависит от других бит в характеристиках драйвера , эти биты пакетом curses не устанавливаются.

typeahead (fildes)

Обычно curses выполняет следующий вид оптимизации. Перед выводом на экран проверяется, нет ли уже нажатых клавиш, и, если есть, то вывод откладывается до следующего вызова refresh или doupdate. Это позволяет быстрее реагировать на последовательности команд. Обычно для проверки используется дескриптор файла, переданного в качестве аргумента процедуре newterm, или stdin, если инициализация проводилась с помощью initscr. Процедура typeahead позволяет заменить проверяемый файл на файл с дескриптором fildes. Если fildes равен -1, то описанная выше оптимизация не выполняется.

Отметим, что fildes - это дескриптор файла, а не указатель на структуру типа FILE.




Начало  Назад  Вперед