Как работает клавиатура
Прообразом современной клавиатуры были пишущие машинки, которые появились в середине 19-го века. Сначала клавиши с буквами располагались по алфавиту, однако, со временем стало понятно, что такое расположение неудобно, так как буквы находятся далеко от центра. Спустя 20 лет была изобретена QWERTY раскладка клавиатуры, которая используется до сих пор.
Современная клавиатура имеет кнопки, микроконтроллер и светодиоды режимов работы: Num Lock, Caps Lock и другие. Клавиши передают компьютеру, так называемый, скан-коды, а BIOS или операционная система, в соответствие с раскладкой клавиатуры, преобразует скан-коды в коды клавиш.
Кнопки считываются с помощью схемы, которые называются матрица кнопок и представляет собой сетку проводков, на пересечении которых находятся клавиши. Когда компьютер включён, микропроцессор клавиатуры посылают электрические импульсы по вертикальным проводкам в поисках сигнала.
В обычном состоянии, когда нет нажатия, линии не замыкаются. Если же нажать на клавишу, то вертикальные и горизонтальные проводки соприкоснуться, цепь замкнётся и по ней пройдёт ток. Благодаря этому контроллер клавиатуры поймёт что произошло нажатие клавиши и по замкнутым проводкам определит какая именно клавиша была нажата. После этого он отправляет скан-код клавиши, которая была приведена в действие.
Скан-коды жёстко привязаны к каждой клавиши на аппаратном уровне и не зависит ни от состояния индикаторов Caps Lock, Num Lock и других, ни от состояния управляющих клавиш, таких как Shift и Alt. Затем операционная система проверяет и анализирует полученные данные на содержание команд операционной системы. Если такие команды присутствуют, компьютер выполняет их, если же нет, то отправляет информацию в запущенное приложение.
Клавиатура имеет свой буфер, чтобы сохранять скан-коды нажатых клавиш. Благодаря буферу, процессор может обрабатывать сочетание нескольких одновременно нажатых клавиш. Современная клавиатура понимает одновременное нажатие двух клавиш с кнопками-модификаторами, наподобие Shift. Однако существует продвинутая клавиатура, способная регистрировать до 6 одновременных нажатий, а некоторые выдают себя за три-четыре клавиатуры.
Существует, так же, ёмкостная клавиатура, которая реагирует не на замыкание цепи, а на изменение ёмкости и поэтому срабатывает при неполном нажатии. В этом случает ток проходит по цепи непрерывно, а матрица регистрирует все его изменения, вызываемые перемещениям клавиш проводников ближе к цепи. Это изменение затем сравнивается с таблицей символов и определяется расположением нажатой клавиши.
Говоря про клавиатуру, нельзя не упомянуть эффект антидребезг: при нажатии и отпускании клавиши, выключатель некоторое время замыкается-размыкается. Хотя дребезг длится сотую долю секунды, этого достаточно, чтобы компьютер зарегистрировал несколько нажатий. Технология антидребезга обычно встраиваются в клавиатурный контроллер. После того, как клавиша нажата, она не опрашивается некоторое время, заведомо превышающая длительность переходных процессов. На первых клавиатурах время антидребезга было настолько большим, что мешало быстро печатать.