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