Лучшие вопросы
Таймлайн
Чат
Перспективы
Клавиатура IBM PC
Клавиатура, предназначенная для работы с PC-совместимым компьютером (XT,AT или PS/2) Из Википедии, свободной энциклопедии
Remove ads
Клавиатура 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].
Remove ads
Предыстория
Когда разрабатывался компьютер 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].
Remove ads
Принцип работы
Суммиров вкратце
Перспектива
В отличие от многих микрокомпьютеров 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].
Сравнение протоколов и разъёмов подключения
Наборы скан-кодов
Набор set1
01
3B
3C
3D
3E
3F
40
41
42
43
44
57
58
…¹
46
…²
29
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
E0,52
E0,47
E0,49
45
E0,35
37
4A
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
E0,53
E0,4F
E0,51
47
48
49
4E
3A
1E
1F
20
21
22
23
24
25
26
27
28
2B
4B
4C
4D
2A
56
2C
2D
2E
2F
30
31
32
33
34
35
36
E0,48
4F
50
51
E0,1C
1D
E0,5B
38
39
E0,38
E0,5C
E0,5D
E0,1D
E0,4B
E0,50
E0,4D
52
53
- ¹E0,2A,E0,37
- ²E1,1D,45, E1,9D,C5
Набор скан-кодов set1 (в других источниках называемый как set#0) — это набор скан-кодов оригинального PC. В клавиатуре PC/AT и более поздних моделях этот набор не поддерживается, однако контроллер клавиатуры на материнской плате может производить трансляцию скан-кодов в набор set1. Код отпускания соответствует коду нажатия+0x80
. Коды клавиш, отсутствовавших в оригинальной клавиатуре, соответствуют кодам клавиш с соответствующими функциями, но к ним прибавляется префикс 0xE0
[57][27].
Набор set2
76
05
06
04
0C
03
0B
83
0A
01
09
78
07
…¹
7E
…²
0E
16
1E
26
25
2E
36
3D
3E
46
45
4E
55
66
E0,70
E0,6C
E0,7D
77
E0,4A
7C
7B
0D
15
1D
24
2D
2C
35
3C
43
44
4D
54
5B
5A
E0,71
E0,69
E0,7A
6C
75
7D
79
58
1C
1B
23
2B
34
33
3B
42
4B
4C
52
5D
6B
73
74
12
61
1A
22
21
2A
32
31
3A
41
49
4A
59
E0,75
69
72
7A
E0,5A
14
E0,1F
11
29
E0,11
E0,27
E0,2F
E0,14
E0,6B
E0,72
E0,74
70
71
- ¹E0,12,E0,7C
- ²E1,14,77, E1,F0,14,F0,77
Набор set2 (или set#1)— стандартный набор PC/AT. В нём дополнительные клавиши также предваряются префиксом 0xE0
. Отпускание клавиши предваряется кодом 0xF0
[27].
Набор set3
08
07
0F
17
1F
27
2F
37
3F
47
4F
56
5E
57
5F
62
0E
16
1E
26
25
2E
36
3D
3E
46
45
4E
55
66
67
6E
7D
76
77
7E
84
0D
15
1D
24
2D
2C
35
3C
43
44
4D
54
5B
5A
64
65
6D
6C
75
7D
7C
14
1C
1B
23
2B
34
33
3B
42
4B
4C
52
5D
6B
73
74
12
13
1A
22
21
2A
32
31
3A
41
49
4A
59
63
69
72
7A
79
11
8B
19
29
39
8C
9D
58
61
60
6A
70
71
Набор set3 (или set#2) представляет собой оптимизацию набора set2, заключавшуюся в отказе от префиксов и переходе к однобайтным скан-кодам. Однако он не получил распространения и к тому же может отсутствовать в некоторых моделях клавиатур[57]. Отпускание также предваряется кодом 0xF0
[27].
Remove ads
Назначение и особенности работы отдельных клавиш
Суммиров вкратце
Перспектива
~
`
`
!
1
1
@
2
2
#
3
3
$
4
4
%
5
5
^
6
6
&
7
7
*
8
8
(
9
9
)
0
0
_
-
-
+
=
=
/
*
-
Q
W
E
R
T
Y
U
I
O
P
{
[
[
}
]
]
7
Home
Home
8
↑
↑
9
PgUp
PgUp
+
A
S
D
F
_
G
H
J
_
K
L
:
;
;
"
'
'
|
\
\
4
←
←
5
6
→
→
|
\
\
Z
X
C
V
B
N
M
<
,
,
>
.
.
?
/
/
1
End
End
2
↓
↓
3
PgDn
PgDn
0
Ins
Ins
.
Del
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]
Remove ads
Сравнение с 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].
Remove ads
Критика
Суммиров вкратце
Перспектива
Первая 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].
Remove ads
Комментарии
Примечания
Литература
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads