Устройство клавиатуры компьютера

Состав клавиш стандартной клавиатуры компьютера

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

Принцип действия клавиатуры таков:

  1. После нажатия клавиши, микросхема клавиатуры генерирует скан-код.
  2. Скан-код поступает в порт, интегрированный в материнскую плату.
  3. Порт клавиатуры сообщает процессору прерывание с фиксированным номером.
  4. Получив фиксированный номер прерывания, процессор обращается в спец. область оперативной памяти, содержащий вектор прерываний – список данных. Каждая запись списка данных, содержит адрес программы, обслуживающей прерывание, совпадающее с номером записи.
  5. Определив запись программы, процессор переходит к её выполнению.
  6. Затем программа обработчик прерывания направляет процессор к порту клавиатуры, где тот находит скан-код. Далее, под управлением обработчика, процессор определяет, какой из символов соответствует данному скан-коду.
  7. Обработчик отправляет код в буфер клавиатуры, известив об этом процессор, затем прекращает свою работу.
  8. Процессор переходит к отложенной задаче.
  9. Введённый символ хранится в буфере клавиатуры, пока его не заберёт программа, для которой он предназначен, например, текстовый редактор Microsoft Word.

Читайте также

2. Устройство HTML5 Эпоха Великой французской революции стала временем огромных политических и социальных перемен. Революционному пылу было подвластно и само время. На короткий период Французская республика ввела десятичную систему измерения времени: каждый день

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

Клавиатуры по устройству [ править ]

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

Мембранные клавиатуры [ править ]

Изначально мембранные клавиатуры делались для устройств, не предполагавших возможности быстрой печати. Среди них были и компьютеры, но в основном домашние модели, в которых старались максимально снизить стоимость: например ZX-Spectrum, ранние версии Commodore PET, IBM PCjr [2] . В дальнейшем для улучшения тактильной обратной связи и более надёжного нажатия на клавиши в конструкцию клавиатуры добавили резиновый купол, что позволило создавать недорогие клавиатуры, которые можно было использовать для быстрой печати.

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

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

  • Технологичность в производстве, и следовательно низкая цена;
  • Относительно тихая работа (см. ниже);
  • Небольшая высота клавиш — подставка для рук в таких клавиатурах скорее декоративный элемент, чем необходимость.
  • Некоторым не нравится ощущение от нажатия;
  • Клавиша срабатывает в конце хода и отпускается при малейшем снижении усилия нажатия;
  • Нет гарантии регистрации нажатия любых трёх клавиш: некоторые сочетания не могут быть распознаны однозначно, появляются т.н. фантомные нажатия («гостинг»). Обычно это стараются компенсировать такой разводкой, чтобы вероятность подобных нажатия была минимальной, плюс при появлении гостинга можно блокировать не всю клавиатуру, а только те ряды, в которых замечены фантомные нажатия.
  • Меньший ресурс. Износ в мембранных клавиатурах происходит постепенно: нажимать некоторые клавиши становится всё труднее, пользователи часто этого не замечают и вырабатывают привычку бить по клавишам со всей силы, что ускоряет её износ, а также делает печать на ней даже более громкой, чем на механических клавиатурах.

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

Шахтные клавиатуры [ править ]

Наиболее распространённый тип мембранной клавиатуры. Данный тип клавиатур наиболее прост и дёшев: в верхней пластине корпуса под каждой клавишей имеются трубочки («шахты» или «колодцы»), в которых движется толкатель самой клавиши. Эти шахты нужны для того, чтобы клавиша не болталась из стороны в сторону. Такая конструкция содержит минимум движущихся деталей. Однако эти шахты не дают сделать такую клавиатуру достаточно низкой, чтобы использовать её в ноутбуках. Кроме того, такая клавиатура работает не так уж и тихо: имеется достаточно резонирующих полостей, кроме того, при обратном ходе клавиши бьются об ограничитель. Такие клавиатуры самые дешёвые, и это скорее недостаток: чтобы сделать изделие ещё дешевле, производители применяют низкокачественные материалы, поэтому именно в таких клавиатурах отваливаются ножки, стираются легенды (хоть и владея слепой печатью, на клавиатуру смотришь редко, но всё равно неприятно на неё смотреть), а стабилизаторы длинных клавиш гремят, скрипят, заедают, а своей функции не выполняют. Качественные же клавиатуры этого типа либо со временем удешевляются, либо уходят с рынка, не выдержав конкуренции.

