scancodes_linux.h 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848
  1. /*
  2. Simple DirectMedia Layer
  3. Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
  4. This software is provided 'as-is', without any express or implied
  5. warranty. In no event will the authors be held liable for any damages
  6. arising from the use of this software.
  7. Permission is granted to anyone to use this software for any purpose,
  8. including commercial applications, and to alter it and redistribute it
  9. freely, subject to the following restrictions:
  10. 1. The origin of this software must not be misrepresented; you must not
  11. claim that you wrote the original software. If you use this software
  12. in a product, an acknowledgment in the product documentation would be
  13. appreciated but is not required.
  14. 2. Altered source versions must be plainly marked as such, and must not be
  15. misrepresented as being the original software.
  16. 3. This notice may not be removed or altered from any source distribution.
  17. */
  18. #include "SDL_internal.h"
  19. /* Linux virtual key code to SDL_Keycode mapping table
  20. Sources:
  21. - Linux kernel source input.h
  22. */
  23. /* *INDENT-OFF* */ /* clang-format off */
  24. static SDL_Scancode const linux_scancode_table[] = {
  25. /* 0, 0x000 */ SDL_SCANCODE_UNKNOWN, /* KEY_RESERVED */
  26. /* 1, 0x001 */ SDL_SCANCODE_ESCAPE, /* KEY_ESC */
  27. /* 2, 0x002 */ SDL_SCANCODE_1, /* KEY_1 */
  28. /* 3, 0x003 */ SDL_SCANCODE_2, /* KEY_2 */
  29. /* 4, 0x004 */ SDL_SCANCODE_3, /* KEY_3 */
  30. /* 5, 0x005 */ SDL_SCANCODE_4, /* KEY_4 */
  31. /* 6, 0x006 */ SDL_SCANCODE_5, /* KEY_5 */
  32. /* 7, 0x007 */ SDL_SCANCODE_6, /* KEY_6 */
  33. /* 8, 0x008 */ SDL_SCANCODE_7, /* KEY_7 */
  34. /* 9, 0x009 */ SDL_SCANCODE_8, /* KEY_8 */
  35. /* 10, 0x00a */ SDL_SCANCODE_9, /* KEY_9 */
  36. /* 11, 0x00b */ SDL_SCANCODE_0, /* KEY_0 */
  37. /* 12, 0x00c */ SDL_SCANCODE_MINUS, /* KEY_MINUS */
  38. /* 13, 0x00d */ SDL_SCANCODE_EQUALS, /* KEY_EQUAL */
  39. /* 14, 0x00e */ SDL_SCANCODE_BACKSPACE, /* KEY_BACKSPACE */
  40. /* 15, 0x00f */ SDL_SCANCODE_TAB, /* KEY_TAB */
  41. /* 16, 0x010 */ SDL_SCANCODE_Q, /* KEY_Q */
  42. /* 17, 0x011 */ SDL_SCANCODE_W, /* KEY_W */
  43. /* 18, 0x012 */ SDL_SCANCODE_E, /* KEY_E */
  44. /* 19, 0x013 */ SDL_SCANCODE_R, /* KEY_R */
  45. /* 20, 0x014 */ SDL_SCANCODE_T, /* KEY_T */
  46. /* 21, 0x015 */ SDL_SCANCODE_Y, /* KEY_Y */
  47. /* 22, 0x016 */ SDL_SCANCODE_U, /* KEY_U */
  48. /* 23, 0x017 */ SDL_SCANCODE_I, /* KEY_I */
  49. /* 24, 0x018 */ SDL_SCANCODE_O, /* KEY_O */
  50. /* 25, 0x019 */ SDL_SCANCODE_P, /* KEY_P */
  51. /* 26, 0x01a */ SDL_SCANCODE_LEFTBRACKET, /* KEY_LEFTBRACE */
  52. /* 27, 0x01b */ SDL_SCANCODE_RIGHTBRACKET, /* KEY_RIGHTBRACE */
  53. /* 28, 0x01c */ SDL_SCANCODE_RETURN, /* KEY_ENTER */
  54. /* 29, 0x01d */ SDL_SCANCODE_LCTRL, /* KEY_LEFTCTRL */
  55. /* 30, 0x01e */ SDL_SCANCODE_A, /* KEY_A */
  56. /* 31, 0x01f */ SDL_SCANCODE_S, /* KEY_S */
  57. /* 32, 0x020 */ SDL_SCANCODE_D, /* KEY_D */
  58. /* 33, 0x021 */ SDL_SCANCODE_F, /* KEY_F */
  59. /* 34, 0x022 */ SDL_SCANCODE_G, /* KEY_G */
  60. /* 35, 0x023 */ SDL_SCANCODE_H, /* KEY_H */
  61. /* 36, 0x024 */ SDL_SCANCODE_J, /* KEY_J */
  62. /* 37, 0x025 */ SDL_SCANCODE_K, /* KEY_K */
  63. /* 38, 0x026 */ SDL_SCANCODE_L, /* KEY_L */
  64. /* 39, 0x027 */ SDL_SCANCODE_SEMICOLON, /* KEY_SEMICOLON */
  65. /* 40, 0x028 */ SDL_SCANCODE_APOSTROPHE, /* KEY_APOSTROPHE */
  66. /* 41, 0x029 */ SDL_SCANCODE_GRAVE, /* KEY_GRAVE */
  67. /* 42, 0x02a */ SDL_SCANCODE_LSHIFT, /* KEY_LEFTSHIFT */
  68. /* 43, 0x02b */ SDL_SCANCODE_BACKSLASH, /* KEY_BACKSLASH */
  69. /* 44, 0x02c */ SDL_SCANCODE_Z, /* KEY_Z */
  70. /* 45, 0x02d */ SDL_SCANCODE_X, /* KEY_X */
  71. /* 46, 0x02e */ SDL_SCANCODE_C, /* KEY_C */
  72. /* 47, 0x02f */ SDL_SCANCODE_V, /* KEY_V */
  73. /* 48, 0x030 */ SDL_SCANCODE_B, /* KEY_B */
  74. /* 49, 0x031 */ SDL_SCANCODE_N, /* KEY_N */
  75. /* 50, 0x032 */ SDL_SCANCODE_M, /* KEY_M */
  76. /* 51, 0x033 */ SDL_SCANCODE_COMMA, /* KEY_COMMA */
  77. /* 52, 0x034 */ SDL_SCANCODE_PERIOD, /* KEY_DOT */
  78. /* 53, 0x035 */ SDL_SCANCODE_SLASH, /* KEY_SLASH */
  79. /* 54, 0x036 */ SDL_SCANCODE_RSHIFT, /* KEY_RIGHTSHIFT */
  80. /* 55, 0x037 */ SDL_SCANCODE_KP_MULTIPLY, /* KEY_KPASTERISK */
  81. /* 56, 0x038 */ SDL_SCANCODE_LALT, /* KEY_LEFTALT */
  82. /* 57, 0x039 */ SDL_SCANCODE_SPACE, /* KEY_SPACE */
  83. /* 58, 0x03a */ SDL_SCANCODE_CAPSLOCK, /* KEY_CAPSLOCK */
  84. /* 59, 0x03b */ SDL_SCANCODE_F1, /* KEY_F1 */
  85. /* 60, 0x03c */ SDL_SCANCODE_F2, /* KEY_F2 */
  86. /* 61, 0x03d */ SDL_SCANCODE_F3, /* KEY_F3 */
  87. /* 62, 0x03e */ SDL_SCANCODE_F4, /* KEY_F4 */
  88. /* 63, 0x03f */ SDL_SCANCODE_F5, /* KEY_F5 */
  89. /* 64, 0x040 */ SDL_SCANCODE_F6, /* KEY_F6 */
  90. /* 65, 0x041 */ SDL_SCANCODE_F7, /* KEY_F7 */
  91. /* 66, 0x042 */ SDL_SCANCODE_F8, /* KEY_F8 */
  92. /* 67, 0x043 */ SDL_SCANCODE_F9, /* KEY_F9 */
  93. /* 68, 0x044 */ SDL_SCANCODE_F10, /* KEY_F10 */
  94. /* 69, 0x045 */ SDL_SCANCODE_NUMLOCKCLEAR, /* KEY_NUMLOCK */
  95. /* 70, 0x046 */ SDL_SCANCODE_SCROLLLOCK, /* KEY_SCROLLLOCK */
  96. /* 71, 0x047 */ SDL_SCANCODE_KP_7, /* KEY_KP7 */
  97. /* 72, 0x048 */ SDL_SCANCODE_KP_8, /* KEY_KP8 */
  98. /* 73, 0x049 */ SDL_SCANCODE_KP_9, /* KEY_KP9 */
  99. /* 74, 0x04a */ SDL_SCANCODE_KP_MINUS, /* KEY_KPMINUS */
  100. /* 75, 0x04b */ SDL_SCANCODE_KP_4, /* KEY_KP4 */
  101. /* 76, 0x04c */ SDL_SCANCODE_KP_5, /* KEY_KP5 */
  102. /* 77, 0x04d */ SDL_SCANCODE_KP_6, /* KEY_KP6 */
  103. /* 78, 0x04e */ SDL_SCANCODE_KP_PLUS, /* KEY_KPPLUS */
  104. /* 79, 0x04f */ SDL_SCANCODE_KP_1, /* KEY_KP1 */
  105. /* 80, 0x050 */ SDL_SCANCODE_KP_2, /* KEY_KP2 */
  106. /* 81, 0x051 */ SDL_SCANCODE_KP_3, /* KEY_KP3 */
  107. /* 82, 0x052 */ SDL_SCANCODE_KP_0, /* KEY_KP0 */
  108. /* 83, 0x053 */ SDL_SCANCODE_KP_PERIOD, /* KEY_KPDOT */
  109. /* 84, 0x054 */ SDL_SCANCODE_UNKNOWN,
  110. /* 85, 0x055 */ SDL_SCANCODE_LANG5, /* KEY_ZENKAKUHANKAKU */
  111. /* 86, 0x056 */ SDL_SCANCODE_NONUSBACKSLASH, /* KEY_102ND */
  112. /* 87, 0x057 */ SDL_SCANCODE_F11, /* KEY_F11 */
  113. /* 88, 0x058 */ SDL_SCANCODE_F12, /* KEY_F12 */
  114. /* 89, 0x059 */ SDL_SCANCODE_INTERNATIONAL1, /* KEY_RO */
  115. /* 90, 0x05a */ SDL_SCANCODE_LANG3, /* KEY_KATAKANA */
  116. /* 91, 0x05b */ SDL_SCANCODE_LANG4, /* KEY_HIRAGANA */
  117. /* 92, 0x05c */ SDL_SCANCODE_INTERNATIONAL4, /* KEY_HENKAN */
  118. /* 93, 0x05d */ SDL_SCANCODE_INTERNATIONAL2, /* KEY_KATAKANAHIRAGANA */
  119. /* 94, 0x05e */ SDL_SCANCODE_INTERNATIONAL5, /* KEY_MUHENKAN */
  120. /* 95, 0x05f */ SDL_SCANCODE_INTERNATIONAL5, /* KEY_KPJPCOMMA */
  121. /* 96, 0x060 */ SDL_SCANCODE_KP_ENTER, /* KEY_KPENTER */
  122. /* 97, 0x061 */ SDL_SCANCODE_RCTRL, /* KEY_RIGHTCTRL */
  123. /* 98, 0x062 */ SDL_SCANCODE_KP_DIVIDE, /* KEY_KPSLASH */
  124. /* 99, 0x063 */ SDL_SCANCODE_SYSREQ, /* KEY_SYSRQ */
  125. /* 100, 0x064 */ SDL_SCANCODE_RALT, /* KEY_RIGHTALT */
  126. /* 101, 0x065 */ SDL_SCANCODE_UNKNOWN, /* KEY_LINEFEED */
  127. /* 102, 0x066 */ SDL_SCANCODE_HOME, /* KEY_HOME */
  128. /* 103, 0x067 */ SDL_SCANCODE_UP, /* KEY_UP */
  129. /* 104, 0x068 */ SDL_SCANCODE_PAGEUP, /* KEY_PAGEUP */
  130. /* 105, 0x069 */ SDL_SCANCODE_LEFT, /* KEY_LEFT */
  131. /* 106, 0x06a */ SDL_SCANCODE_RIGHT, /* KEY_RIGHT */
  132. /* 107, 0x06b */ SDL_SCANCODE_END, /* KEY_END */
  133. /* 108, 0x06c */ SDL_SCANCODE_DOWN, /* KEY_DOWN */
  134. /* 109, 0x06d */ SDL_SCANCODE_PAGEDOWN, /* KEY_PAGEDOWN */
  135. /* 110, 0x06e */ SDL_SCANCODE_INSERT, /* KEY_INSERT */
  136. /* 111, 0x06f */ SDL_SCANCODE_DELETE, /* KEY_DELETE */
  137. /* 112, 0x070 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO */
  138. /* 113, 0x071 */ SDL_SCANCODE_MUTE, /* KEY_MUTE */
  139. /* 114, 0x072 */ SDL_SCANCODE_VOLUMEDOWN, /* KEY_VOLUMEDOWN */
  140. /* 115, 0x073 */ SDL_SCANCODE_VOLUMEUP, /* KEY_VOLUMEUP */
  141. /* 116, 0x074 */ SDL_SCANCODE_POWER, /* KEY_POWER */
  142. /* 117, 0x075 */ SDL_SCANCODE_KP_EQUALS, /* KEY_KPEQUAL */
  143. /* 118, 0x076 */ SDL_SCANCODE_KP_PLUSMINUS, /* KEY_KPPLUSMINUS */
  144. /* 119, 0x077 */ SDL_SCANCODE_PAUSE, /* KEY_PAUSE */
  145. /* 120, 0x078 */ SDL_SCANCODE_UNKNOWN, /* KEY_SCALE */
  146. /* 121, 0x079 */ SDL_SCANCODE_KP_COMMA, /* KEY_KPCOMMA */
  147. /* 122, 0x07a */ SDL_SCANCODE_LANG1, /* KEY_HANGEUL */
  148. /* 123, 0x07b */ SDL_SCANCODE_LANG2, /* KEY_HANJA */
  149. /* 124, 0x07c */ SDL_SCANCODE_INTERNATIONAL3, /* KEY_YEN */
  150. /* 125, 0x07d */ SDL_SCANCODE_LGUI, /* KEY_LEFTMETA */
  151. /* 126, 0x07e */ SDL_SCANCODE_RGUI, /* KEY_RIGHTMETA */
  152. /* 127, 0x07f */ SDL_SCANCODE_APPLICATION, /* KEY_COMPOSE */
  153. /* 128, 0x080 */ SDL_SCANCODE_STOP, /* KEY_STOP */
  154. /* 129, 0x081 */ SDL_SCANCODE_AGAIN, /* KEY_AGAIN */
  155. /* 130, 0x082 */ SDL_SCANCODE_UNKNOWN, /* KEY_PROPS */
  156. /* 131, 0x083 */ SDL_SCANCODE_UNDO, /* KEY_UNDO */
  157. /* 132, 0x084 */ SDL_SCANCODE_UNKNOWN, /* KEY_FRONT */
  158. /* 133, 0x085 */ SDL_SCANCODE_COPY, /* KEY_COPY */
  159. /* 134, 0x086 */ SDL_SCANCODE_UNKNOWN, /* KEY_OPEN */
  160. /* 135, 0x087 */ SDL_SCANCODE_PASTE, /* KEY_PASTE */
  161. /* 136, 0x088 */ SDL_SCANCODE_FIND, /* KEY_FIND */
  162. /* 137, 0x089 */ SDL_SCANCODE_CUT, /* KEY_CUT */
  163. /* 138, 0x08a */ SDL_SCANCODE_HELP, /* KEY_HELP */
  164. /* 139, 0x08b */ SDL_SCANCODE_MENU, /* KEY_MENU */
  165. /* 140, 0x08c */ SDL_SCANCODE_CALCULATOR, /* KEY_CALC */
  166. /* 141, 0x08d */ SDL_SCANCODE_UNKNOWN, /* KEY_SETUP */
  167. /* 142, 0x08e */ SDL_SCANCODE_SLEEP, /* KEY_SLEEP */
  168. /* 143, 0x08f */ SDL_SCANCODE_UNKNOWN, /* KEY_WAKEUP */
  169. /* 144, 0x090 */ SDL_SCANCODE_UNKNOWN, /* KEY_FILE */
  170. /* 145, 0x091 */ SDL_SCANCODE_UNKNOWN, /* KEY_SENDFILE */
  171. /* 146, 0x092 */ SDL_SCANCODE_UNKNOWN, /* KEY_DELETEFILE */
  172. /* 147, 0x093 */ SDL_SCANCODE_UNKNOWN, /* KEY_XFER */
  173. /* 148, 0x094 */ SDL_SCANCODE_APP1, /* KEY_PROG1 */
  174. /* 149, 0x095 */ SDL_SCANCODE_APP2, /* KEY_PROG2 */
  175. /* 150, 0x096 */ SDL_SCANCODE_WWW, /* KEY_WWW */
  176. /* 151, 0x097 */ SDL_SCANCODE_UNKNOWN, /* KEY_MSDOS */
  177. /* 152, 0x098 */ SDL_SCANCODE_UNKNOWN, /* KEY_COFFEE */
  178. /* 153, 0x099 */ SDL_SCANCODE_UNKNOWN, /* KEY_ROTATE_DISPLAY */
  179. /* 154, 0x09a */ SDL_SCANCODE_UNKNOWN, /* KEY_CYCLEWINDOWS */
  180. /* 155, 0x09b */ SDL_SCANCODE_MAIL, /* KEY_MAIL */
  181. /* 156, 0x09c */ SDL_SCANCODE_AC_BOOKMARKS, /* KEY_BOOKMARKS */
  182. /* 157, 0x09d */ SDL_SCANCODE_COMPUTER, /* KEY_COMPUTER */
  183. /* 158, 0x09e */ SDL_SCANCODE_AC_BACK, /* KEY_BACK */
  184. /* 159, 0x09f */ SDL_SCANCODE_AC_FORWARD, /* KEY_FORWARD */
  185. /* 160, 0x0a0 */ SDL_SCANCODE_UNKNOWN, /* KEY_CLOSECD */
  186. /* 161, 0x0a1 */ SDL_SCANCODE_EJECT, /* KEY_EJECTCD */
  187. /* 162, 0x0a2 */ SDL_SCANCODE_EJECT, /* KEY_EJECTCLOSECD */
  188. /* 163, 0x0a3 */ SDL_SCANCODE_AUDIONEXT, /* KEY_NEXTSONG */
  189. /* 164, 0x0a4 */ SDL_SCANCODE_AUDIOPLAY, /* KEY_PLAYPAUSE */
  190. /* 165, 0x0a5 */ SDL_SCANCODE_AUDIOPREV, /* KEY_PREVIOUSSONG */
  191. /* 166, 0x0a6 */ SDL_SCANCODE_AUDIOSTOP, /* KEY_STOPCD */
  192. /* 167, 0x0a7 */ SDL_SCANCODE_UNKNOWN, /* KEY_RECORD */
  193. /* 168, 0x0a8 */ SDL_SCANCODE_AUDIOREWIND, /* KEY_REWIND */
  194. /* 169, 0x0a9 */ SDL_SCANCODE_UNKNOWN, /* KEY_PHONE */
  195. /* 170, 0x0aa */ SDL_SCANCODE_UNKNOWN, /* KEY_ISO */
  196. /* 171, 0x0ab */ SDL_SCANCODE_UNKNOWN, /* KEY_CONFIG */
  197. /* 172, 0x0ac */ SDL_SCANCODE_AC_HOME, /* KEY_HOMEPAGE */
  198. /* 173, 0x0ad */ SDL_SCANCODE_AC_REFRESH, /* KEY_REFRESH */
  199. /* 174, 0x0ae */ SDL_SCANCODE_UNKNOWN, /* KEY_EXIT */
  200. /* 175, 0x0af */ SDL_SCANCODE_UNKNOWN, /* KEY_MOVE */
  201. /* 176, 0x0b0 */ SDL_SCANCODE_UNKNOWN, /* KEY_EDIT */
  202. /* 177, 0x0b1 */ SDL_SCANCODE_UNKNOWN, /* KEY_SCROLLUP */
  203. /* 178, 0x0b2 */ SDL_SCANCODE_UNKNOWN, /* KEY_SCROLLDOWN */
  204. /* 179, 0x0b3 */ SDL_SCANCODE_KP_LEFTPAREN, /* KEY_KPLEFTPAREN */
  205. /* 180, 0x0b4 */ SDL_SCANCODE_KP_RIGHTPAREN, /* KEY_KPRIGHTPAREN */
  206. /* 181, 0x0b5 */ SDL_SCANCODE_UNKNOWN, /* KEY_NEW */
  207. /* 182, 0x0b6 */ SDL_SCANCODE_AGAIN, /* KEY_REDO */
  208. /* 183, 0x0b7 */ SDL_SCANCODE_F13, /* KEY_F13 */
  209. /* 184, 0x0b8 */ SDL_SCANCODE_F14, /* KEY_F14 */
  210. /* 185, 0x0b9 */ SDL_SCANCODE_F15, /* KEY_F15 */
  211. /* 186, 0x0ba */ SDL_SCANCODE_F16, /* KEY_F16 */
  212. /* 187, 0x0bb */ SDL_SCANCODE_F17, /* KEY_F17 */
  213. /* 188, 0x0bc */ SDL_SCANCODE_F18, /* KEY_F18 */
  214. /* 189, 0x0bd */ SDL_SCANCODE_F19, /* KEY_F19 */
  215. /* 190, 0x0be */ SDL_SCANCODE_F20, /* KEY_F20 */
  216. /* 191, 0x0bf */ SDL_SCANCODE_F21, /* KEY_F21 */
  217. /* 192, 0x0c0 */ SDL_SCANCODE_F22, /* KEY_F22 */
  218. /* 193, 0x0c1 */ SDL_SCANCODE_F23, /* KEY_F23 */
  219. /* 194, 0x0c2 */ SDL_SCANCODE_F24, /* KEY_F24 */
  220. /* 195, 0x0c3 */ SDL_SCANCODE_UNKNOWN,
  221. /* 196, 0x0c4 */ SDL_SCANCODE_UNKNOWN,
  222. /* 197, 0x0c5 */ SDL_SCANCODE_UNKNOWN,
  223. /* 198, 0x0c6 */ SDL_SCANCODE_UNKNOWN,
  224. /* 199, 0x0c7 */ SDL_SCANCODE_UNKNOWN,
  225. /* 200, 0x0c8 */ SDL_SCANCODE_AUDIOPLAY, /* KEY_PLAYCD */
  226. /* 201, 0x0c9 */ SDL_SCANCODE_UNKNOWN, /* KEY_PAUSECD */
  227. /* 202, 0x0ca */ SDL_SCANCODE_UNKNOWN, /* KEY_PROG3 */
  228. /* 203, 0x0cb */ SDL_SCANCODE_UNKNOWN, /* KEY_PROG4 */
  229. /* 204, 0x0cc */ SDL_SCANCODE_UNKNOWN, /* KEY_ALL_APPLICATIONS */
  230. /* 205, 0x0cd */ SDL_SCANCODE_UNKNOWN, /* KEY_SUSPEND */
  231. /* 206, 0x0ce */ SDL_SCANCODE_UNKNOWN, /* KEY_CLOSE */
  232. /* 207, 0x0cf */ SDL_SCANCODE_AUDIOPLAY, /* KEY_PLAY */
  233. /* 208, 0x0d0 */ SDL_SCANCODE_AUDIOFASTFORWARD, /* KEY_FASTFORWARD */
  234. /* 209, 0x0d1 */ SDL_SCANCODE_UNKNOWN, /* KEY_BASSBOOST */
  235. /* 210, 0x0d2 */ SDL_SCANCODE_PRINTSCREEN, /* KEY_PRINT */
  236. /* 211, 0x0d3 */ SDL_SCANCODE_UNKNOWN, /* KEY_HP */
  237. /* 212, 0x0d4 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA */
  238. /* 213, 0x0d5 */ SDL_SCANCODE_UNKNOWN, /* KEY_SOUND */
  239. /* 214, 0x0d6 */ SDL_SCANCODE_UNKNOWN, /* KEY_QUESTION */
  240. /* 215, 0x0d7 */ SDL_SCANCODE_MAIL, /* KEY_EMAIL */
  241. /* 216, 0x0d8 */ SDL_SCANCODE_UNKNOWN, /* KEY_CHAT */
  242. /* 217, 0x0d9 */ SDL_SCANCODE_AC_SEARCH, /* KEY_SEARCH */
  243. /* 218, 0x0da */ SDL_SCANCODE_UNKNOWN, /* KEY_CONNECT */
  244. /* 219, 0x0db */ SDL_SCANCODE_UNKNOWN, /* KEY_FINANCE */
  245. /* 220, 0x0dc */ SDL_SCANCODE_UNKNOWN, /* KEY_SPORT */
  246. /* 221, 0x0dd */ SDL_SCANCODE_UNKNOWN, /* KEY_SHOP */
  247. /* 222, 0x0de */ SDL_SCANCODE_ALTERASE, /* KEY_ALTERASE */
  248. /* 223, 0x0df */ SDL_SCANCODE_CANCEL, /* KEY_CANCEL */
  249. /* 224, 0x0e0 */ SDL_SCANCODE_BRIGHTNESSDOWN, /* KEY_BRIGHTNESSDOWN */
  250. /* 225, 0x0e1 */ SDL_SCANCODE_BRIGHTNESSUP, /* KEY_BRIGHTNESSUP */
  251. /* 226, 0x0e2 */ SDL_SCANCODE_MEDIASELECT, /* KEY_MEDIA */
  252. /* 227, 0x0e3 */ SDL_SCANCODE_DISPLAYSWITCH, /* KEY_SWITCHVIDEOMODE */
  253. /* 228, 0x0e4 */ SDL_SCANCODE_KBDILLUMTOGGLE, /* KEY_KBDILLUMTOGGLE */
  254. /* 229, 0x0e5 */ SDL_SCANCODE_KBDILLUMDOWN, /* KEY_KBDILLUMDOWN */
  255. /* 230, 0x0e6 */ SDL_SCANCODE_KBDILLUMUP, /* KEY_KBDILLUMUP */
  256. /* 231, 0x0e7 */ SDL_SCANCODE_UNKNOWN, /* KEY_SEND */
  257. /* 232, 0x0e8 */ SDL_SCANCODE_UNKNOWN, /* KEY_REPLY */
  258. /* 233, 0x0e9 */ SDL_SCANCODE_UNKNOWN, /* KEY_FORWARDMAIL */
  259. /* 234, 0x0ea */ SDL_SCANCODE_UNKNOWN, /* KEY_SAVE */
  260. /* 235, 0x0eb */ SDL_SCANCODE_UNKNOWN, /* KEY_DOCUMENTS */
  261. /* 236, 0x0ec */ SDL_SCANCODE_UNKNOWN, /* KEY_BATTERY */
  262. /* 237, 0x0ed */ SDL_SCANCODE_UNKNOWN, /* KEY_BLUETOOTH */
  263. /* 238, 0x0ee */ SDL_SCANCODE_UNKNOWN, /* KEY_WLAN */
  264. /* 239, 0x0ef */ SDL_SCANCODE_UNKNOWN, /* KEY_UWB */
  265. /* 240, 0x0f0 */ SDL_SCANCODE_UNKNOWN, /* KEY_UNKNOWN */
  266. /* 241, 0x0f1 */ SDL_SCANCODE_UNKNOWN, /* KEY_VIDEO_NEXT */
  267. /* 242, 0x0f2 */ SDL_SCANCODE_UNKNOWN, /* KEY_VIDEO_PREV */
  268. /* 243, 0x0f3 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRIGHTNESS_CYCLE */
  269. /* 244, 0x0f4 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRIGHTNESS_AUTO */
  270. /* 245, 0x0f5 */ SDL_SCANCODE_UNKNOWN, /* KEY_DISPLAY_OFF */
  271. /* 246, 0x0f6 */ SDL_SCANCODE_UNKNOWN, /* KEY_WWAN */
  272. /* 247, 0x0f7 */ SDL_SCANCODE_UNKNOWN, /* KEY_RFKILL */
  273. /* 248, 0x0f8 */ SDL_SCANCODE_UNKNOWN, /* KEY_MICMUTE */
  274. /* 249, 0x0f9 */ SDL_SCANCODE_UNKNOWN,
  275. /* 250, 0x0fa */ SDL_SCANCODE_UNKNOWN,
  276. /* 251, 0x0fb */ SDL_SCANCODE_UNKNOWN,
  277. /* 252, 0x0fc */ SDL_SCANCODE_UNKNOWN,
  278. /* 253, 0x0fd */ SDL_SCANCODE_UNKNOWN,
  279. /* 254, 0x0fe */ SDL_SCANCODE_UNKNOWN,
  280. /* 255, 0x0ff */ SDL_SCANCODE_UNKNOWN,
  281. #if 0 /* We don't have any mapped scancodes after this point (yet) */
  282. /* 256, 0x100 */ SDL_SCANCODE_UNKNOWN,
  283. /* 257, 0x101 */ SDL_SCANCODE_UNKNOWN,
  284. /* 258, 0x102 */ SDL_SCANCODE_UNKNOWN,
  285. /* 259, 0x103 */ SDL_SCANCODE_UNKNOWN,
  286. /* 260, 0x104 */ SDL_SCANCODE_UNKNOWN,
  287. /* 261, 0x105 */ SDL_SCANCODE_UNKNOWN,
  288. /* 262, 0x106 */ SDL_SCANCODE_UNKNOWN,
  289. /* 263, 0x107 */ SDL_SCANCODE_UNKNOWN,
  290. /* 264, 0x108 */ SDL_SCANCODE_UNKNOWN,
  291. /* 265, 0x109 */ SDL_SCANCODE_UNKNOWN,
  292. /* 266, 0x10a */ SDL_SCANCODE_UNKNOWN,
  293. /* 267, 0x10b */ SDL_SCANCODE_UNKNOWN,
  294. /* 268, 0x10c */ SDL_SCANCODE_UNKNOWN,
  295. /* 269, 0x10d */ SDL_SCANCODE_UNKNOWN,
  296. /* 270, 0x10e */ SDL_SCANCODE_UNKNOWN,
  297. /* 271, 0x10f */ SDL_SCANCODE_UNKNOWN,
  298. /* 272, 0x110 */ SDL_SCANCODE_UNKNOWN,
  299. /* 273, 0x111 */ SDL_SCANCODE_UNKNOWN,
  300. /* 274, 0x112 */ SDL_SCANCODE_UNKNOWN,
  301. /* 275, 0x113 */ SDL_SCANCODE_UNKNOWN,
  302. /* 276, 0x114 */ SDL_SCANCODE_UNKNOWN,
  303. /* 277, 0x115 */ SDL_SCANCODE_UNKNOWN,
  304. /* 278, 0x116 */ SDL_SCANCODE_UNKNOWN,
  305. /* 279, 0x117 */ SDL_SCANCODE_UNKNOWN,
  306. /* 280, 0x118 */ SDL_SCANCODE_UNKNOWN,
  307. /* 281, 0x119 */ SDL_SCANCODE_UNKNOWN,
  308. /* 282, 0x11a */ SDL_SCANCODE_UNKNOWN,
  309. /* 283, 0x11b */ SDL_SCANCODE_UNKNOWN,
  310. /* 284, 0x11c */ SDL_SCANCODE_UNKNOWN,
  311. /* 285, 0x11d */ SDL_SCANCODE_UNKNOWN,
  312. /* 286, 0x11e */ SDL_SCANCODE_UNKNOWN,
  313. /* 287, 0x11f */ SDL_SCANCODE_UNKNOWN,
  314. /* 288, 0x120 */ SDL_SCANCODE_UNKNOWN,
  315. /* 289, 0x121 */ SDL_SCANCODE_UNKNOWN,
  316. /* 290, 0x122 */ SDL_SCANCODE_UNKNOWN,
  317. /* 291, 0x123 */ SDL_SCANCODE_UNKNOWN,
  318. /* 292, 0x124 */ SDL_SCANCODE_UNKNOWN,
  319. /* 293, 0x125 */ SDL_SCANCODE_UNKNOWN,
  320. /* 294, 0x126 */ SDL_SCANCODE_UNKNOWN,
  321. /* 295, 0x127 */ SDL_SCANCODE_UNKNOWN,
  322. /* 296, 0x128 */ SDL_SCANCODE_UNKNOWN,
  323. /* 297, 0x129 */ SDL_SCANCODE_UNKNOWN,
  324. /* 298, 0x12a */ SDL_SCANCODE_UNKNOWN,
  325. /* 299, 0x12b */ SDL_SCANCODE_UNKNOWN,
  326. /* 300, 0x12c */ SDL_SCANCODE_UNKNOWN,
  327. /* 301, 0x12d */ SDL_SCANCODE_UNKNOWN,
  328. /* 302, 0x12e */ SDL_SCANCODE_UNKNOWN,
  329. /* 303, 0x12f */ SDL_SCANCODE_UNKNOWN,
  330. /* 304, 0x130 */ SDL_SCANCODE_UNKNOWN,
  331. /* 305, 0x131 */ SDL_SCANCODE_UNKNOWN,
  332. /* 306, 0x132 */ SDL_SCANCODE_UNKNOWN,
  333. /* 307, 0x133 */ SDL_SCANCODE_UNKNOWN,
  334. /* 308, 0x134 */ SDL_SCANCODE_UNKNOWN,
  335. /* 309, 0x135 */ SDL_SCANCODE_UNKNOWN,
  336. /* 310, 0x136 */ SDL_SCANCODE_UNKNOWN,
  337. /* 311, 0x137 */ SDL_SCANCODE_UNKNOWN,
  338. /* 312, 0x138 */ SDL_SCANCODE_UNKNOWN,
  339. /* 313, 0x139 */ SDL_SCANCODE_UNKNOWN,
  340. /* 314, 0x13a */ SDL_SCANCODE_UNKNOWN,
  341. /* 315, 0x13b */ SDL_SCANCODE_UNKNOWN,
  342. /* 316, 0x13c */ SDL_SCANCODE_UNKNOWN,
  343. /* 317, 0x13d */ SDL_SCANCODE_UNKNOWN,
  344. /* 318, 0x13e */ SDL_SCANCODE_UNKNOWN,
  345. /* 319, 0x13f */ SDL_SCANCODE_UNKNOWN,
  346. /* 320, 0x140 */ SDL_SCANCODE_UNKNOWN,
  347. /* 321, 0x141 */ SDL_SCANCODE_UNKNOWN,
  348. /* 322, 0x142 */ SDL_SCANCODE_UNKNOWN,
  349. /* 323, 0x143 */ SDL_SCANCODE_UNKNOWN,
  350. /* 324, 0x144 */ SDL_SCANCODE_UNKNOWN,
  351. /* 325, 0x145 */ SDL_SCANCODE_UNKNOWN,
  352. /* 326, 0x146 */ SDL_SCANCODE_UNKNOWN,
  353. /* 327, 0x147 */ SDL_SCANCODE_UNKNOWN,
  354. /* 328, 0x148 */ SDL_SCANCODE_UNKNOWN,
  355. /* 329, 0x149 */ SDL_SCANCODE_UNKNOWN,
  356. /* 330, 0x14a */ SDL_SCANCODE_UNKNOWN,
  357. /* 331, 0x14b */ SDL_SCANCODE_UNKNOWN,
  358. /* 332, 0x14c */ SDL_SCANCODE_UNKNOWN,
  359. /* 333, 0x14d */ SDL_SCANCODE_UNKNOWN,
  360. /* 334, 0x14e */ SDL_SCANCODE_UNKNOWN,
  361. /* 335, 0x14f */ SDL_SCANCODE_UNKNOWN,
  362. /* 336, 0x150 */ SDL_SCANCODE_UNKNOWN,
  363. /* 337, 0x151 */ SDL_SCANCODE_UNKNOWN,
  364. /* 338, 0x152 */ SDL_SCANCODE_UNKNOWN,
  365. /* 339, 0x153 */ SDL_SCANCODE_UNKNOWN,
  366. /* 340, 0x154 */ SDL_SCANCODE_UNKNOWN,
  367. /* 341, 0x155 */ SDL_SCANCODE_UNKNOWN,
  368. /* 342, 0x156 */ SDL_SCANCODE_UNKNOWN,
  369. /* 343, 0x157 */ SDL_SCANCODE_UNKNOWN,
  370. /* 344, 0x158 */ SDL_SCANCODE_UNKNOWN,
  371. /* 345, 0x159 */ SDL_SCANCODE_UNKNOWN,
  372. /* 346, 0x15a */ SDL_SCANCODE_UNKNOWN,
  373. /* 347, 0x15b */ SDL_SCANCODE_UNKNOWN,
  374. /* 348, 0x15c */ SDL_SCANCODE_UNKNOWN,
  375. /* 349, 0x15d */ SDL_SCANCODE_UNKNOWN,
  376. /* 350, 0x15e */ SDL_SCANCODE_UNKNOWN,
  377. /* 351, 0x15f */ SDL_SCANCODE_UNKNOWN,
  378. /* 352, 0x160 */ SDL_SCANCODE_UNKNOWN, /* KEY_OK */
  379. /* 353, 0x161 */ SDL_SCANCODE_UNKNOWN, /* KEY_SELECT */
  380. /* 354, 0x162 */ SDL_SCANCODE_UNKNOWN, /* KEY_GOTO */
  381. /* 355, 0x163 */ SDL_SCANCODE_UNKNOWN, /* KEY_CLEAR */
  382. /* 356, 0x164 */ SDL_SCANCODE_UNKNOWN, /* KEY_POWER2 */
  383. /* 357, 0x165 */ SDL_SCANCODE_UNKNOWN, /* KEY_OPTION */
  384. /* 358, 0x166 */ SDL_SCANCODE_UNKNOWN, /* KEY_INFO */
  385. /* 359, 0x167 */ SDL_SCANCODE_UNKNOWN, /* KEY_TIME */
  386. /* 360, 0x168 */ SDL_SCANCODE_UNKNOWN, /* KEY_VENDOR */
  387. /* 361, 0x169 */ SDL_SCANCODE_UNKNOWN, /* KEY_ARCHIVE */
  388. /* 362, 0x16a */ SDL_SCANCODE_UNKNOWN, /* KEY_PROGRAM */
  389. /* 363, 0x16b */ SDL_SCANCODE_UNKNOWN, /* KEY_CHANNEL */
  390. /* 364, 0x16c */ SDL_SCANCODE_UNKNOWN, /* KEY_FAVORITES */
  391. /* 365, 0x16d */ SDL_SCANCODE_UNKNOWN, /* KEY_EPG */
  392. /* 366, 0x16e */ SDL_SCANCODE_UNKNOWN, /* KEY_PVR */
  393. /* 367, 0x16f */ SDL_SCANCODE_UNKNOWN, /* KEY_MHP */
  394. /* 368, 0x170 */ SDL_SCANCODE_UNKNOWN, /* KEY_LANGUAGE */
  395. /* 369, 0x171 */ SDL_SCANCODE_UNKNOWN, /* KEY_TITLE */
  396. /* 370, 0x172 */ SDL_SCANCODE_UNKNOWN, /* KEY_SUBTITLE */
  397. /* 371, 0x173 */ SDL_SCANCODE_UNKNOWN, /* KEY_ANGLE */
  398. /* 372, 0x174 */ SDL_SCANCODE_UNKNOWN, /* KEY_FULL_SCREEN */
  399. /* 373, 0x175 */ SDL_SCANCODE_UNKNOWN, /* KEY_MODE */
  400. /* 374, 0x176 */ SDL_SCANCODE_UNKNOWN, /* KEY_KEYBOARD */
  401. /* 375, 0x177 */ SDL_SCANCODE_UNKNOWN, /* KEY_ASPECT_RATIO */
  402. /* 376, 0x178 */ SDL_SCANCODE_UNKNOWN, /* KEY_PC */
  403. /* 377, 0x179 */ SDL_SCANCODE_UNKNOWN, /* KEY_TV */
  404. /* 378, 0x17a */ SDL_SCANCODE_UNKNOWN, /* KEY_TV2 */
  405. /* 379, 0x17b */ SDL_SCANCODE_UNKNOWN, /* KEY_VCR */
  406. /* 380, 0x17c */ SDL_SCANCODE_UNKNOWN, /* KEY_VCR2 */
  407. /* 381, 0x17d */ SDL_SCANCODE_UNKNOWN, /* KEY_SAT */
  408. /* 382, 0x17e */ SDL_SCANCODE_UNKNOWN, /* KEY_SAT2 */
  409. /* 383, 0x17f */ SDL_SCANCODE_UNKNOWN, /* KEY_CD */
  410. /* 384, 0x180 */ SDL_SCANCODE_UNKNOWN, /* KEY_TAPE */
  411. /* 385, 0x181 */ SDL_SCANCODE_UNKNOWN, /* KEY_RADIO */
  412. /* 386, 0x182 */ SDL_SCANCODE_UNKNOWN, /* KEY_TUNER */
  413. /* 387, 0x183 */ SDL_SCANCODE_UNKNOWN, /* KEY_PLAYER */
  414. /* 388, 0x184 */ SDL_SCANCODE_UNKNOWN, /* KEY_TEXT */
  415. /* 389, 0x185 */ SDL_SCANCODE_UNKNOWN, /* KEY_DVD */
  416. /* 390, 0x186 */ SDL_SCANCODE_UNKNOWN, /* KEY_AUX */
  417. /* 391, 0x187 */ SDL_SCANCODE_UNKNOWN, /* KEY_MP3 */
  418. /* 392, 0x188 */ SDL_SCANCODE_UNKNOWN, /* KEY_AUDIO */
  419. /* 393, 0x189 */ SDL_SCANCODE_UNKNOWN, /* KEY_VIDEO */
  420. /* 394, 0x18a */ SDL_SCANCODE_UNKNOWN, /* KEY_DIRECTORY */
  421. /* 395, 0x18b */ SDL_SCANCODE_UNKNOWN, /* KEY_LIST */
  422. /* 396, 0x18c */ SDL_SCANCODE_UNKNOWN, /* KEY_MEMO */
  423. /* 397, 0x18d */ SDL_SCANCODE_UNKNOWN, /* KEY_CALENDAR */
  424. /* 398, 0x18e */ SDL_SCANCODE_UNKNOWN, /* KEY_RED */
  425. /* 399, 0x18f */ SDL_SCANCODE_UNKNOWN, /* KEY_GREEN */
  426. /* 400, 0x190 */ SDL_SCANCODE_UNKNOWN, /* KEY_YELLOW */
  427. /* 401, 0x191 */ SDL_SCANCODE_UNKNOWN, /* KEY_BLUE */
  428. /* 402, 0x192 */ SDL_SCANCODE_UNKNOWN, /* KEY_CHANNELUP */
  429. /* 403, 0x193 */ SDL_SCANCODE_UNKNOWN, /* KEY_CHANNELDOWN */
  430. /* 404, 0x194 */ SDL_SCANCODE_UNKNOWN, /* KEY_FIRST */
  431. /* 405, 0x195 */ SDL_SCANCODE_UNKNOWN, /* KEY_LAST */
  432. /* 406, 0x196 */ SDL_SCANCODE_UNKNOWN, /* KEY_AB */
  433. /* 407, 0x197 */ SDL_SCANCODE_UNKNOWN, /* KEY_NEXT */
  434. /* 408, 0x198 */ SDL_SCANCODE_UNKNOWN, /* KEY_RESTART */
  435. /* 409, 0x199 */ SDL_SCANCODE_UNKNOWN, /* KEY_SLOW */
  436. /* 410, 0x19a */ SDL_SCANCODE_UNKNOWN, /* KEY_SHUFFLE */
  437. /* 411, 0x19b */ SDL_SCANCODE_UNKNOWN, /* KEY_BREAK */
  438. /* 412, 0x19c */ SDL_SCANCODE_UNKNOWN, /* KEY_PREVIOUS */
  439. /* 413, 0x19d */ SDL_SCANCODE_UNKNOWN, /* KEY_DIGITS */
  440. /* 414, 0x19e */ SDL_SCANCODE_UNKNOWN, /* KEY_TEEN */
  441. /* 415, 0x19f */ SDL_SCANCODE_UNKNOWN, /* KEY_TWEN */
  442. /* 416, 0x1a0 */ SDL_SCANCODE_UNKNOWN, /* KEY_VIDEOPHONE */
  443. /* 417, 0x1a1 */ SDL_SCANCODE_UNKNOWN, /* KEY_GAMES */
  444. /* 418, 0x1a2 */ SDL_SCANCODE_UNKNOWN, /* KEY_ZOOMIN */
  445. /* 419, 0x1a3 */ SDL_SCANCODE_UNKNOWN, /* KEY_ZOOMOUT */
  446. /* 420, 0x1a4 */ SDL_SCANCODE_UNKNOWN, /* KEY_ZOOMRESET */
  447. /* 421, 0x1a5 */ SDL_SCANCODE_UNKNOWN, /* KEY_WORDPROCESSOR */
  448. /* 422, 0x1a6 */ SDL_SCANCODE_UNKNOWN, /* KEY_EDITOR */
  449. /* 423, 0x1a7 */ SDL_SCANCODE_UNKNOWN, /* KEY_SPREADSHEET */
  450. /* 424, 0x1a8 */ SDL_SCANCODE_UNKNOWN, /* KEY_GRAPHICSEDITOR */
  451. /* 425, 0x1a9 */ SDL_SCANCODE_UNKNOWN, /* KEY_PRESENTATION */
  452. /* 426, 0x1aa */ SDL_SCANCODE_UNKNOWN, /* KEY_DATABASE */
  453. /* 427, 0x1ab */ SDL_SCANCODE_UNKNOWN, /* KEY_NEWS */
  454. /* 428, 0x1ac */ SDL_SCANCODE_UNKNOWN, /* KEY_VOICEMAIL */
  455. /* 429, 0x1ad */ SDL_SCANCODE_UNKNOWN, /* KEY_ADDRESSBOOK */
  456. /* 430, 0x1ae */ SDL_SCANCODE_UNKNOWN, /* KEY_MESSENGER */
  457. /* 431, 0x1af */ SDL_SCANCODE_UNKNOWN, /* KEY_DISPLAYTOGGLE */
  458. /* 432, 0x1b0 */ SDL_SCANCODE_UNKNOWN, /* KEY_SPELLCHECK */
  459. /* 433, 0x1b1 */ SDL_SCANCODE_UNKNOWN, /* KEY_LOGOFF */
  460. /* 434, 0x1b2 */ SDL_SCANCODE_UNKNOWN, /* KEY_DOLLAR */
  461. /* 435, 0x1b3 */ SDL_SCANCODE_UNKNOWN, /* KEY_EURO */
  462. /* 436, 0x1b4 */ SDL_SCANCODE_UNKNOWN, /* KEY_FRAMEBACK */
  463. /* 437, 0x1b5 */ SDL_SCANCODE_UNKNOWN, /* KEY_FRAMEFORWARD */
  464. /* 438, 0x1b6 */ SDL_SCANCODE_UNKNOWN, /* KEY_CONTEXT_MENU */
  465. /* 439, 0x1b7 */ SDL_SCANCODE_UNKNOWN, /* KEY_MEDIA_REPEAT */
  466. /* 440, 0x1b8 */ SDL_SCANCODE_UNKNOWN, /* KEY_10CHANNELSUP */
  467. /* 441, 0x1b9 */ SDL_SCANCODE_UNKNOWN, /* KEY_10CHANNELSDOWN */
  468. /* 442, 0x1ba */ SDL_SCANCODE_UNKNOWN, /* KEY_IMAGES */
  469. /* 443, 0x1bb */ SDL_SCANCODE_UNKNOWN,
  470. /* 444, 0x1bc */ SDL_SCANCODE_UNKNOWN, /* KEY_NOTIFICATION_CENTER */
  471. /* 445, 0x1bd */ SDL_SCANCODE_UNKNOWN, /* KEY_PICKUP_PHONE */
  472. /* 446, 0x1be */ SDL_SCANCODE_UNKNOWN, /* KEY_HANGUP_PHONE */
  473. /* 447, 0x1bf */ SDL_SCANCODE_UNKNOWN,
  474. /* 448, 0x1c0 */ SDL_SCANCODE_UNKNOWN, /* KEY_DEL_EOL */
  475. /* 449, 0x1c1 */ SDL_SCANCODE_UNKNOWN, /* KEY_DEL_EOS */
  476. /* 450, 0x1c2 */ SDL_SCANCODE_UNKNOWN, /* KEY_INS_LINE */
  477. /* 451, 0x1c3 */ SDL_SCANCODE_UNKNOWN, /* KEY_DEL_LINE */
  478. /* 452, 0x1c4 */ SDL_SCANCODE_UNKNOWN,
  479. /* 453, 0x1c5 */ SDL_SCANCODE_UNKNOWN,
  480. /* 454, 0x1c6 */ SDL_SCANCODE_UNKNOWN,
  481. /* 455, 0x1c7 */ SDL_SCANCODE_UNKNOWN,
  482. /* 456, 0x1c8 */ SDL_SCANCODE_UNKNOWN,
  483. /* 457, 0x1c9 */ SDL_SCANCODE_UNKNOWN,
  484. /* 458, 0x1ca */ SDL_SCANCODE_UNKNOWN,
  485. /* 459, 0x1cb */ SDL_SCANCODE_UNKNOWN,
  486. /* 460, 0x1cc */ SDL_SCANCODE_UNKNOWN,
  487. /* 461, 0x1cd */ SDL_SCANCODE_UNKNOWN,
  488. /* 462, 0x1ce */ SDL_SCANCODE_UNKNOWN,
  489. /* 463, 0x1cf */ SDL_SCANCODE_UNKNOWN,
  490. /* 464, 0x1d0 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN */
  491. /* 465, 0x1d1 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_ESC */
  492. /* 466, 0x1d2 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F1 */
  493. /* 467, 0x1d3 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F2 */
  494. /* 468, 0x1d4 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F3 */
  495. /* 469, 0x1d5 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F4 */
  496. /* 470, 0x1d6 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F5 */
  497. /* 471, 0x1d7 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F6 */
  498. /* 472, 0x1d8 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F7 */
  499. /* 473, 0x1d9 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F8 */
  500. /* 474, 0x1da */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F9 */
  501. /* 475, 0x1db */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F10 */
  502. /* 476, 0x1dc */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F11 */
  503. /* 477, 0x1dd */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F12 */
  504. /* 478, 0x1de */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_1 */
  505. /* 479, 0x1df */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_2 */
  506. /* 480, 0x1e0 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_D */
  507. /* 481, 0x1e1 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_E */
  508. /* 482, 0x1e2 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_F */
  509. /* 483, 0x1e3 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_S */
  510. /* 484, 0x1e4 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_B */
  511. /* 485, 0x1e5 */ SDL_SCANCODE_UNKNOWN, /* KEY_FN_RIGHT_SHIFT */
  512. /* 486, 0x1e6 */ SDL_SCANCODE_UNKNOWN,
  513. /* 487, 0x1e7 */ SDL_SCANCODE_UNKNOWN,
  514. /* 488, 0x1e8 */ SDL_SCANCODE_UNKNOWN,
  515. /* 489, 0x1e9 */ SDL_SCANCODE_UNKNOWN,
  516. /* 490, 0x1ea */ SDL_SCANCODE_UNKNOWN,
  517. /* 491, 0x1eb */ SDL_SCANCODE_UNKNOWN,
  518. /* 492, 0x1ec */ SDL_SCANCODE_UNKNOWN,
  519. /* 493, 0x1ed */ SDL_SCANCODE_UNKNOWN,
  520. /* 494, 0x1ee */ SDL_SCANCODE_UNKNOWN,
  521. /* 495, 0x1ef */ SDL_SCANCODE_UNKNOWN,
  522. /* 496, 0x1f0 */ SDL_SCANCODE_UNKNOWN,
  523. /* 497, 0x1f1 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT1 */
  524. /* 498, 0x1f2 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT2 */
  525. /* 499, 0x1f3 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT3 */
  526. /* 500, 0x1f4 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT4 */
  527. /* 501, 0x1f5 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT5 */
  528. /* 502, 0x1f6 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT6 */
  529. /* 503, 0x1f7 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT7 */
  530. /* 504, 0x1f8 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT8 */
  531. /* 505, 0x1f9 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT9 */
  532. /* 506, 0x1fa */ SDL_SCANCODE_UNKNOWN, /* KEY_BRL_DOT10 */
  533. /* 507, 0x1fb */ SDL_SCANCODE_UNKNOWN,
  534. /* 508, 0x1fc */ SDL_SCANCODE_UNKNOWN,
  535. /* 509, 0x1fd */ SDL_SCANCODE_UNKNOWN,
  536. /* 510, 0x1fe */ SDL_SCANCODE_UNKNOWN,
  537. /* 511, 0x1ff */ SDL_SCANCODE_UNKNOWN,
  538. /* 512, 0x200 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_0 */
  539. /* 513, 0x201 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_1 */
  540. /* 514, 0x202 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_2 */
  541. /* 515, 0x203 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_3 */
  542. /* 516, 0x204 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_4 */
  543. /* 517, 0x205 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_5 */
  544. /* 518, 0x206 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_6 */
  545. /* 519, 0x207 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_7 */
  546. /* 520, 0x208 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_8 */
  547. /* 521, 0x209 */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_9 */
  548. /* 522, 0x20a */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_STAR */
  549. /* 523, 0x20b */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_POUND */
  550. /* 524, 0x20c */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_A */
  551. /* 525, 0x20d */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_B */
  552. /* 526, 0x20e */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_C */
  553. /* 527, 0x20f */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_D */
  554. /* 528, 0x210 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_FOCUS */
  555. /* 529, 0x211 */ SDL_SCANCODE_UNKNOWN, /* KEY_WPS_BUTTON */
  556. /* 530, 0x212 */ SDL_SCANCODE_UNKNOWN, /* KEY_TOUCHPAD_TOGGLE */
  557. /* 531, 0x213 */ SDL_SCANCODE_UNKNOWN, /* KEY_TOUCHPAD_ON */
  558. /* 532, 0x214 */ SDL_SCANCODE_UNKNOWN, /* KEY_TOUCHPAD_OFF */
  559. /* 533, 0x215 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_ZOOMIN */
  560. /* 534, 0x216 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_ZOOMOUT */
  561. /* 535, 0x217 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_UP */
  562. /* 536, 0x218 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_DOWN */
  563. /* 537, 0x219 */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_LEFT */
  564. /* 538, 0x21a */ SDL_SCANCODE_UNKNOWN, /* KEY_CAMERA_RIGHT */
  565. /* 539, 0x21b */ SDL_SCANCODE_UNKNOWN, /* KEY_ATTENDANT_ON */
  566. /* 540, 0x21c */ SDL_SCANCODE_UNKNOWN, /* KEY_ATTENDANT_OFF */
  567. /* 541, 0x21d */ SDL_SCANCODE_UNKNOWN, /* KEY_ATTENDANT_TOGGLE */
  568. /* 542, 0x21e */ SDL_SCANCODE_UNKNOWN, /* KEY_LIGHTS_TOGGLE */
  569. /* 543, 0x21f */ SDL_SCANCODE_UNKNOWN,
  570. /* 544, 0x220 */ SDL_SCANCODE_UNKNOWN,
  571. /* 545, 0x221 */ SDL_SCANCODE_UNKNOWN,
  572. /* 546, 0x222 */ SDL_SCANCODE_UNKNOWN,
  573. /* 547, 0x223 */ SDL_SCANCODE_UNKNOWN,
  574. /* 548, 0x224 */ SDL_SCANCODE_UNKNOWN,
  575. /* 549, 0x225 */ SDL_SCANCODE_UNKNOWN,
  576. /* 550, 0x226 */ SDL_SCANCODE_UNKNOWN,
  577. /* 551, 0x227 */ SDL_SCANCODE_UNKNOWN,
  578. /* 552, 0x228 */ SDL_SCANCODE_UNKNOWN,
  579. /* 553, 0x229 */ SDL_SCANCODE_UNKNOWN,
  580. /* 554, 0x22a */ SDL_SCANCODE_UNKNOWN,
  581. /* 555, 0x22b */ SDL_SCANCODE_UNKNOWN,
  582. /* 556, 0x22c */ SDL_SCANCODE_UNKNOWN,
  583. /* 557, 0x22d */ SDL_SCANCODE_UNKNOWN,
  584. /* 558, 0x22e */ SDL_SCANCODE_UNKNOWN,
  585. /* 559, 0x22f */ SDL_SCANCODE_UNKNOWN,
  586. /* 560, 0x230 */ SDL_SCANCODE_UNKNOWN, /* KEY_ALS_TOGGLE */
  587. /* 561, 0x231 */ SDL_SCANCODE_UNKNOWN, /* KEY_ROTATE_LOCK_TOGGLE */
  588. /* 562, 0x232 */ SDL_SCANCODE_UNKNOWN,
  589. /* 563, 0x233 */ SDL_SCANCODE_UNKNOWN,
  590. /* 564, 0x234 */ SDL_SCANCODE_UNKNOWN,
  591. /* 565, 0x235 */ SDL_SCANCODE_UNKNOWN,
  592. /* 566, 0x236 */ SDL_SCANCODE_UNKNOWN,
  593. /* 567, 0x237 */ SDL_SCANCODE_UNKNOWN,
  594. /* 568, 0x238 */ SDL_SCANCODE_UNKNOWN,
  595. /* 569, 0x239 */ SDL_SCANCODE_UNKNOWN,
  596. /* 570, 0x23a */ SDL_SCANCODE_UNKNOWN,
  597. /* 571, 0x23b */ SDL_SCANCODE_UNKNOWN,
  598. /* 572, 0x23c */ SDL_SCANCODE_UNKNOWN,
  599. /* 573, 0x23d */ SDL_SCANCODE_UNKNOWN,
  600. /* 574, 0x23e */ SDL_SCANCODE_UNKNOWN,
  601. /* 575, 0x23f */ SDL_SCANCODE_UNKNOWN,
  602. /* 576, 0x240 */ SDL_SCANCODE_UNKNOWN, /* KEY_BUTTONCONFIG */
  603. /* 577, 0x241 */ SDL_SCANCODE_UNKNOWN, /* KEY_TASKMANAGER */
  604. /* 578, 0x242 */ SDL_SCANCODE_UNKNOWN, /* KEY_JOURNAL */
  605. /* 579, 0x243 */ SDL_SCANCODE_UNKNOWN, /* KEY_CONTROLPANEL */
  606. /* 580, 0x244 */ SDL_SCANCODE_UNKNOWN, /* KEY_APPSELECT */
  607. /* 581, 0x245 */ SDL_SCANCODE_UNKNOWN, /* KEY_SCREENSAVER */
  608. /* 582, 0x246 */ SDL_SCANCODE_UNKNOWN, /* KEY_VOICECOMMAND */
  609. /* 583, 0x247 */ SDL_SCANCODE_UNKNOWN, /* KEY_ASSISTANT */
  610. /* 584, 0x248 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LAYOUT_NEXT */
  611. /* 585, 0x249 */ SDL_SCANCODE_UNKNOWN, /* KEY_EMOJI_PICKER */
  612. /* 586, 0x24a */ SDL_SCANCODE_UNKNOWN, /* KEY_DICTATE */
  613. /* 587, 0x24b */ SDL_SCANCODE_UNKNOWN,
  614. /* 588, 0x24c */ SDL_SCANCODE_UNKNOWN,
  615. /* 589, 0x24d */ SDL_SCANCODE_UNKNOWN,
  616. /* 590, 0x24e */ SDL_SCANCODE_UNKNOWN,
  617. /* 591, 0x24f */ SDL_SCANCODE_UNKNOWN,
  618. /* 592, 0x250 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRIGHTNESS_MIN */
  619. /* 593, 0x251 */ SDL_SCANCODE_UNKNOWN, /* KEY_BRIGHTNESS_MAX */
  620. /* 594, 0x252 */ SDL_SCANCODE_UNKNOWN,
  621. /* 595, 0x253 */ SDL_SCANCODE_UNKNOWN,
  622. /* 596, 0x254 */ SDL_SCANCODE_UNKNOWN,
  623. /* 597, 0x255 */ SDL_SCANCODE_UNKNOWN,
  624. /* 598, 0x256 */ SDL_SCANCODE_UNKNOWN,
  625. /* 599, 0x257 */ SDL_SCANCODE_UNKNOWN,
  626. /* 600, 0x258 */ SDL_SCANCODE_UNKNOWN,
  627. /* 601, 0x259 */ SDL_SCANCODE_UNKNOWN,
  628. /* 602, 0x25a */ SDL_SCANCODE_UNKNOWN,
  629. /* 603, 0x25b */ SDL_SCANCODE_UNKNOWN,
  630. /* 604, 0x25c */ SDL_SCANCODE_UNKNOWN,
  631. /* 605, 0x25d */ SDL_SCANCODE_UNKNOWN,
  632. /* 606, 0x25e */ SDL_SCANCODE_UNKNOWN,
  633. /* 607, 0x25f */ SDL_SCANCODE_UNKNOWN,
  634. /* 608, 0x260 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_PREV */
  635. /* 609, 0x261 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_NEXT */
  636. /* 610, 0x262 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_PREVGROUP */
  637. /* 611, 0x263 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_NEXTGROUP */
  638. /* 612, 0x264 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_ACCEPT */
  639. /* 613, 0x265 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBDINPUTASSIST_CANCEL */
  640. /* 614, 0x266 */ SDL_SCANCODE_UNKNOWN, /* KEY_RIGHT_UP */
  641. /* 615, 0x267 */ SDL_SCANCODE_UNKNOWN, /* KEY_RIGHT_DOWN */
  642. /* 616, 0x268 */ SDL_SCANCODE_UNKNOWN, /* KEY_LEFT_UP */
  643. /* 617, 0x269 */ SDL_SCANCODE_UNKNOWN, /* KEY_LEFT_DOWN */
  644. /* 618, 0x26a */ SDL_SCANCODE_UNKNOWN, /* KEY_ROOT_MENU */
  645. /* 619, 0x26b */ SDL_SCANCODE_UNKNOWN, /* KEY_MEDIA_TOP_MENU */
  646. /* 620, 0x26c */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_11 */
  647. /* 621, 0x26d */ SDL_SCANCODE_UNKNOWN, /* KEY_NUMERIC_12 */
  648. /* 622, 0x26e */ SDL_SCANCODE_UNKNOWN, /* KEY_AUDIO_DESC */
  649. /* 623, 0x26f */ SDL_SCANCODE_UNKNOWN, /* KEY_3D_MODE */
  650. /* 624, 0x270 */ SDL_SCANCODE_UNKNOWN, /* KEY_NEXT_FAVORITE */
  651. /* 625, 0x271 */ SDL_SCANCODE_UNKNOWN, /* KEY_STOP_RECORD */
  652. /* 626, 0x272 */ SDL_SCANCODE_UNKNOWN, /* KEY_PAUSE_RECORD */
  653. /* 627, 0x273 */ SDL_SCANCODE_UNKNOWN, /* KEY_VOD */
  654. /* 628, 0x274 */ SDL_SCANCODE_UNKNOWN, /* KEY_UNMUTE */
  655. /* 629, 0x275 */ SDL_SCANCODE_UNKNOWN, /* KEY_FASTREVERSE */
  656. /* 630, 0x276 */ SDL_SCANCODE_UNKNOWN, /* KEY_SLOWREVERSE */
  657. /* 631, 0x277 */ SDL_SCANCODE_UNKNOWN, /* KEY_DATA */
  658. /* 632, 0x278 */ SDL_SCANCODE_UNKNOWN, /* KEY_ONSCREEN_KEYBOARD */
  659. /* 633, 0x279 */ SDL_SCANCODE_UNKNOWN, /* KEY_PRIVACY_SCREEN_TOGGLE */
  660. /* 634, 0x27a */ SDL_SCANCODE_UNKNOWN, /* KEY_SELECTIVE_SCREENSHOT */
  661. /* 635, 0x27b */ SDL_SCANCODE_UNKNOWN,
  662. /* 636, 0x27c */ SDL_SCANCODE_UNKNOWN,
  663. /* 637, 0x27d */ SDL_SCANCODE_UNKNOWN,
  664. /* 638, 0x27e */ SDL_SCANCODE_UNKNOWN,
  665. /* 639, 0x27f */ SDL_SCANCODE_UNKNOWN,
  666. /* 640, 0x280 */ SDL_SCANCODE_UNKNOWN,
  667. /* 641, 0x281 */ SDL_SCANCODE_UNKNOWN,
  668. /* 642, 0x282 */ SDL_SCANCODE_UNKNOWN,
  669. /* 643, 0x283 */ SDL_SCANCODE_UNKNOWN,
  670. /* 644, 0x284 */ SDL_SCANCODE_UNKNOWN,
  671. /* 645, 0x285 */ SDL_SCANCODE_UNKNOWN,
  672. /* 646, 0x286 */ SDL_SCANCODE_UNKNOWN,
  673. /* 647, 0x287 */ SDL_SCANCODE_UNKNOWN,
  674. /* 648, 0x288 */ SDL_SCANCODE_UNKNOWN,
  675. /* 649, 0x289 */ SDL_SCANCODE_UNKNOWN,
  676. /* 650, 0x28a */ SDL_SCANCODE_UNKNOWN,
  677. /* 651, 0x28b */ SDL_SCANCODE_UNKNOWN,
  678. /* 652, 0x28c */ SDL_SCANCODE_UNKNOWN,
  679. /* 653, 0x28d */ SDL_SCANCODE_UNKNOWN,
  680. /* 654, 0x28e */ SDL_SCANCODE_UNKNOWN,
  681. /* 655, 0x28f */ SDL_SCANCODE_UNKNOWN,
  682. /* 656, 0x290 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO1 */
  683. /* 657, 0x291 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO2 */
  684. /* 658, 0x292 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO3 */
  685. /* 659, 0x293 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO4 */
  686. /* 660, 0x294 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO5 */
  687. /* 661, 0x295 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO6 */
  688. /* 662, 0x296 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO7 */
  689. /* 663, 0x297 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO8 */
  690. /* 664, 0x298 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO9 */
  691. /* 665, 0x299 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO10 */
  692. /* 666, 0x29a */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO11 */
  693. /* 667, 0x29b */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO12 */
  694. /* 668, 0x29c */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO13 */
  695. /* 669, 0x29d */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO14 */
  696. /* 670, 0x29e */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO15 */
  697. /* 671, 0x29f */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO16 */
  698. /* 672, 0x2a0 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO17 */
  699. /* 673, 0x2a1 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO18 */
  700. /* 674, 0x2a2 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO19 */
  701. /* 675, 0x2a3 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO20 */
  702. /* 676, 0x2a4 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO21 */
  703. /* 677, 0x2a5 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO22 */
  704. /* 678, 0x2a6 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO23 */
  705. /* 679, 0x2a7 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO24 */
  706. /* 680, 0x2a8 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO25 */
  707. /* 681, 0x2a9 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO26 */
  708. /* 682, 0x2aa */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO27 */
  709. /* 683, 0x2ab */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO28 */
  710. /* 684, 0x2ac */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO29 */
  711. /* 685, 0x2ad */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO30 */
  712. /* 686, 0x2ae */ SDL_SCANCODE_UNKNOWN,
  713. /* 687, 0x2af */ SDL_SCANCODE_UNKNOWN,
  714. /* 688, 0x2b0 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_RECORD_START */
  715. /* 689, 0x2b1 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_RECORD_STOP */
  716. /* 690, 0x2b2 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_PRESET_CYCLE */
  717. /* 691, 0x2b3 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_PRESET1 */
  718. /* 692, 0x2b4 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_PRESET2 */
  719. /* 693, 0x2b5 */ SDL_SCANCODE_UNKNOWN, /* KEY_MACRO_PRESET3 */
  720. /* 694, 0x2b6 */ SDL_SCANCODE_UNKNOWN,
  721. /* 695, 0x2b7 */ SDL_SCANCODE_UNKNOWN,
  722. /* 696, 0x2b8 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LCD_MENU1 */
  723. /* 697, 0x2b9 */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LCD_MENU2 */
  724. /* 698, 0x2ba */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LCD_MENU3 */
  725. /* 699, 0x2bb */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LCD_MENU4 */
  726. /* 700, 0x2bc */ SDL_SCANCODE_UNKNOWN, /* KEY_KBD_LCD_MENU5 */
  727. /* 701, 0x2bd */ SDL_SCANCODE_UNKNOWN,
  728. /* 702, 0x2be */ SDL_SCANCODE_UNKNOWN,
  729. /* 703, 0x2bf */ SDL_SCANCODE_UNKNOWN,
  730. /* 704, 0x2c0 */ SDL_SCANCODE_UNKNOWN,
  731. /* 705, 0x2c1 */ SDL_SCANCODE_UNKNOWN,
  732. /* 706, 0x2c2 */ SDL_SCANCODE_UNKNOWN,
  733. /* 707, 0x2c3 */ SDL_SCANCODE_UNKNOWN,
  734. /* 708, 0x2c4 */ SDL_SCANCODE_UNKNOWN,
  735. /* 709, 0x2c5 */ SDL_SCANCODE_UNKNOWN,
  736. /* 710, 0x2c6 */ SDL_SCANCODE_UNKNOWN,
  737. /* 711, 0x2c7 */ SDL_SCANCODE_UNKNOWN,
  738. /* 712, 0x2c8 */ SDL_SCANCODE_UNKNOWN,
  739. /* 713, 0x2c9 */ SDL_SCANCODE_UNKNOWN,
  740. /* 714, 0x2ca */ SDL_SCANCODE_UNKNOWN,
  741. /* 715, 0x2cb */ SDL_SCANCODE_UNKNOWN,
  742. /* 716, 0x2cc */ SDL_SCANCODE_UNKNOWN,
  743. /* 717, 0x2cd */ SDL_SCANCODE_UNKNOWN,
  744. /* 718, 0x2ce */ SDL_SCANCODE_UNKNOWN,
  745. /* 719, 0x2cf */ SDL_SCANCODE_UNKNOWN,
  746. /* 720, 0x2d0 */ SDL_SCANCODE_UNKNOWN,
  747. /* 721, 0x2d1 */ SDL_SCANCODE_UNKNOWN,
  748. /* 722, 0x2d2 */ SDL_SCANCODE_UNKNOWN,
  749. /* 723, 0x2d3 */ SDL_SCANCODE_UNKNOWN,
  750. /* 724, 0x2d4 */ SDL_SCANCODE_UNKNOWN,
  751. /* 725, 0x2d5 */ SDL_SCANCODE_UNKNOWN,
  752. /* 726, 0x2d6 */ SDL_SCANCODE_UNKNOWN,
  753. /* 727, 0x2d7 */ SDL_SCANCODE_UNKNOWN,
  754. /* 728, 0x2d8 */ SDL_SCANCODE_UNKNOWN,
  755. /* 729, 0x2d9 */ SDL_SCANCODE_UNKNOWN,
  756. /* 730, 0x2da */ SDL_SCANCODE_UNKNOWN,
  757. /* 731, 0x2db */ SDL_SCANCODE_UNKNOWN,
  758. /* 732, 0x2dc */ SDL_SCANCODE_UNKNOWN,
  759. /* 733, 0x2dd */ SDL_SCANCODE_UNKNOWN,
  760. /* 734, 0x2de */ SDL_SCANCODE_UNKNOWN,
  761. /* 735, 0x2df */ SDL_SCANCODE_UNKNOWN,
  762. /* 736, 0x2e0 */ SDL_SCANCODE_UNKNOWN,
  763. /* 737, 0x2e1 */ SDL_SCANCODE_UNKNOWN,
  764. /* 738, 0x2e2 */ SDL_SCANCODE_UNKNOWN,
  765. /* 739, 0x2e3 */ SDL_SCANCODE_UNKNOWN,
  766. /* 740, 0x2e4 */ SDL_SCANCODE_UNKNOWN,
  767. /* 741, 0x2e5 */ SDL_SCANCODE_UNKNOWN,
  768. /* 742, 0x2e6 */ SDL_SCANCODE_UNKNOWN,
  769. /* 743, 0x2e7 */ SDL_SCANCODE_UNKNOWN,
  770. /* 744, 0x2e8 */ SDL_SCANCODE_UNKNOWN,
  771. /* 745, 0x2e9 */ SDL_SCANCODE_UNKNOWN,
  772. /* 746, 0x2ea */ SDL_SCANCODE_UNKNOWN,
  773. /* 747, 0x2eb */ SDL_SCANCODE_UNKNOWN,
  774. /* 748, 0x2ec */ SDL_SCANCODE_UNKNOWN,
  775. /* 749, 0x2ed */ SDL_SCANCODE_UNKNOWN,
  776. /* 750, 0x2ee */ SDL_SCANCODE_UNKNOWN,
  777. /* 751, 0x2ef */ SDL_SCANCODE_UNKNOWN,
  778. /* 752, 0x2f0 */ SDL_SCANCODE_UNKNOWN,
  779. /* 753, 0x2f1 */ SDL_SCANCODE_UNKNOWN,
  780. /* 754, 0x2f2 */ SDL_SCANCODE_UNKNOWN,
  781. /* 755, 0x2f3 */ SDL_SCANCODE_UNKNOWN,
  782. /* 756, 0x2f4 */ SDL_SCANCODE_UNKNOWN,
  783. /* 757, 0x2f5 */ SDL_SCANCODE_UNKNOWN,
  784. /* 758, 0x2f6 */ SDL_SCANCODE_UNKNOWN,
  785. /* 759, 0x2f7 */ SDL_SCANCODE_UNKNOWN,
  786. /* 760, 0x2f8 */ SDL_SCANCODE_UNKNOWN,
  787. /* 761, 0x2f9 */ SDL_SCANCODE_UNKNOWN,
  788. /* 762, 0x2fa */ SDL_SCANCODE_UNKNOWN,
  789. /* 763, 0x2fb */ SDL_SCANCODE_UNKNOWN,
  790. /* 764, 0x2fc */ SDL_SCANCODE_UNKNOWN,
  791. /* 765, 0x2fd */ SDL_SCANCODE_UNKNOWN,
  792. /* 766, 0x2fe */ SDL_SCANCODE_UNKNOWN,
  793. /* 767, 0x2ff */ SDL_SCANCODE_UNKNOWN, /* KEY_MAX */
  794. #endif /* 0 */
  795. };
  796. #if 0 /* A shell script to update the Linux key names in this file */
  797. #!/bin/bash
  798. function get_keyname
  799. {
  800. value=$(echo "$1" | awk '{print $3}')
  801. grep -F KEY_ /usr/include/linux/input-event-codes.h | while read line; do
  802. read -ra fields <<<"$line"
  803. if [ "${fields[2]}" = "$value" ]; then
  804. echo "${fields[1]}"
  805. return
  806. fi
  807. done
  808. }
  809. grep -F SDL_SCANCODE scancodes_linux.h | while read line; do
  810. if [ $(echo "$line" | awk '{print NF}') -eq 5 ]; then
  811. name=$(get_keyname "$line")
  812. if [ "$name" != "" ]; then
  813. echo " $line /* $name */"
  814. continue
  815. fi
  816. fi
  817. echo " $line"
  818. done
  819. #endif /* end script */
  820. #if 0 /* A shell script to get comments from the Linux header for these keys */
  821. #!/bin/bash
  822. function get_comment
  823. {
  824. name=$(echo "$1" | awk '{print $7}')
  825. if [ "$name" != "" ]; then
  826. grep -E "$name\s" /usr/include/linux/input-event-codes.h | grep -F "/*" | sed 's,[^/]*/,/,'
  827. fi
  828. }
  829. grep -F SDL_SCANCODE scancodes_linux.h | while read line; do
  830. comment=$(get_comment "$line")
  831. if [ "$comment" != "" ]; then
  832. echo " $line $comment"
  833. fi
  834. done
  835. #endif /* end script */
  836. /* *INDENT-ON* */ /* clang-format on */