Клавиатура 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]. В дальнейшем добавлялись новые клавиши, менялся способ подключения, но основной набор клавиш и скан-кодов оставался неизменным. Также именно PC-раскладка стала использоваться в большинстве USB HID-клавиатур.
Предыстория
правитьКогда разрабатывался компьютер IBM PC, было решено не разрабатывать для него новую клавиатуру, а доработать клавиатуру IBM Model F[англ.] от моноблока IBM System/23, известного также как IBM 5322 или Datamaster[3]. Ко времени начала разработки IBM PC он должен был поступить в продажу, но выпуск откладывался из-за задержек в разработке интерпретатора Бейсика[4]. В свою очередь раскладка клавиатуры System/23 взята от терминала IBM 5250[англ.], но конструкция была переработана для облегчения и удешевления.
Разновидности
правитьКлавиатура оригинального IBM PC и PC/XT
правитьВыпущенный в 1981 году IBM PC комплектовался 83-клавишной клавиатурой IBM Model F[англ.]. Физическая раскладка клавиатуры осталась такой же, как и на System/23, однако назначение многих клавиш было изменено[5]. В буквенно-цифровой области разместились все символы ASCII. Расположение знаков препинания было взято от пишущих машин компании IBM, в целом все знаки ASCII расставлены в том же порядке, как и на терминале VT100 фирмы DEC. 10 клавиш левого кластера определены как функциональные. Цифровой блок использовался также для управления курсором, для переключения режима его работы была введена клавиша Num Lock[6]. Клавиша Ctrl располагалась в среднем ряду слева, как ранее в видеотерминалах, а ⇪ Caps Lock — справа от клавиши пробел[7]. Протокол обмена был односторонним, и режим ввода никак не отображался[6]. Некоторые производители (например, KeyTronic[англ.]) выпускали клавиатуры, снабжённые индикаторами режима, однако они не могли адекватно отображать режим ввода, если он в процессе работы менялся программно[2]. Схема клавиатуры тоже была изменена: в System/23 использовался параллельный интерфейс, а для PC был разработан последовательный интерфейс, благодаря чему клавиатура была отделена от системного блока и соединялась с ним витым кабелем[3] через разъём 5-DIN. Опросом матрицы и связью с компьютером занимался микроконтроллер intel 8048 или аналогичный.
Клавиатура вышедшего в 1983 году IBM PC/XT была полностью аналогична, за исключением отсутствия отдельного провода для подачи сигнала сброса контроллера клавиатуры — теперь сброс осуществлялся передачей специальной последовательности на шину данных/синхронизации.
Клавиатура IBM PCjr
правитьДля вышедшего в ноябре 1983 года домашнего компьютера IBM PCjr была разработана собственная клавиатура, более компактная и дешёвая, чем клавиатуры профессиональных серий IBM PC. На ней было только 62 клавиши, функции недостающих клавиш были достпны через сочетание с клавишей Fn[8][9]. В этой клавиатуре была применена система подавления фантомных нажатий[10], а также возможность озвучивать нажатие клавиши через системный динамик[8]. С системным блоком клавиатура связывалась по инфракрасному каналу, наподобие телевизионного пульта — для этого в клавиатуру устанавливались четыре батарейки AA, однако в комплекте имелся кабель для подключения к компьютеру напрямую. У клавиатуры отсутствовал буфер нажатых клавиш, из-за чего прерывание обработки нажатий пришлось сделать немаскируемым[9]. Несмотря на меньшее количество клавиш и другой способ подключения, она генерировала те же самые скан-коды, что и обычная PC/XT-клавиатура[10].
Первая версия клавиатуры IBM PCjr вызвала множество нареканий: островные кнопки были слишком узкими и неудобными при слепой печати, механизм — тугим и ненадёжным, так как использовалась электропроводящая резина, а обозначения, нанесённые на корпус, а не на саму клавишу — плохо читаемыми, особенно когда клавиатура лежала на столе. Вскоре была выпущена версия клавиатуры более традиционного вида, с привычным профилем кнопок, хотя и с тем же самым механизмом, и IBM даже предлагала бесплатную замену старой клавиатуры на новую[11]. Предлагали специальные клавиатуры для PCjr и сторонние производители. Так как сам IBM PCjr провалился на рынке, раскладка клавиатуры PCjr не получила распространения.
84-клавишная AT-клавиатура
правитьДля вышедшего в 1984 году IBM PC/AT была разработана новая версия клавиатуры, незначительно изменившаяся внешне[7], но с полностью переработанной схемой. Цифровой блок был выделен в отдельную группу. В клавиатуре использовался микроконтроллер Intel 8042 (впоследствии — i8242). Протокол обмена стал двусторонним, чтобы отображать состояние режимов ввода (для чего на клавиатуре появились три светодиода), а также изменять некоторые настройки ввода; кроме того, контроллер клавиатуры на материнской плате взял на себя некоторые дополнительные функции, в том числе выход из защищённого режима процессора. Количество скан-кодов увеличилось, и при отпускании клавиши перед скан-кодом передавался префикс F0h. На клавиатуре появилась кнопка SysRq[2], которая, однако, так и не использовалась согласно изначальной задумке[12][13].
101/104-клавишная AT-клавиатура
правитьВ 1985 году была представлена «усовершенствованная клавиатура IBM», известная также как IBM Model M[англ.]. С 1985 года этой клавиатурой комплектовался терминал IBM 3161, а с 1986 года — IBM PC[14][7]. В новой раскладке были учтены многие пожелания клиентов, в частности — длинный левый ⇧ Shift (только для американской раскладки). Общая компоновка, в частности, курсорные клавиши в виде «перевёрнутой Т», была выбрана с оглядкой на клавиатуру LK201[англ.] терминалов VT220 фирмы DEC[15][16]. Количество функциональных клавиш было увеличено до 12, они были перенесены в верхний ряд и разбиты на блоки по 4 клавиши. Новая клавиатура имела отдельный блок клавиш курсора и клавиши управления страничным выводом[17], но, несмотря на это, клавиша и светодиод Num Lock сохранились. Скан-коды новых клавиш соответствовали скан-кодам клавиш на цифровом блоке с аналогичным (при выключенном NumLock) назначением с добавлением префикса E0. Программы, опрашивавшие клавиатуру через BIOS, получали при нажатии клавиш курсорной группы коды, соответствующие клавишам цифрового блока с нажатым Shift, что позволяло полноценно использовать новые клавиши в старом ПО, однако это не касалось программ, опрашивавших клавиатуру напрямую[18]. Клавиша ⇪ Caps Lock была перенесена в средний ряд, как в механических печатных машинках, а клавиша Ctrl — в нижний и была продублирована, так же, как и клавиша Alt[7]. SysRq как отдельная клавиша с клавиатуры была убрана, но её скан-код генерировался при нажатии сочетаний клавиш ⇧ Shift+Print Screen или Ctrl+Print Screen. Именно такая раскладка окончательно стала стандартом, поддерживаемым большинством производителей клавиатур[19].
Клавиатура PS/2
правитьВ 1987 году для компьютера IBM PS/2 стал использоваться разъём MiniDIN-6[20], который в контексте использования для клавиатур и мышей также вскоре стали называть PS/2. В дальнейшем этот разъём стал основным для PC-клавиатур, вытеснив 5-DIN. Протокол при этом не изменился, подключение PS/2-клавиатуры к компьютеру стандарта AT и наоборот доступно через пассивный переходник[21]. По новой спецификации клавиатура должна была поддерживать, кроме стандартного, альтернативный набор скан-кодов set3[22][23][24], однако этот набор так и не получил распространения: в частности, была попытка использовать этот набор в ранних версиях Windows NT, но из-за неполной поддержки этого набора производителями клавиатур от этой идеи пришлось отказаться[25]. Контроллер клавиатуры на материнской плате обзавёлся дополнительными командами для поддержки новых возможностей протокола, а также поддержкой мыши[26]. Позже разъём клавиатуры стали окрашивать в сиреневый цвет, чтобы отличить его от разъёма мыши (зелёный).
Появление клавиш Windows и Menu
правитьВ 1994 году компания Microsoft выпустила клавиатуру Microsoft Natural keyboard, на которой имелись три дополнительные кнопки: две клавиши Windows, служащие для вызова меню «Пуск», и клавиша контекстного меню[27]. В дальнейшем эти клавиши стали устанавливаться на большинство PC-совместимых клавиатур.
Региональные варианты
правитьОсновная 101(104)-клавишная раскладка получила неофициальное название ANSI. Кроме неё существовало ещё несколько региональных раскладок, различающихся в основном клавишами буквенно-цифровой группы:
- 102/105-клавишная европейская модификация[28], известная также как ISO-раскладка, описанная в стандарте ISO/IEC 9995[англ.]. В этой раскладке клавиша Enter расположена на двух горизонтальных рядах (D13/С13), но её нижняя часть укорочена, чтобы разместить клавишу хеша (которая, однако, имеет код обратного слеша). Кроме того, в этой модификации имеется дополнительная клавиша обратного слеша рядом с левой клавишей ⇧ Shift[28]. Данная раскладка происходит от изначальной раскладки клавиатуры IBM PC, только в ней слева от клавиши Enter располагалась клавиша ~`
- Бразильская раскладка[29] (или ABNT) — схожа с европейской, но имеется дополнительная клавиша рядом с правой клавишей ⇧ Shift, а также клавиша точки на цифровом блоке. Регламентирована стандартами ABNT NBR 10346 variant 2 (алфавитно-цифровой блок) и 10347 (цифровая клавиатура)[30].
- Южнокорейская раскладка[31] (KS) с двумя дополнительными возле клавиши пробел для ввода символов ханча и хангыль.
- Японская раскладка[32] (неофициально называемая JIS) — содержит 106 (109) клавиш: укороченный Backspace, чтобы вместить символ иены, дополнительные клавиши слева от ↵ Enter и правой клавиши ⇧ Shift, а также три клавиши в ряду пробела: для переключения раскладки и ввода каны. Клавиатура для японской версии PC впервые появилась на компьютере IBM PS/55[англ.] (японском варианте PS/2). В дальнейшем именно эта раскладка была рекомендована для японского языка консорциумом PC OADG[англ.][33].
Кроме того, существуют версии с увеличенной клавишей Enter[34], известной также как Bigass-Enter, берущая начало от 84-клавишной клавиатуры IBM PC/AT. В этих раскладках клавиша обратного слеша располагается в верхнем ряду, в связи с чем клавиша Backspace укорочена — по сути это раскладка KS без дополнительных клавиш в ряду пробела.
Компактные и расширенные клавиатуры
правитьС целью экономии места на рабочем столе или чтобы уместить клавиатуру на устройстве, например ноутбуке, на котором полноразмерная клавиатура не может поместиться, производители клавиатур могут располагать клавиши на клавиатуре в нестандартном порядке или удалять клавиши с клавиатуры[21]. Компактные программируемые клавиатуры популярны, например, среди геймеров и системных администраторов, так как такую клавиатуру легче носить с собой. В 1987 году сокращённую версию клавиатуры для PC представила сама компания IBM[35] — это была клавиатура без цифрового блока (TKL), известная также как IBM Space Saving Keyboard. Эта клавиатура продавалась по той же цене, что и полноразмерная, и распространения ни сама SSK, ни такой формат в целом не получали вплоть до «механического ренессанса» 2010-х годов.
Наиболее популярные форматы компактных клавиатур[36]:
- 80 % или TKL (от англ. tenkeyless — буквально «без десяти клавиш») — клавиатура стандартной раскладки без цифрового блока. Цифровой блок также может эмулироваться в пределах основной буквенно-цифровой клавиатуры при включении режима NumLock;
- 75 % — распространённый на ноутбуках[37] формат, при котором клавиши Home, End, PgUp и PgDown могут либо располагаться в один столбец по правому краю клавиатуры, либо эмулироваться через клавишу Fn совместно с курсорными клавишами. Малоиспользуемые клавиши (Scroll Lock, Pause, Insert), как правило, тоже эмулируются;
- 60 % — формат, при котором клавиатуры состоят исключительно из буквенно-цифрового блока, клавиш-модификаторов, клавиш Esc, ↵ Enter и ← Backspace. Все остальные клавиши (F1-F12, стрелки и другие) эмулируются с помощью клавиши Fn.
Кроме того, производители ноутбуков, если позволяет место, часто стремятся сохранить цифровой блок либо в сокращённом виде (клавиши +, - и ↵ Enter размещаются над цифровым блоком), либо с клавишами уменьшенного размера, сохраняя при этом блок курсорных клавиш. Существуют также и клавиатуры с расширенными функциями: кроме мультимедиа-клавиш, они могут оснащаться клавишами для эмуляции стандартных сочетаний клавиш, программируемыми макроклавишами, на которые можно назначить эмуляцию последовательностей нажатия либо даже целую программу с циклами и условными переходами, а также дополнительными элементами управления: колёсами прокрутки, регулировки громкости, а также встроенными трекболами, тачпадами и экранами. В отличие от ADB, а также более позднего USB HID, подключение PC-клавиатуры и мыши в один разъём не предусмотрено, поэтому такие клавиатуры поставлялись с двумя раздельными разъёмами Mini-DIN для клавиатуры и мыши.
-
TKL-клавиатура «IBM Model M Space Saving Keyboard[англ.]»
-
Клавиатура формата 75 % со встроенным трекболом. Видны два разъёма Mini-DIN (PS/2) разного цвета
-
Клавиатура IBM Model M13 с трекпойнтом и двумя кнопками мыши
-
Клавиатура Microsoft Natural Pro с мультимедийными клавишами
Клавиатуры с мультимедийными клавишами
правитьС развитием технологий мультимедиа и бумом доткомов в конце 90-х производители клавиатур в качестве конкурентного преимущества начали добавлять на клавиатуры дополнительные клавиши, призванные облегчить работу с мультимедиа и вебом. В дальнейшем сложился перечень стандартных клавиш для работы с мультимедиа и браузером[38][39]:
- Клавиши управления веб-браузером: назад, вперёд, обновить, стоп, поиск, избранное, домашняя страница;
- Клавиши управления медиапроигрывателем: отключить звук, уменьшить громкость, увеличить громкость, следующий трек, предыдущий трек, остановка воспроизведения, воспроизвести/пауза;
- Клавиши избранных программ: почтовый клиент, медиаплейер и две кнопки дополнительных приложений.
Принцип работы
правитьВ микрокомпьютерах конца 1970-х — начала 1980-х годов, в частности «троице 77-го» (Apple II, Commodore PET, TRS-80) использовались два подхода: непосредственный опрос клавиатуры процессором (в Commodore PET и TRS-80) или клавиатура стандарта X4.14-1971, формирующая готовые ASCII-коды вводимых символов (Apple II[40]). Первый был самым простым с точки зрения технической реализации, но создавал постоянную нагрузку на процессор[41] и требовал соединения клавиатуры многожильным шлейфом, отчего такие клавиатуры чаще всего совмещали с системным блоком. Второй требовал отдельного контроллера клавиатуры и при этом жёстко привязывал клавиши к символам ASCII, не давал возможности получить состояние клавиш-модификаторов (⇧ Shift и Ctrl) отдельно от прочих нажатых клавиш и ограничивал возможность использования сочетаний клавиш.
В IBM PC был выбран другой подход: опросом клавиатуры занимался контроллер, расположенный в её корпусе, но он передавал компьютеру не символ ASCII, а скан-код, причём различный при нажатии и отпускании клавиши. При длительном удержании клавиши код нажатия передаётся повторно через определённый промежуток времени[21]. В компьютер скан-код передавался в виде последовательного кода, а на материнской плате устанавливался аналогичный контроллер, который при получении сигнала от клавиатуры генерировал прерывание INT 09h и передавал полученный скан-код в порт 60h[42]. Впоследствии его функции перешли в Super I/O или LPC-чип, либо в южный мост чипсета[43][44]. Для случаев, когда процессор не успевает обработать нажатия клавиш, предусмотрен буфер клавиатуры[1].
С точки зрения схемы контроллера все клавиши клавиатуры равнозначны, включая клавиши-модификаторы и клавиши-переключатели[45]; каждая имеет свой скан-код, причём дублирующиеся клавиши, например левый и правый ⇧ Shift — разный[46]. Преобразованием скан-кодов в коды символов и управлением вводом с клавиатуры занималась уже BIOS, операционная система или даже прикладное ПО[1]. Такой подход позволил в назначать на любую клавишу любое действие, которое требуется в программе, а также не привязываться к определённой локали[6].
В клавиатуре первых IBM PC и PC/XT протокол обмена был односторонним, режим ввода никак не отображался, а какие-либо схемы для отображения режима, встроенные в клавиатуру, не могли его адекватно отображать[6]. В IBM PC/AT протокол обмена компьютера с клавиатурой значительно изменился: он стал двусторонним, позволяя вывести три индикатора режима (Caps Lock, Num Lock и Scroll Lock), а также устанавливать период автоповтора и изменять набор скан-кодов. Доступ к этим функциям на PC-совместимых компьютерах также осуществлялся через порт 60h, который теперь работал и на запись[42]. Протоколы клавиатур PC/XT и PC/AT несовместимы, IBM PC/AT и последующие PC-совместимые компьютеры не распознавали клавиатуры от PC/XT. Некоторые производители выпускали клавиатуры на два стандарта, снабжённые переключателем[42].
Сравнение протоколов и разъёмов подключения
правитьТип | Разъём | Распайка | Протокол | Передача команд контроллеру | Набор скан-кодов |
---|---|---|---|---|---|
PC (Type 1) [47] | 5-pin DIN (DIN 41524) |
1 CLK 2 DATA |
2 стартовых бита, 8 бит данных, бит нажатия/отпускания клавиши, 1 стоповый бит Сброс контроллера — замыканием 3-го контакта на корпус |
Нет | Набор set1[22][23][24] (PC/XT) |
XT (Type 2) [48] | 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[22][23][24] (PC/AT) |
PS/2 | 6-pin Mini-DIN (DIN 45322) |
1 DATA 2 N/C |
набор set2 или set3[22][23][24] |
Наборы скан-кодов
править- ¹E0,2A,E0,37
- ²E1,1D,45, E1,9D,C5
Набор скан-кодов set1 (в других источниках называемый как set#0) — это набор сканкодов оригинального PC. В клавиатуре PC/AT и более поздних моделях этот набор не поддерживается, однако контроллер клавиатуры на материнской плате может производить трансляцию скан-кодов в набор set1. Код отпускания соответствует коду нажатия+0x80
. Коды клавиш, отсутствовавших в оригинальной клавиатуре, соответствуют кодам клавиш с соответствующими функциями, но к ним прибавляется префикс 0xE0
[49][22].
- ¹E0,12,E0,7C
- ²E1,14,77, E1,F0,14,F0,77
Набор set2 (или set#1)— стандартный набор PC/AT. В нём дополнительные клавиши также предваряются префиксом 0xE0
. Отпускание клавиши предваряется кодом 0xF0
[22].
Набор set3 (или set#2) представляет собой оптимизацию набора set2, заключавшуюся в отказе от префиксов и переходе к однобайтным скан-кодам. Однако он не получил распространения и к тому же может отсутствовать в некоторых моделях клавиатур[49]. Отпускание также предваряется кодом 0xF0
[22].
Назначение и особенности работы отдельных клавиш
править`
1
2
3
4
5
6
7
8
9
0
-
=
[
]
Home
↑
PgUp
+
;
'
\
←
→
\
,
.
/
End
↓
PgDn
Ins
Del
Так как клавиатура при нажатии клавиш генерирует скан-коды, не привязанные напрямую к кодам вводимых символов, а преобразованием нажатой клавиши во вводимый символ занимается либо прерывание BIOS, либо драйвер клавиатуры, любая клавиша на клавиатуре может иметь любое назначение[1]. Однако нанесённые на клавиши обозначения и стандартная работа с этими клавишами BIOS и операционной системы закрепили определённое их поведение.
- Esc — используется в основном как клавиша отмены либо для очистки только что введённых данных, например, командной строки DOS[50]. Как клавиша ввода специальных символов ко времени появления PC она уже не использовалось[1].
- Ctrl — хотя эта клавиша была взята из раскладки терминалов для ввода управляющих символов, в таком качестве она используется исключительно в командной строке DOS и эмуляторах терминала. В большинстве приложений она используется в составе сочетаний клавиш[51].
- Alt — взята из клавиатуры System/23 и тоже используется в основном в составе сочетаний клавиш[52]. Также она позволяет вводить отсутствующие на клавиатуре символы — не только из алфавита ASCII — путём ввода при нажатой Alt кода символа на цифровой клавиатуре[53][54][55]. В 102- (105)-клавишных клавиатурах правая клавиша Alt обозначается как Alt Gr и предназначена для ввода дополнительных символов: диакритики, знаков препинания и т. д.[56] Кроме того, в различных меню и диалоговых окнах отдельные буквы названий пунктов могут быть выделены цветом или подчёркиванием, если фокус ввода находится в этом меню, сочетание клавиши Alt с выделенной буквой равнозначно выбору этого пункта меню[57]. В Windows по умолчанию это выделение не отображается, но появляется при однократном нажатии Alt.
- Tab ↹ используется для работы с табуляцией, а также для переключения между формами и элементами интерфейса. Простое нажатие Tab ↹, как правило, приводит к переходу к следующей позиции табуляции или элементу интерфейса, а в сочетании с клавишей ⇧ Shift — к предыдущей[58]. В Windows клавиша стала использоваться для переключения между открытыми окнами в сочетании с клавишей Alt.
- ⇪ Caps Lock, как правило, влияет только на регистр букв, но не на цифры и знаки препинания[59][60]. В оригинальном PC и PC/XT выбранный регистр никак не отображался[6], начиная с PC/AT для этой цели имеется световой индикатор[2][55].
- F1…F10 (…F12) не имеют предопределённого значения, однако некоторые функции закреплены за какими-то из них в большом количестве программ, например F1 чаще всего вызывает встроенную справку[61].
- ↵ Enter — совмещает в себе функцию перевода строки и подтверждения операции[62], хотя во многих продуктах IBM за эти функции отвечали разные клавиши.
- Num Lock — была введена для того, чтобы совместить цифровой и навигационный блоки клавиатуры. За это решение компанию IBM многократно критиковали[6], пока не была выпущена клавиатура Model M, в которой появились выделенные навигационные клавиши[18], хотя клавиша Num Lock осталась для обеспечения совместимости. Кроме того, сочетанием клавиш Ctrl+Num Lock можно было приостановить работу текущей программы[63] — позже эта функция была выведена на отдельную клавишу Pause[64].
- Scroll Lock — включает режим прокрутки навигационными клавишами, для которого на клавиатуре начиная с PC/AT существует индикатор[65]. Этот режим оказался не очень удобным и эта клавиша вскоре вышла из употребления и может отсутствовать на некоторых клавиатурах.
- Pause — приостановка выполнения программы[64]. Так же, как Scroll Lock, за пределами командной строки DOS не используется. В ранних версиях была сблокирована с клавишей Num Lock и вызывалось сочетанием с Ctrl[66][63].
- Break — не является самостоятельной клавишей. В ранних версиях эта функция была сблокирована с клавишей Scroll Lock[67], а начиная с Model M — с клавишей Pause[64]. Вызывается сочетанием с клавишей Ctrl и прерывает работу текущей программы[66]. Используется практически исключительно в командной строке DOS, для чего приложение должно откликаться на специальное прерывание, но чаще приложения командной строки реагируют на управляющий символ «End of text» (Ctrl+C).
- Print Screen — изначально посылала текущий экран на принтер[66], с появлением Windows стала копировать содержимое экрана в буфер обмена[53]. Изначально была сблокирована с клавишей * и вызывалась сочетанием ⇧ Shift+*[63].
- SysRq — появилась на 84-клавишной клавиатуре PC/AT[2], предполагалось, что она будет использоваться для переключения между программами в многозадачной ОС[68], но эта задумка так и не была реализована[12][13], позже она была убрана под клавишу Print Screen (вызывалась в сочетании с клавишей Shift).
- Insert — для переключения между режимами вставки и замены. Чаще всего используется режим вставки, когда вводимый символ добавляется в позиции курсора, в то время как в режиме замены символ, стоящий после курсора, удаляется и заменяется на введённый с клавиатуры[69]. Режим замены используется достаточно редко, в основном для заполнения различных форм, кроме того, само наличие этого режима, а особенно отсутствие индикации его критикуется многими специалистами по пользовательскому интерфейсу[70]. Также данная клавиша в сочетании с клавишами Ctrl или ⇧ Shift может работать с буфером обмена.
- Delete используется для удаления объекта после курсора[69], а также выделенных объектов. Кроме того, сочетание клавиш Ctrl+Alt+Del изначально использовалась для быстрой перезагрузки компьютера без очистки памяти[3] — предполагалось, что оно будет использоваться только разработчиками ПО[71]. Это сочетание зашито в BIOS, однако большинство операционных систем для PC самостоятельно обрабатывают события клавиатуры и потому могут назначить на это сочетание другие действия.
Сравнение с USB HID
правитьНачиная с конца 90-х существующий стандарт начал вытесняться стандартом USB HID. Стандарт USB более универсален, позволяет подключать к одной машине несколько клавиатур и мышей, а также подключать и отключать клавиатуру без отключения питания компьютера. В 2000 году компании Intel и Microsoft выпустили спецификацию PC 2001, в которой объявили PS/2-клавиатуру и мышь устаревшими стандартами, предлагая производителям переходить на USB. Однако в течение последующих двух десятилетий эти стандарты продолжали использоваться наряду с USB по нескольким причинам:
- В разъём USB можно подключить съёмный диск либо устройство беспроводной связи, что может быть недопустимо при работе с коммерческой или государственной тайной. Даже при отсутствии дополнительных разъёмов возможно подключение через разветвитель. В разъёмы PS/2 можно подключить только клавиатуру и мышь[72], все USB-разъёмы в этом случае можно отключить физически. Альтернативой может быть физическая фиксация штекера в гнезде USB, но при этом злоумышленник всё ещё имеет возможность разрезать кабель, подключившись в разрыв цепи.
- Стандарт USB HID допускает до 8 одновременно нажатых клавиш на одном устройстве. Это ограничение можно преодолеть, зарегистрировав клавиатуру как несколько HID-устройств. Традиционная PC-клавиатура не имеет подобного ограничения, поэтому долгое время считалась более предпочтительной для некоторых компьютерных игр, таких как симуляторы[73].
- Протокол USB более сложен как в технической реализации, требуя наличия на устройстве тактового генератора, так и в написании драйвера, в то время как обработка нажатий традиционной PC-клавиатуры может быть реализована с помощью нескольких ассемблерных команд. По последней причине долгое время USB-клавиатуры не поддерживались некоторыми программами BIOS setup. Также если клавиатура регистрирует в системе несколько HID-устройств, она может некорректно работать с некоторыми версиями BIOS.
- Подключение клавиатуры и мыши через PS/2 позволяет освободить USB-разъёмы без использования USB-хабов.
Многие клавиатуры, выпускаемые после появления стандарта USB HID, хотя и не все, поддерживают оба протокола. Такую клавиатуру с разъёмом USB можно подключить к компьютеру, имеющему разъём PS/2 или AT, через пассивный переходник, (и наоборот, PS/2 клавиатуру — к USB). Для подключения клавиатур более старых моделей требуется активный переходник — существуют подобные переходники как промышленно изготавливаемые, так и любительские — например, Soarer’s converter на основе популярного контроллера atmega 32u4, позволяющий не только подключать к USB любые PC-клавиатуры, в том числе PC/XT, но и произвольно менять назначение клавиш[74].
Критика
правитьПервая 83-клавишная клавиатура получила высокую оценку в первом номере журнала PC Magazine, однако автор обзора удивлялся, «как такой признанный профессионал в изготовлении клавиатур, как IBM, мог разместить левую клавишу ⇧ Shift в столь неудобном месте»[75]. Позже в том же журнале сообщалось, что от читателей было получено множество писем, где они изъявляли желание увидеть в новой модели индикацию режимов Caps Lock, Scroll Lock и NumLock. Критиковалась идея использовать одно и то же поле для курсорных клавиш и цифр, а также путаница, вызванная наличием клавиши Scroll Lock — не знакомые с данной клавиатурой пользователи могли предположить, что эта клавиша нужна для выключения режима Num Lock[6].
Джерри Пурнель в статье в журнале Byte[англ.] также критиковал размещение некоторых клавиш, заявляя, что их расположение «может вывести из себя, особенно учитывая, что та же корпорация IBM выпускала печатную машину Selectric с замечательной клавиатурой», и ругал прочих производителей PC-совместимых компьютеров за то, что они повторяют раскладку клавиш IBM, а не ощущение от нажатия, присущее только клавиатурам IBM[76]. Также он писал, что эта раскладка «едва не свела с ума» Джима Баена[англ.], издателя фантастических книг, и для того, чтобы нормально ей пользоваться, ему пришлось попросить знакомого программиста написать специальную утилиту, которая переназначала клавиши более удобным образом[77]. В то же время редакция самого журнала BYTE отнеслась к клавиатуре более благосклонно, посчитав эту клавиатуру «возможно, лучшей… среди всех микрокомпьютеров», а короткий левый ⇧ Shift — «мелочью по сравнению с ошибками, которые допускали другие производители компьютеров»[54].
Защищая выбранную раскладку, Дон Эстридж в 1983 году заявил, что «положение этих клавиш не так уж и плохо» и что «какое бы место ни было выбрано для этих клавиш, кому-то оно не понравится». «Если мы захотим их изменить, мы точно попадём впросак»[78].
Питер Нортон хорошо отзывался о выбранной схеме обмена данными между компьютером и клавиатурой, называя её «впечатляющей», «простой и элегатной»[1].
С появлением PC/AT Чарльз Петцольд в одном из номеров PC Magazine заметил, что хотя в IBM и сгладили некоторые недочёты предыдущей модели, всё же новая клавиатура ещё не идеальна, отмечая уменьшившуюся в размерах и отнесённую слишком далеко клавишу ← Backspace а также неудачную компоновку курсорно-цифрового блока[79]. Питер Нортон назвал перемещённую в цифровой блок клавишу Esc «бессмысленным решением» и «неприятностью» для тех, кому предстоит пользоваться клавиатурами обоих типов[80].
Когда вышла Model M, Чарльз Петцольд сетовал, что раскладка клавиатуры снова изменилась, но в то же время предполагал, что она останется надолго. «У меня такое смутное чувство, будто IBM говорит мне: „Тебе стоит полюбить её, потому что это клавиатура будущего“»[18]. Главным плюсом новой клавиатуры он назвал отдельные клавиши для стрелок.
Пользователи VIM, emacs и некоторых приложений для UNIX-подобных систем критикуют компанию IBM за размещение клавиш Ctrl, ⇪ Caps Lock и Esc на тех местах, на которых они разместили их в клавиатуре Model M, так как левому мизинцу при работе с сочетаниями клавиш приходится чаще покидать домашний ряд, отчего создаётся излишняя нагрузка на слабый палец[81][82][17].
Примечания
править- ↑ 1 2 3 4 5 6 Norton, 1984.
- ↑ 1 2 3 4 5 Гук, 2006, с. 642.
- ↑ 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 4 Robertson, 2014.
- ↑ 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 Киви Берд (2003-12-14). "Давим на клавиши". "Домашний Компьютер" №12. Архивировано 21 января 2014. Дата обращения: 17 января 2014.
- ↑ IBM. IBM Enhanced Keyboard for the Personal Computer Announcement Letter. 1986-04-18 ([1] Архивная копия от 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 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.
- ↑ Fisher, Lawrence M. (1994-09-06). "Microsoft Is Bringing Out Its First Computer Keyboard". The New York Times. Архивировано 2 декабря 2021. Дата обращения: 10 декабря 2018.
- ↑ 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
- ↑ W3C, 2.1.3.
- ↑ PS2Reference, 1987, 4−11.
- ↑ The Different Keyboard Sizes Explained (англ.). Switch & Click. Дата обращения: 19 марта 2022. Архивировано 24 марта 2022 года.
- ↑ W3C, 2.1.9.
- ↑ W3C, 3.1.6.
- ↑ Scan code translate table (англ.). Microsoft. Дата обращения: 19 марта 2022. Архивировано 10 сентября 2021 года.
- ↑ Early Apple Keyboards (англ.). Дата обращения: 3 января 2022. Архивировано 3 января 2022 года.
- ↑ А. Бойко. Удачный «Поиск» // Наука и жизнь. — 1991. — № 2. — С. 84. — ISSN 0028-1263.
- ↑ 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.
- ↑ XTReference, 1983, D−14 to D−15.
- ↑ 1 2 Гук, 2006, с. 648.
- ↑ 5150Manual, 1981, 3−16.
- ↑ Carnahan, 1987, p. 2.13−2.14.
- ↑ 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.
- ↑ 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. Дата обращения: 11 января 2016. Архивировано 10 сентября 2017 года.
- ↑ Massive, undetectable security flaw found in USB: It's time to get your PS/2 keyboard out of the cupboard (англ.). ExtremeTech. Дата обращения: 26 октября 2015. Архивировано 12 апреля 2022 года.
- ↑ Is PS/2 or USB Better for Keyboards and Mice? (англ.). Techquickie. Архивировано 13 сентября 2020. Дата обращения: 18 июля 2020. Источник . Дата обращения: 18 июля 2020. Архивировано 13 сентября 2020 года.
- ↑ SOARER (англ.). Дата обращения: 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 (November 1984). "NCC Reflections". BYTE. p. 372. Дата обращения: 23 октября 2013.
- ↑ 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).
- 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).
Ссылки
править- 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 года.