Ножничные клавиатуры [ править ]

В ножничной клавиатуре за движение клавиши без перекосов отвечает ножничный механизм: две детали, которые складываются наподобие ножниц. У ножничных клавиатур есть несколько принципиальных достоинств: они очень тонкие (собственно, для этого ножничный механизм и разрабатывался) и очень тихие, несмотря на наличие большего количества движущихся деталей. Детали ножничного механизма изготавливаются из достаточно мягкого пластика, чтобы можно было снимать клавиши для чистки, и потому хорошо демпфируют звук, к тому же в таких клавиатурах гораздо меньше резонирующих полостей, а сами клавиши максимально лёгкие. Ножничные клавиатуры из-за большого количества деталей стоят дороже, но зато среди них гораздо меньше откровенно некачественных изделий. При этом обычные мембранные клавиатуры часто маскируют под ножничные, делая их островными и окашивая края корпуса так, чтобы со стороны казалось, что клавиатура — тонкая.

Полумеханические [ править ]

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

Механические [ править ]

Несмотря на название «механические», в эту категорию складывают всё, что внешне ещё похоже на классическую клавиатуру, но не является мембранно-купольной. Разновидностей «механических» клавиатур достаточно много, здесь перечислим только наиболее распространённые.

Клавиатуры на дискретных ключах (Cherry- или Alps-подобные) [ править ]

Наиболее популярный вид механической клавиатуры. Собственно эти клавиатуры правильнее всего называть механическими: в них используются бронзовые контакты, которые замыкаются при движении толкателя. Контакты в такой клавиатуре замыкаются перпендикулярно ходу клавиши, и сила нажатия зависит от положения клавиши и профиля толкателя, а не от усилия нажатия, а активация клавиши происходит в середине, а не в конце хода. Поэтому такие клавиатуры имеют достаточно длинный ход и малое усилие нажатия. Устройство переключателей может быть очень разнообразным: они могут специально быть сделаны так, чтобы издавать щелчок при срабатывании, так и наоборот иметь резиновые демпферы для поглощения шума. Размеры и форма таких выключателей стандартизированы, что позволяет энтузиастам изготавливать клавиатуры самостоятельно, воплощая самые смелые идеи: левый нумпад, разделяемый корпус, ортолинейная раскладка (без сдвига рядов), подсветка дна клавиатуры, опорная плита из углеволокна, уменьшенная сила нажатия для клавиш под мизинцами, деревянный корпус, клавиши в стиле «розочка на рычаге КПП» — всё, на что хватит фантазии. Даже купленную в магазине клавиатуру можно обновить, заказав набор клавиш весёленькой расцветки. Из этого следует и ремонтопригодность: при наличии навыков пайки неисправный ключ несложно заменить, сломанный или потерянный кейкап тем более. Некоторые клавиатуры даже позволяют заменять выключатели без выпаивания: так называемые хотсвап-клавиатуры. Изготовление и коллекционирование таких клавиатур вполне может превратиться в хобби.

Ёмкостные клавиатуры [ править ]

