Материал предоставлен http://it.rfet.ru

Клавиатура

Клавиатура - это одно из основных устройств ввода информации в ЭВМ, позволяющее вводить различные виды информации.

Вид вводимой информации определяется программой, интерпретирующей нажатые или отпущенные клавиши. С помощью клавиатуры можно вводить любые символы - от букв и цифр до иероглифов и знаков музыкальной нотации. Клавиатура позволяет управлять курсором на экране дисплея - устанавливать его в нужную точку экрана, перемещать по экрану, “прокручивать” экран в режиме скроллинга, отправлять содержимое экрана на принтер, производить выбор при наличии альтернативных вариантов и т.д.

В последнее время наблюдаются тенденции отказа от клавиатуры в пользу альтернативных устройств: мыши, речевого ввода, сканеров. Но полностью эти устройства клавиатуру не заменяют.

Стандартная клавиатура IBM PC имеет несколько групп клавиш:

  • Алфавитно-цифровые и знаковые клавиши (с латинскими и русскими буквами, цифрами, знаками пунктуации, математическими знаками).
  • Специальные клавиши: Esc, Tab, Enter, BackSpace.
  • Функциональные клавиши: F1...F10.
  • Служебные клавиши для управления перемещением курсора (стрелки: Up, Down, Left, Right, клавиши Home, End, PgUp, PgDn.
  • Служебные клавиши для управления редактированием Ins / Del.
  • Служебные клавиши для смены регистров и модификации кодов других клавиш Alt, Ctrl, Shift.
  • Служебные клавиши для фиксации регистров CapsLock, Scroll-Lock, NumLock.
  • Разные вспомогательные клавиши PrtSc, Break

Если клавиша первой, четвертой, а иногда и пятой группы оказывается нажатой дольше, чем 0,5 с, начинает генерироваться последовательность ее основных кодов с частотой 10 раз в секунду (в IBM PC XT), что имитирует серию очень быстрых нажатий этой клавиши.

Общее число клавиш в основной модификации клавиатуры - 83, в расширенной клавиатуре - до 101. Количество различных сигналов от клавиатуры значительно превышает это число, так как:

  1. при нажатии и освобождении клавиши в ЭВМ передаются разные кодовые комбинации: при нажатии - порядковый номер нажатой клавиши на клавиатуре (ее скан-код), а при освобождении - скан-код, увеличенный на 80h;
  2. заглавные и строчные буквы первой группы клавиш (алфавитно-цифровых и знаковых) набираются на разных регистрах. Оперативное переключение регистров производится клавишей Shift. Если при нажатой (и удерживаемой в нажатом состоянии) клавише Shift “клюнуть” (от английского слова “dick”) любую алфавитную клавишу, то в ЭВМ будет отправлен код заглавной буквы, соответствующий нажатой клавише;
  3. после однократного нажатия клавиши CapsLock (зажигается лампочка на клавиатуре рядом с клавишей) изменяется порядок работы клавиши Shift: без нажатия на нее будут набираться заглавные буквы, а при нажатии (совместном) - строчные. После повторного нажатия на CapsLock порядок работы клавиши Shift восстанавливается, а лампочка гаснет. Такой режим (переключательный) работы клавиши называется триггерным режимом, или flip-flop;
  4. аналогично клавише Shift действуют Alt и Ctrl - при одновременном нажатии с ними любой другой клавиши, в ЭВМ передается не scancode, а расширенный код (2 байта). Иногда таким же образом используется клавиша Esc;
  5. клавиша NumLock является триггерным переключателем дополнительной цифровой клавиатуры: при негорящей лампочке она работает как клавиатура для управления курсором; при зажженной - как цифровая;
  6. для переключения регистров (или даже групп регистров) иногда используются другие комбинации клавиш: например, программы - русификаторы клавиатуры переключают РУС-ЛАТ с помощью правой клавиши Shift или при одновременном нажатии двух клавиш (правой и левой) и т.д. Эти комбинации клавиш обладают триггерным эффектом.

Сигналы, поступающие от клавиатуры, проходят трехуровневую обработку: на физическом, на логическом и на функциональном уровнях.

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

На логическом уровне, реализуемом BIOS через прерывание 9, скан-код транслируется в специальный 2-байтовый код. Младший байт для клавиш группы 1 содержит ASCII-код, соответствующий изображенному на клавише знаку. Этот байт называют главным. Старший байт (вспомогательный) содержит исходный скан-код нажатой клавиши.

На функциональном уровне отдельным клавишам программным путем приписываются определенные функции. Такое “программирование” клавиш осуществляется с помощью драйвера- программы, обслуживающей клавиатуру в операционной системе.

На IBM PC AT используется клавиатура с большим количеством клавиш. На этих машинах есть возможность управлять некоторыми функциями клавиатуры, например, изменять время ожидания автоповтора, частоту автоповтора, зажигать и гасить светодиоды на панели управления клавиатурой.

Устройство клавиатуры не является простым: в клавиатуре используется свой микропроцессор, работающий по прошитой в ПЗУ программе. Контроллер клавиатуры постоянно опрашивает клавиши, определяет, какие из них нажаты, проводит контроль на “дребезг” и выдает код нажатой или отпущенной клавиши в системный блок ЭВМ.

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

ВидеоадаптерыУстройства ввода-вывода звуковых сигналов