ReactOS
0.4.16-dev-91-g764881a
data.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Build Tools [Keyboard Layout Compiler]
3
* LICENSE: BSD - See COPYING.BSD in the top level directory
4
* FILE: tools/kbdtool/data.c
5
* PURPOSE: Internal Keyboard (Scancode/Virtual Key) Tables
6
* PROGRAMMERS: ReactOS Foundation
7
*/
8
9
/* INCLUDES *******************************************************************/
10
11
#include "
kbdtool.h
"
12
13
/* GLOBALS ********************************************************************/
14
15
/* Table of Virtual Key Names */
16
VKNAME
VKName
[] =
17
{
18
{0x08,
"BACK"
},
19
{0x03,
"CANCEL"
},
20
{0x1b,
"ESCAPE"
},
21
{0x0d,
"RETURN"
},
22
{0x20,
"SPACE"
},
23
{0x6e,
"DECIMAL"
},
24
{0xba,
"OEM_1"
},
25
{0xbb,
"OEM_PLUS"
},
26
{0xbc,
"OEM_COMMA"
},
27
{0xbd,
"OEM_MINUS"
},
28
{0xbe,
"OEM_PERIOD"
},
29
{0xbf,
"OEM_2"
},
30
{0xc0,
"OEM_3"
},
31
{0xdb,
"OEM_4"
},
32
{0xdc,
"OEM_5"
},
33
{0xdd,
"OEM_6"
},
34
{0xde,
"OEM_7"
},
35
{0xdf,
"OEM_8"
},
36
{0xe2,
"OEM_102"
},
37
{0xc1,
"ABNT_C1"
},
38
{0xc2,
"ABNT_C2"
},
39
{0x10,
"SHIFT"
},
40
{0xa0,
"LSHIFT"
},
41
{0xa1,
"RSHIFT"
},
42
{0x12,
"MENU"
},
43
{0xa4,
"LMENU"
},
44
{0xa5,
"RMENU"
},
45
{0x11,
"CONTROL"
},
46
{0xa2,
"LCONTROL"
},
47
{0xa3,
"RCONTROL"
},
48
{0x6c,
"SEPARATOR"
},
49
{0xe4,
"ICO_00"
},
50
{0x2e,
"DELETE"
},
51
{0x2d,
"INSERT"
},
52
{0xe5,
"GROUPSHIFT"
},
53
{0xe6,
"RGROUPSHIFT"
}
54
};
55
/* Table of modifiers */
56
VKNAME
Modifiers
[] =
57
{
58
{0x10,
"KBDSHIFT"
},
59
{0x11,
"KBDCTRL"
},
60
{0x12,
"KBDALT"
}
61
};
62
63
/* Table of states */
64
PCHAR
StateLabel
[] =
65
{
66
""
,
67
"Shift"
,
68
" Ctrl"
,
69
"S+Ctrl"
,
70
" Alt"
,
71
"Shift+Alt"
,
72
" Ctl+Alt"
,
73
"S+Ctl+Alt"
,
74
" X1 "
,
75
"S+ X1 "
,
76
" C+ X1 "
,
77
"S+C+ X1 "
,
78
" A+X1 "
,
79
"S+ A+X1 "
,
80
" C+A+X1 "
,
81
"S+C+A+X1 "
,
82
" X2 "
,
83
"S+ X2 "
,
84
" C+ X2 "
,
85
"S+C+ X2 "
,
86
" A+ X2 "
,
87
"S+ A+ X2 "
,
88
" C+A+ X2 "
,
89
"S+C+A+ X2 "
,
90
" X1+X2 "
,
91
"S+ X1+X2 "
,
92
" C+ X1+X2 "
,
93
"S+C+ X1+X2 "
,
94
" A+X1+X2 "
,
95
"S+ A+X1+X2 "
,
96
" C+A+X1+X2 "
,
97
"S+C+A+X1+X2 "
,
98
" X3"
,
99
"S+ X3"
,
100
" C+ X3"
,
101
"S+C+ X3"
,
102
" A+ X3"
,
103
"S+ A+ X3"
,
104
" C+A+ X3"
,
105
"S+C+A+ X3"
,
106
" X1+ X3"
,
107
"S+ X1+ X3"
,
108
" C+ X1+ X3"
,
109
"S+C+ X1+ X3"
,
110
" A+X1+ X3"
,
111
"S+ A+X1+ X3"
,
112
" C+A+X1+ X3"
,
113
"S+C+A+X1+ X3"
,
114
" X2+X3"
,
115
"S+ X2+X3"
,
116
" C+ X2+X3"
,
117
"S+C+ X2+X3"
,
118
" A+ X2+X3"
,
119
"S+ A+ X2+X3"
,
120
" C+A+ X2+X3"
,
121
"S+C+A+ X2+X3"
,
122
" X1+X2+X3"
,
123
"S+ X1+X2+X3"
,
124
" C+ X1+X2+X3"
,
125
"S+C+ X1+X2+X3"
,
126
" A+X1+X2+X3"
,
127
"S+ A+X1+X2+X3"
,
128
" C+A+X1+X2+X3"
,
129
"S+C+A+X1+X2+X3"
,
130
"unexpected"
,
131
"unexpected"
132
};
133
134
/* Table of Cap States */
135
PCHAR
CapState
[] =
136
{
137
"0"
,
138
"CAPLOK"
,
139
"SGCAPS"
,
140
"CAPLOCK | SGCAPS"
,
141
"CAPLOKALTGR"
,
142
"CAPLOK | CAPLOKALTGR"
143
};
144
145
/* ISO 110-key Keyboard Scancode to Virtual Key Conversion Table */
146
SCVK
ScVk
[] =
147
{
148
{0x02,
'1'
,
NULL
,
FALSE
},
149
{0x03,
'2'
,
NULL
,
FALSE
},
150
{0x04,
'3'
,
NULL
,
FALSE
},
151
{0x05,
'4'
,
NULL
,
FALSE
},
152
{0x06,
'5'
,
NULL
,
FALSE
},
153
{0x07,
'6'
,
NULL
,
FALSE
},
154
{0x08,
'7'
,
NULL
,
FALSE
},
155
{0x09,
'8'
,
NULL
,
FALSE
},
156
{0x0a,
'9'
,
NULL
,
FALSE
},
157
{0x0b,
'0'
,
NULL
,
FALSE
},
158
{0x0c, 0xbd,
NULL
,
FALSE
},
159
{0x0d, 0xbb,
NULL
,
FALSE
},
160
{0x10,
'Q'
,
NULL
,
FALSE
},
161
{0x11,
'W'
,
NULL
,
FALSE
},
162
{0x12,
'E'
,
NULL
,
FALSE
},
163
{0x13,
'R'
,
NULL
,
FALSE
},
164
{0x14,
'T'
,
NULL
,
FALSE
},
165
{0x15,
'Y'
,
NULL
,
FALSE
},
166
{0x16,
'U'
,
NULL
,
FALSE
},
167
{0x17,
'I'
,
NULL
,
FALSE
},
168
{0x18,
'O'
,
NULL
,
FALSE
},
169
{0x19,
'P'
,
NULL
,
FALSE
},
170
{0x1a, 0xdb,
NULL
,
FALSE
},
171
{0x1b, 0xdd,
NULL
,
FALSE
},
172
{0x1e,
'A'
,
NULL
,
FALSE
},
173
{0x1f,
'S'
,
NULL
,
FALSE
},
174
{0x20,
'D'
,
NULL
,
FALSE
},
175
{0x21,
'F'
,
NULL
,
FALSE
},
176
{0x22,
'G'
,
NULL
,
FALSE
},
177
{0x23,
'H'
,
NULL
,
FALSE
},
178
{0x24,
'J'
,
NULL
,
FALSE
},
179
{0x25,
'K'
,
NULL
,
FALSE
},
180
{0x26,
'L'
,
NULL
,
FALSE
},
181
{0x27, 0xba,
NULL
,
FALSE
},
182
{0x28, 0xde,
NULL
,
FALSE
},
183
{0x29, 0xc0,
NULL
,
FALSE
},
184
{0x2b, 0xdc,
NULL
,
FALSE
},
185
{0x2c,
'Z'
,
NULL
,
FALSE
},
186
{0x2d,
'X'
,
NULL
,
FALSE
},
187
{0x2e,
'C'
,
NULL
,
FALSE
},
188
{0x2f,
'V'
,
NULL
,
FALSE
},
189
{0x30,
'B'
,
NULL
,
FALSE
},
190
{0x31,
'N'
,
NULL
,
FALSE
},
191
{0x32,
'M'
,
NULL
,
FALSE
},
192
{0x33, 0xbc,
NULL
,
FALSE
},
193
{0x34, 0xbe,
NULL
,
FALSE
},
194
{0x35, 0xbf,
NULL
,
FALSE
},
195
{0x53, 0x6e,
NULL
,
FALSE
},
196
{0x56, 0xe2,
NULL
,
FALSE
},
197
{0x73, 0xc1,
NULL
,
FALSE
},
198
{0x7e, 0xc2,
NULL
,
FALSE
},
199
{0xe010, 0xb1,
"Speedracer: Previous Track"
,
FALSE
},
200
{0xe019, 0xb0,
"Speedracer: Next Track"
,
FALSE
},
201
{0xe01d, 0xa3,
"RControl"
,
FALSE
},
202
{0xe020, 0xad,
"Speedracer: Volume Mute"
,
FALSE
},
203
{0xe021, 0xb7,
"Speedracer: Launch App 2"
,
FALSE
},
204
{0xe022, 0xb3,
"Speedracer: Media Play/Pause"
,
FALSE
},
205
{0xe024, 0xb2,
"Speedracer: Media Stop"
,
FALSE
},
206
{0xe02e, 0xae,
"Speedracer: Volume Up"
,
FALSE
},
207
{0xe030, 0xaf,
"Speedracer: Volume Down"
,
FALSE
},
208
{0xe032, 0xac,
"Speedracer: Browser Home"
,
FALSE
},
209
{0xe035, 0x6f,
"Numpad Divide"
,
FALSE
},
210
{0xe037, 0x2c,
"Snapshot"
,
FALSE
},
211
{0xe038, 0xa5,
"RMenu"
,
FALSE
},
212
{0xe047, 0x24,
"Home"
,
FALSE
},
213
{0xe048, 0x26,
"Up"
,
FALSE
},
214
{0xe049, 0x21,
"Prior"
,
FALSE
},
215
{0xe04b, 0x25,
"Left"
,
FALSE
},
216
{0xe04d, 0x27,
"Right"
,
FALSE
},
217
{0xe04f, 0x23,
"End"
,
FALSE
},
218
{0xe050, 0x28,
"Down"
,
FALSE
},
219
{0xe051, 0x22,
"Next"
,
FALSE
},
220
{0xe052, 0x2d,
"Insert"
,
FALSE
},
221
{0xe053, 0x2e,
"Delete"
,
FALSE
},
222
{0xe05b, 0x5b,
"Left Win"
,
FALSE
},
223
{0xe05c, 0x5c,
"Right Win"
,
FALSE
},
224
{0xe05d, 0x5d,
"Application"
,
FALSE
},
225
{0xe05e, 0xff,
"Power"
,
FALSE
},
226
{0xe05f, 0x5f,
"Speedracer: Sleep"
,
FALSE
},
227
{0xe060, 0xff,
"BAD SCANCODE"
,
FALSE
},
228
{0xe061, 0xff,
"BAD SCANCODE"
,
FALSE
},
229
{0xe065, 0xaa,
"Speedracer: Browser Search"
,
FALSE
},
230
{0xe066, 0xab,
"Speedracer: Browser Favorites"
,
FALSE
},
231
{0xe067, 0xa8,
"Speedracer: Browser Refresh"
,
FALSE
},
232
{0xe068, 0xa9,
"Speedracer: Browser Stop"
,
FALSE
},
233
{0xe069, 0xa7,
"Speedracer: Browser Foward"
,
FALSE
},
234
{0xe06a, 0xa6,
"Speedracer: Browser Back"
,
FALSE
},
235
{0xe06b, 0xb6,
"Speedracer: Launch App 1"
,
FALSE
},
236
{0xe06c, 0xb4,
"Speedracer: Launch Mail"
,
FALSE
},
237
{0xe06d, 0xb5,
"Speedracer: Launch Media Selector"
,
FALSE
},
238
{0x53, 0x6e,
NULL
,
FALSE
},
239
{0x0e, 0x08,
NULL
,
FALSE
},
240
{0x01, 0x1b,
NULL
,
FALSE
},
241
{0xe01c, 0x0d,
"Numpad Enter"
,
FALSE
},
242
{0x1c, 0x0d,
NULL
,
FALSE
},
243
{0x39, 0x20,
NULL
,
FALSE
},
244
{0xe046, 0x03,
"Break (Ctrl + Pause)"
,
FALSE
},
245
{0xFFFF, 0x00,
NULL
,
FALSE
},
246
{0xFFFF, 0x00,
NULL
,
FALSE
},
247
{0xFFFF, 0x00,
NULL
,
FALSE
},
248
{0xFFFF, 0x00,
NULL
,
FALSE
},
249
{0xFFFF, 0x00,
NULL
,
FALSE
},
250
{0xFFFF, 0x00,
NULL
,
FALSE
},
251
{0xFFFF, 0x00,
NULL
,
FALSE
},
252
{0xFFFF, 0x00,
NULL
,
FALSE
},
253
{0xFFFF, 0x00,
NULL
,
FALSE
},
254
{0xFFFF, 0x00,
NULL
,
FALSE
},
255
{0xFFFF, 0x00,
NULL
,
FALSE
},
256
{0xFFFF, 0x00,
NULL
,
FALSE
},
257
{0xFFFF, 0x00,
NULL
,
FALSE
},
258
{0xFFFF, 0x00,
NULL
,
FALSE
}
259
};
260
261
/* FUNCTIONS ******************************************************************/
262
263
/* EOF */
NULL
#define NULL
Definition:
types.h:112
FALSE
#define FALSE
Definition:
types.h:117
kbdtool.h
Modifiers
VKNAME Modifiers[]
Definition:
data.c:56
ScVk
SCVK ScVk[]
Definition:
data.c:146
StateLabel
PCHAR StateLabel[]
Definition:
data.c:64
VKName
VKNAME VKName[]
Definition:
data.c:16
CapState
PCHAR CapState[]
Definition:
data.c:135
tagSCVK
Definition:
kbdtool.h:35
tagVKNAME
Definition:
kbdtool.h:43
PCHAR
char * PCHAR
Definition:
typedefs.h:51
sdk
tools
kbdtool
data.c
Generated on Fri Oct 4 2024 06:13:48 for ReactOS by
1.9.6