Как можно без односекундной задержки обработать клавишу ESC? В документации написано что для этого надо использовать функцию notimeout. Но если еще вызвать keypad - notimeout перестает работать.
Вот кусок программы:
Наверное, уже решил проблемму-то? Если нет - то вот код для размышления (вроде обрабатывает без задержек). Взят он, кстати, из html-документации по ncurses и немного модифицирован.
Проблему пока не решил (т. е. решить могу, но нет гарантии что будет работать на другом терминале). За пример спасибо, обязательно изучу.
n1tr0gen добавил в 18.08.2005 22:23
К сожалению ваш код не подходит. Обрабатывается без задержки, потому что выключена интерпретация esc-последовательностей. Если я ее включу (вызову keypad() - как я уже писал, мне необходимо обрабатывать функциональные клавиши) - опять появится задержка. Фактически мне по-любому надо обрабатывать esc-последовательности самому. Проблема вся в том, что на разных терминалах они разные. Более того, у них даже длина варьируется от 2 до примерно 7 байт. Может кто знает ссылку где про esc-последовательности, генерируемые при вводе с клавиатуры можно почитать? Я перерыл уже очень много на эту тему, но почти ничего не нашел.