Операционная система QNX 4.Архитектура системы

Режим редактируемого ввода


Наиболее важным режимом работы с устройствами управляет бит ICANON управляющей структуры termios. Если этот управляющий бит установлен, то Администратор устройств выполняет функции строчного редактирования принимаемых символов. Таким образом, данные будут доступны для обработки прикладным процессам только при вводе строки, что обычно определяется поступлением кода символа "возврат каретки" (CR). Этот режим работы называется режимом редактируемого ввода, каноническим или, иногда, "cooked".

Большинство неполноэкранных приложений работают в режиме редактируемого ввода. Интерпретатор Shell является типичным примером.

В следующей таблице представлены некоторые специальные управляющие символы, которые могут быть заданы в управляющей структуре termios для того, чтобы указать Администратору Dev, каким образом выполнять редактирование.



Dev будет выполнять При получении
Перемещение курсора на один символ влево LEFT
Перемещение курсора на один символ вправо RIGHT
Перемещение курсора в начало строки HOME
Перемещение курсора в конец строки END
Стирание символа слева от курсора ERASE
Удаление символа в текущей позиции курсора DEL
Стирание всей вводимой строки KILL
Стирание текущей строки и переход к предыдущей строке UP
Стирание текущей строки и переход к следующей строке DOWN
Переключение между режимами вставки и наложения
(каждая новая строка начинает вводиться в режиме наложения)
INS

Символы, управляющие редактированием строки, различаются для разных терминалов. Консоль QNX всегда работает с полным набором определенных клавиш редактирования. Если терминал подключен к компьютеру, на котором загружена система QNX, через последовательный порт, то необходимо определить управляющие символы редактирования для данного конкретного терминала. Для этого используется утилита stty. Например, если вы подключили терминал VT100 через последовательный порт (именуемый /dev/ser1), то для того, чтобы извлечь соответствующие коды клавиш редактирования и передать их к /dev/ser1, можно использовать следующую команду

stty term=vt100 </dev/ser1

И наоборот, если вы подключили к последовательному порту модем, который в свою очередь соединен с другим компьютером, загруженным системой QNX, в которой выполняется утилита qtalk, то установку клавиш редактирования строки следует выполнить следующим образом

stty term=qnx </dev/ser1



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