blob: 0ab0ac526be99472361c16e898199dea6286501d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
#ifndef _AT_SCANCODES_H_
#define _AT_SCANCODES_H_
/* the logic here is batshit, consult scancode.doc in the DOCS dir */
/* we don't use FSHIFT and FCTRL, we just check the EMUL0 and EMUL1 */
/* commands but we put them in here for completeness */
#define AT_BS_EMUL0 0x0100
#define AT_BS_EMUL1 0x0200
#define AT_BS_FSHIFT_ON 0x0000
#define AT_BS_FSHIFT_OFF 0x0000
#define AT_BS_FCTRL_ON 0x0000
#define AT_SC_MAX 0x300
#define AT_SC_GRAVE 0x0E
#define AT_SC_1 0x16
#define AT_SC_2 0x1E
#define AT_SC_3 0x26
#define AT_SC_4 0x25
#define AT_SC_5 0x2E
#define AT_SC_6 0x36
#define AT_SC_7 0x3D
#define AT_SC_8 0x3E
#define AT_SC_9 0x46
#define AT_SC_0 0x45
#define AT_SC_MINUS 0x4E
#define AT_SC_EQUAL 0x55
#define AT_SC_BACKSPACE 0x66
#define AT_SC_TAB 0x0D
#define AT_SC_Q 0x15
#define AT_SC_W 0x1D
#define AT_SC_E 0x24
#define AT_SC_R 0x2D
#define AT_SC_T 0x2C
#define AT_SC_Y 0x35
#define AT_SC_U 0x3C
#define AT_SC_I 0x43
#define AT_SC_O 0x44
#define AT_SC_P 0x4D
#define AT_SC_LEFTBRACE 0x54
#define AT_SC_RIGHTBRACE 0x5B
#define AT_SC_BACKSLASH 0x5D
#define AT_SC_CAPSLOCK 0x58
#define AT_SC_A 0x1C
#define AT_SC_S 0x1B
#define AT_SC_D 0x23
#define AT_SC_F 0x2B
#define AT_SC_G 0x34
#define AT_SC_H 0x33
#define AT_SC_J 0x3B
#define AT_SC_K 0x42
#define AT_SC_L 0x4B
#define AT_SC_SEMICOLON 0x4C
#define AT_SC_APOSTROPHE 0x52
#define AT_SC_102ND 0x61
#define AT_SC_ENTER 0x5A
#define AT_SC_LEFTSHIFT 0x12
#define AT_SC_Z 0x1A
#define AT_SC_X 0x22
#define AT_SC_C 0x21
#define AT_SC_V 0x2A
#define AT_SC_B 0x32
#define AT_SC_N 0x31
#define AT_SC_M 0x3A
#define AT_SC_COMMA 0x41
#define AT_SC_DOT 0x49
#define AT_SC_SLASH 0x4A
#define AT_SC_RIGHTSHIFT 0x59
#define AT_SC_LEFTCTRL 0x14
#define AT_SC_LEFTALT 0x11
#define AT_SC_SPACE 0x29
#define AT_SC_RIGHTALT (AT_BS_EMUL0 | 0x11)
#define AT_SC_RIGHTCTRL (AT_BS_EMUL0 | 0x14)
#define AT_SC_INSERT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x70)
#define AT_SC_DELETE (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x71)
#define AT_SC_LEFT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x6B)
#define AT_SC_HOME (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x6C)
#define AT_SC_END (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x69)
#define AT_SC_UP (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x75)
#define AT_SC_DOWN (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x72)
#define AT_SC_PAGEUP (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7D)
#define AT_SC_PAGEDOWN (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7A)
#define AT_SC_RIGHT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x74)
#define AT_SC_NUMLOCK 0x77
#define AT_SC_KP7 (AT_BS_FSHIFT_ON | 0x6C)
#define AT_SC_KP4 (AT_BS_FSHIFT_ON | 0x6B)
#define AT_SC_KP1 (AT_BS_FSHIFT_ON | 0x69)
#define AT_SC_KPSLASH (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x4A)
#define AT_SC_KP8 (AT_BS_FSHIFT_ON | 0x75)
#define AT_SC_KP5 (AT_BS_FSHIFT_ON | 0x73)
#define AT_SC_KP2 (AT_BS_FSHIFT_ON | 0x72)
#define AT_SC_KP0 (AT_BS_FSHIFT_ON | 0x70)
#define AT_SC_KPASTERISK 0x7C
#define AT_SC_KP9 (AT_BS_FSHIFT_ON | 0x7D)
#define AT_SC_KP6 (AT_BS_FSHIFT_ON | 0x74)
#define AT_SC_KP3 (AT_BS_FSHIFT_ON | 0x7A)
#define AT_SC_KPDOT (AT_BS_FSHIFT_ON | 0x71)
#define AT_SC_KPMINUS 0x7B
#define AT_SC_KPPLUS 0x79
#define AT_SC_KPENTER (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x5A)
#define AT_SC_ESC 0x76
#define AT_SC_F1 0x05
#define AT_SC_F2 0x06
#define AT_SC_F3 0x04
#define AT_SC_F4 0x0C
#define AT_SC_F5 0x03
#define AT_SC_F6 0x0B
#define AT_SC_F7 0x83
#define AT_SC_F8 0x0A
#define AT_SC_F9 0x01
#define AT_SC_F10 0x09
#define AT_SC_F11 0x78
#define AT_SC_F12 0x07
#define AT_SC_SYSRQ 0x84
/*#define AT_SC_SYSRQ (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7C) */
#define AT_SC_SCROLLLOCK 0x7E
#define AT_SC_PAUSE (AT_BS_FCTRL_ON | AT_BS_EMUL0 | 0x7E)
#define AT_SC_LEFTMETA (AT_BS_EMUL0 | 0x1F)
#define AT_SC_RIGHTMETA (AT_BS_EMUL0 | 0x27)
#define AT_SC_MENU (AT_BS_EMUL0 | 0x2F)
#define AT_SC_POWER (AT_BS_EMUL0 | 0x37)
#define AT_SC_SLEEP (AT_BS_EMUL0 | 0x3F)
#define AT_SC_WAKEUP (AT_BS_EMUL0 | 0x5E)
#define AT_SC_DBE_KATAKANA 0x13
#define AT_SC_DBE_SBCSCHAR 0x62
#define AT_SC_CONVERT 0x64
#define AT_SC_NONCONVERT 0x67
/* Consumer keys */
#define AT_SC_HOMEPAGE (AT_BS_EMUL0 | 0x3A)
#define AT_SC_MUTE (AT_BS_EMUL0 | 0x23)
#define AT_SC_VOLUMEUP (AT_BS_EMUL0 | 0x32)
#define AT_SC_VOLUMEDOWN (AT_BS_EMUL0 | 0x121)
#define AT_SC_KEY_PREVIOUSSONG (AT_BS_EMUL0 | 0x115)
#define AT_SC_KEY_PLAYPAUSE (AT_BS_EMUL0 | 0x134)
#define AT_SC_KEY_STOPCD (AT_BS_EMUL0 | 0x13b)
#define AT_SC_KEY_NEXTSONG (AT_BS_EMUL0 | 0x14d)
#define AT_SC_EMUL0 0xE0
#define AT_SC_EMUL1 0xE1
#define AT_LED_CAPS 0x04
#define AT_LED_NUMLOCK 0x02
#define AT_LED_SCROLLLOCK 0x01
#endif
|