Клавиатура IBM PC
Клавиатура IBM PC — клавиатура, предназначенная для IBM PC-совместимых компьютеров, работающая по IBM PC-совместимому протоколу обмена и имеющая характерный для IBM PC-совместимых компьютеров набор клавиш[1]. Благодаря популярности IBM PC-совместимых компьютеров стала стандартом де-факто для компьютерных клавиатур, пока не была вытеснена стандартом USB HID. К клавиатурам IBM PC относят две принципиально разные по протоколу обмена клавиатуры: 83-клавишную клавиатуру оригинального IBM PC, известную как XT-клавиатура, и клавиатуру IBM PC/AT или PS/2, которая в свою очередь изначально предлагалась в 84-клавишном варианте с цифровым блоком, но позже была заменена 101-клавишной клавиатурой[2]. В дальнейшем добавлялись новые клавиши, менялся способ подключения, но основной набор клавиш и скан-кодов оставался неизменным. Раскладка последней из них остаётся стандартом де-факто и после того, как интерфейс USB вытеснил PS/2[3].
Предыстория
Когда разрабатывался компьютер IBM PC, было решено не разрабатывать для него новую клавиатуру, а доработать клавиатуру IBM Model F от настольного компьютера IBM System/23, известного также как IBM 5322 или Datamaster[4]. Ко времени начала разработки IBM PC он должен был поступить в продажу, но выпуск откладывался из-за задержек в разработке интерпретатора Бейсика[5].
Разновидности
Клавиатура оригинального IBM PC и PC/XT

Выпущенный в 1981 году IBM PC комплектовался 83-клавишной клавиатурой IBM Model F. Физическая раскладка клавиатуры осталась такой же, как и на System/23, однако назначение многих клавиш было изменено[6]. В буквенно-цифровой области разместились все символы ASCII. Расположение знаков препинания на цифровых клавишах было взято от пишущих машин компании IBM. 10 клавиш левого кластера определены как функциональные. Цифровой блок использовался также для управления курсором, для переключения режима его работы была введена клавиша Num Lock[7]. Клавиша Ctrl располагалась в среднем ряду слева, как ранее в видеотерминалах, а ⇪ Caps Lock — справа от клавиши пробел[3]. Протокол обмена был односторонним, и режим ввода никак не отображался[7]. Схема клавиатуры тоже была изменена: в System/23 использовался параллельный интерфейс, а для PC был разработан последовательный интерфейс, благодаря чему клавиатура была отделена от системного блока и соединялась с ним витым кабелем[4] через разъём 5-DIN. Опросом матрицы и связью с компьютером занимался микроконтроллер intel 8048 или аналогичный[8], а на материнской плате был установлен сдвиговый регистр, который восстанавливал скан-код из посылаемых клавиатурой импульсов и отправлял его на вход контроллера системного интерфейса i8255, который посылал скан-код на порт 60h и вызывал прерывание IRQ1[9]. Когда IBM PC-совместимые компьютеры стали делать сторонние производители, они взяли на вооружение ту же раскладку и протокол[10]. Некоторые производители (например, KeyTronic) выпускали клавиатуры, снабжённые индикаторами режима, однако они не могли адекватно отображать режим ввода, если он в процессе работы менялся программно[2].
Клавиатура вышедшего в 1983 году IBM PC/XT была полностью аналогична, за исключением отсутствия отдельного провода для подачи сигнала сброса контроллера клавиатуры[11][12] — теперь сброс осуществлялся обнулением линии KB-Clock[9].
Клавиатура IBM PCjr

Для вышедшего в ноябре 1983 года домашнего компьютера IBM PCjr была разработана собственная клавиатура, более компактная и дешёвая, чем клавиатуры профессиональных серий IBM PC. На ней было только 62 клавиши, функции недостающих клавиш были доступны через сочетание с клавишей Fn[13][14]. В этой клавиатуре пришлось применить систему подавления фантомных нажатий[15], а также возможность озвучивать нажатие клавиши через системный динамик[13]. С системным блоком клавиатура связывалась по инфракрасному каналу, наподобие телевизионного пульта — для этого в клавиатуру устанавливались четыре батарейки AA, однако в комплекте имелся кабель для подключения к компьютеру напрямую. У клавиатуры отсутствовал буфер нажатых клавиш, из-за чего прерывание обработки нажатий пришлось сделать немаскируемым[14]. Несмотря на меньшее количество клавиш и другой способ подключения, она генерировала те же самые скан-коды, что и обычная PC/XT-клавиатура[15].
Первая версия клавиатуры IBM PCjr вызвала множество нареканий: островные кнопки были слишком узкими и неудобными при слепой печати, механизм — тугим и ненадёжным, так как использовалась электропроводящая резина, а обозначения, нанесённые на корпус, а не на саму клавишу — плохо читаемыми, особенно когда клавиатура лежала на столе. Вскоре была выпущена версия клавиатуры более традиционного вида, с привычным профилем кнопок, хотя и с тем же самым механизмом, и IBM даже предлагала бесплатную замену старой клавиатуры на новую, что однако не спасло PCjr от провала[16].
84-клавишная AT-клавиатура

