Что находится под пластиковой кнопкой
Сама видимая пластиковая деталь с буквой называется кейкапом. Ее задача проста — передать усилие пальца механизму, спрятанному внутри корпуса. Устройство этого механизма определяет долговечность клавиатуры, силу нажатия и звук клика.
В большинстве недорогих офисных клавиатур и ноутбуков используется мембранная конструкция. Под кнопками лежит гибкая силиконовая или резиновая пластина с куполами, а под ней расположены три слоя тонкой прозрачной пленки. Верхняя и нижняя пленки покрыты токопроводящими дорожками, а средняя пленка служит изолятором с круглыми отверстиями в местах расположения кнопок. Когда ты продавливаешь резиновый колпачок, верхняя пленка прогибается через отверстие средней и касается нижней, замыкая контакт. После отпускания пальца силиконовый купол распрямляется и возвращает клавишу в исходное положение.
Механические клавиатуры устроены иначе. Под каждой клавишей стоит отдельный переключатель, который называют свитчем. Внутри пластикового корпуса свитча находятся металлическая пружина, подвижный шток и две металлические контактные пластины, часто покрытые тонким слоем золота для защиты от окисления. Нажатие на кнопку опускает шток, пластины соприкасаются, и ток начинает течь. Срабатывание механического переключателя происходит примерно на середине хода клавиши, поэтому прожимать ее до упора в дно корпуса не обязательно.
Как клавиатура определяет нажатую кнопку
Если бы к каждой из ста четырех клавиш тянулся отдельный провод, пучок кабелей внутри корпуса получился бы слишком толстым, а микросхеме потребовалось бы огромное количество контактов. Инженеры решили эту задачу с помощью координатной сетки, которую называют матрицей клавиш.
Проводники на плате делятся на ряды и колонки, образуя сетку. В местах их пересечения электрического контакта изначально нет, цепь разомкнута. Маленький микроконтроллер внутри клавиатуры работает круглосуточным регулировщиком. Он по очереди подает короткий импульс напряжения на каждую строчку матрицы и одновременно проверяет, появился ли сигнал на столбцах. Этот процесс сканирования повторяется сотни или даже тысячи раз за одну секунду.
Борьба с дребезгом контактов
Человеческому глазу кажется, что кнопка нажимается плавно и один раз. В микромире физика выглядит совершенно иначе. Металлические пластины внутри переключателя обладают упругостью. В момент удара друг о друга они пружинят и микроскопически отскакивают в течение нескольких миллисекунд.
Это физическое явление называют дребезгом контактов. Без специальной обработки компьютер успел бы зафиксировать от десяти до пятидесяти отдельных замыканий за долю секунды, и вместо одного символа на экране напечаталась бы длинная строка из одинаковых букв. Проблема решается встроенной программой микроконтроллера. Прошивка использует алгоритм фильтрации. Зафиксировав первое касание контактов, чип берет паузу в пять или десять миллисекунд, игнорируя любые последующие колебания, пока сигнал окончательно не стабилизируется.
От скан-кода до операционной системы
Клавиатура понятия не имеет, какую именно букву ты хочешь напечатать. Ей неизвестен язык текста, размер шрифта и открытая на компьютере программа. Задача клавиатуры заключается только в фиксации физического действия.
После очистки сигнала от дребезга процессор клавиатуры формирует бинарный пакет данных по протоколу USB HID. Этот пакет содержит так называемый скан-код. Код сообщает операционной системе два факта: порядковый номер физической кнопки на панели и действие с ней. Клавиатура отправляет один код в момент нажатия и совершенно другой код в момент отпускания кнопки. Благодаря этому игры понимают, что ты продолжаешь удерживать клавишу движения вперед, а не просто кликнул по ней один раз.
Кабель клавиатуры передает биты информации в контроллер материнской платы. Тот вызывает аппаратное прерывание, заставляя центральный процессор компьютера на микросекунду отвлечься от фоновых задач и забрать поступивший пакет данных. Дальше в работу вступает драйвер клавиатуры внутри операционной системы.
Как буква появляется на мониторе
Получив скан-код, операционная система заглядывает в свою таблицу текущей раскладки. В этот момент учитываются дополнительные параметры: зажата ли клавиша Shift, включен ли режим Caps Lock, выбран ли русский или английский язык ввода.
Процесс преобразования выглядит следующим образом:
- Операционная система сопоставляет скан-код физической кнопки с таблицей активного языка и генерирует цифровой код символа в стандарте Юникод.
- Сформированное системное событие ввода отправляется в активное окно текстового редактора или браузера.
- Программа находит в файле выбранного шрифта векторную инструкцию для отрисовки конкретного знака.
- Графический движок рассчитывает цвет каждого пикселя и передает готовое изображение видеокарте.
- Видеокарта формирует видеосигнал и обновляет пиксели на матрице монитора.
Вся эта сложная цепочка вычислений от соприкосновения контактов под твоим пальцем до появления черного знака на белом фоне занимает от пяти до тридцати миллисекунд.
Частые вопросы
Почему механические клавиатуры стоят дороже мембранных?
В мембранной клавиатуре используется общая штампованная пленка на весь корпус, ее производство стоит дешево. В механической клавиатуре под каждую клавишу распаивают отдельный сложный механизм со своими металлическими контактами, корпусом и пружиной. Сборка такой платы требует больше деталей и времени.
Что происходит при долгом удержании кнопки?
Клавиатура отправляет сигнал о нажатии всего один раз. Дальше начинает работать таймер задержки автоповтора внутри операционной системы. Если сигнал об отпускании клавиши не поступил за определенное время, система сама начинает непрерывно слать символ в текстовое поле с заданной частотой.
Откуда берется задержка ввода в беспроводных моделях?
В беспроводных устройствах добавляется этап радиопередачи. Контроллер должен упаковать данные, передать их радиомодулю на частоте 2.4 ГГц или по Bluetooth, а приемник в компьютере должен поймать волну и расшифровать сигнал. При помехах от роутера или слабом заряде аккумулятора время передачи пакета возрастает.
Что означает термин частота опроса клавиатуры?
Это параметр, показывающий, сколько раз в секунду контроллер клавиатуры отправляет отчеты о состоянии клавиш в компьютер по шине USB. Стандартное офисное значение составляет 125 Гц, что соответствует задержке в 8 миллисекунд. Игровые модели опрашиваются с частотой 1000 Гц и чаще, сокращая задержку связи до одной миллисекунды.