ReactOS
0.4.16-dev-136-g52192f1
keyboard.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS On-Screen Keyboard
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* PURPOSE: Keyboard layout data.
5
* COPYRIGHT: Baruch Rutman (peterooch at gmail dot com)
6
*
7
* This is partialy based on the original en-US dialog templates.
8
*/
9
#include "
precomp.h
"
10
11
KEY
EnhancedKeyboardKeys
[] =
12
{
13
{
L
"Esc"
,
SCAN_CODE_110
, 4, 4, 28, 28, 0,
FALSE
},
14
{
L
"F1"
,
SCAN_CODE_112
, 68, 4, 28, 28, 0,
FALSE
},
15
{
L
"F2"
,
SCAN_CODE_113
, 100, 4, 28, 28, 0,
FALSE
},
16
{
L
"F3"
,
SCAN_CODE_114
, 132, 4, 28, 28, 0,
FALSE
},
17
{
L
"F4"
,
SCAN_CODE_115
, 164, 4, 28, 28, 0,
FALSE
},
18
{
L
"F5"
,
SCAN_CODE_116
, 228, 4, 28, 28, 0,
FALSE
},
19
{
L
"F6"
,
SCAN_CODE_117
, 260, 4, 28, 28, 0,
FALSE
},
20
{
L
"F7"
,
SCAN_CODE_118
, 292, 4, 28, 28, 0,
FALSE
},
21
{
L
"F8"
,
SCAN_CODE_119
, 324, 4, 28, 28, 0,
FALSE
},
22
{
L
"F9"
,
SCAN_CODE_120
, 388, 4, 28, 28, 0,
FALSE
},
23
{
L
"F10"
,
SCAN_CODE_121
, 420, 4, 28, 28, 0,
FALSE
},
24
{
L
"F11"
,
SCAN_CODE_122
, 452, 4, 28, 28, 0,
FALSE
},
25
{
L
"F12"
,
SCAN_CODE_123
, 484, 4, 28, 28, 0,
FALSE
},
26
{
L
"Prn"
,
SCAN_CODE_124
, 516, 4, 28, 28, 0,
FALSE
},
27
{
L
"Stop"
,
SCAN_CODE_125
, 548, 4, 28, 28, 0,
FALSE
},
28
{
L
"Attn"
,
SCAN_CODE_126
, 580, 4, 28, 28, 0,
FALSE
},
29
{
L
"`"
,
SCAN_CODE_1
, 4, 35, 28, 28, 0,
TRUE
},
30
{
L
"1"
,
SCAN_CODE_2
, 36, 35, 28, 28, 0,
TRUE
},
31
{
L
"2"
,
SCAN_CODE_3
, 68, 35, 28, 28, 0,
TRUE
},
32
{
L
"3"
,
SCAN_CODE_4
, 100, 35, 28, 28, 0,
TRUE
},
33
{
L
"4"
,
SCAN_CODE_5
, 132, 35, 28, 28, 0,
TRUE
},
34
{
L
"5"
,
SCAN_CODE_6
, 164, 35, 28, 28, 0,
TRUE
},
35
{
L
"6"
,
SCAN_CODE_7
, 196, 35, 28, 28, 0,
TRUE
},
36
{
L
"7"
,
SCAN_CODE_8
, 228, 35, 28, 28, 0,
TRUE
},
37
{
L
"8"
,
SCAN_CODE_9
, 260, 35, 28, 28, 0,
TRUE
},
38
{
L
"9"
,
SCAN_CODE_10
, 292, 35, 28, 28, 0,
TRUE
},
39
{
L
"0"
,
SCAN_CODE_11
, 324, 35, 28, 28, 0,
TRUE
},
40
{
L
"-"
,
SCAN_CODE_12
, 356, 35, 28, 28, 0,
TRUE
},
41
{
L
"="
,
SCAN_CODE_13
, 388, 35, 28, 28, 0,
TRUE
},
42
{
L
"<--"
,
SCAN_CODE_15
, 420, 35, 92, 28,
BS_ICON
,
FALSE
},
43
{
L
"Tab"
,
SCAN_CODE_16
, 4, 65, 60, 28,
BS_ICON
,
FALSE
},
44
{
L
"q"
,
SCAN_CODE_17
, 67, 65, 28, 28, 0,
TRUE
},
45
{
L
"w"
,
SCAN_CODE_18
, 97, 65, 28, 28, 0,
TRUE
},
46
{
L
"e"
,
SCAN_CODE_19
, 128, 65, 28, 28, 0,
TRUE
},
47
{
L
"r"
,
SCAN_CODE_20
, 158, 65, 28, 28, 0,
TRUE
},
48
{
L
"t"
,
SCAN_CODE_21
, 188, 65, 28, 28, 0,
TRUE
},
49
{
L
"y"
,
SCAN_CODE_22
, 219, 65, 28, 28, 0,
TRUE
},
50
{
L
"u"
,
SCAN_CODE_23
, 249, 65, 28, 28, 0,
TRUE
},
51
{
L
"i"
,
SCAN_CODE_24
, 280, 65, 28, 28, 0,
TRUE
},
52
{
L
"o"
,
SCAN_CODE_25
, 310, 65, 28, 28, 0,
TRUE
},
53
{
L
"p"
,
SCAN_CODE_26
, 340, 65, 28, 28, 0,
TRUE
},
54
{
L
"["
,
SCAN_CODE_27
, 371, 65, 28, 28, 0,
TRUE
},
55
{
L
"]"
,
SCAN_CODE_28
, 401, 65, 28, 28, 0,
TRUE
},
56
{
L
"lock"
,
SCAN_CODE_30
, 4, 96, 78, 28,
BS_ICON
,
FALSE
},
57
{
L
"a"
,
SCAN_CODE_31
, 84, 96, 28, 28, 0,
TRUE
},
58
{
L
"s"
,
SCAN_CODE_32
, 115, 96, 28, 28, 0,
TRUE
},
59
{
L
"d"
,
SCAN_CODE_33
, 145, 96, 28, 28, 0,
TRUE
},
60
{
L
"f"
,
SCAN_CODE_34
, 176, 96, 28, 28, 0,
TRUE
},
61
{
L
"g"
,
SCAN_CODE_35
, 206, 96, 28, 28, 0,
TRUE
},
62
{
L
"h"
,
SCAN_CODE_36
, 236, 96, 28, 28, 0,
TRUE
},
63
{
L
"j"
,
SCAN_CODE_37
, 267, 96, 28, 28, 0,
TRUE
},
64
{
L
"k"
,
SCAN_CODE_38
, 297, 96, 28, 28, 0,
TRUE
},
65
{
L
"l"
,
SCAN_CODE_39
, 328, 96, 28, 28, 0,
TRUE
},
66
{
L
";"
,
SCAN_CODE_40
, 358, 96, 28, 28, 0,
TRUE
},
67
{
L
"'"
,
SCAN_CODE_41
, 388, 96, 28, 28, 0,
TRUE
},
68
{
L
"\\"
,
SCAN_CODE_29
, 432, 65, 80, 28, 0,
TRUE
},
69
{
L
"ret"
,
SCAN_CODE_43
, 419, 96, 93, 28,
BS_ICON
,
FALSE
},
70
{
L
"shift"
,
SCAN_CODE_44
, 4, 126, 95, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
71
{
L
"z"
,
SCAN_CODE_46
, 102, 126, 28, 28, 0,
TRUE
},
72
{
L
"x"
,
SCAN_CODE_47
, 132, 126, 28, 28, 0,
TRUE
},
73
{
L
"c"
,
SCAN_CODE_48
, 163, 126, 28, 28, 0,
TRUE
},
74
{
L
"v"
,
SCAN_CODE_49
, 193, 126, 28, 28, 0,
TRUE
},
75
{
L
"b"
,
SCAN_CODE_50
, 224, 126, 28, 28, 0,
TRUE
},
76
{
L
"n"
,
SCAN_CODE_51
, 254, 126, 28, 28, 0,
TRUE
},
77
{
L
"m"
,
SCAN_CODE_52
, 284, 126, 28, 28, 0,
TRUE
},
78
{
L
","
,
SCAN_CODE_53
, 315, 126, 28, 28, 0,
TRUE
},
79
{
L
"."
,
SCAN_CODE_54
, 345, 126, 28, 28, 0,
TRUE
},
80
{
L
"/"
,
SCAN_CODE_55
, 376, 126, 28, 28, 0,
TRUE
},
81
{
L
"shift"
,
SCAN_CODE_57
, 406, 126, 106, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
82
{
L
"ctrl"
,
SCAN_CODE_58
, 4, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
83
{
L
"v"
,
SCAN_CODE_84
, 548, 156, 28, 28,
BS_ICON
,
FALSE
},
84
{
L
"ROS"
,
SCAN_CODE_127
, 48, 156, 43, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
85
{
L
"alt"
,
SCAN_CODE_60
, 91, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
86
{
L
""
,
SCAN_CODE_61
, 134, 156, 204, 28, 0,
FALSE
},
87
{
L
"alt"
,
SCAN_CODE_62
, 340, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
88
{
L
"ROS"
,
SCAN_CODE_128
, 384, 156, 43, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
89
{
L
"menu"
,
SCAN_CODE_129
, 427, 156, 43, 28,
BS_ICON
,
FALSE
},
90
{
L
"ctrl"
,
SCAN_CODE_64
, 470, 156, 42, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
91
{
L
"ins"
,
SCAN_CODE_75
, 516, 35, 28, 28, 0,
FALSE
},
92
{
L
"del"
,
SCAN_CODE_76
, 516, 65, 28, 28, 0,
FALSE
},
93
{
L
"hm"
,
SCAN_CODE_80
, 548, 35, 28, 28,
BS_ICON
,
FALSE
},
94
{
L
"end"
,
SCAN_CODE_81
, 548, 65, 28, 28, 0,
FALSE
},
95
{
L
"pup"
,
SCAN_CODE_85
, 580, 35, 28, 28,
BS_ICON
,
FALSE
},
96
{
L
"pdn"
,
SCAN_CODE_86
, 580, 65, 28, 28,
BS_ICON
,
FALSE
},
97
{
L
"<-"
,
SCAN_CODE_79
, 516, 156, 28, 28,
BS_ICON
,
FALSE
},
98
{
L
"^"
,
SCAN_CODE_83
, 548, 126, 28, 28,
BS_ICON
,
FALSE
},
99
{
L
"->"
,
SCAN_CODE_89
, 580, 156, 28, 28,
BS_ICON
,
FALSE
},
100
{
L
"nlk"
,
SCAN_CODE_90
, 612, 35, 28, 28, 0,
FALSE
},
101
{
L
"7"
,
SCAN_CODE_91
, 612, 65, 28, 28, 0,
FALSE
},
102
{
L
"4"
,
SCAN_CODE_92
, 612, 96, 28, 28, 0,
FALSE
},
103
{
L
"1"
,
SCAN_CODE_93
, 612, 126, 28, 28, 0,
FALSE
},
104
{
L
"/"
,
SCAN_CODE_95
, 644, 35, 28, 28, 0,
FALSE
},
105
{
L
"8"
,
SCAN_CODE_96
, 644, 65, 28, 28, 0,
FALSE
},
106
{
L
"5"
,
SCAN_CODE_97
, 644, 96, 28, 28, 0,
FALSE
},
107
{
L
"2"
,
SCAN_CODE_98
, 644, 126, 28, 28, 0,
FALSE
},
108
{
L
"0"
,
SCAN_CODE_99
, 612, 156, 60, 28, 0,
FALSE
},
109
{
L
"*"
,
SCAN_CODE_100
, 676, 35, 28, 28, 0,
FALSE
},
110
{
L
"9"
,
SCAN_CODE_101
, 676, 65, 28, 28, 0,
FALSE
},
111
{
L
"6"
,
SCAN_CODE_102
, 676, 96, 28, 28, 0,
FALSE
},
112
{
L
"3"
,
SCAN_CODE_103
, 676, 126, 28, 28, 0,
FALSE
},
113
{
L
"."
,
SCAN_CODE_104
, 676, 156, 28, 28, 0,
FALSE
},
114
{
L
"-"
,
SCAN_CODE_105
, 708, 35, 28, 28, 0,
FALSE
},
115
{
L
"+"
,
SCAN_CODE_106
, 708, 65, 28, 59, 0,
FALSE
},
116
{
L
"ent"
,
SCAN_CODE_108
, 708, 126, 28, 58, 0,
FALSE
},
117
};
118
119
KEY
StandardKeyboardKeys
[] =
120
{
121
{
L
"Esc"
,
SCAN_CODE_110
, 4, 4, 28, 28, 0,
FALSE
},
122
{
L
"F1"
,
SCAN_CODE_112
, 68, 4, 28, 28, 0,
FALSE
},
123
{
L
"F2"
,
SCAN_CODE_113
, 100, 4, 28, 28, 0,
FALSE
},
124
{
L
"F3"
,
SCAN_CODE_114
, 132, 4, 28, 28, 0,
FALSE
},
125
{
L
"F4"
,
SCAN_CODE_115
, 164, 4, 28, 28, 0,
FALSE
},
126
{
L
"F5"
,
SCAN_CODE_116
, 196, 4, 28, 28, 0,
FALSE
},
127
{
L
"F6"
,
SCAN_CODE_117
, 228, 4, 28, 28, 0,
FALSE
},
128
{
L
"F7"
,
SCAN_CODE_118
, 292, 4, 28, 28, 0,
FALSE
},
129
{
L
"F8"
,
SCAN_CODE_119
, 324, 4, 28, 28, 0,
FALSE
},
130
{
L
"F9"
,
SCAN_CODE_120
, 356, 4, 28, 28, 0,
FALSE
},
131
{
L
"F10"
,
SCAN_CODE_121
, 388, 4, 28, 28, 0,
FALSE
},
132
{
L
"F11"
,
SCAN_CODE_122
, 420, 4, 28, 28, 0,
FALSE
},
133
{
L
"F12"
,
SCAN_CODE_123
, 452, 4, 28, 28, 0,
FALSE
},
134
{
L
"Prn"
,
SCAN_CODE_124
, 486, 4, 28, 28, 0,
FALSE
},
135
{
L
"Stop"
,
SCAN_CODE_125
, 518, 4, 28, 28, 0,
FALSE
},
136
{
L
"Attn"
,
SCAN_CODE_126
, 550, 4, 28, 28, 0,
FALSE
},
137
{
L
"`"
,
SCAN_CODE_1
, 4, 35, 28, 28, 0,
TRUE
},
138
{
L
"1"
,
SCAN_CODE_2
, 36, 35, 28, 28, 0,
TRUE
},
139
{
L
"2"
,
SCAN_CODE_3
, 68, 35, 28, 28, 0,
TRUE
},
140
{
L
"3"
,
SCAN_CODE_4
, 100, 35, 28, 28, 0,
TRUE
},
141
{
L
"4"
,
SCAN_CODE_5
, 132, 35, 28, 28, 0,
TRUE
},
142
{
L
"5"
,
SCAN_CODE_6
, 164, 35, 28, 28, 0,
TRUE
},
143
{
L
"6"
,
SCAN_CODE_7
, 196, 35, 28, 28, 0,
TRUE
},
144
{
L
"7"
,
SCAN_CODE_8
, 228, 35, 28, 28, 0,
TRUE
},
145
{
L
"8"
,
SCAN_CODE_9
, 260, 35, 28, 28, 0,
TRUE
},
146
{
L
"9"
,
SCAN_CODE_10
, 292, 35, 28, 28, 0,
TRUE
},
147
{
L
"0"
,
SCAN_CODE_11
, 324, 35, 28, 28, 0,
TRUE
},
148
{
L
"-"
,
SCAN_CODE_12
, 356, 35, 28, 28, 0,
TRUE
},
149
{
L
"="
,
SCAN_CODE_13
, 388, 35, 28, 28, 0,
TRUE
},
150
{
L
"<--"
,
SCAN_CODE_15
, 420, 35, 63, 28,
BS_ICON
,
FALSE
},
151
{
L
"Tab"
,
SCAN_CODE_16
, 4, 65, 60, 28,
BS_ICON
,
FALSE
},
152
{
L
"q"
,
SCAN_CODE_17
, 67, 65, 28, 28, 0,
TRUE
},
153
{
L
"w"
,
SCAN_CODE_18
, 97, 65, 28, 28, 0,
TRUE
},
154
{
L
"e"
,
SCAN_CODE_19
, 128, 65, 28, 28, 0,
TRUE
},
155
{
L
"r"
,
SCAN_CODE_20
, 158, 65, 28, 28, 0,
TRUE
},
156
{
L
"t"
,
SCAN_CODE_21
, 188, 65, 28, 28, 0,
TRUE
},
157
{
L
"y"
,
SCAN_CODE_22
, 219, 65, 28, 28, 0,
TRUE
},
158
{
L
"u"
,
SCAN_CODE_23
, 249, 65, 28, 28, 0,
TRUE
},
159
{
L
"i"
,
SCAN_CODE_24
, 280, 65, 28, 28, 0,
TRUE
},
160
{
L
"o"
,
SCAN_CODE_25
, 310, 65, 28, 28, 0,
TRUE
},
161
{
L
"p"
,
SCAN_CODE_26
, 340, 65, 28, 28, 0,
TRUE
},
162
{
L
"["
,
SCAN_CODE_27
, 371, 65, 28, 28, 0,
TRUE
},
163
{
L
"]"
,
SCAN_CODE_28
, 401, 65, 28, 28, 0,
TRUE
},
164
{
L
"lock"
,
SCAN_CODE_30
, 4, 96, 78, 28,
BS_ICON
,
FALSE
},
165
{
L
"a"
,
SCAN_CODE_31
, 84, 96, 28, 28, 0,
TRUE
},
166
{
L
"s"
,
SCAN_CODE_32
, 115, 96, 28, 28, 0,
TRUE
},
167
{
L
"d"
,
SCAN_CODE_33
, 145, 96, 28, 28, 0,
TRUE
},
168
{
L
"f"
,
SCAN_CODE_34
, 176, 96, 28, 28, 0,
TRUE
},
169
{
L
"g"
,
SCAN_CODE_35
, 206, 96, 28, 28, 0,
TRUE
},
170
{
L
"h"
,
SCAN_CODE_36
, 236, 96, 28, 28, 0,
TRUE
},
171
{
L
"j"
,
SCAN_CODE_37
, 267, 96, 28, 28, 0,
TRUE
},
172
{
L
"k"
,
SCAN_CODE_38
, 297, 96, 28, 28, 0,
TRUE
},
173
{
L
"l"
,
SCAN_CODE_39
, 328, 96, 28, 28, 0,
TRUE
},
174
{
L
";"
,
SCAN_CODE_40
, 358, 96, 28, 28, 0,
TRUE
},
175
{
L
"'"
,
SCAN_CODE_41
, 388, 96, 28, 28, 0,
TRUE
},
176
{
L
"\\"
,
SCAN_CODE_29
, 432, 65, 51, 28, 0,
TRUE
},
177
{
L
"ret"
,
SCAN_CODE_43
, 419, 96, 64, 28,
BS_ICON
,
FALSE
},
178
{
L
"shift"
,
SCAN_CODE_44
, 4, 126, 96, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
179
{
L
"z"
,
SCAN_CODE_46
, 102, 126, 28, 28, 0,
TRUE
},
180
{
L
"x"
,
SCAN_CODE_47
, 132, 126, 28, 28, 0,
TRUE
},
181
{
L
"c"
,
SCAN_CODE_48
, 163, 126, 28, 28, 0,
TRUE
},
182
{
L
"v"
,
SCAN_CODE_49
, 193, 126, 28, 28, 0,
TRUE
},
183
{
L
"b"
,
SCAN_CODE_50
, 224, 126, 28, 28, 0,
TRUE
},
184
{
L
"n"
,
SCAN_CODE_51
, 254, 126, 28, 28, 0,
TRUE
},
185
{
L
"m"
,
SCAN_CODE_52
, 284, 126, 28, 28, 0,
TRUE
},
186
{
L
","
,
SCAN_CODE_53
, 315, 126, 28, 28, 0,
TRUE
},
187
{
L
"."
,
SCAN_CODE_54
, 345, 126, 28, 28, 0,
TRUE
},
188
{
L
"/"
,
SCAN_CODE_55
, 376, 126, 28, 28, 0,
TRUE
},
189
{
L
"shift"
,
SCAN_CODE_57
, 406, 126, 77, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
190
{
L
"ctrl"
,
SCAN_CODE_58
, 4, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
191
{
L
"v"
,
SCAN_CODE_84
, 518, 156, 28, 28,
BS_ICON
,
FALSE
},
192
{
L
"ROS"
,
SCAN_CODE_127
, 48, 156, 43, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
193
{
L
"alt"
,
SCAN_CODE_60
, 91, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
194
{
L
""
,
SCAN_CODE_61
, 134, 156, 174, 28, 0,
FALSE
},
195
{
L
"alt"
,
SCAN_CODE_62
, 310, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
196
{
L
"ROS"
,
SCAN_CODE_128
, 353, 156, 43, 28,
BS_ICON
|
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
197
{
L
"menu"
,
SCAN_CODE_129
, 396, 156, 43, 28,
BS_ICON
,
FALSE
},
198
{
L
"ctrl"
,
SCAN_CODE_64
, 440, 156, 43, 28,
BS_PUSHLIKE
|
BS_AUTOCHECKBOX
,
FALSE
},
199
{
L
"ins"
,
SCAN_CODE_75
, 486, 35, 28, 28, 0,
FALSE
},
200
{
L
"del"
,
SCAN_CODE_76
, 486, 65, 28, 28, 0,
FALSE
},
201
{
L
"hm"
,
SCAN_CODE_80
, 518, 35, 28, 28,
BS_ICON
,
FALSE
},
202
{
L
"end"
,
SCAN_CODE_81
, 518, 65, 28, 28, 0,
FALSE
},
203
{
L
"pup"
,
SCAN_CODE_85
, 550, 35, 28, 28,
BS_ICON
,
FALSE
},
204
{
L
"pdn"
,
SCAN_CODE_86
, 550, 65, 28, 28,
BS_ICON
,
FALSE
},
205
{
L
"<-"
,
SCAN_CODE_79
, 486, 156, 28, 28,
BS_ICON
,
FALSE
},
206
{
L
"^"
,
SCAN_CODE_83
, 518, 126, 28, 28,
BS_ICON
,
FALSE
},
207
{
L
"->"
,
SCAN_CODE_89
, 550, 156, 28, 28,
BS_ICON
,
FALSE
},
208
{
L
"nlk"
,
SCAN_CODE_90
, 582, 35, 28, 28, 0,
FALSE
},
209
{
L
"7"
,
SCAN_CODE_91
, 582, 65, 28, 28, 0,
FALSE
},
210
{
L
"4"
,
SCAN_CODE_92
, 582, 96, 28, 28, 0,
FALSE
},
211
{
L
"1"
,
SCAN_CODE_93
, 582, 126, 28, 28, 0,
FALSE
},
212
{
L
"/"
,
SCAN_CODE_95
, 614, 35, 28, 28, 0,
FALSE
},
213
{
L
"8"
,
SCAN_CODE_96
, 614, 65, 28, 28, 0,
FALSE
},
214
{
L
"5"
,
SCAN_CODE_97
, 614, 96, 28, 28, 0,
FALSE
},
215
{
L
"2"
,
SCAN_CODE_98
, 614, 126, 28, 28, 0,
FALSE
},
216
{
L
"0"
,
SCAN_CODE_99
, 582, 156, 60, 28, 0,
FALSE
},
217
{
L
"*"
,
SCAN_CODE_100
, 646, 35, 28, 28, 0,
FALSE
},
218
{
L
"9"
,
SCAN_CODE_101
, 646, 65, 28, 28, 0,
FALSE
},
219
{
L
"6"
,
SCAN_CODE_102
, 646, 96, 28, 28, 0,
FALSE
},
220
{
L
"3"
,
SCAN_CODE_103
, 646, 126, 28, 28, 0,
FALSE
},
221
{
L
"."
,
SCAN_CODE_104
, 646, 156, 28, 28, 0,
FALSE
},
222
{
L
"-"
,
SCAN_CODE_105
, 678, 35, 28, 28, 0,
FALSE
},
223
{
L
"+"
,
SCAN_CODE_106
, 678, 65, 28, 59, 0,
FALSE
},
224
{
L
"ent"
,
SCAN_CODE_108
, 678, 126, 28, 58, 0,
FALSE
},
225
};
226
227
KEYBOARD_STRUCT
EnhancedKeyboard
=
228
{
229
EnhancedKeyboardKeys
,
230
_countof
(
EnhancedKeyboardKeys
),
231
{ 746, 193 },
232
{ 620, 6 },
233
{ 40, 15 },
234
40,
235
{ 628, 25 },
236
{ 7, 5 },
237
40
238
};
239
240
KEYBOARD_STRUCT
StandardKeyboard
=
241
{
242
StandardKeyboardKeys
,
243
_countof
(
StandardKeyboardKeys
),
244
{ 586, 193 },
245
{ 588, 6 },
246
{ 40, 15 },
247
40,
248
{ 596, 25 },
249
{ 7, 5 },
250
40
251
};
EnhancedKeyboard
KEYBOARD_STRUCT EnhancedKeyboard
Definition:
keyboard.c:227
StandardKeyboard
KEYBOARD_STRUCT StandardKeyboard
Definition:
keyboard.c:240
EnhancedKeyboardKeys
KEY EnhancedKeyboardKeys[]
Definition:
keyboard.c:11
StandardKeyboardKeys
KEY StandardKeyboardKeys[]
Definition:
keyboard.c:119
TRUE
#define TRUE
Definition:
types.h:120
FALSE
#define FALSE
Definition:
types.h:117
L
#define L(x)
Definition:
ntvdm.h:50
SCAN_CODE_30
#define SCAN_CODE_30
Definition:
osk_res.h:103
SCAN_CODE_101
#define SCAN_CODE_101
Definition:
osk_res.h:155
SCAN_CODE_114
#define SCAN_CODE_114
Definition:
osk_res.h:165
SCAN_CODE_98
#define SCAN_CODE_98
Definition:
osk_res.h:152
SCAN_CODE_38
#define SCAN_CODE_38
Definition:
osk_res.h:111
SCAN_CODE_119
#define SCAN_CODE_119
Definition:
osk_res.h:170
SCAN_CODE_1
#define SCAN_CODE_1
Definition:
osk_res.h:75
SCAN_CODE_9
#define SCAN_CODE_9
Definition:
osk_res.h:83
SCAN_CODE_21
#define SCAN_CODE_21
Definition:
osk_res.h:94
SCAN_CODE_33
#define SCAN_CODE_33
Definition:
osk_res.h:106
SCAN_CODE_41
#define SCAN_CODE_41
Definition:
osk_res.h:114
SCAN_CODE_120
#define SCAN_CODE_120
Definition:
osk_res.h:171
SCAN_CODE_64
#define SCAN_CODE_64
Definition:
osk_res.h:134
SCAN_CODE_108
#define SCAN_CODE_108
Definition:
osk_res.h:161
SCAN_CODE_93
#define SCAN_CODE_93
Definition:
osk_res.h:148
SCAN_CODE_44
#define SCAN_CODE_44
Definition:
osk_res.h:117
SCAN_CODE_103
#define SCAN_CODE_103
Definition:
osk_res.h:157
SCAN_CODE_8
#define SCAN_CODE_8
Definition:
osk_res.h:82
SCAN_CODE_79
#define SCAN_CODE_79
Definition:
osk_res.h:137
SCAN_CODE_127
#define SCAN_CODE_127
Definition:
osk_res.h:179
SCAN_CODE_40
#define SCAN_CODE_40
Definition:
osk_res.h:113
SCAN_CODE_47
#define SCAN_CODE_47
Definition:
osk_res.h:120
SCAN_CODE_121
#define SCAN_CODE_121
Definition:
osk_res.h:172
SCAN_CODE_100
#define SCAN_CODE_100
Definition:
osk_res.h:154
SCAN_CODE_6
#define SCAN_CODE_6
Definition:
osk_res.h:80
SCAN_CODE_124
#define SCAN_CODE_124
Definition:
osk_res.h:175
SCAN_CODE_60
#define SCAN_CODE_60
Definition:
osk_res.h:131
SCAN_CODE_55
#define SCAN_CODE_55
Definition:
osk_res.h:128
SCAN_CODE_53
#define SCAN_CODE_53
Definition:
osk_res.h:126
SCAN_CODE_85
#define SCAN_CODE_85
Definition:
osk_res.h:142
SCAN_CODE_28
#define SCAN_CODE_28
Definition:
osk_res.h:101
SCAN_CODE_86
#define SCAN_CODE_86
Definition:
osk_res.h:143
SCAN_CODE_35
#define SCAN_CODE_35
Definition:
osk_res.h:108
SCAN_CODE_34
#define SCAN_CODE_34
Definition:
osk_res.h:107
SCAN_CODE_29
#define SCAN_CODE_29
Definition:
osk_res.h:102
SCAN_CODE_16
#define SCAN_CODE_16
Definition:
osk_res.h:89
SCAN_CODE_15
#define SCAN_CODE_15
Definition:
osk_res.h:88
SCAN_CODE_110
#define SCAN_CODE_110
Definition:
osk_res.h:162
SCAN_CODE_32
#define SCAN_CODE_32
Definition:
osk_res.h:105
SCAN_CODE_126
#define SCAN_CODE_126
Definition:
osk_res.h:177
SCAN_CODE_95
#define SCAN_CODE_95
Definition:
osk_res.h:149
SCAN_CODE_104
#define SCAN_CODE_104
Definition:
osk_res.h:158
SCAN_CODE_51
#define SCAN_CODE_51
Definition:
osk_res.h:124
SCAN_CODE_115
#define SCAN_CODE_115
Definition:
osk_res.h:166
SCAN_CODE_22
#define SCAN_CODE_22
Definition:
osk_res.h:95
SCAN_CODE_54
#define SCAN_CODE_54
Definition:
osk_res.h:127
SCAN_CODE_75
#define SCAN_CODE_75
Definition:
osk_res.h:135
SCAN_CODE_49
#define SCAN_CODE_49
Definition:
osk_res.h:122
SCAN_CODE_46
#define SCAN_CODE_46
Definition:
osk_res.h:119
SCAN_CODE_18
#define SCAN_CODE_18
Definition:
osk_res.h:91
SCAN_CODE_27
#define SCAN_CODE_27
Definition:
osk_res.h:100
SCAN_CODE_20
#define SCAN_CODE_20
Definition:
osk_res.h:93
SCAN_CODE_112
#define SCAN_CODE_112
Definition:
osk_res.h:163
SCAN_CODE_84
#define SCAN_CODE_84
Definition:
osk_res.h:141
SCAN_CODE_116
#define SCAN_CODE_116
Definition:
osk_res.h:167
SCAN_CODE_118
#define SCAN_CODE_118
Definition:
osk_res.h:169
SCAN_CODE_19
#define SCAN_CODE_19
Definition:
osk_res.h:92
SCAN_CODE_99
#define SCAN_CODE_99
Definition:
osk_res.h:153
SCAN_CODE_80
#define SCAN_CODE_80
Definition:
osk_res.h:138
SCAN_CODE_7
#define SCAN_CODE_7
Definition:
osk_res.h:81
SCAN_CODE_89
#define SCAN_CODE_89
Definition:
osk_res.h:144
SCAN_CODE_11
#define SCAN_CODE_11
Definition:
osk_res.h:85
SCAN_CODE_58
#define SCAN_CODE_58
Definition:
osk_res.h:130
SCAN_CODE_48
#define SCAN_CODE_48
Definition:
osk_res.h:121
SCAN_CODE_13
#define SCAN_CODE_13
Definition:
osk_res.h:87
SCAN_CODE_52
#define SCAN_CODE_52
Definition:
osk_res.h:125
SCAN_CODE_90
#define SCAN_CODE_90
Definition:
osk_res.h:145
SCAN_CODE_113
#define SCAN_CODE_113
Definition:
osk_res.h:164
SCAN_CODE_91
#define SCAN_CODE_91
Definition:
osk_res.h:146
SCAN_CODE_81
#define SCAN_CODE_81
Definition:
osk_res.h:139
SCAN_CODE_37
#define SCAN_CODE_37
Definition:
osk_res.h:110
SCAN_CODE_31
#define SCAN_CODE_31
Definition:
osk_res.h:104
SCAN_CODE_2
#define SCAN_CODE_2
Definition:
osk_res.h:76
SCAN_CODE_3
#define SCAN_CODE_3
Definition:
osk_res.h:77
SCAN_CODE_23
#define SCAN_CODE_23
Definition:
osk_res.h:96
SCAN_CODE_96
#define SCAN_CODE_96
Definition:
osk_res.h:150
SCAN_CODE_61
#define SCAN_CODE_61
Definition:
osk_res.h:132
SCAN_CODE_117
#define SCAN_CODE_117
Definition:
osk_res.h:168
SCAN_CODE_125
#define SCAN_CODE_125
Definition:
osk_res.h:176
SCAN_CODE_36
#define SCAN_CODE_36
Definition:
osk_res.h:109
SCAN_CODE_12
#define SCAN_CODE_12
Definition:
osk_res.h:86
SCAN_CODE_83
#define SCAN_CODE_83
Definition:
osk_res.h:140
SCAN_CODE_57
#define SCAN_CODE_57
Definition:
osk_res.h:129
SCAN_CODE_129
#define SCAN_CODE_129
Definition:
osk_res.h:181
SCAN_CODE_76
#define SCAN_CODE_76
Definition:
osk_res.h:136
SCAN_CODE_105
#define SCAN_CODE_105
Definition:
osk_res.h:159
SCAN_CODE_39
#define SCAN_CODE_39
Definition:
osk_res.h:112
SCAN_CODE_50
#define SCAN_CODE_50
Definition:
osk_res.h:123
SCAN_CODE_4
#define SCAN_CODE_4
Definition:
osk_res.h:78
SCAN_CODE_106
#define SCAN_CODE_106
Definition:
osk_res.h:160
SCAN_CODE_128
#define SCAN_CODE_128
Definition:
osk_res.h:180
SCAN_CODE_62
#define SCAN_CODE_62
Definition:
osk_res.h:133
SCAN_CODE_102
#define SCAN_CODE_102
Definition:
osk_res.h:156
SCAN_CODE_24
#define SCAN_CODE_24
Definition:
osk_res.h:97
SCAN_CODE_5
#define SCAN_CODE_5
Definition:
osk_res.h:79
SCAN_CODE_10
#define SCAN_CODE_10
Definition:
osk_res.h:84
SCAN_CODE_92
#define SCAN_CODE_92
Definition:
osk_res.h:147
SCAN_CODE_17
#define SCAN_CODE_17
Definition:
osk_res.h:90
SCAN_CODE_97
#define SCAN_CODE_97
Definition:
osk_res.h:151
SCAN_CODE_123
#define SCAN_CODE_123
Definition:
osk_res.h:174
SCAN_CODE_122
#define SCAN_CODE_122
Definition:
osk_res.h:173
SCAN_CODE_43
#define SCAN_CODE_43
Definition:
osk_res.h:116
SCAN_CODE_26
#define SCAN_CODE_26
Definition:
osk_res.h:99
SCAN_CODE_25
#define SCAN_CODE_25
Definition:
osk_res.h:98
BS_AUTOCHECKBOX
#define BS_AUTOCHECKBOX
Definition:
pedump.c:654
_countof
#define _countof(array)
Definition:
sndvol32.h:70
KEY
Definition:
btrfs.h:143
_KEYBOARD_STRUCT
Definition:
precomp.h:38
precomp.h
BS_ICON
#define BS_ICON
Definition:
winuser.h:264
BS_PUSHLIKE
#define BS_PUSHLIKE
Definition:
winuser.h:272
base
applications
osk
keyboard.c
Generated on Tue Oct 15 2024 06:15:05 for ReactOS by
1.9.6