xref: /OK3568_Linux_fs/external/xserver/hw/xwin/winkeybd.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #if !defined(WINKEYBD_H)
2*4882a593Smuzhiyun #define WINKEYBD_H
3*4882a593Smuzhiyun /*
4*4882a593Smuzhiyun  *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  *Permission is hereby granted, free of charge, to any person obtaining
7*4882a593Smuzhiyun  * a copy of this software and associated documentation files (the
8*4882a593Smuzhiyun  *"Software"), to deal in the Software without restriction, including
9*4882a593Smuzhiyun  *without limitation the rights to use, copy, modify, merge, publish,
10*4882a593Smuzhiyun  *distribute, sublicense, and/or sell copies of the Software, and to
11*4882a593Smuzhiyun  *permit persons to whom the Software is furnished to do so, subject to
12*4882a593Smuzhiyun  *the following conditions:
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *The above copyright notice and this permission notice shall be
15*4882a593Smuzhiyun  *included in all copies or substantial portions of the Software.
16*4882a593Smuzhiyun  *
17*4882a593Smuzhiyun  *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18*4882a593Smuzhiyun  *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19*4882a593Smuzhiyun  *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20*4882a593Smuzhiyun  *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
21*4882a593Smuzhiyun  *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
22*4882a593Smuzhiyun  *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23*4882a593Smuzhiyun  *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24*4882a593Smuzhiyun  *
25*4882a593Smuzhiyun  *Except as contained in this notice, the name of the XFree86 Project
26*4882a593Smuzhiyun  *shall not be used in advertising or otherwise to promote the sale, use
27*4882a593Smuzhiyun  *or other dealings in this Software without prior written authorization
28*4882a593Smuzhiyun  *from the XFree86 Project.
29*4882a593Smuzhiyun  *
30*4882a593Smuzhiyun  * Authors:	Harold L Hunt II
31*4882a593Smuzhiyun  */
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun /*
34*4882a593Smuzhiyun  * We need symbols for the scan codes of keys.
35*4882a593Smuzhiyun  */
36*4882a593Smuzhiyun #include "winkeynames.h"
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define VK_FN 0xFF
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define		WIN_KEYMAP_COLS		3
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun /* Rows 160 through 165 correspond to software-generated codes, which
43*4882a593Smuzhiyun  * may not be associated with the appropriate scan code.
44*4882a593Smuzhiyun  */
45*4882a593Smuzhiyun const int
46*4882a593Smuzhiyun  g_iKeyMap[] = {
47*4882a593Smuzhiyun     /* count      Windows VK,     ASCII,          ASCII when extended VK */
48*4882a593Smuzhiyun     /* 0 */ 0, 0, 0,
49*4882a593Smuzhiyun     /* 1 */ 0, 0, 0,
50*4882a593Smuzhiyun     /* 2 */ 0, 0, 0,
51*4882a593Smuzhiyun     /* 3 */ VK_CANCEL, 0, KEY_Break,
52*4882a593Smuzhiyun     /* 4 */ 0, 0, 0,
53*4882a593Smuzhiyun     /* 5 */ 0, 0, 0,
54*4882a593Smuzhiyun     /* 6 */ 0, 0, 0,
55*4882a593Smuzhiyun     /* 7 */ 0, 0, 0,
56*4882a593Smuzhiyun     /* 8 */ 0, 0, 0,
57*4882a593Smuzhiyun     /* 9 */ 0, 0, 0,
58*4882a593Smuzhiyun     /* 10 */ 0, 0, 0,
59*4882a593Smuzhiyun     /* 11 */ 0, 0, 0,
60*4882a593Smuzhiyun     /* 12 */ 0, 0, 0,
61*4882a593Smuzhiyun     /* 13 */ VK_RETURN, 0, KEY_KP_Enter,
62*4882a593Smuzhiyun     /* 14 */ 0, 0, 0,
63*4882a593Smuzhiyun     /* 15 */ 0, 0, 0,
64*4882a593Smuzhiyun     /* 16 */ VK_SHIFT, 0, 0,
65*4882a593Smuzhiyun     /* 17 */ VK_CONTROL, 0, KEY_RCtrl,
66*4882a593Smuzhiyun     /* 18 */ VK_MENU, 0, KEY_AltLang,
67*4882a593Smuzhiyun     /* 19 */ VK_PAUSE, KEY_Pause, 0,
68*4882a593Smuzhiyun     /* 20 */ 0, 0, 0,
69*4882a593Smuzhiyun     /* 21 */ 0, 0, 0,
70*4882a593Smuzhiyun     /* 22 */ 0, 0, 0,
71*4882a593Smuzhiyun     /* 23 */ 0, 0, 0,
72*4882a593Smuzhiyun     /* 24 */ 0, 0, 0,
73*4882a593Smuzhiyun     /* 25 */ 0, 0, 0,
74*4882a593Smuzhiyun     /* 26 */ 0, 0, 0,
75*4882a593Smuzhiyun     /* 27 */ 0, 0, 0,
76*4882a593Smuzhiyun     /* 28 */ 0, 0, 0,
77*4882a593Smuzhiyun     /* 29 */ 0, 0, 0,
78*4882a593Smuzhiyun     /* 30 */ 0, 0, 0,
79*4882a593Smuzhiyun     /* 31 */ 0, 0, 0,
80*4882a593Smuzhiyun     /* 32 */ 0, 0, 0,
81*4882a593Smuzhiyun     /* 33 */ VK_PRIOR, 0, KEY_PgUp,
82*4882a593Smuzhiyun     /* 34 */ VK_NEXT, 0, KEY_PgDown,
83*4882a593Smuzhiyun     /* 35 */ VK_END, 0, KEY_End,
84*4882a593Smuzhiyun     /* 36 */ VK_HOME, 0, KEY_Home,
85*4882a593Smuzhiyun     /* 37 */ VK_LEFT, 0, KEY_Left,
86*4882a593Smuzhiyun     /* 38 */ VK_UP, 0, KEY_Up,
87*4882a593Smuzhiyun     /* 39 */ VK_RIGHT, 0, KEY_Right,
88*4882a593Smuzhiyun     /* 40 */ VK_DOWN, 0, KEY_Down,
89*4882a593Smuzhiyun     /* 41 */ 0, 0, 0,
90*4882a593Smuzhiyun     /* 42 */ 0, 0, 0,
91*4882a593Smuzhiyun     /* 43 */ 0, 0, 0,
92*4882a593Smuzhiyun     /* 44 */ VK_SNAPSHOT, 0, KEY_Print,
93*4882a593Smuzhiyun     /* 45 */ VK_INSERT, 0, KEY_Insert,
94*4882a593Smuzhiyun     /* 46 */ VK_DELETE, 0, KEY_Delete,
95*4882a593Smuzhiyun     /* 47 */ 0, 0, 0,
96*4882a593Smuzhiyun     /* 48 */ 0, 0, 0,
97*4882a593Smuzhiyun     /* 49 */ 0, 0, 0,
98*4882a593Smuzhiyun     /* 50 */ 0, 0, 0,
99*4882a593Smuzhiyun     /* 51 */ 0, 0, 0,
100*4882a593Smuzhiyun     /* 52 */ 0, 0, 0,
101*4882a593Smuzhiyun     /* 53 */ 0, 0, 0,
102*4882a593Smuzhiyun     /* 54 */ 0, 0, 0,
103*4882a593Smuzhiyun     /* 55 */ 0, 0, 0,
104*4882a593Smuzhiyun     /* 56 */ 0, 0, 0,
105*4882a593Smuzhiyun     /* 57 */ 0, 0, 0,
106*4882a593Smuzhiyun     /* 58 */ 0, 0, 0,
107*4882a593Smuzhiyun     /* 59 */ 0, 0, 0,
108*4882a593Smuzhiyun     /* 60 */ 0, 0, 0,
109*4882a593Smuzhiyun     /* 61 */ 0, 0, 0,
110*4882a593Smuzhiyun     /* 62 */ 0, 0, 0,
111*4882a593Smuzhiyun     /* 63 */ 0, 0, 0,
112*4882a593Smuzhiyun     /* 64 */ 0, 0, 0,
113*4882a593Smuzhiyun     /* 65 */ 0, 0, 0,
114*4882a593Smuzhiyun     /* 66 */ 0, 0, 0,
115*4882a593Smuzhiyun     /* 67 */ 0, 0, 0,
116*4882a593Smuzhiyun     /* 68 */ 0, 0, 0,
117*4882a593Smuzhiyun     /* 69 */ 0, 0, 0,
118*4882a593Smuzhiyun     /* 70 */ 0, 0, 0,
119*4882a593Smuzhiyun     /* 71 */ 0, 0, 0,
120*4882a593Smuzhiyun     /* 72 */ 0, 0, 0,
121*4882a593Smuzhiyun     /* 73 */ 0, 0, 0,
122*4882a593Smuzhiyun     /* 74 */ 0, 0, 0,
123*4882a593Smuzhiyun     /* 75 */ 0, 0, 0,
124*4882a593Smuzhiyun     /* 76 */ 0, 0, 0,
125*4882a593Smuzhiyun     /* 77 */ 0, 0, 0,
126*4882a593Smuzhiyun     /* 78 */ 0, 0, 0,
127*4882a593Smuzhiyun     /* 79 */ 0, 0, 0,
128*4882a593Smuzhiyun     /* 80 */ 0, 0, 0,
129*4882a593Smuzhiyun     /* 81 */ 0, 0, 0,
130*4882a593Smuzhiyun     /* 82 */ 0, 0, 0,
131*4882a593Smuzhiyun     /* 83 */ 0, 0, 0,
132*4882a593Smuzhiyun     /* 84 */ 0, 0, 0,
133*4882a593Smuzhiyun     /* 85 */ 0, 0, 0,
134*4882a593Smuzhiyun     /* 86 */ 0, 0, 0,
135*4882a593Smuzhiyun     /* 87 */ 0, 0, 0,
136*4882a593Smuzhiyun     /* 88 */ 0, 0, 0,
137*4882a593Smuzhiyun     /* 89 */ 0, 0, 0,
138*4882a593Smuzhiyun     /* 90 */ 0, 0, 0,
139*4882a593Smuzhiyun     /* 91 */ VK_LWIN, KEY_LMeta, 0,
140*4882a593Smuzhiyun     /* 92 */ VK_RWIN, KEY_RMeta, 0,
141*4882a593Smuzhiyun     /* 93 */ VK_APPS, KEY_Menu, 0,
142*4882a593Smuzhiyun     /* 94 */ 0, 0, 0,
143*4882a593Smuzhiyun     /* 95 */ 0, 0, 0,
144*4882a593Smuzhiyun     /* 96 */ 0, 0, 0,
145*4882a593Smuzhiyun     /* 97 */ 0, 0, 0,
146*4882a593Smuzhiyun     /* 98 */ 0, 0, 0,
147*4882a593Smuzhiyun     /* 99 */ 0, 0, 0,
148*4882a593Smuzhiyun     /* 100 */ 0, 0, 0,
149*4882a593Smuzhiyun     /* 101 */ 0, 0, 0,
150*4882a593Smuzhiyun     /* 102 */ 0, 0, 0,
151*4882a593Smuzhiyun     /* 103 */ 0, 0, 0,
152*4882a593Smuzhiyun     /* 104 */ 0, 0, 0,
153*4882a593Smuzhiyun     /* 105 */ 0, 0, 0,
154*4882a593Smuzhiyun     /* 106 */ 0, 0, 0,
155*4882a593Smuzhiyun     /* 107 */ 0, 0, 0,
156*4882a593Smuzhiyun     /* 108 */ 0, 0, 0,
157*4882a593Smuzhiyun     /* 109 */ 0, 0, 0,
158*4882a593Smuzhiyun     /* 110 */ 0, 0, 0,
159*4882a593Smuzhiyun     /* 111 */ VK_DIVIDE, 0, KEY_KP_Divide,
160*4882a593Smuzhiyun     /* 112 */ 0, 0, 0,
161*4882a593Smuzhiyun     /* 113 */ 0, 0, 0,
162*4882a593Smuzhiyun     /* 114 */ 0, 0, 0,
163*4882a593Smuzhiyun     /* 115 */ 0, 0, 0,
164*4882a593Smuzhiyun     /* 116 */ 0, 0, 0,
165*4882a593Smuzhiyun     /* 117 */ 0, 0, 0,
166*4882a593Smuzhiyun     /* 118 */ 0, 0, 0,
167*4882a593Smuzhiyun     /* 119 */ 0, 0, 0,
168*4882a593Smuzhiyun     /* 120 */ 0, 0, 0,
169*4882a593Smuzhiyun     /* 121 */ 0, 0, 0,
170*4882a593Smuzhiyun     /* 122 */ 0, 0, 0,
171*4882a593Smuzhiyun     /* 123 */ 0, 0, 0,
172*4882a593Smuzhiyun     /* 124 */ 0, 0, 0,
173*4882a593Smuzhiyun     /* 125 */ 0, 0, 0,
174*4882a593Smuzhiyun     /* 126 */ 0, 0, 0,
175*4882a593Smuzhiyun     /* 127 */ 0, 0, 0,
176*4882a593Smuzhiyun     /* 128 */ 0, 0, 0,
177*4882a593Smuzhiyun     /* 129 */ 0, 0, 0,
178*4882a593Smuzhiyun     /* 130 */ 0, 0, 0,
179*4882a593Smuzhiyun     /* 131 */ 0, 0, 0,
180*4882a593Smuzhiyun     /* 132 */ 0, 0, 0,
181*4882a593Smuzhiyun     /* 133 */ 0, 0, 0,
182*4882a593Smuzhiyun     /* 134 */ 0, 0, 0,
183*4882a593Smuzhiyun     /* 135 */ 0, 0, 0,
184*4882a593Smuzhiyun     /* 136 */ 0, 0, 0,
185*4882a593Smuzhiyun     /* 137 */ 0, 0, 0,
186*4882a593Smuzhiyun     /* 138 */ 0, 0, 0,
187*4882a593Smuzhiyun     /* 139 */ 0, 0, 0,
188*4882a593Smuzhiyun     /* 140 */ 0, 0, 0,
189*4882a593Smuzhiyun     /* 141 */ 0, 0, 0,
190*4882a593Smuzhiyun     /* 142 */ 0, 0, 0,
191*4882a593Smuzhiyun     /* 143 */ 0, 0, 0,
192*4882a593Smuzhiyun     /* 144 */ 0, 0, 0,
193*4882a593Smuzhiyun     /* 145 */ 0, 0, 0,
194*4882a593Smuzhiyun     /* 146 */ 0, 0, 0,
195*4882a593Smuzhiyun     /* 147 */ 0, 0, 0,
196*4882a593Smuzhiyun     /* 148 */ 0, 0, 0,
197*4882a593Smuzhiyun     /* 149 */ 0, 0, 0,
198*4882a593Smuzhiyun     /* 150 */ 0, 0, 0,
199*4882a593Smuzhiyun     /* 151 */ 0, 0, 0,
200*4882a593Smuzhiyun     /* 152 */ 0, 0, 0,
201*4882a593Smuzhiyun     /* 153 */ 0, 0, 0,
202*4882a593Smuzhiyun     /* 154 */ 0, 0, 0,
203*4882a593Smuzhiyun     /* 155 */ 0, 0, 0,
204*4882a593Smuzhiyun     /* 156 */ 0, 0, 0,
205*4882a593Smuzhiyun     /* 157 */ 0, 0, 0,
206*4882a593Smuzhiyun     /* 158 */ 0, 0, 0,
207*4882a593Smuzhiyun     /* 159 */ 0, 0, 0,
208*4882a593Smuzhiyun     /* 160 */ VK_LSHIFT, KEY_ShiftL, 0,
209*4882a593Smuzhiyun     /* 161 */ VK_RSHIFT, KEY_ShiftR, 0,
210*4882a593Smuzhiyun     /* 162 */ VK_LCONTROL, KEY_LCtrl, 0,
211*4882a593Smuzhiyun     /* 163 */ VK_RCONTROL, KEY_RCtrl, 0,
212*4882a593Smuzhiyun     /* 164 */ VK_LMENU, KEY_Alt, 0,
213*4882a593Smuzhiyun     /* 165 */ VK_RMENU, KEY_AltLang, 0,
214*4882a593Smuzhiyun     /* 166 */ 0, 0, 0,
215*4882a593Smuzhiyun     /* 167 */ 0, 0, 0,
216*4882a593Smuzhiyun     /* 168 */ 0, 0, 0,
217*4882a593Smuzhiyun     /* 169 */ 0, 0, 0,
218*4882a593Smuzhiyun     /* 170 */ 0, 0, 0,
219*4882a593Smuzhiyun     /* 171 */ 0, 0, 0,
220*4882a593Smuzhiyun     /* 172 */ 0, 0, 0,
221*4882a593Smuzhiyun     /* 173 */ VK_VOLUME_MUTE, 0, KEY_Mute,
222*4882a593Smuzhiyun     /* 174 */ VK_VOLUME_DOWN, 0, KEY_AudioLower,
223*4882a593Smuzhiyun     /* 175 */ VK_VOLUME_UP, 0, KEY_AudioRaise,
224*4882a593Smuzhiyun     /* 176 */ VK_MEDIA_NEXT_TRACK, 0, KEY_NEXTSONG,
225*4882a593Smuzhiyun     /* 177 */ VK_MEDIA_PREV_TRACK, 0, KEY_PREVIOUSSONG,
226*4882a593Smuzhiyun     /* 178 */ VK_MEDIA_STOP, 0, KEY_STOPCD,
227*4882a593Smuzhiyun     /* 179 */ VK_MEDIA_PLAY_PAUSE, 0, KEY_PLAYPAUSE,
228*4882a593Smuzhiyun     /* 180 */ 0, 0, 0,
229*4882a593Smuzhiyun     /* 181 */ 0, 0, 0,
230*4882a593Smuzhiyun     /* 182 */ 0, 0, 0,
231*4882a593Smuzhiyun     /* 183 */ 0, 0, 0,
232*4882a593Smuzhiyun     /* 184 */ 0, 0, 0,
233*4882a593Smuzhiyun     /* 185 */ 0, 0, 0,
234*4882a593Smuzhiyun     /* 186 */ 0, 0, 0,
235*4882a593Smuzhiyun     /* 187 */ 0, 0, 0,
236*4882a593Smuzhiyun     /* 188 */ 0, 0, 0,
237*4882a593Smuzhiyun     /* 189 */ 0, 0, 0,
238*4882a593Smuzhiyun     /* 190 */ 0, 0, 0,
239*4882a593Smuzhiyun     /* 191 */ 0, 0, 0,
240*4882a593Smuzhiyun     /* 192 */ 0, 0, 0,
241*4882a593Smuzhiyun     /* 193 */ 0, 0, 0,
242*4882a593Smuzhiyun     /* 194 */ 0, 0, 0,
243*4882a593Smuzhiyun     /* 195 */ 0, 0, 0,
244*4882a593Smuzhiyun     /* 196 */ 0, 0, 0,
245*4882a593Smuzhiyun     /* 197 */ 0, 0, 0,
246*4882a593Smuzhiyun     /* 198 */ 0, 0, 0,
247*4882a593Smuzhiyun     /* 199 */ 0, 0, 0,
248*4882a593Smuzhiyun     /* 200 */ 0, 0, 0,
249*4882a593Smuzhiyun     /* 201 */ 0, 0, 0,
250*4882a593Smuzhiyun     /* 202 */ 0, 0, 0,
251*4882a593Smuzhiyun     /* 203 */ 0, 0, 0,
252*4882a593Smuzhiyun     /* 204 */ 0, 0, 0,
253*4882a593Smuzhiyun     /* 205 */ 0, 0, 0,
254*4882a593Smuzhiyun     /* 206 */ 0, 0, 0,
255*4882a593Smuzhiyun     /* 207 */ 0, 0, 0,
256*4882a593Smuzhiyun     /* 208 */ 0, 0, 0,
257*4882a593Smuzhiyun     /* 209 */ 0, 0, 0,
258*4882a593Smuzhiyun     /* 210 */ 0, 0, 0,
259*4882a593Smuzhiyun     /* 211 */ 0, 0, 0,
260*4882a593Smuzhiyun     /* 212 */ 0, 0, 0,
261*4882a593Smuzhiyun     /* 213 */ 0, 0, 0,
262*4882a593Smuzhiyun     /* 214 */ 0, 0, 0,
263*4882a593Smuzhiyun     /* 215 */ 0, 0, 0,
264*4882a593Smuzhiyun     /* 216 */ 0, 0, 0,
265*4882a593Smuzhiyun     /* 217 */ 0, 0, 0,
266*4882a593Smuzhiyun     /* 218 */ 0, 0, 0,
267*4882a593Smuzhiyun     /* 219 */ 0, 0, 0,
268*4882a593Smuzhiyun     /* 220 */ 0, 0, 0,
269*4882a593Smuzhiyun     /* 221 */ 0, 0, 0,
270*4882a593Smuzhiyun     /* 222 */ 0, 0, 0,
271*4882a593Smuzhiyun                                         /* 223 */ VK_OEM_8, 0, KEY_RCtrl,
272*4882a593Smuzhiyun                                         /* at least on Canadian Multilingual Standard layout */
273*4882a593Smuzhiyun     /* 224 */ 0, 0, 0,
274*4882a593Smuzhiyun     /* 225 */ 0, 0, 0,
275*4882a593Smuzhiyun     /* 226 */ 0, 0, 0,
276*4882a593Smuzhiyun     /* 227 */ 0, 0, 0,
277*4882a593Smuzhiyun     /* 228 */ 0, 0, 0,
278*4882a593Smuzhiyun     /* 229 */ 0, 0, 0,
279*4882a593Smuzhiyun     /* 230 */ 0, 0, 0,
280*4882a593Smuzhiyun     /* 231 */ 0, 0, 0,
281*4882a593Smuzhiyun     /* 232 */ 0, 0, 0,
282*4882a593Smuzhiyun     /* 233 */ 0, 0, 0,
283*4882a593Smuzhiyun     /* 234 */ 0, 0, 0,
284*4882a593Smuzhiyun     /* 235 */ 0, 0, 0,
285*4882a593Smuzhiyun     /* 236 */ 0, 0, 0,
286*4882a593Smuzhiyun     /* 237 */ 0, 0, 0,
287*4882a593Smuzhiyun     /* 238 */ 0, 0, 0,
288*4882a593Smuzhiyun     /* 239 */ 0, 0, 0,
289*4882a593Smuzhiyun     /* 240 */ 0, 0, 0,
290*4882a593Smuzhiyun     /* 241 */ 0, 0, 0,
291*4882a593Smuzhiyun     /* 242 */ 0, 0, 0,
292*4882a593Smuzhiyun     /* 243 */ 0, 0, 0,
293*4882a593Smuzhiyun     /* 244 */ 0, 0, 0,
294*4882a593Smuzhiyun     /* 245 */ 0, 0, 0,
295*4882a593Smuzhiyun     /* 246 */ 0, 0, 0,
296*4882a593Smuzhiyun     /* 247 */ 0, 0, 0,
297*4882a593Smuzhiyun     /* 248 */ 0, 0, 0,
298*4882a593Smuzhiyun     /* 249 */ 0, 0, 0,
299*4882a593Smuzhiyun     /* 250 */ 0, 0, 0,
300*4882a593Smuzhiyun     /* 251 */ 0, 0, 0,
301*4882a593Smuzhiyun     /* 252 */ 0, 0, 0,
302*4882a593Smuzhiyun     /* 253 */ 0, 0, 0,
303*4882a593Smuzhiyun     /* 254 */ 0, 0, 0,
304*4882a593Smuzhiyun                                 /* 255 */ VK_FN, 0, KEY_Fn
305*4882a593Smuzhiyun                                 /* Most keyboards don't generate a scancode for Fn, but a few do... */
306*4882a593Smuzhiyun };
307*4882a593Smuzhiyun 
308*4882a593Smuzhiyun #endif                          /* WINKEYBD_H */
309