WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Скан-код (англ. scan code) — в IBM-совместимых компьютерах код, присвоенный каждой клавише, с помощью которого драйвер клавиатуры распознает, какая клавиша была нажата. При нажатии любой клавиши контроллер клавиатуры распознаёт клавишу и посылает её скан-код в порт 60h. При отпускании клавиши контроллер клавиатуры устаревшего формата IBM PC/XT посылает в тот же порт скан-код, увеличенный на 80h, а более нового формата IBM PC/AT — два байта: F0h и скан-код (скан-коды клавиатуры AT также отличаются от XT, см. таблицу). Некоторые клавиши генерируют не один, а несколько скан-кодов (так, правые Alt, Ctrl, ↵ Enter, обе Win, а также ≣ Menu, Insert, Delete, Page Up, Page Down, Home, End, стрелки и все ACPI- и мультимедиа-клавиши генерируют два скан-кода, первый из которых — E0, клавиша PrtScr генерирует 4 скан-кода, а клавиша Pause — даже 6 скан-кодов). Каждый байт, записанный в порт 60h, генерирует аппаратное прерывание int 09h.

Скан-коды жёстко привязаны к каждой клавише на аппаратном уровне и не зависят ни от состояния индикаторов ⇪ Caps Lock, Num Lock и Scroll Lock, ни от состояния управляющих клавиш (⇧ Shift, Alt, Ctrl).

Скан-коды клавиш

Все скан-коды ниже даются в шестнадцатеричной системе.

Большинство скан-кодов на XT-клавиатуре соответствуют физическому местоположению клавиш, начиная с клавиш Esc (код 01) и цифровых клавиш 1-9 (коды 02-0A). К примеру, клавиши второго ряда (Tab ↹ Q W E R T Y U I O P [ ] ↵ Enter) имеют последовательные скан-коды 0F-1C (15-28 в десятичной системе).

На клавиатурах другой раскладки (например, AZERTY) скан-коды соответствуют расположению клавиш: так, у французского A скан-код как у американского Q. Преобразованием скан-кодов в коды нажатых клавиш занимается ОС или BIOS.

Во всех операционных системах фирмы Microsoft, скан коды из набора 2 (AT) преобразуются в скан коды набора 1 (XT), и все приложения получают уже скан коды набора 1.

КлавишаКод нажатия XTКод отпускания XTКод нажатия ATКод отпускания AT
Основная клавиатура
A1E9E1CF0,1C
B30B032F0,32
C2EAE21F0,21
D20A023F0,23
E129224F0,24
F21A12BF0,2B
G22A234F0,34
H23A333F0,33
I179743F0,43
J24A43BF0,3B
K25A542F0,42
L26A64BF0,4B
M32B23AF0,3A
N31B131F0,31
O189844F0,44
P19994DF0,4D
Q109015F0,15
R13932DF0,2D
S1F9F1BF0,1B
T14942CF0,2C
U16963CF0,3C
V2FAF2AF0,2A
W11911DF0,1D
X2DAD22F0,22
Y159535F0,35
Z2CAC1AF0,1A
00B8B45F0,45
1028216F0,16
203831EF0,1E
3048426F0,26
4058525F0,25
506862EF0,2E
6078736F0,36
708883DF0,3D
809893EF0,3E
90A8A46F0,46
~29890EF0,0E
-0C8C4EF0,4E
=0D8255F0,55
\2BAB5DF0,5D
[1A9A54F0,54
]1B9B5BF0,5B
;27A74CF0,4C
'28A852F0,52
,33B341F0,41
.34B449F0,49
/35B54AF0,4A
BS0E8E66F0,66
Space39B929F0,29
Tab ↹0F8F0DF0,0D
⇪ Caps Lock3ABA58F0,58
Левый ⇧ Shift2AAA12F0,12
Левый Ctrl1D9D14F0,14
Левый Alt38B811F0,11
Левый WinE0,5BE0,DBE0,1FE0,F0,1F
Правый ⇧ Shift36B659F0,59
Правый CtrlE0,1DE0,9DE0,14E0,F0,14
Правый AltE0,38E0,B8E0,11E0,F0,11
Правый WinE0,5CE0,DCE0,27E0,F0,27
≣ MenuE0,5DE0,DDE0,2FE0,F0,2F
↵ Enter1C9C5AF0,5A
Esc018176F0,76
F13BBB05F0,05
F23CBC06F0,06
F33DBD04F0,04
F43EBE0CF0,0C
F53FBF03F0,03
F640C00BF0,0B
F741C183F0,83
F842C20AF0,0A
F943C301F0,01
F1044C409F0,09
F1157D778F0,78
F1258D807F0,07
PrtScrE0,2A,E0,37E0,B7,E0,AAE0,12,E0,7CE0,F0,7C,E0,F0,12
Alt+PrtScr 54 (вместо PrtScr,

код для клавиши Alt

генерируется отдельно)

D4 (вместо PrtScr,

код для клавиши Alt

генерируется отдельно)

? ?
Ctrl+PrtScr,

⇧ Shift+PrtScr

(SysReq)

E0,37 (вместо PrtScr,

код для Ctrl или ⇧ Shift

генерируется отдельно)

E0,B7 (вместо PrtScr,

код для Ctrl или ⇧ Shift

генерируется отдельно)

? ?
Scroll Lock46C67EF0,7E
PauseE1,1D,45, E1,9D,C5 E1,14,77, E1,F0,14,F0,77
Ctrl+Break

(Ctrl+Pause)

E0,46 (вместо Break,

код для клавиши Ctrl

генерируется отдельно)

E0,C6 (вместо Break,

код для клавиши Ctrl

генерируется отдельно)

? ?
InsertE0,52E0,D2E0,70E0,F0,70
HomeE0,47E0,C7E0,6CE0,F0,6C
EndE0,4FE0,CFE0,69E0,F0,69
Page UpE0,49E0,C9E0,7DE0,F0,7D
Page DownE0,51E0,D1E0,7AE0,F0,7A
DeleteE0,53E0,D3E0,71E0,F0,71
E0,48E0,C8E0,75E0,F0,75
E0,4BE0,CBE0,6BE0,F0,6B
E0,50E0,D0E0,72E0,F0,72
E0,4DE0,CDE0,74E0,F0,74
Цифровая клавиатура
Num Lock45C577F0,77
/E0,35E0,B5E0,4AE0,F0,4A
*37B77CF0,7C
-4ACA7BF0,7B
+4ECE79F0,79
↵ EnterE0,1CE0,9CE0,5AE0,F0,5A
.53D371F0,71
052D270F0,70
14FCF69F0,69
250D072F0,72
351D17AF0,7A
44BCB6BF0,6B
54CCC73F0,73
64DCD74F0,74
747C76CF0,6C
848C875F0,75
949C97DF0,7D
Клавиши ACPI
PowerE0,5EE0,DEE0,37E0,F0,37
SleepE0,5FE0,DFE0,3FE0,F0,3F
WakeE0,63E0,E3E0,5EE0,F0,5E
Мультимедиа клавиши
Управление проигрывателем
Следующий трекE0,19E0, 99E0, 4DE0,F0,4D
Предыдущий трекE0,10E0, 90E0,15E0,F0,15
ОстановитьE0,24E0,A4E0,3BE0,F0,3B
Проигрывать/паузаE0,22E0,A2E0,34E0,F0,34
Звук вкл/отклE0,20E0,A0E0,23E0,F0,23
Увеличить громкостьE0,30E0,B0E0,32E0,F0,32
Уменьшить громкостьE0,2EE0,AEE0,21E0,F0,21
Управление браузером
ПоискE0,65E0,E5E0,10E0,F0,10
Домашняя страницаE0,32E0,B2E0,3AE0,F0,3A
НазадE0,6AE0,EAE0,38E0,F0,38
ВпередE0,69E0,E9E0,30E0,F0,30
СтопE0,68E0, E8E0,28E0,F0,28
ОбновитьE0,67E0,E7E0,20E0,F0,20
ЗакладкиE0,66E0, E6E0,18E0,F0,18
Управление приложениями
Media SelectE0,6DE0,EDE0,50E0,F0,50
Электронная почтаE0,6CE0,ECE0,48E0,F0,48
КалькуляторE0,21E0,A1E0,2BE0,F0,2B
Мой компьютерE0,6BE0,EBE0,40E0,F0,40

В чистом DOS клавиша Pause генерирует 6 скан-кодов при нажатии и не генерирует скан-кодов при удержании и отпускании. Под Windows же (в том числе и в VMware и DOSBox) клавиша Pause работает так же, как и любая другая: при нажатии и удержании генерирует скан-коды E1,1D,45, а при отпускании — E1,9D,C5.

Коды клавиш , , , , Home , End , Page Up , Page Down , Insert , Delete могут содержать кроме указанных в таблице дополнительно: E0,2A — при нажатии (до основного кода), E0,AA — при отпускании (после основного кода). А при удержании клавиши ⇧ Shift наоборот: E0,AA — при нажатии (до основного кода), E0,2A — при отпускании (после основного кода), код клавиши ⇧ Shift при этом генерируется отдельно.

См. также

Ссылки

Раскладка 105-клавишной клавиатуры IBM/Windows
Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PrtSc
SysRq
Scroll
Lock
Pause
Break
ТильдаВосклицательный знак@КавычкиЗнак решёткиЗнак номераСимвол доллараТочка с запятойЗнак процентаЦиркумфлексДвоеточиеАмперсандВопросительный знакЗвёздочка (типографика)Круглые скобкиКруглые скобкиПодчёркиваниеСложениеBackspaceМашинописный обратный апострофЁ (кириллица)1 (цифра)2 (цифра)3 (цифра)4 (цифра)5 (цифра)6 (цифра)7 (цифра)8 (цифра)9 (цифра)0 (цифра)ДефисЗнак равенстваBackspaceТабуляцияQWE (латиница)RT (латиница)Y (латиница)UI (латиница)O (латиница)P (латиница)Фигурные скобкиФигурные скобкиКлавиша вводаТабуляцияЙЦУ (кириллица)К (кириллица)Е (кириллица)Н (кириллица)ГШЩЗКвадратные скобкиХ (кириллица)Квадратные скобкиЪКлавиша вводаCaps LockA (латиница)SDFGH (латиница)JK (латиница)LДвоеточиеКавычкиВертикальная чертаКосая чертаКлавиша вводаCaps LockФЫВ (кириллица)А (кириллица)ПР (кириллица)О (кириллица)ЛДТочка с запятойЖМашинописный апострофЭОбратная косая чертаВвод (клавиша)ShiftВертикальная чертаZX (латиница)C (латиница)VB (латиница)NM (латиница)Угловые скобкиУгловые скобкиВопросительный знакЗапятаяShiftShiftОбратная косая чертаЯЧС (кириллица)М (кириллица)ИТ (кириллица)ЬЗапятаяБТочка (знак препинания)ЮКосая чертаТочка (знак препинания)ShiftCtrlWindows (клавиша)AltПробелAlt GrWindows (клавиша)Menu (клавиша)CtrlKB Eng-Rus QWERTY(ЙЦУКЕН).svg
Ins Home PgUp NumLk / *
Del End PgDn 7 8 9 +
4 5 6
1 2 3 Ent
0 ,

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии