Книга: Разработка приложений в среде Linux. Второе издание
24.1.3. Чтение символов с терминала
24.1.3. Чтение символов с терминала
После правильной инициализации терминала чтение одиночных нажатий клавиш не составит труда. Функция SLang_getkey()
возвращает одиночный символ из терминала. Однако это не означает, что функция возвращает одиночное нажатие клавиши, ведь в системе Unix после многих нажатий клавиш может быть возвращено несколько символов. Например, на терминале VT100 (а также на многих других терминалах, включая консоль Linux) при нажатии клавиши <F1> на экран посылается четыре символа — ESC [ [ А
(попробуйте запустить slecho
, нажать клавишу <F1> и посмотрите, что получится). Чтобы установить соответствие между подобными многосимвольными последовательностями и нажатиями клавиш, можно использовать базу данных terminfo
[37].
Функция SLang_get_key()
, прежде чем вернуть результат, в течение неопределенного периода времени ожидает нажатие символа, который необходимо представить. В случае возникновения ошибки вместо действительного символа эта функция возвращает значение 0xFFFF
[169].
- 10.3.3 Терминальный драйвер в режиме без обработки символов
- Имена объектов длиной 68 символов
- 4.4.3. Чтение и запись
- Установите тип вашего терминала
- На сайтах вместо текста отображается непонятный набор символов
- У файла и каталога есть атрибуты (например: Скрытый, Только чтение). Как ими управлять из командной строки?
- В Adobe Acrobat Reader русский текст на экране читается нормально, а при печати получается текст из набора символов. Как...
- Наборы символов Firebird
- 12.5. Чтение «битых» компакт-дисков
- В полученных письмах вместо текста непонятный набор символов
- Практическая работа 31. Форматирование символов
- 19.2.4. Чтение и запись значений элементов HTML-форм