Окт 16

Клавиши и символы

Клавиатура всегда генерирует некоторые числовые коды, но ее можно рассматривать либо как совокупность отдельных физических клавиш, либо как средство генерации кодов символов.
В первом случае любой генерируемый код должен идентифицировать клавишу и показывать, нажата она или отпущена. Во втором варианте код, вырабатываемый при нажатии клавиши, идентифицирует уникальный символ из набора символов. По умолчанию используется набор символов ANSI1.
У многих клавиш современного компьютера нет кодов символов. Ни функциональные клавиши, ни клавиши управления курсором их не генерируют. Поэтому в программах, использующих ввод с клавиатуры нетривиальным способом, обычно приходится иметь дело с клавиатурой и как с совокупностью клавиш, и как с генератором символов одновременно.
Клавиши можно разделить на следующие четыре группы: Клавиши-переключатели — Caps Lock, Num Lock, Scroll Lock и в некоторых случаях клавиша Insert. При нажатии такой клавиши включается ее состояние, а при повторном нажатии — выключается. Как правило, на клавиатуре есть световые индикаторы состояния клавиш-переключателей.
Клавиши управления регистром — Shift, Ctrl и Alt. В нажатом состоянии такая клавиша меняет интерпретацию других клавиш. Иногда такие клавиши называют клавишами-модификаторами.
Клавиши, не генерирующие символов, — функциональные клавиши, клавиши управления курсором, Pause, Delete.
Символьные клавиши — буквы, цифры и другие символы, пробел, Tab, Backspace, Esc и Enter. Впрочем, клавиши Tab, Backspace, Esc и Enter также можно рассматривать как клавиши без символов.
Сообщения клавиатуры, которые приложение получает от Windows, можно разделить на «аппаратные» (keystrokes) и «символьные» (characters). Это разделение соответствует указанной выше двойственной интерпретации клавиатуры.