1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21
22#ifndef scancodes_xfree86_h_
23#define scancodes_xfree86_h_
24
25#include "../../include/SDL_scancode.h"
26
27/* XFree86 key code to SDL scancode mapping table
28 Sources:
29 - atKeyNames.h from XFree86 source code
30*/
31/* *INDENT-OFF* */
32static const SDL_Scancode xfree86_scancode_table[] = {
33 /* 0 */ SDL_SCANCODE_UNKNOWN,
34 /* 1 */ SDL_SCANCODE_ESCAPE,
35 /* 2 */ SDL_SCANCODE_1,
36 /* 3 */ SDL_SCANCODE_2,
37 /* 4 */ SDL_SCANCODE_3,
38 /* 5 */ SDL_SCANCODE_4,
39 /* 6 */ SDL_SCANCODE_5,
40 /* 7 */ SDL_SCANCODE_6,
41 /* 8 */ SDL_SCANCODE_7,
42 /* 9 */ SDL_SCANCODE_8,
43 /* 10 */ SDL_SCANCODE_9,
44 /* 11 */ SDL_SCANCODE_0,
45 /* 12 */ SDL_SCANCODE_MINUS,
46 /* 13 */ SDL_SCANCODE_EQUALS,
47 /* 14 */ SDL_SCANCODE_BACKSPACE,
48 /* 15 */ SDL_SCANCODE_TAB,
49 /* 16 */ SDL_SCANCODE_Q,
50 /* 17 */ SDL_SCANCODE_W,
51 /* 18 */ SDL_SCANCODE_E,
52 /* 19 */ SDL_SCANCODE_R,
53 /* 20 */ SDL_SCANCODE_T,
54 /* 21 */ SDL_SCANCODE_Y,
55 /* 22 */ SDL_SCANCODE_U,
56 /* 23 */ SDL_SCANCODE_I,
57 /* 24 */ SDL_SCANCODE_O,
58 /* 25 */ SDL_SCANCODE_P,
59 /* 26 */ SDL_SCANCODE_LEFTBRACKET,
60 /* 27 */ SDL_SCANCODE_RIGHTBRACKET,
61 /* 28 */ SDL_SCANCODE_RETURN,
62 /* 29 */ SDL_SCANCODE_LCTRL,
63 /* 30 */ SDL_SCANCODE_A,
64 /* 31 */ SDL_SCANCODE_S,
65 /* 32 */ SDL_SCANCODE_D,
66 /* 33 */ SDL_SCANCODE_F,
67 /* 34 */ SDL_SCANCODE_G,
68 /* 35 */ SDL_SCANCODE_H,
69 /* 36 */ SDL_SCANCODE_J,
70 /* 37 */ SDL_SCANCODE_K,
71 /* 38 */ SDL_SCANCODE_L,
72 /* 39 */ SDL_SCANCODE_SEMICOLON,
73 /* 40 */ SDL_SCANCODE_APOSTROPHE,
74 /* 41 */ SDL_SCANCODE_GRAVE,
75 /* 42 */ SDL_SCANCODE_LSHIFT,
76 /* 43 */ SDL_SCANCODE_BACKSLASH,
77 /* 44 */ SDL_SCANCODE_Z,
78 /* 45 */ SDL_SCANCODE_X,
79 /* 46 */ SDL_SCANCODE_C,
80 /* 47 */ SDL_SCANCODE_V,
81 /* 48 */ SDL_SCANCODE_B,
82 /* 49 */ SDL_SCANCODE_N,
83 /* 50 */ SDL_SCANCODE_M,
84 /* 51 */ SDL_SCANCODE_COMMA,
85 /* 52 */ SDL_SCANCODE_PERIOD,
86 /* 53 */ SDL_SCANCODE_SLASH,
87 /* 54 */ SDL_SCANCODE_RSHIFT,
88 /* 55 */ SDL_SCANCODE_KP_MULTIPLY,
89 /* 56 */ SDL_SCANCODE_LALT,
90 /* 57 */ SDL_SCANCODE_SPACE,
91 /* 58 */ SDL_SCANCODE_CAPSLOCK,
92 /* 59 */ SDL_SCANCODE_F1,
93 /* 60 */ SDL_SCANCODE_F2,
94 /* 61 */ SDL_SCANCODE_F3,
95 /* 62 */ SDL_SCANCODE_F4,
96 /* 63 */ SDL_SCANCODE_F5,
97 /* 64 */ SDL_SCANCODE_F6,
98 /* 65 */ SDL_SCANCODE_F7,
99 /* 66 */ SDL_SCANCODE_F8,
100 /* 67 */ SDL_SCANCODE_F9,
101 /* 68 */ SDL_SCANCODE_F10,
102 /* 69 */ SDL_SCANCODE_NUMLOCKCLEAR,
103 /* 70 */ SDL_SCANCODE_SCROLLLOCK,
104 /* 71 */ SDL_SCANCODE_KP_7,
105 /* 72 */ SDL_SCANCODE_KP_8,
106 /* 73 */ SDL_SCANCODE_KP_9,
107 /* 74 */ SDL_SCANCODE_KP_MINUS,
108 /* 75 */ SDL_SCANCODE_KP_4,
109 /* 76 */ SDL_SCANCODE_KP_5,
110 /* 77 */ SDL_SCANCODE_KP_6,
111 /* 78 */ SDL_SCANCODE_KP_PLUS,
112 /* 79 */ SDL_SCANCODE_KP_1,
113 /* 80 */ SDL_SCANCODE_KP_2,
114 /* 81 */ SDL_SCANCODE_KP_3,
115 /* 82 */ SDL_SCANCODE_KP_0,
116 /* 83 */ SDL_SCANCODE_KP_PERIOD,
117 /* 84 */ SDL_SCANCODE_SYSREQ,
118 /* 85 */ SDL_SCANCODE_MODE,
119 /* 86 */ SDL_SCANCODE_NONUSBACKSLASH,
120 /* 87 */ SDL_SCANCODE_F11,
121 /* 88 */ SDL_SCANCODE_F12,
122 /* 89 */ SDL_SCANCODE_HOME,
123 /* 90 */ SDL_SCANCODE_UP,
124 /* 91 */ SDL_SCANCODE_PAGEUP,
125 /* 92 */ SDL_SCANCODE_LEFT,
126 /* 93 */ SDL_SCANCODE_BRIGHTNESSDOWN, /* on PowerBook G4 / KEY_Begin */
127 /* 94 */ SDL_SCANCODE_RIGHT,
128 /* 95 */ SDL_SCANCODE_END,
129 /* 96 */ SDL_SCANCODE_DOWN,
130 /* 97 */ SDL_SCANCODE_PAGEDOWN,
131 /* 98 */ SDL_SCANCODE_INSERT,
132 /* 99 */ SDL_SCANCODE_DELETE,
133 /* 100 */ SDL_SCANCODE_KP_ENTER,
134 /* 101 */ SDL_SCANCODE_RCTRL,
135 /* 102 */ SDL_SCANCODE_PAUSE,
136 /* 103 */ SDL_SCANCODE_PRINTSCREEN,
137 /* 104 */ SDL_SCANCODE_KP_DIVIDE,
138 /* 105 */ SDL_SCANCODE_RALT,
139 /* 106 */ SDL_SCANCODE_UNKNOWN, /* BREAK */
140 /* 107 */ SDL_SCANCODE_LGUI,
141 /* 108 */ SDL_SCANCODE_RGUI,
142 /* 109 */ SDL_SCANCODE_APPLICATION,
143 /* 110 */ SDL_SCANCODE_F13,
144 /* 111 */ SDL_SCANCODE_F14,
145 /* 112 */ SDL_SCANCODE_F15,
146 /* 113 */ SDL_SCANCODE_F16,
147 /* 114 */ SDL_SCANCODE_F17,
148 /* 115 */ SDL_SCANCODE_INTERNATIONAL1, /* \_ */
149 /* 116 */ SDL_SCANCODE_UNKNOWN, /* is translated to XK_ISO_Level3_Shift by my X server, but I have no keyboard that generates this code, so I don't know what the correct SDL_SCANCODE_* for it is */
150 /* 117 */ SDL_SCANCODE_UNKNOWN,
151 /* 118 */ SDL_SCANCODE_KP_EQUALS,
152 /* 119 */ SDL_SCANCODE_UNKNOWN,
153 /* 120 */ SDL_SCANCODE_UNKNOWN,
154 /* 121 */ SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */
155 /* 122 */ SDL_SCANCODE_UNKNOWN,
156 /* 123 */ SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */
157 /* 124 */ SDL_SCANCODE_UNKNOWN,
158 /* 125 */ SDL_SCANCODE_INTERNATIONAL3, /* Yen */
159 /* 126 */ SDL_SCANCODE_UNKNOWN,
160 /* 127 */ SDL_SCANCODE_UNKNOWN,
161 /* 128 */ SDL_SCANCODE_UNKNOWN,
162 /* 129 */ SDL_SCANCODE_UNKNOWN,
163 /* 130 */ SDL_SCANCODE_UNKNOWN,
164 /* 131 */ SDL_SCANCODE_UNKNOWN,
165 /* 132 */ SDL_SCANCODE_POWER,
166 /* 133 */ SDL_SCANCODE_MUTE,
167 /* 134 */ SDL_SCANCODE_VOLUMEDOWN,
168 /* 135 */ SDL_SCANCODE_VOLUMEUP,
169 /* 136 */ SDL_SCANCODE_HELP,
170 /* 137 */ SDL_SCANCODE_STOP,
171 /* 138 */ SDL_SCANCODE_AGAIN,
172 /* 139 */ SDL_SCANCODE_UNKNOWN, /* PROPS */
173 /* 140 */ SDL_SCANCODE_UNDO,
174 /* 141 */ SDL_SCANCODE_UNKNOWN, /* FRONT */
175 /* 142 */ SDL_SCANCODE_COPY,
176 /* 143 */ SDL_SCANCODE_UNKNOWN, /* OPEN */
177 /* 144 */ SDL_SCANCODE_PASTE,
178 /* 145 */ SDL_SCANCODE_FIND,
179 /* 146 */ SDL_SCANCODE_CUT,
180};
181
182/* for wireless usb keyboard (manufacturer TRUST) without numpad. */
183static const SDL_Scancode xfree86_scancode_table2[] = {
184 /* 0 */ SDL_SCANCODE_UNKNOWN,
185 /* 1 */ SDL_SCANCODE_ESCAPE,
186 /* 2 */ SDL_SCANCODE_1,
187 /* 3 */ SDL_SCANCODE_2,
188 /* 4 */ SDL_SCANCODE_3,
189 /* 5 */ SDL_SCANCODE_4,
190 /* 6 */ SDL_SCANCODE_5,
191 /* 7 */ SDL_SCANCODE_6,
192 /* 8 */ SDL_SCANCODE_7,
193 /* 9 */ SDL_SCANCODE_8,
194 /* 10 */ SDL_SCANCODE_9,
195 /* 11 */ SDL_SCANCODE_0,
196 /* 12 */ SDL_SCANCODE_MINUS,
197 /* 13 */ SDL_SCANCODE_EQUALS,
198 /* 14 */ SDL_SCANCODE_BACKSPACE,
199 /* 15 */ SDL_SCANCODE_TAB,
200 /* 16 */ SDL_SCANCODE_Q,
201 /* 17 */ SDL_SCANCODE_W,
202 /* 18 */ SDL_SCANCODE_E,
203 /* 19 */ SDL_SCANCODE_R,
204 /* 20 */ SDL_SCANCODE_T,
205 /* 21 */ SDL_SCANCODE_Y,
206 /* 22 */ SDL_SCANCODE_U,
207 /* 23 */ SDL_SCANCODE_I,
208 /* 24 */ SDL_SCANCODE_O,
209 /* 25 */ SDL_SCANCODE_P,
210 /* 26 */ SDL_SCANCODE_LEFTBRACKET,
211 /* 27 */ SDL_SCANCODE_RIGHTBRACKET,
212 /* 28 */ SDL_SCANCODE_RETURN,
213 /* 29 */ SDL_SCANCODE_LCTRL,
214 /* 30 */ SDL_SCANCODE_A,
215 /* 31 */ SDL_SCANCODE_S,
216 /* 32 */ SDL_SCANCODE_D,
217 /* 33 */ SDL_SCANCODE_F,
218 /* 34 */ SDL_SCANCODE_G,
219 /* 35 */ SDL_SCANCODE_H,
220 /* 36 */ SDL_SCANCODE_J,
221 /* 37 */ SDL_SCANCODE_K,
222 /* 38 */ SDL_SCANCODE_L,
223 /* 39 */ SDL_SCANCODE_SEMICOLON,
224 /* 40 */ SDL_SCANCODE_APOSTROPHE,
225 /* 41 */ SDL_SCANCODE_GRAVE,
226 /* 42 */ SDL_SCANCODE_LSHIFT,
227 /* 43 */ SDL_SCANCODE_BACKSLASH,
228 /* 44 */ SDL_SCANCODE_Z,
229 /* 45 */ SDL_SCANCODE_X,
230 /* 46 */ SDL_SCANCODE_C,
231 /* 47 */ SDL_SCANCODE_V,
232 /* 48 */ SDL_SCANCODE_B,
233 /* 49 */ SDL_SCANCODE_N,
234 /* 50 */ SDL_SCANCODE_M,
235 /* 51 */ SDL_SCANCODE_COMMA,
236 /* 52 */ SDL_SCANCODE_PERIOD,
237 /* 53 */ SDL_SCANCODE_SLASH,
238 /* 54 */ SDL_SCANCODE_RSHIFT,
239 /* 55 */ SDL_SCANCODE_KP_MULTIPLY,
240 /* 56 */ SDL_SCANCODE_LALT,
241 /* 57 */ SDL_SCANCODE_SPACE,
242 /* 58 */ SDL_SCANCODE_CAPSLOCK,
243 /* 59 */ SDL_SCANCODE_F1,
244 /* 60 */ SDL_SCANCODE_F2,
245 /* 61 */ SDL_SCANCODE_F3,
246 /* 62 */ SDL_SCANCODE_F4,
247 /* 63 */ SDL_SCANCODE_F5,
248 /* 64 */ SDL_SCANCODE_F6,
249 /* 65 */ SDL_SCANCODE_F7,
250 /* 66 */ SDL_SCANCODE_F8,
251 /* 67 */ SDL_SCANCODE_F9,
252 /* 68 */ SDL_SCANCODE_F10,
253 /* 69 */ SDL_SCANCODE_NUMLOCKCLEAR,
254 /* 70 */ SDL_SCANCODE_SCROLLLOCK,
255 /* 71 */ SDL_SCANCODE_KP_7,
256 /* 72 */ SDL_SCANCODE_KP_8,
257 /* 73 */ SDL_SCANCODE_KP_9,
258 /* 74 */ SDL_SCANCODE_KP_MINUS,
259 /* 75 */ SDL_SCANCODE_KP_4,
260 /* 76 */ SDL_SCANCODE_KP_5,
261 /* 77 */ SDL_SCANCODE_KP_6,
262 /* 78 */ SDL_SCANCODE_KP_PLUS,
263 /* 79 */ SDL_SCANCODE_KP_1,
264 /* 80 */ SDL_SCANCODE_KP_2,
265 /* 81 */ SDL_SCANCODE_KP_3,
266 /* 82 */ SDL_SCANCODE_KP_0,
267 /* 83 */ SDL_SCANCODE_KP_PERIOD,
268 /* 84 */ SDL_SCANCODE_SYSREQ, /* ???? */
269 /* 85 */ SDL_SCANCODE_MODE, /* ???? */
270 /* 86 */ SDL_SCANCODE_NONUSBACKSLASH,
271 /* 87 */ SDL_SCANCODE_F11,
272 /* 88 */ SDL_SCANCODE_F12,
273 /* 89 */ SDL_SCANCODE_INTERNATIONAL1, /* \_ */
274 /* 90 */ SDL_SCANCODE_UNKNOWN, /* Katakana */
275 /* 91 */ SDL_SCANCODE_UNKNOWN, /* Hiragana */
276 /* 92 */ SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */
277 /* 93 */ SDL_SCANCODE_INTERNATIONAL2, /* Hiragana_Katakana */
278 /* 94 */ SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */
279 /* 95 */ SDL_SCANCODE_UNKNOWN,
280 /* 96 */ SDL_SCANCODE_KP_ENTER,
281 /* 97 */ SDL_SCANCODE_RCTRL,
282 /* 98 */ SDL_SCANCODE_KP_DIVIDE,
283 /* 99 */ SDL_SCANCODE_PRINTSCREEN,
284 /* 100 */ SDL_SCANCODE_RALT, /* ISO_Level3_Shift, ALTGR, RALT */
285 /* 101 */ SDL_SCANCODE_UNKNOWN, /* Linefeed */
286 /* 102 */ SDL_SCANCODE_HOME,
287 /* 103 */ SDL_SCANCODE_UP,
288 /* 104 */ SDL_SCANCODE_PAGEUP,
289 /* 105 */ SDL_SCANCODE_LEFT,
290 /* 106 */ SDL_SCANCODE_RIGHT,
291 /* 107 */ SDL_SCANCODE_END,
292 /* 108 */ SDL_SCANCODE_DOWN,
293 /* 109 */ SDL_SCANCODE_PAGEDOWN,
294 /* 110 */ SDL_SCANCODE_INSERT,
295 /* 111 */ SDL_SCANCODE_DELETE,
296 /* 112 */ SDL_SCANCODE_UNKNOWN,
297 /* 113 */ SDL_SCANCODE_MUTE,
298 /* 114 */ SDL_SCANCODE_VOLUMEDOWN,
299 /* 115 */ SDL_SCANCODE_VOLUMEUP,
300 /* 116 */ SDL_SCANCODE_POWER,
301 /* 117 */ SDL_SCANCODE_KP_EQUALS,
302 /* 118 */ SDL_SCANCODE_KP_PLUSMINUS, /* plusminus */
303 /* 119 */ SDL_SCANCODE_PAUSE,
304 /* 120 */ SDL_SCANCODE_UNKNOWN, /* XF86LaunchA */
305 /* 121 */ SDL_SCANCODE_KP_COMMA, /* KP_Decimal */
306 /* 122 */ SDL_SCANCODE_LANG1, /* Hangul */
307 /* 123 */ SDL_SCANCODE_LANG2, /* Hangul_Hanja */
308 /* 124 */ SDL_SCANCODE_INTERNATIONAL3, /* Yen */
309 /* 125 */ SDL_SCANCODE_LGUI,
310 /* 126 */ SDL_SCANCODE_RGUI,
311 /* 127 */ SDL_SCANCODE_APPLICATION,
312 /* 128 */ SDL_SCANCODE_CANCEL,
313 /* 129 */ SDL_SCANCODE_AGAIN,
314 /* 130 */ SDL_SCANCODE_UNKNOWN, /* SunProps */
315 /* 131 */ SDL_SCANCODE_UNDO,
316 /* 132 */ SDL_SCANCODE_UNKNOWN, /* SunFront */
317 /* 133 */ SDL_SCANCODE_COPY,
318 /* 134 */ SDL_SCANCODE_UNKNOWN, /* SunOpen */
319 /* 135 */ SDL_SCANCODE_PASTE,
320 /* 136 */ SDL_SCANCODE_FIND,
321 /* 137 */ SDL_SCANCODE_CUT,
322 /* 138 */ SDL_SCANCODE_HELP,
323 /* 139 */ SDL_SCANCODE_MENU, /* XF86MenuKB */
324 /* 140 */ SDL_SCANCODE_CALCULATOR,
325 /* 141 */ SDL_SCANCODE_UNKNOWN,
326 /* 142 */ SDL_SCANCODE_SLEEP,
327 /* 143 */ SDL_SCANCODE_UNKNOWN, /* XF86WakeUp */
328 /* 144 */ SDL_SCANCODE_UNKNOWN, /* XF86Explorer */
329 /* 145 */ SDL_SCANCODE_UNKNOWN, /* XF86Send */
330 /* 146 */ SDL_SCANCODE_UNKNOWN,
331 /* 147 */ SDL_SCANCODE_UNKNOWN, /* XF86Xfer */
332 /* 148 */ SDL_SCANCODE_APP1, /* XF86Launch1 */
333 /* 149 */ SDL_SCANCODE_APP2, /* XF86Launch2 */
334 /* 150 */ SDL_SCANCODE_WWW,
335 /* 151 */ SDL_SCANCODE_UNKNOWN, /* XF86DOS */
336 /* 152 */ SDL_SCANCODE_UNKNOWN, /* XF86ScreenSaver */
337 /* 153 */ SDL_SCANCODE_UNKNOWN,
338 /* 154 */ SDL_SCANCODE_UNKNOWN, /* XF86RotateWindows */
339 /* 155 */ SDL_SCANCODE_MAIL,
340 /* 156 */ SDL_SCANCODE_AC_BOOKMARKS, /* XF86Favorites */
341 /* 157 */ SDL_SCANCODE_COMPUTER,
342 /* 158 */ SDL_SCANCODE_AC_BACK,
343 /* 159 */ SDL_SCANCODE_AC_FORWARD,
344 /* 160 */ SDL_SCANCODE_UNKNOWN,
345 /* 161 */ SDL_SCANCODE_EJECT,
346 /* 162 */ SDL_SCANCODE_EJECT,
347 /* 163 */ SDL_SCANCODE_AUDIONEXT,
348 /* 164 */ SDL_SCANCODE_AUDIOPLAY,
349 /* 165 */ SDL_SCANCODE_AUDIOPREV,
350 /* 166 */ SDL_SCANCODE_AUDIOSTOP,
351 /* 167 */ SDL_SCANCODE_UNKNOWN, /* XF86AudioRecord */
352 /* 168 */ SDL_SCANCODE_AUDIOREWIND, /* XF86AudioRewind */
353 /* 169 */ SDL_SCANCODE_UNKNOWN, /* XF86Phone */
354 /* 170 */ SDL_SCANCODE_UNKNOWN,
355 /* 171 */ SDL_SCANCODE_F13, /* XF86Tools */
356 /* 172 */ SDL_SCANCODE_AC_HOME,
357 /* 173 */ SDL_SCANCODE_AC_REFRESH,
358 /* 174 */ SDL_SCANCODE_UNKNOWN, /* XF86Close */
359 /* 175 */ SDL_SCANCODE_UNKNOWN,
360 /* 176 */ SDL_SCANCODE_UNKNOWN,
361 /* 177 */ SDL_SCANCODE_UNKNOWN, /* XF86ScrollUp */
362 /* 178 */ SDL_SCANCODE_UNKNOWN, /* XF86ScrollDown */
363 /* 179 */ SDL_SCANCODE_KP_LEFTPAREN, /* parenleft */
364 /* 180 */ SDL_SCANCODE_KP_RIGHTPAREN, /* parenright */
365 /* 181 */ SDL_SCANCODE_UNKNOWN, /* XF86New */
366 /* 182 */ SDL_SCANCODE_AGAIN,
367 /* 183 */ SDL_SCANCODE_F13, /* XF86Tools */
368 /* 184 */ SDL_SCANCODE_F14, /* XF86Launch5 */
369 /* 185 */ SDL_SCANCODE_F15, /* XF86Launch6 */
370 /* 186 */ SDL_SCANCODE_F16, /* XF86Launch7 */
371 /* 187 */ SDL_SCANCODE_F17, /* XF86Launch8 */
372 /* 188 */ SDL_SCANCODE_F18, /* XF86Launch9 */
373 /* 189 */ SDL_SCANCODE_F19, /* null keysym */
374 /* 190 */ SDL_SCANCODE_F20,
375 /* 191 */ SDL_SCANCODE_UNKNOWN,
376 /* 192 */ SDL_SCANCODE_UNKNOWN, /* XF86TouchpadToggle */
377 /* 193 */ SDL_SCANCODE_UNKNOWN,
378 /* 194 */ SDL_SCANCODE_UNKNOWN,
379 /* 195 */ SDL_SCANCODE_MODE,
380 /* 196 */ SDL_SCANCODE_UNKNOWN,
381 /* 197 */ SDL_SCANCODE_UNKNOWN,
382 /* 198 */ SDL_SCANCODE_UNKNOWN,
383 /* 199 */ SDL_SCANCODE_UNKNOWN,
384 /* 200 */ SDL_SCANCODE_AUDIOPLAY,
385 /* 201 */ SDL_SCANCODE_UNKNOWN, /* XF86AudioPause */
386 /* 202 */ SDL_SCANCODE_UNKNOWN, /* XF86Launch3 */
387 /* 203 */ SDL_SCANCODE_UNKNOWN, /* XF86Launch4 */
388 /* 204 */ SDL_SCANCODE_UNKNOWN, /* XF86LaunchB */
389 /* 205 */ SDL_SCANCODE_UNKNOWN, /* XF86Suspend */
390 /* 206 */ SDL_SCANCODE_UNKNOWN, /* XF86Close */
391 /* 207 */ SDL_SCANCODE_AUDIOPLAY,
392 /* 208 */ SDL_SCANCODE_AUDIOFASTFORWARD,
393 /* 209 */ SDL_SCANCODE_UNKNOWN,
394 /* 210 */ SDL_SCANCODE_PRINTSCREEN,
395 /* 211 */ SDL_SCANCODE_UNKNOWN,
396 /* 212 */ SDL_SCANCODE_UNKNOWN, /* XF86WebCam */
397 /* 213 */ SDL_SCANCODE_UNKNOWN,
398 /* 214 */ SDL_SCANCODE_UNKNOWN,
399 /* 215 */ SDL_SCANCODE_MAIL,
400 /* 216 */ SDL_SCANCODE_UNKNOWN,
401 /* 217 */ SDL_SCANCODE_AC_SEARCH,
402 /* 218 */ SDL_SCANCODE_UNKNOWN,
403 /* 219 */ SDL_SCANCODE_UNKNOWN, /* XF86Finance */
404 /* 220 */ SDL_SCANCODE_UNKNOWN,
405 /* 221 */ SDL_SCANCODE_UNKNOWN, /* XF86Shop */
406 /* 222 */ SDL_SCANCODE_UNKNOWN,
407 /* 223 */ SDL_SCANCODE_STOP,
408 /* 224 */ SDL_SCANCODE_BRIGHTNESSDOWN,
409 /* 225 */ SDL_SCANCODE_BRIGHTNESSUP,
410 /* 226 */ SDL_SCANCODE_MEDIASELECT,
411 /* 227 */ SDL_SCANCODE_DISPLAYSWITCH,
412 /* 228 */ SDL_SCANCODE_KBDILLUMTOGGLE,
413 /* 229 */ SDL_SCANCODE_KBDILLUMDOWN,
414 /* 230 */ SDL_SCANCODE_KBDILLUMUP,
415 /* 231 */ SDL_SCANCODE_UNKNOWN, /* XF86Send */
416 /* 232 */ SDL_SCANCODE_UNKNOWN, /* XF86Reply */
417 /* 233 */ SDL_SCANCODE_UNKNOWN, /* XF86MailForward */
418 /* 234 */ SDL_SCANCODE_UNKNOWN, /* XF86Save */
419 /* 235 */ SDL_SCANCODE_UNKNOWN, /* XF86Documents */
420 /* 236 */ SDL_SCANCODE_UNKNOWN, /* XF86Battery */
421 /* 237 */ SDL_SCANCODE_UNKNOWN, /* XF86Bluetooth */
422 /* 238 */ SDL_SCANCODE_UNKNOWN, /* XF86WLAN */
423};
424
425/* Xvnc / Xtightvnc scancodes from xmodmap -pk */
426static const SDL_Scancode xvnc_scancode_table[] = {
427 /* 0 */ SDL_SCANCODE_LCTRL,
428 /* 1 */ SDL_SCANCODE_RCTRL,
429 /* 2 */ SDL_SCANCODE_LSHIFT,
430 /* 3 */ SDL_SCANCODE_RSHIFT,
431 /* 4 */ SDL_SCANCODE_UNKNOWN, /* Meta_L */
432 /* 5 */ SDL_SCANCODE_UNKNOWN, /* Meta_R */
433 /* 6 */ SDL_SCANCODE_LALT,
434 /* 7 */ SDL_SCANCODE_RALT,
435 /* 8 */ SDL_SCANCODE_SPACE,
436 /* 9 */ SDL_SCANCODE_0,
437 /* 10 */ SDL_SCANCODE_1,
438 /* 11 */ SDL_SCANCODE_2,
439 /* 12 */ SDL_SCANCODE_3,
440 /* 13 */ SDL_SCANCODE_4,
441 /* 14 */ SDL_SCANCODE_5,
442 /* 15 */ SDL_SCANCODE_6,
443 /* 16 */ SDL_SCANCODE_7,
444 /* 17 */ SDL_SCANCODE_8,
445 /* 18 */ SDL_SCANCODE_9,
446 /* 19 */ SDL_SCANCODE_MINUS,
447 /* 20 */ SDL_SCANCODE_EQUALS,
448 /* 21 */ SDL_SCANCODE_LEFTBRACKET,
449 /* 22 */ SDL_SCANCODE_RIGHTBRACKET,
450 /* 23 */ SDL_SCANCODE_SEMICOLON,
451 /* 24 */ SDL_SCANCODE_APOSTROPHE,
452 /* 25 */ SDL_SCANCODE_GRAVE,
453 /* 26 */ SDL_SCANCODE_COMMA,
454 /* 27 */ SDL_SCANCODE_PERIOD,
455 /* 28 */ SDL_SCANCODE_SLASH,
456 /* 29 */ SDL_SCANCODE_BACKSLASH,
457 /* 30 */ SDL_SCANCODE_A,
458 /* 31 */ SDL_SCANCODE_B,
459 /* 32 */ SDL_SCANCODE_C,
460 /* 33 */ SDL_SCANCODE_D,
461 /* 34 */ SDL_SCANCODE_E,
462 /* 35 */ SDL_SCANCODE_F,
463 /* 36 */ SDL_SCANCODE_G,
464 /* 37 */ SDL_SCANCODE_H,
465 /* 38 */ SDL_SCANCODE_I,
466 /* 39 */ SDL_SCANCODE_J,
467 /* 40 */ SDL_SCANCODE_K,
468 /* 41 */ SDL_SCANCODE_L,
469 /* 42 */ SDL_SCANCODE_M,
470 /* 43 */ SDL_SCANCODE_N,
471 /* 44 */ SDL_SCANCODE_O,
472 /* 45 */ SDL_SCANCODE_P,
473 /* 46 */ SDL_SCANCODE_Q,
474 /* 47 */ SDL_SCANCODE_R,
475 /* 48 */ SDL_SCANCODE_S,
476 /* 49 */ SDL_SCANCODE_T,
477 /* 50 */ SDL_SCANCODE_U,
478 /* 51 */ SDL_SCANCODE_V,
479 /* 52 */ SDL_SCANCODE_W,
480 /* 53 */ SDL_SCANCODE_X,
481 /* 54 */ SDL_SCANCODE_Y,
482 /* 55 */ SDL_SCANCODE_Z,
483 /* 56 */ SDL_SCANCODE_BACKSPACE,
484 /* 57 */ SDL_SCANCODE_RETURN,
485 /* 58 */ SDL_SCANCODE_TAB,
486 /* 59 */ SDL_SCANCODE_ESCAPE,
487 /* 60 */ SDL_SCANCODE_DELETE,
488 /* 61 */ SDL_SCANCODE_HOME,
489 /* 62 */ SDL_SCANCODE_END,
490 /* 63 */ SDL_SCANCODE_PAGEUP,
491 /* 64 */ SDL_SCANCODE_PAGEDOWN,
492 /* 65 */ SDL_SCANCODE_UP,
493 /* 66 */ SDL_SCANCODE_DOWN,
494 /* 67 */ SDL_SCANCODE_LEFT,
495 /* 68 */ SDL_SCANCODE_RIGHT,
496 /* 69 */ SDL_SCANCODE_F1,
497 /* 70 */ SDL_SCANCODE_F2,
498 /* 71 */ SDL_SCANCODE_F3,
499 /* 72 */ SDL_SCANCODE_F4,
500 /* 73 */ SDL_SCANCODE_F5,
501 /* 74 */ SDL_SCANCODE_F6,
502 /* 75 */ SDL_SCANCODE_F7,
503 /* 76 */ SDL_SCANCODE_F8,
504 /* 77 */ SDL_SCANCODE_F9,
505 /* 78 */ SDL_SCANCODE_F10,
506 /* 79 */ SDL_SCANCODE_F11,
507 /* 80 */ SDL_SCANCODE_F12,
508};
509
510#endif /* scancodes_xfree86_h_ */
511
512/* *INDENT-ON* */
513