История компьютерной клавиатуры насчитывает уже более 150 лет. Прообразом современной клавиатуры были пишущие машинки, которые появились в середине XIX века. Сначала клавиши с буквами располагались по алфавиту. Однако со временем стало понятно, что такое расположение неудобно, так как буквы находятся далеко от центра. Спустя 20 лет была изобретена «QWERTY» — раскладка клавиатуры, которая используется до сих пор. Как же работает клавиатура — об этом в сегодняшнем выпуске!
Современная клавиатура имеет кнопки, микроконтроллер и светодиоды режимов работы — Num Lock, Caps Lock и другие. Клавиши передают компьютеру так называемые скан-коды, а BIOS или операционная система в соответствии с раскладкой клавиатуры преобразует скан-коды в коды клавиш.
Кнопки считываются с помощью схемы, которая называется «матрица кнопок» и представляет собой сетку проводков, на пересечениях которых находятся клавиши. Когда компьютер включен, микропроцессор клавиатуры посылает электрические импульсы по вертикальным проводкам в поисках сигнала. В обычном состоянии (когда нет нажатия) линии не замыкаются. Если же нажать на клавишу, то вертикальные и горизонтальные проводки соприкоснуться, цепь замкнется, и по ней пройдет ток. Благодаря этому контроллер клавиатуры поймет, что произошло нажатие клавиши, и по замкнутым проводкам определит, какая именно клавиша была нажата. После этого он отправляет скан-код клавиши, которая была приведена в действие. Скан-коды жёстко привязаны к каждой клавише на аппаратном уровне и не зависят ни от состояния индикаторов Caps Lock, Num Lock и других, ни от состояния управляющих клавиш (таких как Shift и Alt).
Затем операционная система проверяет и анализирует полученные данные на содержание команд операционной системы. Если такие команды присутствуют, компьютер выполняет их. Если же нет, то отправляет информацию в запущенное приложение.
У клавиатуры имеется свой буфер — чтобы сохранять скан-коды нажатых клавиш. Благодаря буферу процессор может обрабатывать сочетания нескольких одновременно нажатых кнопок.
Современная клавиатура понимает одновременное нажатия двух клавиш с любой комбинацией кнопок-модификаторов наподобие Shift. Однако существуют продвинутые клавиатуры, способные регистрировать до шести одновременных нажатий, а некоторые из них и вовсе выдают себя за три-четыре клавиатуры. В этом случае количество нажатых клавиш, соответственно, увеличивается до 18 или 24.
Существуют также и емкостные клавиатуры, которые реагируют не на замыкание цепи, а на изменение емкости и поэтому срабатывают при неполном нажатии. В этом случае ток проходит по цепи непрерывно, а матрица регистрирует все его изменения, вызываемые перемещением клавиш-проводников ближе к цепи. Это изменение затем сравнивается с таблицей символов, и определяется расположение нажатой клавиши.
Говоря про клавиатуру, нельзя не упомянуть и эффект антидребезг. При нажатии-отпускании клавиши выключатель некоторое время замыкается-размыкается. Хотя дребезг длится сотые доли секунды, этого достаточно, чтобы компьютер зарегистрировал несколько нажатий.
Технологии антидребезга обычно встраиваются в клавиатурный контроллер — после того как клавиша нажата, она не опрашивается некоторое время, заведомо превышающее длительность переходных процессов. На первых клавиатурах время антидребезга было настолько большим, что мешало быстро печатать.