Для вышедшего в 1984 году IBM PC/AT была разработана новая версия клавиатуры, незначительно изменившаяся внешне[3], но с полностью переработанной схемой. Цифровой блок был выделен в отдельную группу. В клавиатуре использовался микроконтроллер Intel 8042 (впоследствии — i8242). Протокол обмена стал двусторонним, чтобы отображать состояние режимов ввода (для чего на клавиатуре появились три светодиода), а также изменять некоторые настройки ввода; кроме того, контроллер клавиатуры на материнской плате взял на себя некоторые дополнительные функции, в том числе выход из защищённого режима процессора. Количество скан-кодов увеличилось, и при отпускании клавиши перед скан-кодом передавался префикс F0h. На клавиатуре появилась кнопка SysRq[2], которая, однако, так и не использовалась согласно изначальной задумке[17][18].
101/104-клавишная AT-клавиатура

В 1985 году была представлена «усовершенствованная клавиатура IBM», известная также как IBM Model M. С 1985 года этой клавиатурой комплектовался терминал IBM 3161, а с 1986 года — IBM PC[19][3]. В новой раскладке были учтены многие пожелания клиентов, в частности — длинный левый ⇧ Shift (только для американской раскладки). Позже были добавлены выступы на клавишах F, J, а также на клавише 5 на цифровом блоке. Общая компоновка, в частности, курсорные клавиши в виде «перевёрнутой Т», была выбрана с оглядкой на клавиатуру LK201 терминалов VT220 фирмы DEC[20][21]. Количество функциональных клавиш было увеличено до 12, они были перенесены в верхний ряд и разбиты на блоки по 4 клавиши. Новая клавиатура имела отдельный блок клавиш курсора и клавиши управления страничным выводом[22], но, несмотря на это, клавиша и светодиод Num Lock сохранились. Скан-коды новых клавиш соответствовали скан-кодам клавиш на цифровом блоке с аналогичным (при выключенном NumLock) назначением с добавлением префикса E0. Программы, опрашивавшие клавиатуру через BIOS, получали при нажатии клавиш курсорной группы коды, соответствующие клавишам цифрового блока с нажатым Shift, что позволяло полноценно использовать новые клавиши в старом ПО, однако это не касалось программ, опрашивавших клавиатуру напрямую[23]. Клавиша ⇪ Caps Lock была перенесена в средний ряд, как в механических печатных машинках, а клавиша Ctrl — в нижний и была продублирована, так же, как и клавиша Alt[3]. SysRq как отдельная клавиша с клавиатуры была убрана, но её скан-код генерировался при нажатии сочетаний клавиш ⇧ Shift+Print Screen или Ctrl+Print Screen. Именно такая раскладка окончательно стала стандартом, поддерживаемым большинством производителей клавиатур[24].
Клавиатура PS/2
В 1987 году для компьютера IBM PS/2 стал использоваться разъём MiniDIN-6[25], который в контексте использования для клавиатур и мышей также вскоре стали называть PS/2. В дальнейшем этот разъём стал основным для PC-клавиатур, вытеснив 5-DIN. Протокол при этом не изменился, подключение PS/2-клавиатуры к компьютеру стандарта AT и наоборот доступно через пассивный переходник[26]. По новой спецификации клавиатура должна была поддерживать, кроме стандартного, альтернативный набор скан-кодов set3[27][28][29], однако этот набор так и не получил распространения: в частности, была попытка использовать этот набор в ранних версиях Windows NT, но из-за неполной поддержки этого набора производителями клавиатур от этой идеи пришлось отказаться[30]. Контроллер клавиатуры на материнской плате обзавёлся дополнительными командами для поддержки новых возможностей протокола, а также поддержкой мыши[31]. Позже разъём клавиатуры стали окрашивать в сиреневый цвет, чтобы отличить его от разъёма мыши (зелёный)[32].
Появление клавиш Windows и Menu
В 1994 году компания Microsoft выпустила клавиатуру Microsoft Natural keyboard, на которой имелись три дополнительные кнопки: две клавиши Windows, служащие для вызова меню «Пуск», и клавиша контекстного меню[33]. В дальнейшем наличие этих клавиш стала требовать спецификация PC99[34].
Региональные варианты

