User interface - keyboard messages |
|
00000000 to 0000FFFF - Keyboard (from application)
00001000 to 0010FFFF - Keyboard (from driver)00104000 - Send keypress packet
0010E000 - Connect keyboard device
0010E800 - Disconnect keyboard device
Data1 Keypress packetWhenever a key is pressed or released the keyboard device sends a message to the user interface. The user interface passes the keypress on to the active screen.
Data2 -
Data1 -Normally used when the device driver starts.
Data2 -
Data1 -Normally used when the device driver shuts down.
Data2 -
The keypress packet is a dword representing the state of the keyboard when a key is pressed or released.
Bits:
0-7 ASCII character
8-14 Keycode
15 0 = Key pressed, 1 = Key
released
16 Scroll lock state
17 Num lock state
18 Caps lock state
19-27 reserved
28 Left shift state
29 Right shift state
28 Left alt state
29 Right alt state
30 Left control state
31 Right control state
The keyboard driver converts scan codes from the keyboard into single
byte key codes. Here's a list of keycodes and associated scancodes:
Key Scan
Code Code/s
Key
01 01
ESC
02 02
1
03 03
2
04 04
3
05 05
4
06 06
5
07 07
6
08 08
7
09 09
8
0A 0A
9
0B 0B
0
0C 0C
- _
0D 0D
= +
0E 0E
BACKSPACE
0F 0F
TAB
10 10
Q
11 11
W
12 12
E
13 13
R
14 14
T
15 15
Y
16 16
U
17 17
I
18 18
O
19 19
P
1A 1A
[ {
1B 1B
] }
1C 1C
ENTER (RETURN)
1D 1D
LEFT CONTROL
1E 1E
A
1F 1F
S
20 20
D
21 21
F
22 22
G
23 23
H
24 24
J
25 25
K
26 26
L
27 27
; :
28 28
' "
29 29
` ~
2A 2A
LEFT SHIFT
2B 2B
\ |
2C 2C
Z
2D 2D
X
2E 2E
C
2F 2F
V
30 30
B
31 31
N
32 32
M
33 33
, <
34 34
. >
35 35
/ ?
36 36
RIGHT SHIFT
37 37
* (KEYPAD)
38 38
LEFT ALT
39 39
SPACEBAR
3A 3A
CAPSLOCK
3B 3B
F1
3C 3C
F2
3D 3D
F3
3E 3E
F4
3F 3F
F5
40 40
F6
41 41
F7
42 42
F8
43 43
F9
44 44
F10
45 45
NUMLOCK (KEYPAD)
46 46
SCROLL LOCK
47 47
7 HOME (KEYPAD)
48 48
8 UP (KEYPAD)
49 49
9 PGUP (KEYPAD)
4A 4A
-
(KEYPAD)
4B 4B
4 LEFT (KEYPAD)
4C 4C
5
(KEYPAD)
4D 4D
6 RIGHT (KEYPAD)
4E 4E
+
(KEYPAD)
4F 4F
1 END (KEYPAD)
50 50
2 DOWN (KEYPAD)
51 51
3 PGDN (KEYPAD)
52 52
0 INSERT (KEYPAD)
53 53
. DEL (KEYPAD)
54 54
SYS REQ
55 55
none
56 56
none
57 57
F11
58 58
F12
5C E0 1C
ENTER (KEYPAD)
5D E0 1D
RIGHT CONTROL
65 E0 35
/
(KEYPAD)
67 E0 37
PRINT SCREEN
68 E0 38
RIGHT ALT
6B E1 1D 45 E1 9D C5 PAUSE
6C E0 46
CTRL BREAK
6D E0 47
HOME (NOT KEYPAD)
6E E0 48
UP (NOT
KEYPAD)
6F E0 49
PAGE UP (NOT KEYPAD)
71 E0 4B
LEFT (NOT KEYPAD)
73 E0 4D
RIGHT (NOT KEYPAD)
75 E0 4F
END (NOT KEYPAD)
76 E0 50
DOWN (NOT KEYPAD)
77 E0 51
PAGE DOWN (NOT KEYPAD)
78 E0 52
INSERT (NOT KEYPAD)
79 E0 53
DELETE (NOT KEYPAD)
7F E0 6F
MACRO (anyone seen this
key?)
Home Index |