В ёмкостных клавиатурах отсутствует электрический контакт, что позволяет сделать такую клавиатуру очень долговечной. Однако, клавиатуры на ёмкостных датчиках стоят очень дорого. Конструкция ёмкостных клавиатур может быть различной, но наиболее известны клавиатуры с механизмом типа Topre: в такой клавиатуре над печатной платой расположены эластичные колпачки, как на мембранных клавиатурах, однако эти колпачки большего размера, и под ними расположена пружина, которая служит одной из обкладок конденсатора. Такие клавиатуры, как правило, очень тихие, и с малым усилием срабатывания. Некоторые модели позволяют изменять точку срабатывания, и даже передавать информацию об усилии нажатия. Главный недостаток таких клавиатур — цена, даже недорогие клоны Topre стоят больше 100$, что уж говорить про оригинальные Topre.

Изгибающиеся пружины (Buckling spring) [ править ]

Именно с такими клавиатурами поставлялись первые IBM PC. В таких клавиатурах механизм состоит из пружины и молоточка. При отпущенной клавише молоточек находится в одном положении, но по мере нажатия на клавишу пружина изгибается, и молоточек резко перескакивает из одного положения в другое. Изначально такие клавиатуры делались с ёмкостными датчиками, но в Model M стали использовать мембрану. Такие клавиатуры любят за чёткое ощущение момента срабатывания, однако они в работе очень шумные. Сейчас такие клавиатуры небольшими партиями производит фирма Unicomp, но энтузиасты предпочитают оригинальные Model F и Model M, как более качественно сделанные.

Прочие виды «механики» [ править ]

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

Виртуальные клавиатуры [ править ]

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

Альтернативные [ править ]

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

  • Проекционная (лазерная) клавиатура. На самом деле лазерный проектор нужен исключительно для отображения раскладки, регистрация нажатий происходит с помощью инфракрасной камеры, по принципу Microsoft Kinect;
  • Сенсорная — в отличие от виртуальных клавиатур, раскладка выполнена с помощью гравировки на стекле, и потому несменяема;
  • Гибкая клавиатура — может скатываться в рулон. Как правило герметична — можно пользоваться хоть в ванной, если найдётся ровная поверхность, где её расстелить.
  • OrbiTouch — не требует движений пальзцами, нужно двигать пару полусферических контроллеров в сторону желаемой буквы. Можно пользоваться в гипсе, в рукавицах, при повреждении пальцев и т.д.;
  • Клавиатура для VR — надевается на руку как кастет или перчатка. Может использоваться не только для виртуальной реальности, но и просто в условиях, когда обычную клавиатуру некуда поставить.

Красный блок:

Клавиши этого блока отвечают за управление компьютером в повседневном использовании. Каждую клавишу здесь придется разобрать отдельно.

Клавиши управления на клавиатуре

Клавиша Tab

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

Клавиша Caps Lock

Caps Lock — клавиша, при нажатии на которую, Вы смените написание маленькими буквами (строчными) на большие (заглавные) и наоборот. Когда Вы нажмете эту клавишу, весь текст будет печататься одинаковыми буквами. К примеру если Вы печатали строчными буквами, и нажали Caps Lock, то с этого момента все буквы которые Вы нажмете будут заглавными. Чтобы обратно вернуть строчные буквы, Вам нужно заново нажать клавишу Caps Lock.

Клавиша Shift

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

Клавиша Ctrl

Ctrl — тоже клавиша напарник, только для клавиш управления. В сочетании с другими клавишами, активирует разные функции компьютера. К примеру при зависании компьютера, с помощью клавиш «Ctrl + Alt + Delete» можно открыть программу Диспетчер задач, и с помощью нее, закрыть зависшую программу.

Клавиша Win на клавиатуре

Win (флажок) — клавиша, при нажатии которой, Вы открываете меню Пуск.

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

Клавиша Fn

Fn (клавиша ноутбуков) — если у Вас стационарный компьютер (не ноутбук) то переходите к следующей клавише, т.к. эта клавиша есть только у ноутбуков. Она тоже клавиша напарник, она напарник для клавиш F1-F12. В сочетании клавиш «Fn + F1-F12» активируются разные функции ноутбука, такие как увеличение/уменьшение звука, увеличение/уменьшение яркости, включение/выключение тачпада и т.д. У каждого ноутбука, значение каждой клавиши может отличаться.

