sdl2-keymap.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /* map SDL2 scancodes to QKeyCode */
  2. static const int sdl2_scancode_to_qcode[SDL_NUM_SCANCODES] = {
  3. [SDL_SCANCODE_A] = Q_KEY_CODE_A,
  4. [SDL_SCANCODE_B] = Q_KEY_CODE_B,
  5. [SDL_SCANCODE_C] = Q_KEY_CODE_C,
  6. [SDL_SCANCODE_D] = Q_KEY_CODE_D,
  7. [SDL_SCANCODE_E] = Q_KEY_CODE_E,
  8. [SDL_SCANCODE_F] = Q_KEY_CODE_F,
  9. [SDL_SCANCODE_G] = Q_KEY_CODE_G,
  10. [SDL_SCANCODE_H] = Q_KEY_CODE_H,
  11. [SDL_SCANCODE_I] = Q_KEY_CODE_I,
  12. [SDL_SCANCODE_J] = Q_KEY_CODE_J,
  13. [SDL_SCANCODE_K] = Q_KEY_CODE_K,
  14. [SDL_SCANCODE_L] = Q_KEY_CODE_L,
  15. [SDL_SCANCODE_M] = Q_KEY_CODE_M,
  16. [SDL_SCANCODE_N] = Q_KEY_CODE_N,
  17. [SDL_SCANCODE_O] = Q_KEY_CODE_O,
  18. [SDL_SCANCODE_P] = Q_KEY_CODE_P,
  19. [SDL_SCANCODE_Q] = Q_KEY_CODE_Q,
  20. [SDL_SCANCODE_R] = Q_KEY_CODE_R,
  21. [SDL_SCANCODE_S] = Q_KEY_CODE_S,
  22. [SDL_SCANCODE_T] = Q_KEY_CODE_T,
  23. [SDL_SCANCODE_U] = Q_KEY_CODE_U,
  24. [SDL_SCANCODE_V] = Q_KEY_CODE_V,
  25. [SDL_SCANCODE_W] = Q_KEY_CODE_W,
  26. [SDL_SCANCODE_X] = Q_KEY_CODE_X,
  27. [SDL_SCANCODE_Y] = Q_KEY_CODE_Y,
  28. [SDL_SCANCODE_Z] = Q_KEY_CODE_Z,
  29. [SDL_SCANCODE_1] = Q_KEY_CODE_1,
  30. [SDL_SCANCODE_2] = Q_KEY_CODE_2,
  31. [SDL_SCANCODE_3] = Q_KEY_CODE_3,
  32. [SDL_SCANCODE_4] = Q_KEY_CODE_4,
  33. [SDL_SCANCODE_5] = Q_KEY_CODE_5,
  34. [SDL_SCANCODE_6] = Q_KEY_CODE_6,
  35. [SDL_SCANCODE_7] = Q_KEY_CODE_7,
  36. [SDL_SCANCODE_8] = Q_KEY_CODE_8,
  37. [SDL_SCANCODE_9] = Q_KEY_CODE_9,
  38. [SDL_SCANCODE_0] = Q_KEY_CODE_0,
  39. [SDL_SCANCODE_RETURN] = Q_KEY_CODE_RET,
  40. [SDL_SCANCODE_ESCAPE] = Q_KEY_CODE_ESC,
  41. [SDL_SCANCODE_BACKSPACE] = Q_KEY_CODE_BACKSPACE,
  42. [SDL_SCANCODE_TAB] = Q_KEY_CODE_TAB,
  43. [SDL_SCANCODE_SPACE] = Q_KEY_CODE_SPC,
  44. [SDL_SCANCODE_MINUS] = Q_KEY_CODE_MINUS,
  45. [SDL_SCANCODE_EQUALS] = Q_KEY_CODE_EQUAL,
  46. [SDL_SCANCODE_LEFTBRACKET] = Q_KEY_CODE_BRACKET_LEFT,
  47. [SDL_SCANCODE_RIGHTBRACKET] = Q_KEY_CODE_BRACKET_RIGHT,
  48. [SDL_SCANCODE_BACKSLASH] = Q_KEY_CODE_BACKSLASH,
  49. #if 0
  50. [SDL_SCANCODE_NONUSHASH] = Q_KEY_CODE_NONUSHASH,
  51. #endif
  52. [SDL_SCANCODE_SEMICOLON] = Q_KEY_CODE_SEMICOLON,
  53. [SDL_SCANCODE_APOSTROPHE] = Q_KEY_CODE_APOSTROPHE,
  54. [SDL_SCANCODE_GRAVE] = Q_KEY_CODE_GRAVE_ACCENT,
  55. [SDL_SCANCODE_COMMA] = Q_KEY_CODE_COMMA,
  56. [SDL_SCANCODE_PERIOD] = Q_KEY_CODE_DOT,
  57. [SDL_SCANCODE_SLASH] = Q_KEY_CODE_SLASH,
  58. [SDL_SCANCODE_CAPSLOCK] = Q_KEY_CODE_CAPS_LOCK,
  59. [SDL_SCANCODE_F1] = Q_KEY_CODE_F1,
  60. [SDL_SCANCODE_F2] = Q_KEY_CODE_F2,
  61. [SDL_SCANCODE_F3] = Q_KEY_CODE_F3,
  62. [SDL_SCANCODE_F4] = Q_KEY_CODE_F4,
  63. [SDL_SCANCODE_F5] = Q_KEY_CODE_F5,
  64. [SDL_SCANCODE_F6] = Q_KEY_CODE_F6,
  65. [SDL_SCANCODE_F7] = Q_KEY_CODE_F7,
  66. [SDL_SCANCODE_F8] = Q_KEY_CODE_F8,
  67. [SDL_SCANCODE_F9] = Q_KEY_CODE_F9,
  68. [SDL_SCANCODE_F10] = Q_KEY_CODE_F10,
  69. [SDL_SCANCODE_F11] = Q_KEY_CODE_F11,
  70. [SDL_SCANCODE_F12] = Q_KEY_CODE_F12,
  71. [SDL_SCANCODE_PRINTSCREEN] = Q_KEY_CODE_PRINT,
  72. [SDL_SCANCODE_SCROLLLOCK] = Q_KEY_CODE_SCROLL_LOCK,
  73. [SDL_SCANCODE_PAUSE] = Q_KEY_CODE_PAUSE,
  74. [SDL_SCANCODE_INSERT] = Q_KEY_CODE_INSERT,
  75. [SDL_SCANCODE_HOME] = Q_KEY_CODE_HOME,
  76. [SDL_SCANCODE_PAGEUP] = Q_KEY_CODE_PGUP,
  77. [SDL_SCANCODE_DELETE] = Q_KEY_CODE_DELETE,
  78. [SDL_SCANCODE_END] = Q_KEY_CODE_END,
  79. [SDL_SCANCODE_PAGEDOWN] = Q_KEY_CODE_PGDN,
  80. [SDL_SCANCODE_RIGHT] = Q_KEY_CODE_RIGHT,
  81. [SDL_SCANCODE_LEFT] = Q_KEY_CODE_LEFT,
  82. [SDL_SCANCODE_DOWN] = Q_KEY_CODE_DOWN,
  83. [SDL_SCANCODE_UP] = Q_KEY_CODE_UP,
  84. [SDL_SCANCODE_NUMLOCKCLEAR] = Q_KEY_CODE_NUM_LOCK,
  85. [SDL_SCANCODE_KP_DIVIDE] = Q_KEY_CODE_KP_DIVIDE,
  86. [SDL_SCANCODE_KP_MULTIPLY] = Q_KEY_CODE_KP_MULTIPLY,
  87. [SDL_SCANCODE_KP_MINUS] = Q_KEY_CODE_KP_SUBTRACT,
  88. [SDL_SCANCODE_KP_PLUS] = Q_KEY_CODE_KP_ADD,
  89. [SDL_SCANCODE_KP_ENTER] = Q_KEY_CODE_KP_ENTER,
  90. [SDL_SCANCODE_KP_1] = Q_KEY_CODE_KP_1,
  91. [SDL_SCANCODE_KP_2] = Q_KEY_CODE_KP_2,
  92. [SDL_SCANCODE_KP_3] = Q_KEY_CODE_KP_3,
  93. [SDL_SCANCODE_KP_4] = Q_KEY_CODE_KP_4,
  94. [SDL_SCANCODE_KP_5] = Q_KEY_CODE_KP_5,
  95. [SDL_SCANCODE_KP_6] = Q_KEY_CODE_KP_6,
  96. [SDL_SCANCODE_KP_7] = Q_KEY_CODE_KP_7,
  97. [SDL_SCANCODE_KP_8] = Q_KEY_CODE_KP_8,
  98. [SDL_SCANCODE_KP_9] = Q_KEY_CODE_KP_9,
  99. [SDL_SCANCODE_KP_0] = Q_KEY_CODE_KP_0,
  100. [SDL_SCANCODE_KP_PERIOD] = Q_KEY_CODE_KP_DECIMAL,
  101. #if 0
  102. [SDL_SCANCODE_NONUSBACKSLASH] = Q_KEY_CODE_NONUSBACKSLASH,
  103. [SDL_SCANCODE_APPLICATION] = Q_KEY_CODE_APPLICATION,
  104. [SDL_SCANCODE_POWER] = Q_KEY_CODE_POWER,
  105. [SDL_SCANCODE_KP_EQUALS] = Q_KEY_CODE_KP_EQUALS,
  106. [SDL_SCANCODE_F13] = Q_KEY_CODE_F13,
  107. [SDL_SCANCODE_F14] = Q_KEY_CODE_F14,
  108. [SDL_SCANCODE_F15] = Q_KEY_CODE_F15,
  109. [SDL_SCANCODE_F16] = Q_KEY_CODE_F16,
  110. [SDL_SCANCODE_F17] = Q_KEY_CODE_F17,
  111. [SDL_SCANCODE_F18] = Q_KEY_CODE_F18,
  112. [SDL_SCANCODE_F19] = Q_KEY_CODE_F19,
  113. [SDL_SCANCODE_F20] = Q_KEY_CODE_F20,
  114. [SDL_SCANCODE_F21] = Q_KEY_CODE_F21,
  115. [SDL_SCANCODE_F22] = Q_KEY_CODE_F22,
  116. [SDL_SCANCODE_F23] = Q_KEY_CODE_F23,
  117. [SDL_SCANCODE_F24] = Q_KEY_CODE_F24,
  118. [SDL_SCANCODE_EXECUTE] = Q_KEY_CODE_EXECUTE,
  119. #endif
  120. [SDL_SCANCODE_HELP] = Q_KEY_CODE_HELP,
  121. [SDL_SCANCODE_MENU] = Q_KEY_CODE_MENU,
  122. #if 0
  123. [SDL_SCANCODE_SELECT] = Q_KEY_CODE_SELECT,
  124. #endif
  125. [SDL_SCANCODE_STOP] = Q_KEY_CODE_STOP,
  126. [SDL_SCANCODE_AGAIN] = Q_KEY_CODE_AGAIN,
  127. [SDL_SCANCODE_UNDO] = Q_KEY_CODE_UNDO,
  128. [SDL_SCANCODE_CUT] = Q_KEY_CODE_CUT,
  129. [SDL_SCANCODE_COPY] = Q_KEY_CODE_COPY,
  130. [SDL_SCANCODE_PASTE] = Q_KEY_CODE_PASTE,
  131. [SDL_SCANCODE_FIND] = Q_KEY_CODE_FIND,
  132. #if 0
  133. [SDL_SCANCODE_MUTE] = Q_KEY_CODE_MUTE,
  134. [SDL_SCANCODE_VOLUMEUP] = Q_KEY_CODE_VOLUMEUP,
  135. [SDL_SCANCODE_VOLUMEDOWN] = Q_KEY_CODE_VOLUMEDOWN,
  136. [SDL_SCANCODE_KP_COMMA] = Q_KEY_CODE_KP_COMMA,
  137. [SDL_SCANCODE_KP_EQUALSAS400] = Q_KEY_CODE_KP_EQUALSAS400,
  138. [SDL_SCANCODE_INTERNATIONAL1] = Q_KEY_CODE_INTERNATIONAL1,
  139. [SDL_SCANCODE_INTERNATIONAL2] = Q_KEY_CODE_INTERNATIONAL2,
  140. [SDL_SCANCODE_INTERNATIONAL3] = Q_KEY_CODE_INTERNATIONAL3,
  141. [SDL_SCANCODE_INTERNATIONAL4] = Q_KEY_CODE_INTERNATIONAL4,
  142. [SDL_SCANCODE_INTERNATIONAL5] = Q_KEY_CODE_INTERNATIONAL5,
  143. [SDL_SCANCODE_INTERNATIONAL6] = Q_KEY_CODE_INTERNATIONAL6,
  144. [SDL_SCANCODE_INTERNATIONAL7] = Q_KEY_CODE_INTERNATIONAL7,
  145. [SDL_SCANCODE_INTERNATIONAL8] = Q_KEY_CODE_INTERNATIONAL8,
  146. [SDL_SCANCODE_INTERNATIONAL9] = Q_KEY_CODE_INTERNATIONAL9,
  147. [SDL_SCANCODE_LANG1] = Q_KEY_CODE_LANG1,
  148. [SDL_SCANCODE_LANG2] = Q_KEY_CODE_LANG2,
  149. [SDL_SCANCODE_LANG3] = Q_KEY_CODE_LANG3,
  150. [SDL_SCANCODE_LANG4] = Q_KEY_CODE_LANG4,
  151. [SDL_SCANCODE_LANG5] = Q_KEY_CODE_LANG5,
  152. [SDL_SCANCODE_LANG6] = Q_KEY_CODE_LANG6,
  153. [SDL_SCANCODE_LANG7] = Q_KEY_CODE_LANG7,
  154. [SDL_SCANCODE_LANG8] = Q_KEY_CODE_LANG8,
  155. [SDL_SCANCODE_LANG9] = Q_KEY_CODE_LANG9,
  156. [SDL_SCANCODE_ALTERASE] = Q_KEY_CODE_ALTERASE,
  157. #endif
  158. [SDL_SCANCODE_SYSREQ] = Q_KEY_CODE_SYSRQ,
  159. #if 0
  160. [SDL_SCANCODE_CANCEL] = Q_KEY_CODE_CANCEL,
  161. [SDL_SCANCODE_CLEAR] = Q_KEY_CODE_CLEAR,
  162. [SDL_SCANCODE_PRIOR] = Q_KEY_CODE_PRIOR,
  163. [SDL_SCANCODE_RETURN2] = Q_KEY_CODE_RETURN2,
  164. [SDL_SCANCODE_SEPARATOR] = Q_KEY_CODE_SEPARATOR,
  165. [SDL_SCANCODE_OUT] = Q_KEY_CODE_OUT,
  166. [SDL_SCANCODE_OPER] = Q_KEY_CODE_OPER,
  167. [SDL_SCANCODE_CLEARAGAIN] = Q_KEY_CODE_CLEARAGAIN,
  168. [SDL_SCANCODE_CRSEL] = Q_KEY_CODE_CRSEL,
  169. [SDL_SCANCODE_EXSEL] = Q_KEY_CODE_EXSEL,
  170. [SDL_SCANCODE_KP_00] = Q_KEY_CODE_KP_00,
  171. [SDL_SCANCODE_KP_000] = Q_KEY_CODE_KP_000,
  172. [SDL_SCANCODE_THOUSANDSSEPARATOR] = Q_KEY_CODE_THOUSANDSSEPARATOR,
  173. [SDL_SCANCODE_DECIMALSEPARATOR] = Q_KEY_CODE_DECIMALSEPARATOR,
  174. [SDL_SCANCODE_CURRENCYUNIT] = Q_KEY_CODE_CURRENCYUNIT,
  175. [SDL_SCANCODE_CURRENCYSUBUNIT] = Q_KEY_CODE_CURRENCYSUBUNIT,
  176. [SDL_SCANCODE_KP_LEFTPAREN] = Q_KEY_CODE_KP_LEFTPAREN,
  177. [SDL_SCANCODE_KP_RIGHTPAREN] = Q_KEY_CODE_KP_RIGHTPAREN,
  178. [SDL_SCANCODE_KP_LEFTBRACE] = Q_KEY_CODE_KP_LEFTBRACE,
  179. [SDL_SCANCODE_KP_RIGHTBRACE] = Q_KEY_CODE_KP_RIGHTBRACE,
  180. [SDL_SCANCODE_KP_TAB] = Q_KEY_CODE_KP_TAB,
  181. [SDL_SCANCODE_KP_BACKSPACE] = Q_KEY_CODE_KP_BACKSPACE,
  182. [SDL_SCANCODE_KP_A] = Q_KEY_CODE_KP_A,
  183. [SDL_SCANCODE_KP_B] = Q_KEY_CODE_KP_B,
  184. [SDL_SCANCODE_KP_C] = Q_KEY_CODE_KP_C,
  185. [SDL_SCANCODE_KP_D] = Q_KEY_CODE_KP_D,
  186. [SDL_SCANCODE_KP_E] = Q_KEY_CODE_KP_E,
  187. [SDL_SCANCODE_KP_F] = Q_KEY_CODE_KP_F,
  188. [SDL_SCANCODE_KP_XOR] = Q_KEY_CODE_KP_XOR,
  189. [SDL_SCANCODE_KP_POWER] = Q_KEY_CODE_KP_POWER,
  190. [SDL_SCANCODE_KP_PERCENT] = Q_KEY_CODE_KP_PERCENT,
  191. [SDL_SCANCODE_KP_LESS] = Q_KEY_CODE_KP_LESS,
  192. [SDL_SCANCODE_KP_GREATER] = Q_KEY_CODE_KP_GREATER,
  193. [SDL_SCANCODE_KP_AMPERSAND] = Q_KEY_CODE_KP_AMPERSAND,
  194. [SDL_SCANCODE_KP_DBLAMPERSAND] = Q_KEY_CODE_KP_DBLAMPERSAND,
  195. [SDL_SCANCODE_KP_VERTICALBAR] = Q_KEY_CODE_KP_VERTICALBAR,
  196. [SDL_SCANCODE_KP_DBLVERTICALBAR] = Q_KEY_CODE_KP_DBLVERTICALBAR,
  197. [SDL_SCANCODE_KP_COLON] = Q_KEY_CODE_KP_COLON,
  198. [SDL_SCANCODE_KP_HASH] = Q_KEY_CODE_KP_HASH,
  199. [SDL_SCANCODE_KP_SPACE] = Q_KEY_CODE_KP_SPACE,
  200. [SDL_SCANCODE_KP_AT] = Q_KEY_CODE_KP_AT,
  201. [SDL_SCANCODE_KP_EXCLAM] = Q_KEY_CODE_KP_EXCLAM,
  202. [SDL_SCANCODE_KP_MEMSTORE] = Q_KEY_CODE_KP_MEMSTORE,
  203. [SDL_SCANCODE_KP_MEMRECALL] = Q_KEY_CODE_KP_MEMRECALL,
  204. [SDL_SCANCODE_KP_MEMCLEAR] = Q_KEY_CODE_KP_MEMCLEAR,
  205. [SDL_SCANCODE_KP_MEMADD] = Q_KEY_CODE_KP_MEMADD,
  206. [SDL_SCANCODE_KP_MEMSUBTRACT] = Q_KEY_CODE_KP_MEMSUBTRACT,
  207. [SDL_SCANCODE_KP_MEMMULTIPLY] = Q_KEY_CODE_KP_MEMMULTIPLY,
  208. [SDL_SCANCODE_KP_MEMDIVIDE] = Q_KEY_CODE_KP_MEMDIVIDE,
  209. [SDL_SCANCODE_KP_PLUSMINUS] = Q_KEY_CODE_KP_PLUSMINUS,
  210. [SDL_SCANCODE_KP_CLEAR] = Q_KEY_CODE_KP_CLEAR,
  211. [SDL_SCANCODE_KP_CLEARENTRY] = Q_KEY_CODE_KP_CLEARENTRY,
  212. [SDL_SCANCODE_KP_BINARY] = Q_KEY_CODE_KP_BINARY,
  213. [SDL_SCANCODE_KP_OCTAL] = Q_KEY_CODE_KP_OCTAL,
  214. [SDL_SCANCODE_KP_DECIMAL] = Q_KEY_CODE_KP_DECIMAL,
  215. [SDL_SCANCODE_KP_HEXADECIMAL] = Q_KEY_CODE_KP_HEXADECIMAL,
  216. #endif
  217. [SDL_SCANCODE_LCTRL] = Q_KEY_CODE_CTRL,
  218. [SDL_SCANCODE_LSHIFT] = Q_KEY_CODE_SHIFT,
  219. [SDL_SCANCODE_LALT] = Q_KEY_CODE_ALT,
  220. [SDL_SCANCODE_LGUI] = Q_KEY_CODE_META_L,
  221. [SDL_SCANCODE_RCTRL] = Q_KEY_CODE_CTRL_R,
  222. [SDL_SCANCODE_RSHIFT] = Q_KEY_CODE_SHIFT_R,
  223. [SDL_SCANCODE_RALT] = Q_KEY_CODE_ALTGR,
  224. [SDL_SCANCODE_RGUI] = Q_KEY_CODE_META_R,
  225. #if 0
  226. [SDL_SCANCODE_MODE] = Q_KEY_CODE_MODE,
  227. [SDL_SCANCODE_AUDIONEXT] = Q_KEY_CODE_AUDIONEXT,
  228. [SDL_SCANCODE_AUDIOPREV] = Q_KEY_CODE_AUDIOPREV,
  229. [SDL_SCANCODE_AUDIOSTOP] = Q_KEY_CODE_AUDIOSTOP,
  230. [SDL_SCANCODE_AUDIOPLAY] = Q_KEY_CODE_AUDIOPLAY,
  231. [SDL_SCANCODE_AUDIOMUTE] = Q_KEY_CODE_AUDIOMUTE,
  232. [SDL_SCANCODE_MEDIASELECT] = Q_KEY_CODE_MEDIASELECT,
  233. [SDL_SCANCODE_WWW] = Q_KEY_CODE_WWW,
  234. [SDL_SCANCODE_MAIL] = Q_KEY_CODE_MAIL,
  235. [SDL_SCANCODE_CALCULATOR] = Q_KEY_CODE_CALCULATOR,
  236. [SDL_SCANCODE_COMPUTER] = Q_KEY_CODE_COMPUTER,
  237. [SDL_SCANCODE_AC_SEARCH] = Q_KEY_CODE_AC_SEARCH,
  238. [SDL_SCANCODE_AC_HOME] = Q_KEY_CODE_AC_HOME,
  239. [SDL_SCANCODE_AC_BACK] = Q_KEY_CODE_AC_BACK,
  240. [SDL_SCANCODE_AC_FORWARD] = Q_KEY_CODE_AC_FORWARD,
  241. [SDL_SCANCODE_AC_STOP] = Q_KEY_CODE_AC_STOP,
  242. [SDL_SCANCODE_AC_REFRESH] = Q_KEY_CODE_AC_REFRESH,
  243. [SDL_SCANCODE_AC_BOOKMARKS] = Q_KEY_CODE_AC_BOOKMARKS,
  244. [SDL_SCANCODE_BRIGHTNESSDOWN] = Q_KEY_CODE_BRIGHTNESSDOWN,
  245. [SDL_SCANCODE_BRIGHTNESSUP] = Q_KEY_CODE_BRIGHTNESSUP,
  246. [SDL_SCANCODE_DISPLAYSWITCH] = Q_KEY_CODE_DISPLAYSWITCH,
  247. [SDL_SCANCODE_KBDILLUMTOGGLE] = Q_KEY_CODE_KBDILLUMTOGGLE,
  248. [SDL_SCANCODE_KBDILLUMDOWN] = Q_KEY_CODE_KBDILLUMDOWN,
  249. [SDL_SCANCODE_KBDILLUMUP] = Q_KEY_CODE_KBDILLUMUP,
  250. [SDL_SCANCODE_EJECT] = Q_KEY_CODE_EJECT,
  251. [SDL_SCANCODE_SLEEP] = Q_KEY_CODE_SLEEP,
  252. [SDL_SCANCODE_APP1] = Q_KEY_CODE_APP1,
  253. [SDL_SCANCODE_APP2] = Q_KEY_CODE_APP2,
  254. #endif
  255. };