InputEvents.h 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  1. //
  2. // Copyright (c) 2008-2017 the Urho3D project.
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining a copy
  5. // of this software and associated documentation files (the "Software"), to deal
  6. // in the Software without restriction, including without limitation the rights
  7. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. // copies of the Software, and to permit persons to whom the Software is
  9. // furnished to do so, subject to the following conditions:
  10. //
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20. // THE SOFTWARE.
  21. //
  22. #pragma once
  23. #include "../Core/Object.h"
  24. // ATOMIC BEGIN
  25. #include <SDL/include/SDL_joystick.h>
  26. #include <SDL/include/SDL_gamecontroller.h>
  27. #include <SDL/include/SDL_keycode.h>
  28. #include <SDL/include/SDL_mouse.h>
  29. #include <SDL/include/SDL_haptic.h>
  30. // ATOMIC END
  31. namespace Atomic
  32. {
  33. /// Mouse button pressed.
  34. ATOMIC_EVENT(E_MOUSEBUTTONDOWN, MouseButtonDown)
  35. {
  36. ATOMIC_PARAM(P_BUTTON, Button); // int
  37. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  38. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  39. }
  40. /// Mouse button released.
  41. ATOMIC_EVENT(E_MOUSEBUTTONUP, MouseButtonUp)
  42. {
  43. ATOMIC_PARAM(P_BUTTON, Button); // int
  44. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  45. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  46. }
  47. /// Mouse moved.
  48. ATOMIC_EVENT(E_MOUSEMOVE, MouseMove)
  49. {
  50. ATOMIC_PARAM(P_X, X); // int (only when mouse visible)
  51. ATOMIC_PARAM(P_Y, Y); // int (only when mouse visible)
  52. ATOMIC_PARAM(P_DX, DX); // int
  53. ATOMIC_PARAM(P_DY, DY); // int
  54. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  55. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  56. }
  57. /// Mouse wheel moved.
  58. ATOMIC_EVENT(E_MOUSEWHEEL, MouseWheel)
  59. {
  60. ATOMIC_PARAM(P_WHEEL, Wheel); // int
  61. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  62. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  63. }
  64. /// Key pressed.
  65. ATOMIC_EVENT(E_KEYDOWN, KeyDown)
  66. {
  67. ATOMIC_PARAM(P_KEY, Key); // int
  68. ATOMIC_PARAM(P_SCANCODE, Scancode); // int
  69. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  70. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  71. ATOMIC_PARAM(P_REPEAT, Repeat); // bool
  72. }
  73. /// Key released.
  74. ATOMIC_EVENT(E_KEYUP, KeyUp)
  75. {
  76. ATOMIC_PARAM(P_KEY, Key); // int
  77. ATOMIC_PARAM(P_SCANCODE, Scancode); // int
  78. ATOMIC_PARAM(P_BUTTONS, Buttons); // int
  79. ATOMIC_PARAM(P_QUALIFIERS, Qualifiers); // int
  80. }
  81. /// Text input event.
  82. ATOMIC_EVENT(E_TEXTINPUT, TextInput)
  83. {
  84. ATOMIC_PARAM(P_TEXT, Text); // String
  85. }
  86. /// Text editing event.
  87. ATOMIC_EVENT(E_TEXTEDITING, TextEditing)
  88. {
  89. ATOMIC_PARAM(P_COMPOSITION, Composition); // String
  90. ATOMIC_PARAM(P_CURSOR, Cursor); // int
  91. ATOMIC_PARAM(P_SELECTION_LENGTH, SelectionLength); // int
  92. }
  93. /// Joystick connected.
  94. ATOMIC_EVENT(E_JOYSTICKCONNECTED, JoystickConnected)
  95. {
  96. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  97. }
  98. /// Joystick disconnected.
  99. ATOMIC_EVENT(E_JOYSTICKDISCONNECTED, JoystickDisconnected)
  100. {
  101. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  102. }
  103. /// Joystick button pressed.
  104. ATOMIC_EVENT(E_JOYSTICKBUTTONDOWN, JoystickButtonDown)
  105. {
  106. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  107. ATOMIC_PARAM(P_BUTTON, Button); // int
  108. }
  109. /// Joystick button released.
  110. ATOMIC_EVENT(E_JOYSTICKBUTTONUP, JoystickButtonUp)
  111. {
  112. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  113. ATOMIC_PARAM(P_BUTTON, Button); // int
  114. }
  115. /// Joystick axis moved.
  116. ATOMIC_EVENT(E_JOYSTICKAXISMOVE, JoystickAxisMove)
  117. {
  118. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  119. ATOMIC_PARAM(P_AXIS, Button); // int
  120. ATOMIC_PARAM(P_POSITION, Position); // float
  121. }
  122. /// Joystick POV hat moved.
  123. ATOMIC_EVENT(E_JOYSTICKHATMOVE, JoystickHatMove)
  124. {
  125. ATOMIC_PARAM(P_JOYSTICKID, JoystickID); // int
  126. ATOMIC_PARAM(P_HAT, Button); // int
  127. ATOMIC_PARAM(P_POSITION, Position); // int
  128. }
  129. /// Finger pressed on the screen.
  130. ATOMIC_EVENT(E_TOUCHBEGIN, TouchBegin)
  131. {
  132. ATOMIC_PARAM(P_TOUCHID, TouchID); // int
  133. ATOMIC_PARAM(P_X, X); // int
  134. ATOMIC_PARAM(P_Y, Y); // int
  135. ATOMIC_PARAM(P_PRESSURE, Pressure); // float
  136. }
  137. /// Finger released from the screen.
  138. ATOMIC_EVENT(E_TOUCHEND, TouchEnd)
  139. {
  140. ATOMIC_PARAM(P_TOUCHID, TouchID); // int
  141. ATOMIC_PARAM(P_X, X); // int
  142. ATOMIC_PARAM(P_Y, Y); // int
  143. }
  144. /// Finger moved on the screen.
  145. ATOMIC_EVENT(E_TOUCHMOVE, TouchMove)
  146. {
  147. ATOMIC_PARAM(P_TOUCHID, TouchID); // int
  148. ATOMIC_PARAM(P_X, X); // int
  149. ATOMIC_PARAM(P_Y, Y); // int
  150. ATOMIC_PARAM(P_DX, DX); // int
  151. ATOMIC_PARAM(P_DY, DY); // int
  152. ATOMIC_PARAM(P_PRESSURE, Pressure); // float
  153. }
  154. /// A touch gesture finished recording.
  155. ATOMIC_EVENT(E_GESTURERECORDED, GestureRecorded)
  156. {
  157. ATOMIC_PARAM(P_GESTUREID, GestureID); // unsigned
  158. }
  159. /// A recognized touch gesture was input by the user.
  160. ATOMIC_EVENT(E_GESTUREINPUT, GestureInput)
  161. {
  162. ATOMIC_PARAM(P_GESTUREID, GestureID); // unsigned
  163. ATOMIC_PARAM(P_CENTERX, CenterX); // int
  164. ATOMIC_PARAM(P_CENTERY, CenterY); // int
  165. ATOMIC_PARAM(P_NUMFINGERS, NumFingers); // int
  166. ATOMIC_PARAM(P_ERROR, Error); // float
  167. }
  168. /// Pinch/rotate multi-finger touch gesture motion update.
  169. ATOMIC_EVENT(E_MULTIGESTURE, MultiGesture)
  170. {
  171. ATOMIC_PARAM(P_CENTERX, CenterX); // int
  172. ATOMIC_PARAM(P_CENTERY, CenterY); // int
  173. ATOMIC_PARAM(P_NUMFINGERS, NumFingers); // int
  174. ATOMIC_PARAM(P_DTHETA, DTheta); // float (degrees)
  175. ATOMIC_PARAM(P_DDIST, DDist); // float
  176. }
  177. /// A file was drag-dropped into the application window.
  178. ATOMIC_EVENT(E_DROPFILE, DropFile)
  179. {
  180. ATOMIC_PARAM(P_FILENAME, FileName); // String
  181. }
  182. /// Application input focus or minimization changed.
  183. ATOMIC_EVENT(E_INPUTFOCUS, InputFocus)
  184. {
  185. ATOMIC_PARAM(P_FOCUS, Focus); // bool
  186. ATOMIC_PARAM(P_MINIMIZED, Minimized); // bool
  187. }
  188. /// OS mouse cursor visibility changed.
  189. ATOMIC_EVENT(E_MOUSEVISIBLECHANGED, MouseVisibleChanged)
  190. {
  191. ATOMIC_PARAM(P_VISIBLE, Visible); // bool
  192. }
  193. /// Mouse mode changed.
  194. ATOMIC_EVENT(E_MOUSEMODECHANGED, MouseModeChanged)
  195. {
  196. ATOMIC_PARAM(P_MODE, Mode); // MouseMode
  197. ATOMIC_PARAM(P_MOUSELOCKED, MouseLocked); // bool
  198. }
  199. /// Application exit requested.
  200. ATOMIC_EVENT(E_EXITREQUESTED, ExitRequested)
  201. {
  202. }
  203. /// Raw SDL input event.
  204. ATOMIC_EVENT(E_SDLRAWINPUT, SDLRawInput)
  205. {
  206. ATOMIC_PARAM(P_SDLEVENT, SDLEvent); // SDL_Event*
  207. ATOMIC_PARAM(P_CONSUMED, Consumed); // bool
  208. }
  209. /// Input handling begins.
  210. ATOMIC_EVENT(E_INPUTBEGIN, InputBegin)
  211. {
  212. }
  213. /// Input handling ends.
  214. ATOMIC_EVENT(E_INPUTEND, InputEnd)
  215. {
  216. }
  217. // ATOMIC BEGIN
  218. /// Application pause requested.
  219. ATOMIC_EVENT(E_PAUSERESUMEREQUESTED, PauseResumeRequested)
  220. {
  221. }
  222. /// Application step frame while paused requested.
  223. ATOMIC_EVENT(E_PAUSESTEPREQUESTED, PauseStepRequested)
  224. {
  225. }
  226. // ATOMIC END
  227. static const int MOUSEB_LEFT = SDL_BUTTON_LMASK;
  228. static const int MOUSEB_MIDDLE = SDL_BUTTON_MMASK;
  229. static const int MOUSEB_RIGHT = SDL_BUTTON_RMASK;
  230. static const int MOUSEB_X1 = SDL_BUTTON_X1MASK;
  231. static const int MOUSEB_X2 = SDL_BUTTON_X2MASK;
  232. static const int QUAL_SHIFT = 1;
  233. static const int QUAL_CTRL = 2;
  234. static const int QUAL_ALT = 4;
  235. static const int QUAL_ANY = 8;
  236. static const int KEY_UNKNOWN = SDLK_UNKNOWN;
  237. static const int KEY_A = SDLK_a;
  238. static const int KEY_B = SDLK_b;
  239. static const int KEY_C = SDLK_c;
  240. static const int KEY_D = SDLK_d;
  241. static const int KEY_E = SDLK_e;
  242. static const int KEY_F = SDLK_f;
  243. static const int KEY_G = SDLK_g;
  244. static const int KEY_H = SDLK_h;
  245. static const int KEY_I = SDLK_i;
  246. static const int KEY_J = SDLK_j;
  247. static const int KEY_K = SDLK_k;
  248. static const int KEY_L = SDLK_l;
  249. static const int KEY_M = SDLK_m;
  250. static const int KEY_N = SDLK_n;
  251. static const int KEY_O = SDLK_o;
  252. static const int KEY_P = SDLK_p;
  253. static const int KEY_Q = SDLK_q;
  254. static const int KEY_R = SDLK_r;
  255. static const int KEY_S = SDLK_s;
  256. static const int KEY_T = SDLK_t;
  257. static const int KEY_U = SDLK_u;
  258. static const int KEY_V = SDLK_v;
  259. static const int KEY_W = SDLK_w;
  260. static const int KEY_X = SDLK_x;
  261. static const int KEY_Y = SDLK_y;
  262. static const int KEY_Z = SDLK_z;
  263. static const int KEY_0 = SDLK_0;
  264. static const int KEY_1 = SDLK_1;
  265. static const int KEY_2 = SDLK_2;
  266. static const int KEY_3 = SDLK_3;
  267. static const int KEY_4 = SDLK_4;
  268. static const int KEY_5 = SDLK_5;
  269. static const int KEY_6 = SDLK_6;
  270. static const int KEY_7 = SDLK_7;
  271. static const int KEY_8 = SDLK_8;
  272. static const int KEY_9 = SDLK_9;
  273. static const int KEY_BACKSPACE = SDLK_BACKSPACE;
  274. static const int KEY_TAB = SDLK_TAB;
  275. static const int KEY_RETURN = SDLK_RETURN;
  276. static const int KEY_RETURN2 = SDLK_RETURN2;
  277. static const int KEY_KP_ENTER = SDLK_KP_ENTER;
  278. static const int KEY_SHIFT = SDLK_LSHIFT;
  279. static const int KEY_CTRL = SDLK_LCTRL;
  280. static const int KEY_ALT = SDLK_LALT;
  281. static const int KEY_GUI = SDLK_LGUI;
  282. static const int KEY_PAUSE = SDLK_PAUSE;
  283. static const int KEY_CAPSLOCK = SDLK_CAPSLOCK;
  284. static const int KEY_ESCAPE = SDLK_ESCAPE;
  285. static const int KEY_SPACE = SDLK_SPACE;
  286. static const int KEY_PAGEUP = SDLK_PAGEUP;
  287. static const int KEY_PAGEDOWN = SDLK_PAGEDOWN;
  288. static const int KEY_END = SDLK_END;
  289. static const int KEY_HOME = SDLK_HOME;
  290. static const int KEY_LEFT = SDLK_LEFT;
  291. static const int KEY_UP = SDLK_UP;
  292. static const int KEY_RIGHT = SDLK_RIGHT;
  293. static const int KEY_DOWN = SDLK_DOWN;
  294. static const int KEY_SELECT = SDLK_SELECT;
  295. static const int KEY_PRINTSCREEN = SDLK_PRINTSCREEN;
  296. static const int KEY_INSERT = SDLK_INSERT;
  297. static const int KEY_DELETE = SDLK_DELETE;
  298. static const int KEY_LGUI = SDLK_LGUI;
  299. static const int KEY_RGUI = SDLK_RGUI;
  300. static const int KEY_APPLICATION = SDLK_APPLICATION;
  301. static const int KEY_KP_0 = SDLK_KP_0;
  302. static const int KEY_KP_1 = SDLK_KP_1;
  303. static const int KEY_KP_2 = SDLK_KP_2;
  304. static const int KEY_KP_3 = SDLK_KP_3;
  305. static const int KEY_KP_4 = SDLK_KP_4;
  306. static const int KEY_KP_5 = SDLK_KP_5;
  307. static const int KEY_KP_6 = SDLK_KP_6;
  308. static const int KEY_KP_7 = SDLK_KP_7;
  309. static const int KEY_KP_8 = SDLK_KP_8;
  310. static const int KEY_KP_9 = SDLK_KP_9;
  311. static const int KEY_KP_MULTIPLY = SDLK_KP_MULTIPLY;
  312. static const int KEY_KP_PLUS = SDLK_KP_PLUS;
  313. static const int KEY_KP_MINUS = SDLK_KP_MINUS;
  314. static const int KEY_KP_PERIOD = SDLK_KP_PERIOD;
  315. static const int KEY_KP_DIVIDE = SDLK_KP_DIVIDE;
  316. static const int KEY_F1 = SDLK_F1;
  317. static const int KEY_F2 = SDLK_F2;
  318. static const int KEY_F3 = SDLK_F3;
  319. static const int KEY_F4 = SDLK_F4;
  320. static const int KEY_F5 = SDLK_F5;
  321. static const int KEY_F6 = SDLK_F6;
  322. static const int KEY_F7 = SDLK_F7;
  323. static const int KEY_F8 = SDLK_F8;
  324. static const int KEY_F9 = SDLK_F9;
  325. static const int KEY_F10 = SDLK_F10;
  326. static const int KEY_F11 = SDLK_F11;
  327. static const int KEY_F12 = SDLK_F12;
  328. static const int KEY_F13 = SDLK_F13;
  329. static const int KEY_F14 = SDLK_F14;
  330. static const int KEY_F15 = SDLK_F15;
  331. static const int KEY_F16 = SDLK_F16;
  332. static const int KEY_F17 = SDLK_F17;
  333. static const int KEY_F18 = SDLK_F18;
  334. static const int KEY_F19 = SDLK_F19;
  335. static const int KEY_F20 = SDLK_F20;
  336. static const int KEY_F21 = SDLK_F21;
  337. static const int KEY_F22 = SDLK_F22;
  338. static const int KEY_F23 = SDLK_F23;
  339. static const int KEY_F24 = SDLK_F24;
  340. static const int KEY_NUMLOCKCLEAR = SDLK_NUMLOCKCLEAR;
  341. static const int KEY_SCROLLLOCK = SDLK_SCROLLLOCK;
  342. static const int KEY_LSHIFT = SDLK_LSHIFT;
  343. static const int KEY_RSHIFT = SDLK_RSHIFT;
  344. static const int KEY_LCTRL = SDLK_LCTRL;
  345. static const int KEY_RCTRL = SDLK_RCTRL;
  346. static const int KEY_LALT = SDLK_LALT;
  347. static const int KEY_RALT = SDLK_RALT;
  348. // ATOMIC BEGIN
  349. static const int KEY_AC_BACK = SDLK_AC_BACK;
  350. static const int KEY_AC_BOOKMARKS = SDLK_AC_BOOKMARKS;
  351. static const int KEY_AC_FORWARD = SDLK_AC_FORWARD;
  352. static const int KEY_AC_HOME = SDLK_AC_HOME;
  353. static const int KEY_AC_REFRESH = SDLK_AC_REFRESH;
  354. static const int KEY_AC_SEARCH = SDLK_AC_SEARCH;
  355. static const int KEY_AC_STOP = SDLK_AC_STOP;
  356. static const int KEY_AGAIN = SDLK_AGAIN;
  357. static const int KEY_ALTERASE = SDLK_ALTERASE;
  358. static const int KEY_AMPERSAND = SDLK_AMPERSAND;
  359. static const int KEY_ASTERISK = SDLK_ASTERISK;
  360. static const int KEY_AT = SDLK_AT;
  361. static const int KEY_AUDIOMUTE = SDLK_AUDIOMUTE;
  362. static const int KEY_AUDIONEXT = SDLK_AUDIONEXT;
  363. static const int KEY_AUDIOPLAY = SDLK_AUDIOPLAY;
  364. static const int KEY_AUDIOPREV = SDLK_AUDIOPREV;
  365. static const int KEY_AUDIOSTOP = SDLK_AUDIOSTOP;
  366. static const int KEY_BACKQUOTE = SDLK_BACKQUOTE;
  367. static const int KEY_BACKSLASH = SDLK_BACKSLASH;
  368. static const int KEY_BRIGHTNESSDOWN = SDLK_BRIGHTNESSDOWN;
  369. static const int KEY_BRIGHTNESSUP = SDLK_BRIGHTNESSUP;
  370. static const int KEY_CALCULATOR = SDLK_CALCULATOR;
  371. static const int KEY_CANCEL = SDLK_CANCEL;
  372. static const int KEY_CARET = SDLK_CARET;
  373. static const int KEY_CLEAR = SDLK_CLEAR;
  374. static const int KEY_CLEARAGAIN = SDLK_CLEARAGAIN;
  375. static const int KEY_COLON = SDLK_COLON;
  376. static const int KEY_COMMA = SDLK_COMMA;
  377. static const int KEY_COMPUTER = SDLK_COMPUTER;
  378. static const int KEY_COPY = SDLK_COPY;
  379. static const int KEY_CRSEL = SDLK_CRSEL;
  380. static const int KEY_CURRENCYSUBUNIT = SDLK_CURRENCYSUBUNIT;
  381. static const int KEY_CURRENCYUNIT = SDLK_CURRENCYUNIT;
  382. static const int KEY_CUT = SDLK_CUT;
  383. static const int KEY_DECIMALSEPARATOR = SDLK_DECIMALSEPARATOR;
  384. static const int KEY_DISPLAYSWITCH = SDLK_DISPLAYSWITCH;
  385. static const int KEY_DOLLAR = SDLK_DOLLAR;
  386. static const int KEY_EJECT = SDLK_EJECT;
  387. static const int KEY_EQUALS = SDLK_EQUALS;
  388. static const int KEY_EXCLAIM = SDLK_EXCLAIM;
  389. static const int KEY_EXSEL = SDLK_EXSEL;
  390. static const int KEY_FIND = SDLK_FIND;
  391. static const int KEY_GREATER = SDLK_GREATER;
  392. static const int KEY_HASH = SDLK_HASH;
  393. static const int KEY_HELP = SDLK_HELP;
  394. static const int KEY_KBDILLUMDOWN = SDLK_KBDILLUMDOWN;
  395. static const int KEY_KBDILLUMTOGGLE = SDLK_KBDILLUMTOGGLE;
  396. static const int KEY_KBDILLUMUP = SDLK_KBDILLUMUP;
  397. static const int KEY_KP_00 = SDLK_KP_00;
  398. static const int KEY_KP_000 = SDLK_KP_000;
  399. static const int KEY_KP_A = SDLK_KP_A;
  400. static const int KEY_KP_AMPERSAND = SDLK_KP_AMPERSAND;
  401. static const int KEY_KP_AT = SDLK_KP_AT;
  402. static const int KEY_KP_B = SDLK_KP_B;
  403. static const int KEY_KP_BACKSPACE = SDLK_KP_BACKSPACE;
  404. static const int KEY_KP_BINARY = SDLK_KP_BINARY;
  405. static const int KEY_KP_C = SDLK_KP_C;
  406. static const int KEY_KP_CLEAR = SDLK_KP_CLEAR;
  407. static const int KEY_KP_CLEARENTRY = SDLK_KP_CLEARENTRY;
  408. static const int KEY_KP_COLON = SDLK_KP_COLON;
  409. static const int KEY_KP_COMMA = SDLK_KP_COMMA;
  410. static const int KEY_KP_D = SDLK_KP_D;
  411. static const int KEY_KP_DBLAMPERSAND = SDLK_KP_DBLAMPERSAND;
  412. static const int KEY_KP_DBLVERTICALBAR = SDLK_KP_DBLVERTICALBAR;
  413. static const int KEY_KP_DECIMAL = SDLK_KP_DECIMAL;
  414. static const int KEY_KP_E = SDLK_KP_E;
  415. static const int KEY_KP_EQUALS = SDLK_KP_EQUALS;
  416. static const int KEY_KP_EQUALSAS400 = SDLK_KP_EQUALSAS400;
  417. static const int KEY_KP_EXCLAM = SDLK_KP_EXCLAM;
  418. static const int KEY_KP_F = SDLK_KP_F;
  419. static const int KEY_KP_GREATER = SDLK_KP_GREATER;
  420. static const int KEY_KP_HASH = SDLK_KP_HASH;
  421. static const int KEY_KP_HEXADECIMAL = SDLK_KP_HEXADECIMAL;
  422. static const int KEY_KP_LEFTBRACE = SDLK_KP_LEFTBRACE;
  423. static const int KEY_KP_LEFTPAREN = SDLK_KP_LEFTPAREN;
  424. static const int KEY_KP_LESS = SDLK_KP_LESS;
  425. static const int KEY_KP_MEMADD = SDLK_KP_MEMADD;
  426. static const int KEY_KP_MEMCLEAR = SDLK_KP_MEMCLEAR;
  427. static const int KEY_KP_MEMDIVIDE = SDLK_KP_MEMDIVIDE;
  428. static const int KEY_KP_MEMMULTIPLY = SDLK_KP_MEMMULTIPLY;
  429. static const int KEY_KP_MEMRECALL = SDLK_KP_MEMRECALL;
  430. static const int KEY_KP_MEMSTORE = SDLK_KP_MEMSTORE;
  431. static const int KEY_KP_MEMSUBTRACT = SDLK_KP_MEMSUBTRACT;
  432. static const int KEY_KP_OCTAL = SDLK_KP_OCTAL;
  433. static const int KEY_KP_PERCENT = SDLK_KP_PERCENT;
  434. static const int KEY_KP_PLUSMINUS = SDLK_KP_PLUSMINUS;
  435. static const int KEY_KP_POWER = SDLK_KP_POWER;
  436. static const int KEY_KP_RIGHTBRACE = SDLK_KP_RIGHTBRACE;
  437. static const int KEY_KP_RIGHTPAREN = SDLK_KP_RIGHTPAREN;
  438. static const int KEY_KP_SPACE = SDLK_KP_SPACE;
  439. static const int KEY_KP_TAB = SDLK_KP_TAB;
  440. static const int KEY_KP_VERTICALBAR = SDLK_KP_VERTICALBAR;
  441. static const int KEY_KP_XOR = SDLK_KP_XOR;
  442. static const int KEY_LEFTBRACKET = SDLK_LEFTBRACKET;
  443. static const int KEY_LEFTPAREN = SDLK_LEFTPAREN;
  444. static const int KEY_LESS = SDLK_LESS;
  445. static const int KEY_MAIL = SDLK_MAIL;
  446. static const int KEY_MEDIASELECT = SDLK_MEDIASELECT;
  447. static const int KEY_MENU = SDLK_MENU;
  448. static const int KEY_MINUS = SDLK_MINUS;
  449. static const int KEY_MODE = SDLK_MODE;
  450. static const int KEY_MUTE = SDLK_MUTE;
  451. static const int KEY_OPER = SDLK_OPER;
  452. static const int KEY_OUT = SDLK_OUT;
  453. static const int KEY_PASTE = SDLK_PASTE;
  454. static const int KEY_PERCENT = SDLK_PERCENT;
  455. static const int KEY_PERIOD = SDLK_PERIOD;
  456. static const int KEY_PLUS = SDLK_PLUS;
  457. static const int KEY_POWER = SDLK_POWER;
  458. static const int KEY_PRIOR = SDLK_PRIOR;
  459. static const int KEY_QUESTION = SDLK_QUESTION;
  460. static const int KEY_QUOTE = SDLK_QUOTE;
  461. static const int KEY_QUOTEDBL = SDLK_QUOTEDBL;
  462. static const int KEY_RIGHTBRACKET = SDLK_RIGHTBRACKET;
  463. static const int KEY_RIGHTPAREN = SDLK_RIGHTPAREN;
  464. static const int KEY_SEMICOLON = SDLK_SEMICOLON;
  465. static const int KEY_SEPARATOR = SDLK_SEPARATOR;
  466. static const int KEY_SLASH = SDLK_SLASH;
  467. static const int KEY_SLEEP = SDLK_SLEEP;
  468. static const int KEY_STOP = SDLK_STOP;
  469. static const int KEY_SYSREQ = SDLK_SYSREQ;
  470. static const int KEY_THOUSANDSSEPARATOR = SDLK_THOUSANDSSEPARATOR;
  471. static const int KEY_UNDERSCORE = SDLK_UNDERSCORE;
  472. static const int KEY_UNDO = SDLK_UNDO;
  473. static const int KEY_VOLUMEDOWN = SDLK_VOLUMEDOWN;
  474. static const int KEY_VOLUMEUP = SDLK_VOLUMEUP;
  475. static const int KEY_WWW = SDLK_WWW;
  476. // ATOMIC END
  477. static const int SCANCODE_UNKNOWN = SDL_SCANCODE_UNKNOWN;
  478. static const int SCANCODE_CTRL = SDL_SCANCODE_LCTRL;
  479. static const int SCANCODE_SHIFT = SDL_SCANCODE_LSHIFT;
  480. static const int SCANCODE_ALT = SDL_SCANCODE_LALT;
  481. static const int SCANCODE_GUI = SDL_SCANCODE_LGUI;
  482. static const int SCANCODE_A = SDL_SCANCODE_A;
  483. static const int SCANCODE_B = SDL_SCANCODE_B;
  484. static const int SCANCODE_C = SDL_SCANCODE_C;
  485. static const int SCANCODE_D = SDL_SCANCODE_D;
  486. static const int SCANCODE_E = SDL_SCANCODE_E;
  487. static const int SCANCODE_F = SDL_SCANCODE_F;
  488. static const int SCANCODE_G = SDL_SCANCODE_G;
  489. static const int SCANCODE_H = SDL_SCANCODE_H;
  490. static const int SCANCODE_I = SDL_SCANCODE_I;
  491. static const int SCANCODE_J = SDL_SCANCODE_J;
  492. static const int SCANCODE_K = SDL_SCANCODE_K;
  493. static const int SCANCODE_L = SDL_SCANCODE_L;
  494. static const int SCANCODE_M = SDL_SCANCODE_M;
  495. static const int SCANCODE_N = SDL_SCANCODE_N;
  496. static const int SCANCODE_O = SDL_SCANCODE_O;
  497. static const int SCANCODE_P = SDL_SCANCODE_P;
  498. static const int SCANCODE_Q = SDL_SCANCODE_Q;
  499. static const int SCANCODE_R = SDL_SCANCODE_R;
  500. static const int SCANCODE_S = SDL_SCANCODE_S;
  501. static const int SCANCODE_T = SDL_SCANCODE_T;
  502. static const int SCANCODE_U = SDL_SCANCODE_U;
  503. static const int SCANCODE_V = SDL_SCANCODE_V;
  504. static const int SCANCODE_W = SDL_SCANCODE_W;
  505. static const int SCANCODE_X = SDL_SCANCODE_X;
  506. static const int SCANCODE_Y = SDL_SCANCODE_Y;
  507. static const int SCANCODE_Z = SDL_SCANCODE_Z;
  508. static const int SCANCODE_1 = SDL_SCANCODE_1;
  509. static const int SCANCODE_2 = SDL_SCANCODE_2;
  510. static const int SCANCODE_3 = SDL_SCANCODE_3;
  511. static const int SCANCODE_4 = SDL_SCANCODE_4;
  512. static const int SCANCODE_5 = SDL_SCANCODE_5;
  513. static const int SCANCODE_6 = SDL_SCANCODE_6;
  514. static const int SCANCODE_7 = SDL_SCANCODE_7;
  515. static const int SCANCODE_8 = SDL_SCANCODE_8;
  516. static const int SCANCODE_9 = SDL_SCANCODE_9;
  517. static const int SCANCODE_0 = SDL_SCANCODE_0;
  518. static const int SCANCODE_RETURN = SDL_SCANCODE_RETURN;
  519. static const int SCANCODE_ESCAPE = SDL_SCANCODE_ESCAPE;
  520. static const int SCANCODE_BACKSPACE = SDL_SCANCODE_BACKSPACE;
  521. static const int SCANCODE_TAB = SDL_SCANCODE_TAB;
  522. static const int SCANCODE_SPACE = SDL_SCANCODE_SPACE;
  523. static const int SCANCODE_MINUS = SDL_SCANCODE_MINUS;
  524. static const int SCANCODE_EQUALS = SDL_SCANCODE_EQUALS;
  525. static const int SCANCODE_LEFTBRACKET = SDL_SCANCODE_LEFTBRACKET;
  526. static const int SCANCODE_RIGHTBRACKET = SDL_SCANCODE_RIGHTBRACKET;
  527. static const int SCANCODE_BACKSLASH = SDL_SCANCODE_BACKSLASH;
  528. static const int SCANCODE_NONUSHASH = SDL_SCANCODE_NONUSHASH;
  529. static const int SCANCODE_SEMICOLON = SDL_SCANCODE_SEMICOLON;
  530. static const int SCANCODE_APOSTROPHE = SDL_SCANCODE_APOSTROPHE;
  531. static const int SCANCODE_GRAVE = SDL_SCANCODE_GRAVE;
  532. static const int SCANCODE_COMMA = SDL_SCANCODE_COMMA;
  533. static const int SCANCODE_PERIOD = SDL_SCANCODE_PERIOD;
  534. static const int SCANCODE_SLASH = SDL_SCANCODE_SLASH;
  535. static const int SCANCODE_CAPSLOCK = SDL_SCANCODE_CAPSLOCK;
  536. static const int SCANCODE_F1 = SDL_SCANCODE_F1;
  537. static const int SCANCODE_F2 = SDL_SCANCODE_F2;
  538. static const int SCANCODE_F3 = SDL_SCANCODE_F3;
  539. static const int SCANCODE_F4 = SDL_SCANCODE_F4;
  540. static const int SCANCODE_F5 = SDL_SCANCODE_F5;
  541. static const int SCANCODE_F6 = SDL_SCANCODE_F6;
  542. static const int SCANCODE_F7 = SDL_SCANCODE_F7;
  543. static const int SCANCODE_F8 = SDL_SCANCODE_F8;
  544. static const int SCANCODE_F9 = SDL_SCANCODE_F9;
  545. static const int SCANCODE_F10 = SDL_SCANCODE_F10;
  546. static const int SCANCODE_F11 = SDL_SCANCODE_F11;
  547. static const int SCANCODE_F12 = SDL_SCANCODE_F12;
  548. static const int SCANCODE_PRINTSCREEN = SDL_SCANCODE_PRINTSCREEN;
  549. static const int SCANCODE_SCROLLLOCK = SDL_SCANCODE_SCROLLLOCK;
  550. static const int SCANCODE_PAUSE = SDL_SCANCODE_PAUSE;
  551. static const int SCANCODE_INSERT = SDL_SCANCODE_INSERT;
  552. static const int SCANCODE_HOME = SDL_SCANCODE_HOME;
  553. static const int SCANCODE_PAGEUP = SDL_SCANCODE_PAGEUP;
  554. static const int SCANCODE_DELETE = SDL_SCANCODE_DELETE;
  555. static const int SCANCODE_END = SDL_SCANCODE_END;
  556. static const int SCANCODE_PAGEDOWN = SDL_SCANCODE_PAGEDOWN;
  557. static const int SCANCODE_RIGHT = SDL_SCANCODE_RIGHT;
  558. static const int SCANCODE_LEFT = SDL_SCANCODE_LEFT;
  559. static const int SCANCODE_DOWN = SDL_SCANCODE_DOWN;
  560. static const int SCANCODE_UP = SDL_SCANCODE_UP;
  561. static const int SCANCODE_NUMLOCKCLEAR = SDL_SCANCODE_NUMLOCKCLEAR;
  562. static const int SCANCODE_KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE;
  563. static const int SCANCODE_KP_MULTIPLY = SDL_SCANCODE_KP_MULTIPLY;
  564. static const int SCANCODE_KP_MINUS = SDL_SCANCODE_KP_MINUS;
  565. static const int SCANCODE_KP_PLUS = SDL_SCANCODE_KP_PLUS;
  566. static const int SCANCODE_KP_ENTER = SDL_SCANCODE_KP_ENTER;
  567. static const int SCANCODE_KP_1 = SDL_SCANCODE_KP_1;
  568. static const int SCANCODE_KP_2 = SDL_SCANCODE_KP_2;
  569. static const int SCANCODE_KP_3 = SDL_SCANCODE_KP_3;
  570. static const int SCANCODE_KP_4 = SDL_SCANCODE_KP_4;
  571. static const int SCANCODE_KP_5 = SDL_SCANCODE_KP_5;
  572. static const int SCANCODE_KP_6 = SDL_SCANCODE_KP_6;
  573. static const int SCANCODE_KP_7 = SDL_SCANCODE_KP_7;
  574. static const int SCANCODE_KP_8 = SDL_SCANCODE_KP_8;
  575. static const int SCANCODE_KP_9 = SDL_SCANCODE_KP_9;
  576. static const int SCANCODE_KP_0 = SDL_SCANCODE_KP_0;
  577. static const int SCANCODE_KP_PERIOD = SDL_SCANCODE_KP_PERIOD;
  578. static const int SCANCODE_NONUSBACKSLASH = SDL_SCANCODE_NONUSBACKSLASH;
  579. static const int SCANCODE_APPLICATION = SDL_SCANCODE_APPLICATION;
  580. static const int SCANCODE_POWER = SDL_SCANCODE_POWER;
  581. static const int SCANCODE_KP_EQUALS = SDL_SCANCODE_KP_EQUALS;
  582. static const int SCANCODE_F13 = SDL_SCANCODE_F13;
  583. static const int SCANCODE_F14 = SDL_SCANCODE_F14;
  584. static const int SCANCODE_F15 = SDL_SCANCODE_F15;
  585. static const int SCANCODE_F16 = SDL_SCANCODE_F16;
  586. static const int SCANCODE_F17 = SDL_SCANCODE_F17;
  587. static const int SCANCODE_F18 = SDL_SCANCODE_F18;
  588. static const int SCANCODE_F19 = SDL_SCANCODE_F19;
  589. static const int SCANCODE_F20 = SDL_SCANCODE_F20;
  590. static const int SCANCODE_F21 = SDL_SCANCODE_F21;
  591. static const int SCANCODE_F22 = SDL_SCANCODE_F22;
  592. static const int SCANCODE_F23 = SDL_SCANCODE_F23;
  593. static const int SCANCODE_F24 = SDL_SCANCODE_F24;
  594. static const int SCANCODE_EXECUTE = SDL_SCANCODE_EXECUTE;
  595. static const int SCANCODE_HELP = SDL_SCANCODE_HELP;
  596. static const int SCANCODE_MENU = SDL_SCANCODE_MENU;
  597. static const int SCANCODE_SELECT = SDL_SCANCODE_SELECT;
  598. static const int SCANCODE_STOP = SDL_SCANCODE_STOP;
  599. static const int SCANCODE_AGAIN = SDL_SCANCODE_AGAIN;
  600. static const int SCANCODE_UNDO = SDL_SCANCODE_UNDO;
  601. static const int SCANCODE_CUT = SDL_SCANCODE_CUT;
  602. static const int SCANCODE_COPY = SDL_SCANCODE_COPY;
  603. static const int SCANCODE_PASTE = SDL_SCANCODE_PASTE;
  604. static const int SCANCODE_FIND = SDL_SCANCODE_FIND;
  605. static const int SCANCODE_MUTE = SDL_SCANCODE_MUTE;
  606. static const int SCANCODE_VOLUMEUP = SDL_SCANCODE_VOLUMEUP;
  607. static const int SCANCODE_VOLUMEDOWN = SDL_SCANCODE_VOLUMEDOWN;
  608. static const int SCANCODE_KP_COMMA = SDL_SCANCODE_KP_COMMA;
  609. static const int SCANCODE_KP_EQUALSAS400 = SDL_SCANCODE_KP_EQUALSAS400;
  610. static const int SCANCODE_INTERNATIONAL1 = SDL_SCANCODE_INTERNATIONAL1;
  611. static const int SCANCODE_INTERNATIONAL2 = SDL_SCANCODE_INTERNATIONAL2;
  612. static const int SCANCODE_INTERNATIONAL3 = SDL_SCANCODE_INTERNATIONAL3;
  613. static const int SCANCODE_INTERNATIONAL4 = SDL_SCANCODE_INTERNATIONAL4;
  614. static const int SCANCODE_INTERNATIONAL5 = SDL_SCANCODE_INTERNATIONAL5;
  615. static const int SCANCODE_INTERNATIONAL6 = SDL_SCANCODE_INTERNATIONAL6;
  616. static const int SCANCODE_INTERNATIONAL7 = SDL_SCANCODE_INTERNATIONAL7;
  617. static const int SCANCODE_INTERNATIONAL8 = SDL_SCANCODE_INTERNATIONAL8;
  618. static const int SCANCODE_INTERNATIONAL9 = SDL_SCANCODE_INTERNATIONAL9;
  619. static const int SCANCODE_LANG1 = SDL_SCANCODE_LANG1;
  620. static const int SCANCODE_LANG2 = SDL_SCANCODE_LANG2;
  621. static const int SCANCODE_LANG3 = SDL_SCANCODE_LANG3;
  622. static const int SCANCODE_LANG4 = SDL_SCANCODE_LANG4;
  623. static const int SCANCODE_LANG5 = SDL_SCANCODE_LANG5;
  624. static const int SCANCODE_LANG6 = SDL_SCANCODE_LANG6;
  625. static const int SCANCODE_LANG7 = SDL_SCANCODE_LANG7;
  626. static const int SCANCODE_LANG8 = SDL_SCANCODE_LANG8;
  627. static const int SCANCODE_LANG9 = SDL_SCANCODE_LANG9;
  628. static const int SCANCODE_ALTERASE = SDL_SCANCODE_ALTERASE;
  629. static const int SCANCODE_SYSREQ = SDL_SCANCODE_SYSREQ;
  630. static const int SCANCODE_CANCEL = SDL_SCANCODE_CANCEL;
  631. static const int SCANCODE_CLEAR = SDL_SCANCODE_CLEAR;
  632. static const int SCANCODE_PRIOR = SDL_SCANCODE_PRIOR;
  633. static const int SCANCODE_RETURN2 = SDL_SCANCODE_RETURN2;
  634. static const int SCANCODE_SEPARATOR = SDL_SCANCODE_SEPARATOR;
  635. static const int SCANCODE_OUT = SDL_SCANCODE_OUT;
  636. static const int SCANCODE_OPER = SDL_SCANCODE_OPER;
  637. static const int SCANCODE_CLEARAGAIN = SDL_SCANCODE_CLEARAGAIN;
  638. static const int SCANCODE_CRSEL = SDL_SCANCODE_CRSEL;
  639. static const int SCANCODE_EXSEL = SDL_SCANCODE_EXSEL;
  640. static const int SCANCODE_KP_00 = SDL_SCANCODE_KP_00;
  641. static const int SCANCODE_KP_000 = SDL_SCANCODE_KP_000;
  642. static const int SCANCODE_THOUSANDSSEPARATOR = SDL_SCANCODE_THOUSANDSSEPARATOR;
  643. static const int SCANCODE_DECIMALSEPARATOR = SDL_SCANCODE_DECIMALSEPARATOR;
  644. static const int SCANCODE_CURRENCYUNIT = SDL_SCANCODE_CURRENCYUNIT;
  645. static const int SCANCODE_CURRENCYSUBUNIT = SDL_SCANCODE_CURRENCYSUBUNIT;
  646. static const int SCANCODE_KP_LEFTPAREN = SDL_SCANCODE_KP_LEFTPAREN;
  647. static const int SCANCODE_KP_RIGHTPAREN = SDL_SCANCODE_KP_RIGHTPAREN;
  648. static const int SCANCODE_KP_LEFTBRACE = SDL_SCANCODE_KP_LEFTBRACE;
  649. static const int SCANCODE_KP_RIGHTBRACE = SDL_SCANCODE_KP_RIGHTBRACE;
  650. static const int SCANCODE_KP_TAB = SDL_SCANCODE_KP_TAB;
  651. static const int SCANCODE_KP_BACKSPACE = SDL_SCANCODE_KP_BACKSPACE;
  652. static const int SCANCODE_KP_A = SDL_SCANCODE_KP_A;
  653. static const int SCANCODE_KP_B = SDL_SCANCODE_KP_B;
  654. static const int SCANCODE_KP_C = SDL_SCANCODE_KP_C;
  655. static const int SCANCODE_KP_D = SDL_SCANCODE_KP_D;
  656. static const int SCANCODE_KP_E = SDL_SCANCODE_KP_E;
  657. static const int SCANCODE_KP_F = SDL_SCANCODE_KP_F;
  658. static const int SCANCODE_KP_XOR = SDL_SCANCODE_KP_XOR;
  659. static const int SCANCODE_KP_POWER = SDL_SCANCODE_KP_POWER;
  660. static const int SCANCODE_KP_PERCENT = SDL_SCANCODE_KP_PERCENT;
  661. static const int SCANCODE_KP_LESS = SDL_SCANCODE_KP_LESS;
  662. static const int SCANCODE_KP_GREATER = SDL_SCANCODE_KP_GREATER;
  663. static const int SCANCODE_KP_AMPERSAND = SDL_SCANCODE_KP_AMPERSAND;
  664. static const int SCANCODE_KP_DBLAMPERSAND = SDL_SCANCODE_KP_DBLAMPERSAND;
  665. static const int SCANCODE_KP_VERTICALBAR = SDL_SCANCODE_KP_VERTICALBAR;
  666. static const int SCANCODE_KP_DBLVERTICALBAR = SDL_SCANCODE_KP_DBLVERTICALBAR;
  667. static const int SCANCODE_KP_COLON = SDL_SCANCODE_KP_COLON;
  668. static const int SCANCODE_KP_HASH = SDL_SCANCODE_KP_HASH;
  669. static const int SCANCODE_KP_SPACE = SDL_SCANCODE_KP_SPACE;
  670. static const int SCANCODE_KP_AT = SDL_SCANCODE_KP_AT;
  671. static const int SCANCODE_KP_EXCLAM = SDL_SCANCODE_KP_EXCLAM;
  672. static const int SCANCODE_KP_MEMSTORE = SDL_SCANCODE_KP_MEMSTORE;
  673. static const int SCANCODE_KP_MEMRECALL = SDL_SCANCODE_KP_MEMRECALL;
  674. static const int SCANCODE_KP_MEMCLEAR = SDL_SCANCODE_KP_MEMCLEAR;
  675. static const int SCANCODE_KP_MEMADD = SDL_SCANCODE_KP_MEMADD;
  676. static const int SCANCODE_KP_MEMSUBTRACT = SDL_SCANCODE_KP_MEMSUBTRACT;
  677. static const int SCANCODE_KP_MEMMULTIPLY = SDL_SCANCODE_KP_MEMMULTIPLY;
  678. static const int SCANCODE_KP_MEMDIVIDE = SDL_SCANCODE_KP_MEMDIVIDE;
  679. static const int SCANCODE_KP_PLUSMINUS = SDL_SCANCODE_KP_PLUSMINUS;
  680. static const int SCANCODE_KP_CLEAR = SDL_SCANCODE_KP_CLEAR;
  681. static const int SCANCODE_KP_CLEARENTRY = SDL_SCANCODE_KP_CLEARENTRY;
  682. static const int SCANCODE_KP_BINARY = SDL_SCANCODE_KP_BINARY;
  683. static const int SCANCODE_KP_OCTAL = SDL_SCANCODE_KP_OCTAL;
  684. static const int SCANCODE_KP_DECIMAL = SDL_SCANCODE_KP_DECIMAL;
  685. static const int SCANCODE_KP_HEXADECIMAL = SDL_SCANCODE_KP_HEXADECIMAL;
  686. static const int SCANCODE_LCTRL = SDL_SCANCODE_LCTRL;
  687. static const int SCANCODE_LSHIFT = SDL_SCANCODE_LSHIFT;
  688. static const int SCANCODE_LALT = SDL_SCANCODE_LALT;
  689. static const int SCANCODE_LGUI = SDL_SCANCODE_LGUI;
  690. static const int SCANCODE_RCTRL = SDL_SCANCODE_RCTRL;
  691. static const int SCANCODE_RSHIFT = SDL_SCANCODE_RSHIFT;
  692. static const int SCANCODE_RALT = SDL_SCANCODE_RALT;
  693. static const int SCANCODE_RGUI = SDL_SCANCODE_RGUI;
  694. static const int SCANCODE_MODE = SDL_SCANCODE_MODE;
  695. static const int SCANCODE_AUDIONEXT = SDL_SCANCODE_AUDIONEXT;
  696. static const int SCANCODE_AUDIOPREV = SDL_SCANCODE_AUDIOPREV;
  697. static const int SCANCODE_AUDIOSTOP = SDL_SCANCODE_AUDIOSTOP;
  698. static const int SCANCODE_AUDIOPLAY = SDL_SCANCODE_AUDIOPLAY;
  699. static const int SCANCODE_AUDIOMUTE = SDL_SCANCODE_AUDIOMUTE;
  700. static const int SCANCODE_MEDIASELECT = SDL_SCANCODE_MEDIASELECT;
  701. static const int SCANCODE_WWW = SDL_SCANCODE_WWW;
  702. static const int SCANCODE_MAIL = SDL_SCANCODE_MAIL;
  703. static const int SCANCODE_CALCULATOR = SDL_SCANCODE_CALCULATOR;
  704. static const int SCANCODE_COMPUTER = SDL_SCANCODE_COMPUTER;
  705. static const int SCANCODE_AC_SEARCH = SDL_SCANCODE_AC_SEARCH;
  706. static const int SCANCODE_AC_HOME = SDL_SCANCODE_AC_HOME;
  707. static const int SCANCODE_AC_BACK = SDL_SCANCODE_AC_BACK;
  708. static const int SCANCODE_AC_FORWARD = SDL_SCANCODE_AC_FORWARD;
  709. static const int SCANCODE_AC_STOP = SDL_SCANCODE_AC_STOP;
  710. static const int SCANCODE_AC_REFRESH = SDL_SCANCODE_AC_REFRESH;
  711. static const int SCANCODE_AC_BOOKMARKS = SDL_SCANCODE_AC_BOOKMARKS;
  712. static const int SCANCODE_BRIGHTNESSDOWN = SDL_SCANCODE_BRIGHTNESSDOWN;
  713. static const int SCANCODE_BRIGHTNESSUP = SDL_SCANCODE_BRIGHTNESSUP;
  714. static const int SCANCODE_DISPLAYSWITCH = SDL_SCANCODE_DISPLAYSWITCH;
  715. static const int SCANCODE_KBDILLUMTOGGLE = SDL_SCANCODE_KBDILLUMTOGGLE;
  716. static const int SCANCODE_KBDILLUMDOWN = SDL_SCANCODE_KBDILLUMDOWN;
  717. static const int SCANCODE_KBDILLUMUP = SDL_SCANCODE_KBDILLUMUP;
  718. static const int SCANCODE_EJECT = SDL_SCANCODE_EJECT;
  719. static const int SCANCODE_SLEEP = SDL_SCANCODE_SLEEP;
  720. static const int SCANCODE_APP1 = SDL_SCANCODE_APP1;
  721. static const int SCANCODE_APP2 = SDL_SCANCODE_APP2;
  722. static const int HAT_CENTER = SDL_HAT_CENTERED;
  723. static const int HAT_UP = SDL_HAT_UP;
  724. static const int HAT_RIGHT = SDL_HAT_RIGHT;
  725. static const int HAT_DOWN = SDL_HAT_DOWN;
  726. static const int HAT_LEFT = SDL_HAT_LEFT;
  727. static const int CONTROLLER_BUTTON_A = SDL_CONTROLLER_BUTTON_A;
  728. static const int CONTROLLER_BUTTON_B = SDL_CONTROLLER_BUTTON_B;
  729. static const int CONTROLLER_BUTTON_X = SDL_CONTROLLER_BUTTON_X;
  730. static const int CONTROLLER_BUTTON_Y = SDL_CONTROLLER_BUTTON_Y;
  731. static const int CONTROLLER_BUTTON_BACK = SDL_CONTROLLER_BUTTON_BACK;
  732. static const int CONTROLLER_BUTTON_GUIDE = SDL_CONTROLLER_BUTTON_GUIDE;
  733. static const int CONTROLLER_BUTTON_START = SDL_CONTROLLER_BUTTON_START;
  734. static const int CONTROLLER_BUTTON_LEFTSTICK = SDL_CONTROLLER_BUTTON_LEFTSTICK;
  735. static const int CONTROLLER_BUTTON_RIGHTSTICK = SDL_CONTROLLER_BUTTON_RIGHTSTICK;
  736. static const int CONTROLLER_BUTTON_LEFTSHOULDER = SDL_CONTROLLER_BUTTON_LEFTSHOULDER;
  737. static const int CONTROLLER_BUTTON_RIGHTSHOULDER = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER;
  738. static const int CONTROLLER_BUTTON_DPAD_UP = SDL_CONTROLLER_BUTTON_DPAD_UP;
  739. static const int CONTROLLER_BUTTON_DPAD_DOWN = SDL_CONTROLLER_BUTTON_DPAD_DOWN;
  740. static const int CONTROLLER_BUTTON_DPAD_LEFT = SDL_CONTROLLER_BUTTON_DPAD_LEFT;
  741. static const int CONTROLLER_BUTTON_DPAD_RIGHT = SDL_CONTROLLER_BUTTON_DPAD_RIGHT;
  742. static const int CONTROLLER_AXIS_LEFTX = SDL_CONTROLLER_AXIS_LEFTX;
  743. static const int CONTROLLER_AXIS_LEFTY = SDL_CONTROLLER_AXIS_LEFTY;
  744. static const int CONTROLLER_AXIS_RIGHTX = SDL_CONTROLLER_AXIS_RIGHTX;
  745. static const int CONTROLLER_AXIS_RIGHTY = SDL_CONTROLLER_AXIS_RIGHTY;
  746. static const int CONTROLLER_AXIS_TRIGGERLEFT = SDL_CONTROLLER_AXIS_TRIGGERLEFT;
  747. static const int CONTROLLER_AXIS_TRIGGERRIGHT = SDL_CONTROLLER_AXIS_TRIGGERRIGHT;
  748. }