Клавиша Alt

Alt — тоже клавиша напарник. Действует в сочетании с другими клавишами управления.

Пример ее действия, мы читали выше, где меняли раскладку клавиатуры нажатием клавиш «Alt + Shift«.

Space — самая большая клавиша клавиатуры. У нее всего одно значение. Эта клавиша делает пробелы между словами и числами.

Клавиша Enter

Enter — клавиша ввода и переноса текста на новую строку.

Именно эта клавишей Вы активируете выбранное действие, а в случае если Вы что то печатаете, то при нажатии на эту клавишу, Вы перенесетесь на новую строку.

Клавиша Backspace

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

Универсальные причины неисправностей

Общие причины выхода из строя, актуальные для всех типов клавиатур:

Сбой программного обеспечения – как правило, это сбой драйвера клавиатуры или сбой драйвера порта, через который клавиатура подключена к системному блоку (обычно это USB). Что делать при программном сбое показано в этом видео.

Поломка кабеля клавиатуры – обычно он «ломается» на месте выхода из корпуса клавиатуры, либо в месте соединения с разъёмом.

Если клавиатура беспроводная, то кабель становится виртуальным и тоже «ломается». В этом случае бывает плохой контакт радиопередатчика с USB-разъемом, батарейка может быть установлена с перекосом или потерять заряд.

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

  1. Покупка специальных наклеек для клавиатуры, но они обычно долго не держатся и со временем отклеятся или сотрутся.
  2. Нанесение надписей на клавишах печатным методом.
  3. Гравировка на клавиатуре. Замечу, что у дорогих моделей клавиатур изначально уже есть гравировка и надписи на клавишах совсем не стираются, а чаще стирается краска вокруг клавиши, образуя некрасивые пятна.

Одна из наиболее частых проблем – когда клавиатура перестает определяться контроллером, в таких случаях обычно достаточно отключить и включить её разъём, можно её отсоединить и попробовать подсоединить к другому USB порту. Важно помнить, что если у Вас подключение через PS/2, то потребуется перезагрузка ПК. Отключать можно только USB устройства (кроме работающего переносного жёсткого диска). Зачастую перестают работать лишь определенные клавиши, в таких случаях их нужно снять и проверить на наличие загрязнений и посторонних предметов.

Обработка клавиатурного ввода приложениями

Подсистема Microsoft Win32 получает доступ к клавиатуре, используя поток необработанного ввода (Raw Input Thread, RIT), который является частью системного процесса csrss.exe. Операционная система при старте создает RIT и системную очередь аппаратного ввода (system hardware input queue, SHIQ).

RIT открывает объект «устройство» драйвера класса клавиатуры для эксклюзивного использования и с помощью функции ZwReadFile направляет ему запрос ввода-вывода (IRP) типа IRP_MJ_READ. Получив запрос, драйвер Kbdclass отмечает его как ожидающий завершения (pending), ставит в очередь и возвращает код возврата STATUS_PENDING. Потоку необработанного ввода приходится ждать завершения IRP, для чего используется вызов асинхронной процедуры (Asynchronous Procedure Call, APC).

Когда пользователь нажимает или отпускает одну из клавиш, системный контроллер клавиатуры вырабатывает аппаратное прерывание. Его обработчик вызывает специальную процедуру обработки прерывания IRQ 1 (interrupt service routine, ISR), зарегистрированную в системе драйвером i8042prt. Данная процедура считывает из внутренней очереди контроллера клавиатуры появившиеся данные. Обработка аппаратного прерывания должна быть максимально быстрой, поэтому ISR ставит в очередь вызов отложенной процедуры (Deferred Procedure Call, DPC) I8042KeyboardIsrDpc и завершает свою работу. Как только это станет возможно (IRQL понизится до DISPATCH_LEVEL), DPC будет вызвана системой. В этот момент будет вызвана процедура обратного вызова KeyboardClassServiceCallback, зарегистрированная драйвером Kbdclass у драйвера i8042prt. KeyboardClassServiceCallback извлечет из своей очереди ожидающий завершения запрос IRP, заполнит максимальное количество структур KEYBOARD_INPUT_DATA, несущих всю необходимую информацию о нажатиях/отпусканиях клавиш, и завершит IRP. Поток необработанного ввода пробуждается, обрабатывает полученную информацию и вновь посылает IRP типа IRP_MJ_READ драйверу класса, который опять ставится в очередь до следующего нажатия/отпускания клавиши. Таким образом, у стека клавиатуры всегда есть по крайней мере один ожидающий завершения IRP, и находится он в очереди драйвера Kbdclass.

