Компью́терная клавиату́ра — устройство ввода информации, представляющее собой набор клавиш (кнопок), расположенных в определённом порядке. Может быть как отдельным устройством, подключаемым по интерфейсу USB или PS/2, так и встроенной (например, в ноутбук или терминал). Бывает совмещена в одно устройство с тачпадом, тензометрическим джойстиком или трекболом.
История
Первые компьютеры клавиатуры не имели: данные вводились в компьютер либо установкой механических переключателей и проводов, либо с помощью перфокарт (пример — ENIAC). По мере повышения производительности электронно-вычислительных машин (ЭВМ), а особенно с появлением режима разделения времени появилась необходимость вводить команды, не прерывая работу машины. Одним из первых экспериментов по непосредственному взаимодействию с компьютером с помощью клавиатуры был проведён в 1956 году в Массачусетском технологическом институте. предложил подключить к компьютеру «Whirlwind» электрическую пишущую машинку «», эксперимент сочли удачным.
Первоначально для ввода текстовых данных в компьютер использовались электромеханические телетайпы, позже их сменили специализированные видеотерминалы. В таком терминале клавиатура являлась его частью, даже если выполнялась в отдельном корпусе. Никаких стандартов как по электрической части, так и по составу и расположению кнопок не было. Такие терминалы могли иметь отдельные клавиши для управления курсором, прокрутки текста на экране или подачи управляющих сигналов.
С появлением мини- и микрокомпьютеров клавиатура могла подключаться непосредственно к компьютеру. Однако эти клавиатуры также не были законченными универсальными устройствами: они подключались, напрямую или через согласующие устройства, к портам компьютера, на нажатие клавиш либо генерировалось прерывание, либо загруженная в компьютер программа периодически производила опрос матрицы клавиш. Компьютеры разных архитектур использовали уникальные, несовместимые друг с другом клавиатуры. У некоторых компьютеров, преимущественно одноплатных, таких как ZX80, клавиатура располагалась на корпусе, у других — соединялась многожильным кабелем с системным блоком. Некоторые клавиатуры содержали минимум клавиш — алфавитно-цифровые, Enter и несколько управляющих. Другие, как для лисп-машин MIT, содержали большое количество управляющих клавиш, специфичных для данной архитектуры. Также стали появляться функциональные клавиши, не имевшие предопределённого назначения. Проводились эксперименты по использованию аккордных клавиатур.
Единый стандарт клавиатуры, как и многие другие стандарты компьютерного оборудования, связан с компьютером IBM PC. Первая версия клавиатуры для IBM PC, так называемая «XT-клавиатура» заметно отличалась от последующих как по раскладке, так и по протоколу обмена с компьютером: на ней было 83 клавиши (из них 10 — функциональных), отсутствовали индикаторы режимов ввода. В 1984 году вместе с компьютером IBM PC/AT появился и новый, получивший в дальнейшем широкое распространение стандарт клавиатуры — протокол обмена стал двусторонним, что позволило разместить над цифровым блоком три светодиодных индикатора режима ввода. Однако раскладка изменилась незначительно: была добавлена клавиша SysRq, цифровой блок был отделён от основного буквенно-цифрового, некоторые клавиши были перенесены на другие места. Несмотря на внешнее сходство и использование одинакового разъёма DIN, новая клавиатура была несовместима с прежними моделями компьютеров IBM PC и IBM PC/XT — для подключения к ним у некоторых клавиатур был специальный переключатель. Следующее поколение клавиатур началось с представления в 1986 году клавиатуры «», имевшей в зависимости от локализации от 101 (в американской раскладке) до 106 (в японской) клавиш, и ставшей стандартом. Дальнейшее развитие клавиатур шло от модели «Model M»: порт подключения был заменён на PS/2 и USB, были добавлены клавиши Windows и меню, на некоторых — мультимедийные клавиши. В ноутбуках и на компактных клавиатурах расположение клавиш может отличаться; некоторые клавиши могут быть доступны с помощью модификатора Fn, но большинство компьютеров использует клавиатуру, произошедшую от компьютеров IBM PC, за исключением клавиатур от Apple и клавиатур от специализированных рабочих станций, наподобие терминалов Блумберга.
Устройство
В большинстве компьютерных клавиатур контакты клавиш соединены в матрицу. Контроллер клавиатуры последовательно подаёт потенциал на ряды клавиш и по появлению сигнала на выходном шлейфе распознаёт, какая клавиша нажата. Нажатие трёх клавиш, одна из которых находится на пересечении дорожек, ведущих к двум другим клавишам, приводит к регистрации фантомного нажатия четвёртой. В недорогих клавиатурах производится оптимизация разводки с целью не допустить подобных случаев для наиболее распространённых сочетаний, а в неоднозначных случаях нажатие третьей клавиши игнорируется. Более дорогие клавиатуры могут иметь на каждой клавише диод.
Наиболее распространённый тип клавиатур — мембранные с резиновыми толкателями, служащими одновременно и для создания усилия нажатия на мембрану и возврата после отпускания клавиши. Более дорогие модели могут использовать подпружиненные металлические контакты, герконы или ёмкостные сенсоры.
Способы связи клавиатуры с компьютером Непосредственное подключение матрицы к процессору — применялось в микрокомпьютерах 1970-80-х. Опросом матрицы занимался процессор, периодически прерывая работу текущей программы. Достоинства такого подхода — дешевизна и максимальная гибкость, возможно например опрашивать не всю матрицу. Недостатки: трата процессорного времени на опрос клавиатуры; необходимость подключения клавиатуры многопроводным шлейфом; несовместимость клавиатур разных моделей компьютеров. Примеры компьютеров с такой клавиатурой: ZX-Spectrum, Commodore PET. Передача ASCII-символа — применялась в терминалах и некоторых компьютерах 1970-80-х. Процессор освобождён от опроса клавиатуры, этим занимается специальный контроллер. Этот контроллер возвращает ASCII-код символа исходя из нажатой клавиши и положения клавиш-модификаторов. Такой способ требует меньше нагрузки на процессор, чем предыдущий, но нет возможности считывать состояние клавиш-модификаторов, определить, нажата ли та или иная клавиша в текущий момент, а также ограничивает использование сочетаний клавиш. Кроме того, раскладка такой клавиатуры задана жёстко, для переключения раскладки требуется внесение изменений в схему контроллера. Примеры компьютеров с такой клавиатурой: Apple II, БК-0010. Передача скан-кода — наиболее распространённый способ с появлением IBM PC. В этом случае опросом также занимается контроллер клавиатуры, например для PC (PS/2)-клавиатур аналогичный Intel 8042. Однако каждой клавише, в том числе клавишам-модификаторам, присваивается собственный скан-код, не соотносящийся напрямую с кодом символа ASCII. При нажатии или отпускании клавиши передаётся этот скан-код и признак нажатия/отпускания. Сопоставление скан-кода с кодом символа производится программным обеспечением самого компьютера. Данный подход совмещает достоинства двух предыдущих.
Группы клавиш
По своему назначению клавиши на клавиатуре условно делятся на основные группы: буквенно-цифровые клавиши ; клавиши цифровой клавиатуры () ; клавиши управления, клавиши-модификаторы ; функциональные клавиши ; клавиши управления курсором.
Дополнительные группы: мёртвые клавиши; специализированные клавиши .
Некоторое количество (в PC/AT-клавиатуре — двенадцать) функциональных клавиш расположено в верхнем ряду клавиатуры. Ниже располагается блок алфавитно-цифровых клавиш. Правее этого блока находятся клавиши управления курсором, а у самого правого края клавиатуры — цифровая панель, которая может выполняться съёмной.
Буквенно-цифровой блок Буквенно-цифровые клавиши также именуются алфавитно-цифровыми клавишами, клавишами данных, клавишами для ввода данных. Основу этого блока составляет набор символов, аналогичный набору символов пишущей машинки. Обычно к одной клавише данных привязано несколько букв, цифр, знаков препинания и символов. Какая будет введена буква, определяется заданным регистром клавиатуры — режимом работы клавиатуры, установленным клавишами управления или клавишами переключения регистра.
К алфавитно-цифровому блоку относятся клавиши для ввода букв, цифр, знаков пунктуации и символов основных арифметических операций, а также специальных символов. В стандартной клавиатуре PC/AT этот блок включает в себя 47 клавиш. Для некоторых языков, где число букв в алфавите больше 26, производители клавиатур выпускают клавиатуры с дополнительными клавишами в алфавитно-цифровом блоке — например, на клавиатурах для украинского языка (33 буквы) их уже 48 (см.: Украинская раскладка клавиатуры). Для русского алфавита с его 33 буквами специальные клавиатуры не производятся — все буквы русского алфавита размещены на клавишах стандартной клавиатуры PC/AT.
Нижний ряд блока находится над клавишей «пробел» и клавишами-модификаторами , , . Он считается первым. Выше — второй, в методе слепой десятипальцевой печати . Ещё выше — третий. Самый верхний ряд клавиш блока — четвёртый — в латинской раскладке QWERTY не содержит клавиш для ввода букв, но включает все клавиши ввода цифр. По этой причине его .
Для большего удобства набора текста поверхность клавиш может располагаться не в одной плоскости, а по дуге. В некоторых клавиатурах, например «IBM », или некоторых клавиатурах с раздельными зонами левой и правой руки, используется изогнутая плата, но гораздо чаще используются клавиши разной высоты. Наиболее распространённая разновидность профиля клавиш известна также, как OEM-профиль. Недостаток такого подхода в том, что клавиши из разных рядов невзаимозаменяемы. Кроме того, обе технологии невозможно применять в ноутбуках и низкопрофильных ножничных клавиатурах.
Результат действия алфавитно-цифровых клавиш зависит от регистра (нижний или верхний) и уровня (первый или второй), в котором осуществляется нажатие этих клавиш.
Клавиши управления Клавиши управления () предназначены для выполнения определённых действий, могут использоваться отдельно или в сочетании с другими клавишами, включают следующие клавиши: , , , , , , , , , , , , .
Клавиши-модификаторы
Нажатие одновременно нескольких клавиш, при котором результат (вводимый символ или выполняемая команда) отличается от суммарного значения нажатых клавиш, называется сочетанием клавиш или комбинацией клавиш. Как правило, сочетания клавиш используют клавиши-модификаторы — клавиши, предназначенные для использования именно в составе сочетаний: , , , (правая Alt) и . Включение верхнего регистра клавиш (при отключённом ) осуществляется нажатием и удержанием клавиши . Нажатие и удержание клавиши используется для перехода на второй уровень клавиатуры.
Клавиши системных команд К клавишам системных команд относятся следующие клавиши: , , , , , .
Функциональные клавиши В верхней части клавиатуры стандарта PC/AT располагается блок так называемых функциональных клавиш — клавиши от до . На клавиатурах компьютеров PC/XT было 10 функциональных клавиш (от до ), расположенных в два столбца в левой части клавиатуры. Назначение (функции) функциональных клавиш определяется в зависимости от системного или прикладного ПО: после включения компьютера — программой конфигурации материнской платы (), а в последующем — запущенной операционной системой.
Назначение (функции) отдельных функциональных клавиш, комбинации функциональных клавиш с клавишами , и и «обычными» клавишами составляют часть интерфейса пользователя и, как правило, являются постоянными для отдельно взятого вида ПО. Существует ряд универсальных назначений, применяемых наиболее широко: зачастую при нажатии клавиши на экран выводится встроенный справочник по программе (часто уже открытый на странице, соответствующей режиму программы, в котором она находится), а нажатие клавиши приводит к прерыванию текущей операции.
Цифровая клавиатура