Глава 3. Kлавиатура.

Раздел 3: Сводка кодов клавиш и применений.

Различные коды клавиш и коды символов могут приводить к недоразумениям. В нижеприведенных таблицах все они перечислены. Обратите внимание на следующие аномалии:

- клавиша Ins является единственной, которая при нажатии, как выдает код символа в буфер клавиатуры, так и меняет статус регистра клавиш-переключателей.

- имеется 4 кода ASCII, которые могут быть получены двумя способами. ASCII 8 - нажатием клавиши BackSpace и Ctrl-H, ASCII 9 - клавиши Tab и Ctrl-I, ASCII 13 - клавиши Enter и Ctrl-M, а ASCII 27 - клавиши Esc и Ctrl-[.

- символы, соответствующие 32 управляющим кодам ASCII не выводятся на экран, при использовании функций ввода с клавиатуры, обеспечивающих автоматическое эхо. Они могут быть выведены либо с помощью функции 10H прерывания 10H, либо прямым выводом в память дисплея (оба способа обсуждаются в {4.3.1}).

- комбинации клавиши Ctrl с буквами алфавита генерируют однобайтные коды ASCII. Все остальные комбинации Ctrl генерируют двухбайтные (расширенные) коды.

- клавиша <5> дополнительной клавиатуры не действует, если установлен режим управления курсором клавишей NumLock.

- комбинации Shift-PrtSc и Ctrl-Alt (а также SysReq для AT) это единственные случаи, когда комбинация клавиш приводит к немедленному вызову некоторой процедуры. Из них только первая перепрограммируема. Прерывание обработки Ctrl-Break (также перепрограммируемое) вызывается только тогда, когда статус Ctrl-Break будет обнаружен процедурой MS DOS.

- любой код ASCII, кроме 0, может быть введен путем нажатия клавиши Alt, набора кода ASCII на дополнительной клавиатуре и, затем, отпускания клавиши Alt. Поскольку код 0 исключен, то расширенные коды не могут быть введены таким способом. Отметим, что Вы практически ничего не можете сделать, чтобы преодолеть ограничения, накладываемые на недопустимые комбинации клавиш. Hапример, Вы не можете определить комбинацию Ctrl + CursorUp, принимая код CursorUp, а затем проверяя регистр статуса перключателей для определения того, была ли нажата клавиша Ctrl. Если Ctrl была нажата, то клавиша CursorUp вообще не выдает никакого кода.


<~-3.2.9 Перепрограммирование клавиши PrtSc.
Содержание
3.3.1 Предопределенное использование клавиш.-~>

Сайт управляется системой uCoz