Основная 101(104)-клавишная раскладка получила неофициальное название ANSI. Кроме неё существовало ещё несколько региональных раскладок, различающихся в основном клавишами буквенно-цифровой группы[35]:
- 102/105-клавишная европейская модификация[36], известная также как ISO-раскладка, описанная в стандарте ISO/IEC 9995. В этой раскладке клавиша Enter расположена на двух горизонтальных рядах (D13/С13), но её нижняя часть укорочена, чтобы разместить клавишу хеша (которая, однако, имеет код обратного слеша). Кроме того, в этой модификации имеется дополнительная клавиша обратного слеша рядом с левой клавишей ⇧ Shift[36]. Данная раскладка происходит от изначальной раскладки клавиатуры IBM PC, только в ней слева от клавиши Enter располагалась клавиша ~`
- Бразильская раскладка[37] (или ABNT) — схожа с европейской, но имеется дополнительная клавиша рядом с правой клавишей ⇧ Shift, а также клавиша точки на цифровом блоке. Регламентирована стандартами ABNT NBR 10346 variant 2 (алфавитно-цифровой блок) и 10347 (цифровая клавиатура)[38].
- Южнокорейская раскладка[39] (KS) с двумя дополнительными возле клавиши пробел для ввода символов ханча и хангыль.
- Японская раскладка[40] (неофициально называемая JIS) — содержит 106 (109) клавиш: укороченный Backspace, чтобы вместить символ иены, дополнительные клавиши слева от ↵ Enter и правой клавиши ⇧ Shift, а также три клавиши в ряду пробела: для переключения раскладки и ввода каны. Клавиатура для японской версии PC впервые появилась на компьютере IBM PS/55 (японском варианте PS/2). В дальнейшем именно эта раскладка была рекомендована для японского языка консорциумом PC OADG[41].
Кроме того, существуют версии с увеличенной клавишей Enter[42], известной также как Bigass-Enter, берущая начало от 84-клавишной клавиатуры IBM PC/AT. В этих раскладках клавиша обратного слеша располагается в верхнем ряду, в связи с чем клавиша Backspace укорочена[42].
Компактные и расширенные клавиатуры
С целью экономии места на рабочем столе или чтобы уместить клавиатуру на устройстве, например ноутбуке, на котором полноразмерная клавиатура не может поместиться, производители клавиатур могут располагать клавиши на клавиатуре в нестандартном порядке или удалять клавиши с клавиатуры[26]. Компактные программируемые клавиатуры популярны, например, среди геймеров и системных администраторов, так как такую клавиатуру легче носить с собой. В 1987 году сокращённую версию клавиатуры для PC представила сама компания IBM[43] — это была клавиатура без цифрового блока (TKL), известная также как IBM Space Saving Keyboard. Изначально широкого распространения ни сама SSK, ни такой формат в целом не получали[44] вплоть до «механического ренессанса» 2010-х годов[45].
Существуют также и клавиатуры с расширенными функциями: кроме мультимедиа-клавиш, они могут оснащаться клавишами для эмуляции стандартных сочетаний клавиш, программируемыми макроклавишами, на которые можно назначить эмуляцию последовательностей нажатия либо даже целую программу с циклами и условными переходами, а также дополнительными элементами управления: колёсами прокрутки, регулировки громкости, а также встроенными трекболами, тачпадами и экранами[46][47]. В отличие от ADB, а также более позднего USB HID, подключение PC-клавиатуры и мыши в один разъём не предусмотрено, так как оба устройства требуют независимых линий синхронизации и данных, поэтому такие клавиатуры поставлялись с двумя раздельными разъёмами Mini-DIN для клавиатуры и мыши. Со стороны материнских плат для экономии места допустимо размещение комбинированного разъёма, в котором разделение на клавиатуру и мышь производится с помощью специального переходника[48].
TKL-клавиатура «IBM Model M Space Saving Keyboard»
Клавиатура формата 75 % со встроенным трекболом. Видны два разъёма Mini-DIN (PS/2) разного цвета
Клавиатура IBM Model M13 с трекпойнтом и двумя кнопками мыши
Клавиатура Microsoft Natural Pro с мультимедийными клавишами
Клавиатуры с мультимедийными клавишами
С развитием технологий мультимедиа и бумом доткомов в конце 90-х производители клавиатур в качестве конкурентного преимущества начали добавлять на клавиатуры дополнительные клавиши, призванные облегчить работу с мультимедиа и вебом. В дальнейшем сложился перечень стандартных клавиш для работы с мультимедиа и браузером[49][50]:
- Клавиши управления веб-браузером: назад, вперёд, обновить, стоп, поиск, избранное, домашняя страница[49];
- Клавиши управления медиапроигрывателем: отключить звук, уменьшить громкость, увеличить громкость, следующий трек, предыдущий трек, остановка воспроизведения, воспроизвести/пауза[49];
- Клавиши избранных программ: почтовый клиент, медиаплеер и две кнопки дополнительных приложений[49].
Принцип работы
В отличие от многих микрокомпьютеров 1980-х, где либо использовалось прямое подключение матрицы клавиш к шинам компьютера (как в ZX-Spectrum), либо клавиатура, генерирующая готовый ASCII-код (как в Apple II), в IBM PC был выбран другой подход. Опросом клавиатуры занимался контроллер, расположенный в её корпусе, но он передавал компьютеру не символ ASCII, а скан-код, причём различный при нажатии и отпускании клавиши[8]. При длительном удержании клавиши код нажатия передаётся повторно через определённый промежуток времени[26]. В компьютер скан-код передавался в виде последовательного кода, а на материнской плате устанавливался аналогичный контроллер, который при получении сигнала от клавиатуры генерировал прерывание INT 09h и передавал полученный скан-код в порт 60h[51]. Впоследствии его функции перешли в Super I/O или LPC-чип, либо в южный мост чипсета[52][53]. Для случаев, когда процессор не успевает обработать нажатия клавиш, предусмотрен буфер клавиатуры[1].
С точки зрения схемы контроллера все клавиши клавиатуры равнозначны, включая клавиши-модификаторы и клавиши-переключатели[54]; каждая имеет свой скан-код, причём дублирующиеся клавиши, например левый и правый ⇧ Shift — разный[55]. Преобразованием скан-кодов в коды символов и управлением вводом с клавиатуры занималась уже BIOS, операционная система или даже прикладное ПО[1]. Такой подход позволил в назначать на любую клавишу любое действие, которое требуется в программе, а также не привязываться к определённой локали[7].
В клавиатуре первых IBM PC и PC/XT протокол обмена был односторонним, режим ввода никак не отображался, а какие-либо схемы для отображения режима, встроенные в клавиатуру, не могли его адекватно отображать[7]. В IBM PC/AT протокол обмена компьютера с клавиатурой значительно изменился: он стал двусторонним, позволяя вывести три индикатора режима (Caps Lock, Num Lock и Scroll Lock), а также устанавливать период автоповтора и изменять набор скан-кодов. Доступ к этим функциям на PC-совместимых компьютерах также осуществлялся через порт 60h, который теперь работал и на запись[51]. Протоколы клавиатур PC/XT и PC/AT несовместимы, IBM PC/AT и последующие PC-совместимые компьютеры не распознавали клавиатуры от PC/XT. Некоторые производители выпускали клавиатуры на два стандарта, снабжённые переключателем[51].
Сравнение протоколов и разъёмов подключения
| Тип | Разъём | Распайка | Протокол | Передача команд контроллеру | Набор скан-кодов |
|---|---|---|---|---|---|
| PC (Type 1) [56] | 5-pin DIN (DIN 41524) ![]() |
1 CLK 2 DATA |
2 стартовых бита, 8 бит данных, бит нажатия/отпускания клавиши, 1 стоповый бит Сброс контроллера — замыканием 3-го контакта на корпус |
Нет | Набор set1[27][28][29] (PC/XT) |
| XT (Type 2) [12] | 1 CLK 2 DATA |
2 стартовых бита, 8 бит данных, бит нажатия/отпускания клавиши, 1 стоповый бит Сброс контроллера — специальной последовательностью на шины данных/синхронизации | |||
| PCjr | ИК-порт, либо проприетарный разъём | 1 ключ 2 N/A |
2 стартовых бита, 8 бит данных, бит нажатия/отпускания клавиши, 1 стоповый бит Сброс контроллера — не предусмотрен | ||
| AT | 5-pin DIN (DIN 41524) ![]() |
1 CLK 2 DATA |
1 стартовый бит, 8 бит данных, 1 бит чётности, 1 стоповый бит сброс — посылкой команды контроллеру |
Есть | Набор set2[27][28][29] (PC/AT) |
| PS/2 | 6-pin Mini-DIN (DIN 45322)
|
1 DATA 2 N/C |
набор set2 или set3[27][28][29] |
Наборы скан-кодов
- ¹E0,2A,E0,37
- ²E1,1D,45, E1,9D,C5
Набор скан-кодов set1 (в других источниках называемый как set#0) — это набор скан-кодов оригинального PC. В клавиатуре PC/AT и более поздних моделях этот набор не поддерживается, однако контроллер клавиатуры на материнской плате может производить трансляцию скан-кодов в набор set1. Код отпускания соответствует коду нажатия+0x80. Коды клавиш, отсутствовавших в оригинальной клавиатуре, соответствуют кодам клавиш с соответствующими функциями, но к ним прибавляется префикс 0xE0[57][27].
- ¹E0,12,E0,7C
- ²E1,14,77, E1,F0,14,F0,77
Набор set2 (или set#1)— стандартный набор PC/AT. В нём дополнительные клавиши также предваряются префиксом 0xE0. Отпускание клавиши предваряется кодом 0xF0[27].
Набор set3 (или set#2) представляет собой оптимизацию набора set2, заключавшуюся в отказе от префиксов и переходе к однобайтным скан-кодам. Однако он не получил распространения и к тому же может отсутствовать в некоторых моделях клавиатур[57]. Отпускание также предваряется кодом 0xF0[27].
Назначение и особенности работы отдельных клавиш
`
1
2
3
4
5
6
7
8
9
0
-
=
[
]
Home
↑
PgUp
+
;
'
\
←
→
\
,
.
/
End
↓
PgDn
Ins
Del
Так как клавиатура при нажатии клавиш генерирует скан-коды, не привязанные напрямую к кодам вводимых символов, а преобразованием нажатой клавиши во вводимый символ занимается либо прерывание BIOS, либо драйвер клавиатуры, любая клавиша на клавиатуре может иметь любое назначение[1]. Однако нанесённые на клавиши обозначения и стандартная работа с этими клавишами BIOS и операционной системы закрепили определённое их поведение.
- Esc — используется в основном как клавиша отмены ещё не совершённого действия либо для очистки только что введённых данных, например, командной строки DOS[58]. Как клавиша ввода специальных символов ко времени появления PC она уже не использовалось[1].
- Ctrl — хотя эта клавиша была взята из раскладки терминалов для ввода управляющих символов, в таком качестве она используется исключительно в командной строке DOS и эмуляторах терминала. В большинстве приложений она используется в составе сочетаний клавиш[59].
- Alt — взята из клавиатуры System/23. Изначально использовалась для быстрого ввода ключевых слов языка BASIC[60], позже стала использоваться в основном в составе сочетаний клавиш[61]. Также она позволяет вводить отсутствующие на клавиатуре символы — не только из алфавита ASCII — путём ввода при нажатой Alt кода символа на цифровой клавиатуре[62][63][64]. В 102- (105)-клавишных клавиатурах правая клавиша Alt обозначается как Alt Gr и предназначена для ввода дополнительных символов: диакритики, знаков препинания и т. д.[65] Кроме того, в различных меню и диалоговых окнах отдельные буквы названий пунктов могут быть выделены цветом или подчёркиванием, если фокус ввода находится в этом меню, сочетание клавиши Alt с выделенной буквой равнозначно выбору этого пункта меню[66].
- Tab ↹ используется для работы с табуляцией, а также для переключения между формами и элементами интерфейса. Простое нажатие Tab ↹, как правило, приводит к переходу к следующей позиции табуляции или элементу интерфейса, а в сочетании с клавишей ⇧ Shift — к предыдущей[67].
- ⇪ Caps Lock, как правило, влияет только на регистр букв, но не на цифры и знаки препинания[68][69]. В оригинальном PC и PC/XT выбранный регистр никак не отображался[7], начиная с PC/AT для этой цели имеется световой индикатор[2][64].
- F1…F10 (…F12) не имеют предопределённого значения[8], однако некоторые функции закреплены за какими-то из них в большом количестве программ, например F1 чаще всего вызывает встроенную справку[70].
- ↵ Enter — совмещает в себе функцию перевода строки и подтверждения операции[71].
- Num Lock — была введена для того, чтобы совместить цифровой и навигационный блоки клавиатуры[72]. За это решение компанию IBM многократно критиковали[7], пока не была выпущена клавиатура Model M, в которой появились выделенные навигационные клавиши[23], хотя клавиша Num Lock осталась для обеспечения совместимости. Кроме того, сочетанием клавиш Ctrl+Num Lock можно было приостановить работу текущей программы[73] — позже эта функция была выведена на отдельную клавишу Pause[74].
- Scroll Lock — включает режим прокрутки навигационными клавишами, для которого на клавиатуре начиная с PC/AT существует индикатор[75].
- Pause — приостановка выполнения программы[74]. Так же, как Scroll Lock, за пределами командной строки DOS не используется. В ранних версиях была сблокирована с клавишей Num Lock и вызывалось сочетанием с Ctrl[76][73].
- Break — не является самостоятельной клавишей. В ранних версиях эта функция была сблокирована с клавишей Scroll Lock[77], а начиная с Model M — с клавишей Pause[74]. Вызывается сочетанием с клавишей Ctrl и прерывает работу текущей программы[76].
- Print Screen — в DOS посылала текущий экран на принтер[76], с появлением Windows стала копировать содержимое экрана в буфер обмена[62]. Изначально была сблокирована с клавишей * и вызывалась сочетанием ⇧ Shift+*[73].
- SysRq — появилась на 84-клавишной клавиатуре PC/AT[2], предполагалось, что она будет использоваться для переключения между программами в многозадачной ОС[78], но эта задумка так и не была реализована[17][18].
- Insert — для переключения между режимами вставки и замены. Чаще всего используется режим вставки, когда вводимый символ добавляется в позиции курсора, в то время как в режиме замены символ, стоящий после курсора, удаляется и заменяется на введённый с клавиатуры[79]. Режим замены используется достаточно редко, в основном для заполнения различных форм, кроме того, само наличие этого режима, а особенно отсутствие индикации его критикуется многими специалистами по пользовательскому интерфейсу[80].
- Delete используется для удаления объекта после курсора[79], а также выделенных объектов. Кроме того, сочетание клавиш Ctrl+Alt+Del изначально использовалась для быстрой перезагрузки компьютера без очистки памяти[4] — предполагалось, что оно будет использоваться только разработчиками ПО[81]
Сравнение с USB HID
Начиная с конца 90-х существующий стандарт начал вытесняться стандартом USB HID[82]. Стандарт USB более универсален, позволяет подключать к одной машине несколько клавиатур и мышей, а также подключать и отключать клавиатуру без отключения питания компьютера. Долгое время эти стандарты продолжали использоваться наряду с USB по нескольким причинам[83]:
- В разъём USB можно подключить съёмный диск либо устройство беспроводной связи, что может быть недопустимо при работе с коммерческой или государственной тайной. Даже при отсутствии дополнительных разъёмов возможно подключение через разветвитель. В разъёмы PS/2 можно подключить только клавиатуру и мышь[84].
- Стандарт USB предполагает постоянный опрос устройства процессором, в то время как классическая PC-клавиатура работает через прерывания. В теории это позволяет несколько снизить нагрузку на процессор, но на практике, при типичном для 2020-х годов быстродействии процессора разница практически незаметна[83].
- Стандарт USB HID допускает до 8 одновременно нажатых клавиш на одном устройстве. Это ограничение можно преодолеть, зарегистрировав клавиатуру как несколько HID-устройств. Традиционная PC-клавиатура не имеет подобного ограничения, поэтому долгое время считалась более предпочтительной для некоторых компьютерных игр, таких как симуляторы[85].
- Подключение клавиатуры и мыши через PS/2 позволяет освободить USB-разъёмы без использования USB-хабов[82].
Многие клавиатуры, выпускаемые после появления стандарта USB HID, хотя и не все, поддерживают оба протокола. Такую клавиатуру с разъёмом USB можно подключить к компьютеру, имеющему разъём PS/2 или AT, через пассивный переходник, (и наоборот, PS/2 клавиатуру — к USB)[86]. Для подключения клавиатур более старых моделей требуется активный переходник — существуют подобные переходники как промышленно изготавливаемые, так и любительские — например, Soarer’s converter на основе популярного контроллера atmega 32u4, позволяющий не только подключать к USB любые PC-клавиатуры, в том числе PC/XT, но и произвольно менять назначение клавиш[87].
Критика
Первая 83-клавишная клавиатура получила высокую оценку в первом номере журнала PC Magazine, однако автор обзора удивлялся, «как такой признанный профессионал в изготовлении клавиатур, как IBM, мог разместить левую клавишу ⇧ Shift в столь неудобном месте»[88]. Позже в том же журнале сообщалось, что от читателей было получено множество писем, где они изъявляли желание увидеть в новой модели индикацию режимов Caps Lock, Scroll Lock и NumLock. Критиковалась идея использовать одно и то же поле для курсорных клавиш и цифр, а также путаница, вызванная наличием клавиши Scroll Lock — не знакомые с данной клавиатурой пользователи могли предположить, что эта клавиша нужна для выключения режима Num Lock[7].
Джерри Пурнель в статье в журнале Byte также критиковал размещение некоторых клавиш, заявляя, что их расположение «может вывести из себя, особенно учитывая, что та же корпорация IBM выпускала печатную машину Selectric с замечательной клавиатурой»[a], и ругал прочих производителей PC-совместимых компьютеров за то, что они повторяют раскладку клавиш IBM, а не ощущение от нажатия, присущее только клавиатурам IBM[10]. Также он писал, что эта раскладка «едва не свела с ума» Джима Баена, издателя фантастических книг, и для того, чтобы нормально ей пользоваться, ему пришлось попросить знакомого программиста написать специальную утилиту, которая переназначала клавиши более удобным образом[89]. В то же время редакция самого журнала BYTE отнеслась к клавиатуре более благосклонно, посчитав эту клавиатуру «возможно, лучшей… среди всех микрокомпьютеров», а короткий левый ⇧ Shift — «мелочью по сравнению с ошибками, которые допускали другие производители компьютеров»[63].
Защищая выбранную раскладку, Дон Эстридж в 1983 году заявил, что «положение этих клавиш не так уж и плохо» и что «какое бы место ни было выбрано для этих клавиш, кому-то оно не понравится». «Если мы захотим их изменить, мы точно попадём впросак»[90].
Питер Нортон хорошо отзывался о выбранной схеме обмена данными между компьютером и клавиатурой, называя её «впечатляющей», «простой и элегантной»[1].
С появлением PC/AT Чарльз Петцольд в одном из номеров PC Magazine заметил, что хотя в IBM и сгладили некоторые недочёты предыдущей модели, всё же новая клавиатура ещё не идеальна, отмечая уменьшившуюся в размерах и отнесённую слишком далеко клавишу ← Backspace а также неудачную компоновку курсорно-цифрового блока[91]. Питер Нортон назвал перемещённую в цифровой блок клавишу Esc «бессмысленным решением» и «неприятностью» для тех, кому предстоит пользоваться клавиатурами обоих типов[92].
Когда вышла Model M, Чарльз Петцольд сетовал, что раскладка клавиатуры снова изменилась, но в то же время предполагал, что она останется надолго. «У меня такое смутное чувство, будто IBM говорит мне: „Тебе стоит полюбить её, потому что это клавиатура будущего“»[b][23]. Главным плюсом новой клавиатуры он назвал отдельные клавиши для стрелок[23].
Пользователи VIM, emacs и некоторых приложений для UNIX-подобных систем критикуют компанию IBM за размещение клавиш Ctrl, ⇪ Caps Lock и Esc на тех местах, на которых они разместили их в клавиатуре Model M, так как левому мизинцу при работе с сочетаниями клавиш приходится чаще покидать домашний ряд, отчего создаётся излишняя нагрузка на слабый палец[93][94][22].
Комментарии
Примечания
- 1 2 3 4 5 6 Norton, 1984.
- 1 2 3 4 5 Гук, 2006, с. 642.
- 1 2 3 4 5 Robertson, 2014.
- 1 2 3 Bradley, 1990, с. 420.
- ↑ Bradley, 1990, с. 414.
- ↑ Edlin, 1982, p. 178.
- 1 2 3 4 5 6 7 Edlin, 1982.
- 1 2 3 5150Reference, 1981, p. 2-14.
- 1 2 Гук, 2006, с. 645.
- 1 2 Pournelle, Jerry (November 1984). NCC Reflections. BYTE. p. 372. Дата обращения: 23 октября 2013.
- ↑ XTReference, 1983, p. 1-70.
- 1 2 XTReference, 1983, D−14.
- 1 2 jrManual, 1983.
- 1 2 Norton, 1985, с. 140.
- 1 2 jrReference, 1983.
- ↑ Юрий Литвиненко. IBM PCjr - большой провал большой компании. Дата обращения: 18 июля 2020. Архивировано 18 июля 2020 года.
- 1 2 Una Persson. What’s the “Scroll Lock” key on my computer for? : [арх. 13 августа 2020] // The Straight Dope. — 2003. — 7 октября.
- 1 2 Киви Берд (14 декабря 2003). Давим на клавиши. "Домашний Компьютер" №12. Архивировано 21 января 2014. Дата обращения: 17 января 2014.
- ↑ IBM. IBM Enhanced Keyboard for the Personal Computer Announcement Letter. 1986-04-18 ( Архивная копия от 21 апреля 2021 на Wayback Machine).
- ↑ Jim Burrows. Inverse-T History (англ.). Дата обращения: 10 августа 2020. Архивировано 23 сентября 2015 года.
- ↑ Benj Edwards. Why I Still Use a 34-Year-Old IBM Model M Keyboard (англ.). How-To Geek (25 апреля 2020). Дата обращения: 31 августа 2023. Архивировано 31 августа 2023 года.
- 1 2 PC, 1986, p. 180.
- 1 2 3 4 PC, 1986, p. 182.
- ↑ W3C, 2.1.2.
- ↑ PS2Reference, 1987, 4−46.
- 1 2 3 Гук, 2006, с. 643.
- 1 2 3 4 5 6 7 Савченков, 2018.
- 1 2 3 4 Chapweske, 2001.
- 1 2 3 4 Savard, 2003.
- ↑ Microsoft, 2000, p. 15.
- ↑ PS2HardwareReference, 1988.
- ↑ PC99, 1997—1998, p. 60.
- ↑ Fisher, Lawrence M. (6 сентября 1994). Microsoft Is Bringing Out Its First Computer Keyboard. The New York Times. Архивировано 2 декабря 2021. Дата обращения: 10 декабря 2018.
- ↑ PC99, 1997—1998, p. 217.
- ↑ W3C, 2.1.
- 1 2 PS2Reference, 1987, 4−13.
- ↑ W3C, 2.1.6.
- ↑ ABNT (1991): «NBR 10346 de 08/1991 — Tecnologia de informação — Teclados em equipamentos de processamento de dados — Conjunto alfanumérico -Padronização Архивная копия от 27 декабря 2022 на Wayback Machine». Available from the ABNT website. Accessed on 2021-08-15.
- ↑ W3C, 2.1.5.
- ↑ W3C, 2.1.7.
- ↑ OADGテクニカル・リファレンス(ハードウェア) : [яп.]. — PCオープン・アーキテクチャー推進協議会, 2000年. Архивная копия от 18 октября 2004 на Wayback Machine
- 1 2 W3C, 2.1.3.
- ↑ PS2Reference, 1987, 4−11.
- ↑ IBM Model M keyboards (англ.). Admiral Shark's Keyboards.
- ↑ The best keyboard layout: Pros and cons of 100%, TKL, and 75% (англ.). XDA. Дата обращения: 13 июня 2025.
- ↑ Фигурнов, 1999, с. 133.
- ↑ Максимов Николай Вениаминович. Архитектура ЭВМ и вычислительных систем. — М.: Форум — Инфра-М, 2005. — С. 214. — 512 с. — ISBN 5-16-002257-0.
- ↑ PC99, 1997—1998, p. 207.
- 1 2 3 4 W3C, 3.1.6.
- ↑ Scan code translate table (англ.). Microsoft. Дата обращения: 19 марта 2022. Архивировано 10 сентября 2021 года.
- 1 2 3 Фролов, 1997.
- ↑ IBM PC/AT 8042 Keyboard Controller Commands | OS/2 Museum (англ.). www.os2museum.com. Дата обращения: 1 августа 2019. Архивировано 1 августа 2019 года.
- ↑ Scott Mueller. Keyboard Controller Chips // Upgrading and Repairing PCs. — 2003. — С. 387. — 1575 с. — ISBN 9780789729743.
- ↑ Edlin, 1982, p. 177.
- ↑ Norton, 1985, с. 133.
- ↑ XTReference, 1983, D−12 to D−13.
- 1 2 Гук, 2006, с. 648.
- ↑ 5150Manual, 1981, 3−16.
- ↑ Carnahan, 1987, p. 2.13−2.14.
- ↑ 5150Manual, 1981, p. 3-2.
- ↑ Carnahan, 1987, p. 2.14.
- 1 2 Фигурнов, 1999, с. 83.
- 1 2 Williams, Gregg (January 1982). A Closer Look at the IBM Personal Computer. BYTE. p. 36. Дата обращения: 19 октября 2013.
- 1 2 ATManual, 1984, 1−6.
- ↑ Фигурнов, 1999, с. 121.
- ↑ Купер, 2009, с. 552.
- ↑ ATManual, 1984, 1−5.
- ↑ Norton, 1985, с. 131.
- ↑ 5150Manual, 1981, 3−14.
- ↑ Фигурнов, 1999, с. 80.
- ↑ ATManual, 1984, 1−4.
- ↑ 5150Manual, 1981, 3-4 — 3-5.
- 1 2 3 5150Manual, 1981, 3−17.
- 1 2 3 PS2Reference, 1987, 4−23.
- ↑ ATManual, 1984, 1−9.
- 1 2 3 Norton, 1985, с. 132.
- ↑ 5150Manual, 1981, 3−15.
- ↑ Norton, 1985, с. 144.
- 1 2 ATManual, 1984, 1−11.
- ↑ Купер, 2009, с. 525−526.
- ↑ The History of CTRL + ALT + DELETE (англ.). Mental Floss (12 июля 2013). Дата обращения: 11 января 2016. Архивировано 10 сентября 2017 года.
- 1 2 Quentin Docter, Emmett Dulaney, Toby Skandier. PS/2 (Keyboard and Mouse) // CompTIA A+ Complete Deluxe Study Guide Recommended Courseware. — Wiley, 2012. — P. 163—165. — ISBN 9781118515136.
- 1 2 PS/2 vs USB, FIGHT! (англ.). Technoir - Blog of Satharus. Дата обращения: 6 июня 2025.
- ↑ Massive, undetectable security flaw found in USB: It's time to get your PS/2 keyboard out of the cupboard (англ.). ExtremeTech (31 июля 2014). Дата обращения: 26 октября 2015. Архивировано 12 апреля 2022 года.
- ↑ Linus Tech Tips. Is PS/2 or USB Better for Keyboards and Mice? (англ.). Techquickie. Архивировано 13 сентября 2020. Дата обращения: 18 июля 2020.
{{cite AV media}}: Указан более чем один параметр|lang=and|language=(справка) - ↑ John Ross, Kelly L. Murdock. PC User's Bible. — Wiley, 2008. — С. 356. — ISBN 9780470377673.
- ↑ SOARER (англ.) (28 августа 2015). Дата обращения: 20 июля 2020. Архивировано 20 июля 2020 года.
- ↑ Edlin, Jim; Bunnell, David (February-March 1982). IBM's New Personal Computer: Taking the Measure / Part One. PC Magazine. p. 42. Архивировано 7 сентября 2019. Дата обращения: 20 октября 2013.
{{cite news}}: Википедия:Обслуживание CS1 (формат даты) (ссылка) - ↑ Pournelle, Jerry. Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem (англ.) // BYTE. — 1983. — Июнь. — P. 438−439. — ISSN 0360-5280.
- ↑ Curran, Lawrence J., Shuford, Richard S. (November 1983). IBM's Estridge. BYTE. pp. 88–97. Дата обращения: 19 марта 2016.
{{cite news}}: Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка) - ↑ IBM Brings out the big guns (англ.) // PC Magazine. — 1984. — 13 November. — P. 119−122.
- ↑ Norton, 1985, с. 143.
- ↑ Xah Lee. History of Emacs & vi Keys (Keyboard Influence on Keybinding Design) (англ.). Дата обращения: 4 января 2019. Архивировано 9 ноября 2018 года.
- ↑ Xah Lee. How To Avoid The Emacs Pinky Problem (англ.). Дата обращения: 8 ноября 2009. Архивировано 26 мая 2010 года.
Литература
- А.В. Фролов, Г.В. Фролов,. Аппаратное обеспечение персонального компьютера. — М.: Диалог-МИФИ, 1997. — Т. 33. — (Библиотека системного программиста). — ISBN 5-86404-103-3.
- Peter Norton. Chapter 6:Keyboard basics // The Peter Norton Programmer's guide to the IBM PC. — Microsoft press, 1985. — ISBN 0-914845-46-2.
- Нортон П. Глава 10: Блок клавиатуры // Программно-аппаратная организация компьютера IBM PC = Inside the IBM PC. Access to advanced features and programming. — Prentice-Hall Publishing Comp., 1984.
- Charles Petzold. The two faces of IBM's 8-MHz AT : [англ.] // PC Magazine. — 1986. — Т. 5, № 16 (30 September). — С. 179−184. — ISSN 0745-2500.
- Bradley, David J.. The Creation of the IBM PC : [англ.] // BYTE. — 1990. — September. — P. 414—420. — ISSN 0360-5280/90.
- Edlin, Jim. The PC's Keys // PC Magazine. — 1982. — Ноябрь. — P. 175.
- Михаил Гук. Глава 11. Устройства ввода-вывода и их интерфейсы. 11.1. Клавиатура // Аппаратные средства IBM PC. — 3-е. — СПб.: Питер, 2006. — С. 642−652. — 1072 с. — 5000 экз. — ISBN 5-469-01182-8.
- Фигурнов В.Э. IBM PC для пользователя. — М.: Инфра-М, 1999. — ISBN 5-86225-471-4.
- Brice Carnahan, James O. Wilkes. The IBM Personal Computers and the Michigan Terminal System (англ.). — College of Engineering the University of Michigan, 1987.
- Алан Купер. об интерфейсе. Основы проектирования = About Face. The Essentials of Interaction Design. — 3. — СПб.: Символ-Плюс, 2009. — 688 с. — 1500 экз. — ISBN 978 5 93286 132 5.
Спецификации и руководства
- IBM 5150: Guide to Operations (англ.). — First Edition. — International Business Machines Corporation, 1981. — (IBM Personal Computer Hardware Reference Library).
- Technical Reference : [англ.]. — International Business Machines Corporation, 1981. — P. 2-14 — 2-18. — (IBM Personal Computer Hardware Reference Library).
- IBM PCjr. Guide to Operations (англ.). — International Business Machines Corporation, 1983. — P. 3—1 − 4-10.
- IBM PCjr Technical reference (англ.). — International Business Machines Corporation, 1983. — P. 2-101 − 2-106.
- IBM XT 5160 Technical reference (англ.). — International Business Machines Corporation, 1983.
- IBM Personal Computer AT: Guide to Operations (англ.). — International Business Machines Corporation, 1984. — (IBM Personal Computer Hardware Reference Library).
- IBM Personal Computer AT 5170: Technical Reference (англ.). — International Business Machines Corporation, 1985. — (IBM Personal Computer Hardware Reference Library).
- IBM Personal System/2™ Model 25: Technical Reference (англ.). — International Business Machines Corporation, 1987. — (IBM Personal Computer Hardware Reference Library).
- Keyboard and Auxillary Device Controller // IBM Personal System/2 Hardware Interface Technical Reference. — International Business Machines Corporation, 1988. — (IBM Personal Computer Hardware Reference Library).
- Keyboard Scan Code Specification : [англ.]. — Revision 1.3a. — Microsoft Corporation, 2000. — (Windows Platform Design Notes).
- PC 99 System Design Guide : A Technical Reference for Designing PCs and Peripherals for the Microsoft Windows Family of Operating Systems : [англ.]. — Intel Corporation and Microsoft Corporation, 1997—1998.
Ссылки
- UI Events KeyboardEvent code Values (англ.). W3C. Дата обращения: 18 июня 2020. Архивировано 19 июня 2020 года.
- Непосредственная работа с клавиатурой // RSDN Magazine. — 2005. — № 1.
- Дмитрий Савченков. Работа с клавиатурой AT и PS/2 (22 апреля 2018). Дата обращения: 18 июля 2020. Архивировано 22 сентября 2020 года.
- Adam Chapweske. The AT-PS/2 Keyboard Interface (англ.) (2001). Дата обращения: 19 марта 2022. Архивировано 28 июля 2021 года.
- John J. G. Savard. Scan Codes Demystified (англ.) (2003). Дата обращения: 18 июля 2020. Архивировано 17 июля 2020 года.
- Adi Robertson. King of click: the story of the greatest keyboard ever made (англ.). The Verge (7 октября 2014). Дата обращения: 19 марта 2022. Архивировано 6 августа 2015 года.

