Unix Man (Справочное руководство)


KEYBOARD(HW) - часть 3


Назначение клавиш клавиатуры формируется с помощью структуры, определенной в файле /usr/include/sys/keyboard.h. Каждая клавиша может иметь десять состояний. Первые восемь таковы:

  • Base
  • Shift
  • Ctrl
  • Alt
  • Ctrl-Shift
  • Alt-Shift
  • Alt-Ctrl
  • Alt-Ctrl-Shift

Два дополнительных состояния обозначаются двумя специальными байтами. Первый является байтом "специального состояния", биты которого указывают, является ли данный ключ "специальным" в одном или нескольких из первых восьми состояний.

Второй может быть одним из четырех символов (C, N, B, O), указывающих на то, как служебные клавиши фиксации регистров влияют на них.

Режимы клавиатуры

Большинство клавиатур обычно находятся в режиме XT, но некоторые из них могут быть установлены в режим AT. Для определения того, поддерживает ли клавиатура режим AT, имеется утилита kbmode(8), которая может быть также использована для переключения клавиатуры в режим AT после очередной перезагрузки системы. Можно установить системную конфигурацию клавиатуры на режим AT с помощью утилиты configure(8).

Клавиатуры с расширенными возможностями программируются в режиме AT более полно, в котором распознаются также по две клавиши Ctrl и Alt.

Скан-коды

В следующей таблице описывается содержимое файла /usr/lib/keyboard/keys, устанавливаемое по умолчанию. Она содержит следующие заголовки колонок:

SCAN CODE - скан-код, генерируемый аппаратной частью клавиатуры при нажатии клавиши. Пользователь не имеет доступа к скан-коду, генерируемому на отжатие клавиши.

BASE - нормальное значение, генерируемое при нажатие клавиши.

SHIFT - значение, генерируемое при нажатии клавиши при нажатой клавише SHIFT.

LOCK - указывает, как служебные клавиши фиксации регистра воздействуют на эту клавишу:

  • C указывает на воздействие со стороны Capslock
  • N указывает на воздействие со стороны Numlock
  • B указывает на воздействие со стороны Numlock и Capslock вместе
  • O указывает на отсутствие этого воздействия

Клавиши типа C, N и B генерируют смещенное значение скан-кода в состоянии, когда эти служебные клавиши включены. Если при этом будет нажата клавиша Shift, то значение скан-кода будет переключено обратно.




Начало  Назад  Вперед



Книжный магазин