Книга: Основы программирования в Linux
Режимы ввода
Режимы ввода
Режимы ввода управляют тем, как обрабатывается ввод (символы, полученные драйвером терминала от последовательного порта или клавиатуры) до передачи его в программу. Вы управляете вводом, устанавливая флаги в элементе c_iflag
структуры termios
. Все флаги определены как макросы и могут комбинироваться с помощью поразрядной операции OR
. Это свойственно всем режимам терминала.
В элементе c_iflag
могут применяться следующие макросы:
? BRKINT
— генерирует прерывание, когда в линии связи обнаруживается разрыв (потеря соединения);
? IGNBRK
— игнорирует разрывы соединения в линии связи;
? ICRNL
— преобразует полученный символ возврата каретки в символ перехода на новую строку;
? IGNCR
— игнорирует полученные символы возврата каретки;
? INLCR
— преобразует полученные символы перехода на новую строку в символы возврата каретки;
? IGNPAR
— игнорирует символы с ошибками четности;
? INCPK
— выполняет контроль четности у полученных символов;
? PARMRK
— помечает ошибки четности;
? ISTRIP
— обрезает (до семи битов) все входные символы;
? IXOFF
— включает программное управление потоком при вводе;
? IXON
— включает программное управление потоком при выводе.
Примечание
Если флаги BRKINT
и IGNBRK
не установлены, сбой на линии связи считывается как символ NULL
(0x00).
Вам не придется часто изменять режимы ввода, поскольку обычно стандартные значения — наиболее подходящие, и поэтому мы больше не будем их обсуждать.
- Глава 4. Видеорежимы и частота смены кадров
- 1.3.1. Полубайтный режим ввода — Nibble Mode
- 4.3.1. Рабочие режимы
- Локальные режимы
- Режимы клавиатуры
- Режимы вывода
- 8.5.3. Режимы энергосбережения
- 4. Режимы работы экспертных систем
- 1.1 Режимы ядра и пользователя Windows
- 1.6 Драйверы и буферы ввода-вывода
- Глава 6 BIOS – базовая система ввода-вывода
- 5.2.2.2. Устройства ввода информации в персональный компьютер