С помощью утилиты IrpTracker, разработанной упоминавшейся ранее компанией Open Systems Resources, можно отследить последовательность вызовов, происходящих при обработке клавиатурного ввода.

Как же RIT обрабатывает поступившую информацию? Все пришедшие клавиатурные события помещаются в системную очередь аппаратного ввода, после чего они последовательно преобразуются в сообщения Windows (типа WM_KEY*, WM_?BUTTON* или WM_MOUSEMOVE) и ставятся в конец очереди виртуального ввода (virtualized input queue, VIQ) активного потока. В сообщениях Windows скан-коды клавиш заменяются на коды виртуальных клавиш, соответствующие не расположению клавиши на клавиатуре, а действию, которое выполняет эта клавиша. Механизм преобразования кодов зависит от активной раскладки клавиатуры, одновременных нажатий других клавиш (например, SHIFT) и других факторов.

Когда пользователь входит в систему, процесс Windows Explorer порождает поток, который создает панель задач и рабочий стол (WinSta0_RIT). Этот поток привязывается к RIT. Если пользователь запускает MS Word, то его поток, создавший окно, немедленно подключится к RIT. После этого поток, принадлежащий Explorer, отключается от RIT, так как единовременно с RIT может быть связан только один поток. При нажатии клавиши в SHIQ появится соответствующий элемент, что приведет к тому, что RIT пробудится, преобразует событие аппаратного ввода в сообщение от клавиатуры и поместит его в VIQ потока приложения MS Word.

Массивы состояния клавиш клавиатуры

Одной из задач при разработке модели аппаратного ввода Windows было обеспечение ее отказоустойчивости. Отказоустойчивость обеспечивается независимой обработкой ввода потоками, что предотвращает неблагоприятное воздействие одного потока на другой. Но этого недостаточно для надежной изоляции потоков друг от друга, поэтому система поддерживает дополнительную концепцию — локальное состояние ввода. Каждый поток обладает собственным состоянием ввода, сведения о котором хранятся в структуре THREADINFO. В информацию об этом состоянии включаются данные об очереди виртуального ввода потока, а также группа переменных. Последние содержат управляющую информацию о состоянии ввода. Относительно клавиатуры поддерживаются следующие сведения: какое окно находится в фокусе клавиатуры, какое окно активно в данный момент, какие клавиши нажаты, каково состояние курсора ввода.

Информация о том, какие клавиши нажаты, сохраняется в массиве синхронного состояния клавиш. Этот массив включается в переменные локального состояния ввода каждого потока. В то же время массив асинхронного состояния клавиш, в котором содержится аналогичная информация, — только один, и он разделяется всеми потоками. Массивы отражают состояние всех клавиш на данный момент, и функция GetAsyncKeyState позволяет определить, нажата ли сейчас заданная клавиша. GetAsyncKeyState всегда возвращает 0 (не нажата), если ее вызывает другой поток, а не тот, который создал окно, находящееся сейчас в фокусе ввода.

Функция GetKeyState отличается от GetAsyncKeyState тем, что возвращает состояние клавиатуры на тот момент, когда из очереди потока извлечено последнее сообщение от клавиатуры. Эту функцию можно вызвать в любой момент; для нее неважно, какое именно окно в фокусе.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector