Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:informations:keyboard-make-code

INT 9 - Hardware Keyboard Make/Break Codes

Standard Keyboard

Key Make Break
Backspace 0Eh 8Eh
Caps Lock 3Ah BAh
Enter 1Ch 9Ch
Esc 01h 81h
Left Alt 38h B8h
Left Ctrl 1Dh 9Dh
Left Shift 2Ah AAh
Num Lock 45h C5h
Right Shift 36h B6h
Scroll Lock 46h C6h
Space 39h B9h
Sys Req (AT) 54h D4h
Tab 0Fh 8Fh
Key Make Break
F1 3Bh BBh
F2 3Ch BCh
F3 3Dh BDh
F4 3Eh BEh
F7 41h C1h
F5 3Fh BFh
F6 40h C0h
F8 42h C2h
F9 43h C3h
F10 44h C4h
F11 57h D7h
F12 58h D8h
Keypad Keys Make Break
Keypad 0 (Ins) 52h D2h
Keypad 1 (End) 4Fh CFh
Keypad 2 (Down arrow) 50h D0h
Keypad 3 (PgDn) 51h D1h
Keypad 4 (Left arrow) 4Bh CBh
Keypad 5 4Ch CCh
Keypad 6 (Right arrow) 4Dh CDh
Keypad 7 (Home) 47h C7h
Keypad 8 (Up arrow) 48h C8h
Keypad 9 (PgUp) 49h C9h
Keypad . (Del) 53h D3h
Keypad * (PrtSc) 37h B7h
Keypad - 4Ah CAh
Keypad + 4Eh CEh
Key Make Break
A 1Eh 9Eh
B 30h B0h
C 2Eh AEh
D 20h A0h
E 12h 92h
F 21h A1h
G 22h A2h
H 23h A3h
I 17h 97h
J 24h A4h
K 25h A5h
L 26h A6h
M 32h B2h
N 31h B1h
O 18h 98h
P 19h 99h
Q 10h 90h
R 13h 93h
S 1Fh 9Fh
T 14h 94h
U 16h 96h
V 2Fh AFh
W 11h 91h
X 2Dh ADh
Y 15h 95h
Z 2Ch ACh
Key Make Break
1 02h 82h
2 03h 83h
3 04h 84h
4 05h 85h
5 06h 86h
6 07h 87h
7 08h 88h
8 09h 89h
9 0Ah 8Ah
0 0Bh 8Bh
Key Make Break
- 0Ch 8Ch
= 0Dh 8Dh
[ 1Ah 9Ah
] 1Bh 9Bh
; 27h A7h
' 28h A8h
` 29h A9h
\ 2Bh ABh
, 33h B3h
. 34h B4h
/ 35h B5h

Enhanced Keyboard Keys (101/102 keys)

Control Keys Make Break
Alt-PrtSc (SysReq) 54h D4h
Ctrl-PrtSc E0h 37h E0h B7h
Enter E0h 1Ch E0h 9Ch
PrtSc E0h 2Ah E0h 37h E0h B7h E0h AAh
Right Alt E0h 38h E0h B8h
Right Ctrl E0h 1Dh E0h 9Dh
Shift-PrtSc E0h 37h E0h B7h
/ E0h 35h E0h B5h
Pause E1h 1Dh 45h E1h 9Dh C5h (not typematic)
Ctrl-Pause (Ctrl-Break) E0h 46h E0h C6h (not typematic)

Keys marked as “not typematic” generate one stream of bytes without corresponding break scan code bytes (actually the break codes are part of the make code).

Normal Mode or
Shift w/Numlock
Key Make Break Numlock on
Make Break
Del E0h 53h E0h D3h E0h 2Ah E0h 53h E0h D3h E0h AAh
Down arrow E0h 50h E0h D0h E0h 2Ah E0h 50h E0h D0h E0h AAh
End E0h 4Fh E0h CFh E0h 2Ah E0h 4Fh E0h CFh E0h AAh
Home E0h 47h E0h C7h E0h 2Ah E0h 47h E0h C7h E0h AAh
Ins E0h 52h E0h D2h E0h 2Ah E0h 52h E0h D2h E0h AAh
Left arrow E0h 4Bh E0h CBh E0h 2Ah E0h 4Bh E0h CBh E0h AAh
PgDn E0h 51h E0h D1h E0h 2Ah E0h 51h E0h D1h E0h AAh
PgUp E0h 49h E0h C9h E0h 2Ah E0h 49h E0h C9h E0h AAh
Right arrow E0h 4Dh E0h CDh E0h 2Ah E0h 4Dh E0h CDh E0h AAh
Up arrow E0h 48h E0h C8h E0h 2Ah E0h 48h E0h C8h E0h AAh
Key Left Shift Pressed Right Shift Pressed
Make Break Make Break
Del E0h AAh E0h 53h E0h D3h E0h 2Ah E0h B6h E0h 53h E0h D3h E0h 36h
Down arrow E0h AAh E0h 50h E0h D0h E0h 2Ah E0h B6h E0h 50h E0h D0h E0h 36h
End E0h AAh E0h 4Fh E0h CFh E0h 2Ah E0h B6h E0h 4Fh E0h CFh E0h 36h
Home E0h AAh E0h 47h E0h C7h E0h 2Ah E0h B6h E0h 47h E0h C7h E0h 36h
Ins E0h AAh E0h 52h E0h D2h E0h 2Ah E0h B6h E0h 52h E0h D2h E0h 36h
Left arrow E0h AAh E0h 4Bh E0h CBh E0h 2Ah E0h B6h E0h 4Bh E0h CBh E0h 36h
PgDn E0h AAh E0h 51h E0h D1h E0h 2Ah E0h B6h E0h 51h E0h D1h E0h 36h
PgUp E0h AAh E0h 49h E0h C9h E0h 2Ah E0h B6h E0h 49h E0h C9h E0h 36h
Right arrow E0h AAh E0h 4Dh E0h CDh E0h 2Ah E0h B6h E0h 4Dh E0h CDh E0h 36h
Up arrow E0h AAh E0h 48h E0h C8h E0h 2Ah E0h B6h E0h 48h E0h C8h E0h 36h
/ E0h AAh E0h 35h E0h B5h E0h 2Ah E0h B6h E0h 35h E0h B5h E0h 36h

The PS/2 models have three make/break scan code sets. The first set matches the PC & XT make/break scan code set and is the one listed here. Scan code sets are selected by writing the value F0 to the keyboard via the 8042 (port 60h). The following is a brief description of the scan code sets (see the PS/2 Technical Reference manuals for more information on scan code sets 2 and 3):

  • set 1, each key has a base scan code. Some keys generate extra scan codes to generate artificial shift states. This is similar to the standard scan code set used on the PC and XT.
  • set 2, each key sends one make scan code and two break scan codes bytes (F0 followed by the make code). This scan code set is available on the IBM AT also.
  • set 3, each key sends one make scan code and two break scan codes bytes (F0 followed by the make code) and no keys are altered by Shift/Alt/Ctrl keys.
  • typematic scan codes are the same as the make scan code

Some Tandy 1000's do not handle Alt key combinations when multiple shift keys are pressed. The Alt-Shift-H combination loses the Alt.

extended keys like (F11, F12) can only be read with systems that have extended keyboard BIOS support (or INT 9 extensions); to read these special keys on these systems INT 16,10 must be used

see SCAN CODES KB FLAGS

back2root/ibm-pc-ms-dos/hardware/informations/keyboard-make-code.txt · Dernière modification : 2024/04/06 20:45 de frater