InputEvents.pkg 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. $#include "Input/InputEvents.h"
  2. enum MouseButton
  3. {
  4. MOUSEB_LEFT,
  5. MOUSEB_MIDDLE,
  6. MOUSEB_RIGHT
  7. };
  8. enum Qualifier
  9. {
  10. QUAL_SHIFT,
  11. QUAL_CTRL,
  12. QUAL_ALT,
  13. QUAL_ANY,
  14. };
  15. enum Key
  16. {
  17. KEY_UNKNOWN,
  18. KEY_A,
  19. KEY_B,
  20. KEY_C,
  21. KEY_D,
  22. KEY_E,
  23. KEY_F,
  24. KEY_G,
  25. KEY_H,
  26. KEY_I,
  27. KEY_J,
  28. KEY_K,
  29. KEY_L,
  30. KEY_M,
  31. KEY_N,
  32. KEY_O,
  33. KEY_P,
  34. KEY_Q,
  35. KEY_R,
  36. KEY_S,
  37. KEY_T,
  38. KEY_U,
  39. KEY_V,
  40. KEY_W,
  41. KEY_X,
  42. KEY_Y,
  43. KEY_Z,
  44. KEY_0,
  45. KEY_1,
  46. KEY_2,
  47. KEY_3,
  48. KEY_4,
  49. KEY_5,
  50. KEY_6,
  51. KEY_7,
  52. KEY_8,
  53. KEY_9,
  54. KEY_BACKSPACE,
  55. KEY_TAB,
  56. KEY_RETURN,
  57. KEY_RETURN2,
  58. KEY_KP_ENTER,
  59. KEY_SHIFT,
  60. KEY_CTRL,
  61. KEY_ALT,
  62. KEY_GUI,
  63. KEY_PAUSE,
  64. KEY_CAPSLOCK,
  65. KEY_ESCAPE,
  66. KEY_SPACE,
  67. KEY_PAGEUP,
  68. KEY_PAGEDOWN,
  69. KEY_END,
  70. KEY_HOME,
  71. KEY_LEFT,
  72. KEY_UP,
  73. KEY_RIGHT,
  74. KEY_DOWN,
  75. KEY_SELECT,
  76. KEY_PRINTSCREEN,
  77. KEY_INSERT,
  78. KEY_DELETE,
  79. KEY_LGUI,
  80. KEY_RGUI,
  81. KEY_APPLICATION,
  82. KEY_KP_0,
  83. KEY_KP_1,
  84. KEY_KP_2,
  85. KEY_KP_3,
  86. KEY_KP_4,
  87. KEY_KP_5,
  88. KEY_KP_6,
  89. KEY_KP_7,
  90. KEY_KP_8,
  91. KEY_KP_9,
  92. KEY_KP_MULTIPLY,
  93. KEY_KP_PLUS,
  94. KEY_KP_MINUS,
  95. KEY_KP_PERIOD,
  96. KEY_KP_DIVIDE,
  97. KEY_F1,
  98. KEY_F2,
  99. KEY_F3,
  100. KEY_F4,
  101. KEY_F5,
  102. KEY_F6,
  103. KEY_F7,
  104. KEY_F8,
  105. KEY_F9,
  106. KEY_F10,
  107. KEY_F11,
  108. KEY_F12,
  109. KEY_F13,
  110. KEY_F14,
  111. KEY_F15,
  112. KEY_F16,
  113. KEY_F17,
  114. KEY_F18,
  115. KEY_F19,
  116. KEY_F20,
  117. KEY_F21,
  118. KEY_F22,
  119. KEY_F23,
  120. KEY_F24,
  121. KEY_NUMLOCKCLEAR,
  122. KEY_SCROLLLOCK,
  123. KEY_LSHIFT,
  124. KEY_RSHIFT,
  125. KEY_LCTRL,
  126. KEY_RCTRL,
  127. KEY_LALT,
  128. KEY_RALT,
  129. KEY_AC_BACK,
  130. KEY_AC_BOOKMARKS,
  131. KEY_AC_FORWARD,
  132. KEY_AC_HOME,
  133. KEY_AC_REFRESH,
  134. KEY_AC_SEARCH,
  135. KEY_AC_STOP,
  136. KEY_AGAIN,
  137. KEY_ALTERASE,
  138. KEY_AMPERSAND,
  139. KEY_ASTERISK,
  140. KEY_AT,
  141. KEY_AUDIOMUTE,
  142. KEY_AUDIONEXT,
  143. KEY_AUDIOPLAY,
  144. KEY_AUDIOPREV,
  145. KEY_AUDIOSTOP,
  146. KEY_BACKQUOTE,
  147. KEY_BACKSLASH,
  148. KEY_BRIGHTNESSDOWN,
  149. KEY_BRIGHTNESSUP,
  150. KEY_CALCULATOR,
  151. KEY_CANCEL,
  152. KEY_CARET,
  153. KEY_CLEAR,
  154. KEY_CLEARAGAIN,
  155. KEY_COLON,
  156. KEY_COMMA,
  157. KEY_COMPUTER,
  158. KEY_COPY,
  159. KEY_CRSEL,
  160. KEY_CURRENCYSUBUNIT,
  161. KEY_CURRENCYUNIT,
  162. KEY_CUT,
  163. KEY_DECIMALSEPARATOR,
  164. KEY_DISPLAYSWITCH,
  165. KEY_DOLLAR,
  166. KEY_EJECT,
  167. KEY_EQUALS,
  168. KEY_EXCLAIM,
  169. KEY_EXSEL,
  170. KEY_FIND,
  171. KEY_GREATER,
  172. KEY_HASH,
  173. KEY_HELP,
  174. KEY_KBDILLUMDOWN,
  175. KEY_KBDILLUMTOGGLE,
  176. KEY_KBDILLUMUP,
  177. KEY_KP_00,
  178. KEY_KP_000,
  179. KEY_KP_A,
  180. KEY_KP_AMPERSAND,
  181. KEY_KP_AT,
  182. KEY_KP_B,
  183. KEY_KP_BACKSPACE,
  184. KEY_KP_BINARY,
  185. KEY_KP_C,
  186. KEY_KP_CLEAR,
  187. KEY_KP_CLEARENTRY,
  188. KEY_KP_COLON,
  189. KEY_KP_COMMA,
  190. KEY_KP_D,
  191. KEY_KP_DBLAMPERSAND,
  192. KEY_KP_DBLVERTICALBAR,
  193. KEY_KP_DECIMAL,
  194. KEY_KP_E,
  195. KEY_KP_EQUALS,
  196. KEY_KP_EQUALSAS400,
  197. KEY_KP_EXCLAM,
  198. KEY_KP_F,
  199. KEY_KP_GREATER,
  200. KEY_KP_HASH,
  201. KEY_KP_HEXADECIMAL,
  202. KEY_KP_LEFTBRACE,
  203. KEY_KP_LEFTPAREN,
  204. KEY_KP_LESS,
  205. KEY_KP_MEMADD,
  206. KEY_KP_MEMCLEAR,
  207. KEY_KP_MEMDIVIDE,
  208. KEY_KP_MEMMULTIPLY,
  209. KEY_KP_MEMRECALL,
  210. KEY_KP_MEMSTORE,
  211. KEY_KP_MEMSUBTRACT,
  212. KEY_KP_OCTAL,
  213. KEY_KP_PERCENT,
  214. KEY_KP_PLUSMINUS,
  215. KEY_KP_POWER,
  216. KEY_KP_RIGHTBRACE,
  217. KEY_KP_RIGHTPAREN,
  218. KEY_KP_SPACE,
  219. KEY_KP_TAB,
  220. KEY_KP_VERTICALBAR,
  221. KEY_KP_XOR,
  222. KEY_LEFTBRACKET,
  223. KEY_LEFTPAREN,
  224. KEY_LESS,
  225. KEY_MAIL,
  226. KEY_MEDIASELECT,
  227. KEY_MENU,
  228. KEY_MINUS,
  229. KEY_MODE,
  230. KEY_MUTE,
  231. KEY_OPER,
  232. KEY_OUT,
  233. KEY_PASTE,
  234. KEY_PERCENT,
  235. KEY_PERIOD,
  236. KEY_PLUS,
  237. KEY_POWER,
  238. KEY_PRIOR,
  239. KEY_QUESTION,
  240. KEY_QUOTE,
  241. KEY_QUOTEDBL,
  242. KEY_RIGHTBRACKET,
  243. KEY_RIGHTPAREN,
  244. KEY_SEMICOLON,
  245. KEY_SEPARATOR,
  246. KEY_SLASH,
  247. KEY_SLEEP,
  248. KEY_STOP,
  249. KEY_SYSREQ,
  250. KEY_THOUSANDSSEPARATOR,
  251. KEY_UNDERSCORE,
  252. KEY_UNDO,
  253. KEY_VOLUMEDOWN,
  254. KEY_VOLUMEUP,
  255. KEY_WWW
  256. };
  257. enum Scancode
  258. {
  259. SCANCODE_UNKNOWN,
  260. SCANCODE_CTRL,
  261. SCANCODE_SHIFT,
  262. SCANCODE_ALT,
  263. SCANCODE_GUI,
  264. SCANCODE_A,
  265. SCANCODE_B,
  266. SCANCODE_C,
  267. SCANCODE_D,
  268. SCANCODE_E,
  269. SCANCODE_F,
  270. SCANCODE_G,
  271. SCANCODE_H,
  272. SCANCODE_I,
  273. SCANCODE_J,
  274. SCANCODE_K,
  275. SCANCODE_L,
  276. SCANCODE_M,
  277. SCANCODE_N,
  278. SCANCODE_O,
  279. SCANCODE_P,
  280. SCANCODE_Q,
  281. SCANCODE_R,
  282. SCANCODE_S,
  283. SCANCODE_T,
  284. SCANCODE_U,
  285. SCANCODE_V,
  286. SCANCODE_W,
  287. SCANCODE_X,
  288. SCANCODE_Y,
  289. SCANCODE_Z,
  290. SCANCODE_1,
  291. SCANCODE_2,
  292. SCANCODE_3,
  293. SCANCODE_4,
  294. SCANCODE_5,
  295. SCANCODE_6,
  296. SCANCODE_7,
  297. SCANCODE_8,
  298. SCANCODE_9,
  299. SCANCODE_0,
  300. SCANCODE_RETURN,
  301. SCANCODE_ESCAPE,
  302. SCANCODE_BACKSPACE,
  303. SCANCODE_TAB,
  304. SCANCODE_SPACE,
  305. SCANCODE_MINUS,
  306. SCANCODE_EQUALS,
  307. SCANCODE_LEFTBRACKET,
  308. SCANCODE_RIGHTBRACKET,
  309. SCANCODE_BACKSLASH,
  310. SCANCODE_NONUSHASH,
  311. SCANCODE_SEMICOLON,
  312. SCANCODE_APOSTROPHE,
  313. SCANCODE_GRAVE,
  314. SCANCODE_COMMA,
  315. SCANCODE_PERIOD,
  316. SCANCODE_SLASH,
  317. SCANCODE_CAPSLOCK,
  318. SCANCODE_F1,
  319. SCANCODE_F2,
  320. SCANCODE_F3,
  321. SCANCODE_F4,
  322. SCANCODE_F5,
  323. SCANCODE_F6,
  324. SCANCODE_F7,
  325. SCANCODE_F8,
  326. SCANCODE_F9,
  327. SCANCODE_F10,
  328. SCANCODE_F11,
  329. SCANCODE_F12,
  330. SCANCODE_PRINTSCREEN,
  331. SCANCODE_SCROLLLOCK,
  332. SCANCODE_PAUSE,
  333. SCANCODE_INSERT,
  334. SCANCODE_HOME,
  335. SCANCODE_PAGEUP,
  336. SCANCODE_DELETE,
  337. SCANCODE_END,
  338. SCANCODE_PAGEDOWN,
  339. SCANCODE_RIGHT,
  340. SCANCODE_LEFT,
  341. SCANCODE_DOWN,
  342. SCANCODE_UP,
  343. SCANCODE_NUMLOCKCLEAR,
  344. SCANCODE_KP_DIVIDE,
  345. SCANCODE_KP_MULTIPLY,
  346. SCANCODE_KP_MINUS,
  347. SCANCODE_KP_PLUS,
  348. SCANCODE_KP_ENTER,
  349. SCANCODE_KP_1,
  350. SCANCODE_KP_2,
  351. SCANCODE_KP_3,
  352. SCANCODE_KP_4,
  353. SCANCODE_KP_5,
  354. SCANCODE_KP_6,
  355. SCANCODE_KP_7,
  356. SCANCODE_KP_8,
  357. SCANCODE_KP_9,
  358. SCANCODE_KP_0,
  359. SCANCODE_KP_PERIOD,
  360. SCANCODE_NONUSBACKSLASH,
  361. SCANCODE_APPLICATION,
  362. SCANCODE_POWER,
  363. SCANCODE_KP_EQUALS,
  364. SCANCODE_F13,
  365. SCANCODE_F14,
  366. SCANCODE_F15,
  367. SCANCODE_F16,
  368. SCANCODE_F17,
  369. SCANCODE_F18,
  370. SCANCODE_F19,
  371. SCANCODE_F20,
  372. SCANCODE_F21,
  373. SCANCODE_F22,
  374. SCANCODE_F23,
  375. SCANCODE_F24,
  376. SCANCODE_EXECUTE,
  377. SCANCODE_HELP,
  378. SCANCODE_MENU,
  379. SCANCODE_SELECT,
  380. SCANCODE_STOP,
  381. SCANCODE_AGAIN,
  382. SCANCODE_UNDO,
  383. SCANCODE_CUT,
  384. SCANCODE_COPY,
  385. SCANCODE_PASTE,
  386. SCANCODE_FIND,
  387. SCANCODE_MUTE,
  388. SCANCODE_VOLUMEUP,
  389. SCANCODE_VOLUMEDOWN,
  390. SCANCODE_KP_COMMA,
  391. SCANCODE_KP_EQUALSAS400,
  392. SCANCODE_INTERNATIONAL1,
  393. SCANCODE_INTERNATIONAL2,
  394. SCANCODE_INTERNATIONAL3,
  395. SCANCODE_INTERNATIONAL4,
  396. SCANCODE_INTERNATIONAL5,
  397. SCANCODE_INTERNATIONAL6,
  398. SCANCODE_INTERNATIONAL7,
  399. SCANCODE_INTERNATIONAL8,
  400. SCANCODE_INTERNATIONAL9,
  401. SCANCODE_LANG1,
  402. SCANCODE_LANG2,
  403. SCANCODE_LANG3,
  404. SCANCODE_LANG4,
  405. SCANCODE_LANG5,
  406. SCANCODE_LANG6,
  407. SCANCODE_LANG7,
  408. SCANCODE_LANG8,
  409. SCANCODE_LANG9,
  410. SCANCODE_ALTERASE,
  411. SCANCODE_SYSREQ,
  412. SCANCODE_CANCEL,
  413. SCANCODE_CLEAR,
  414. SCANCODE_PRIOR,
  415. SCANCODE_RETURN2,
  416. SCANCODE_SEPARATOR,
  417. SCANCODE_OUT,
  418. SCANCODE_OPER,
  419. SCANCODE_CLEARAGAIN,
  420. SCANCODE_CRSEL,
  421. SCANCODE_EXSEL,
  422. SCANCODE_KP_00,
  423. SCANCODE_KP_000,
  424. SCANCODE_THOUSANDSSEPARATOR,
  425. SCANCODE_DECIMALSEPARATOR,
  426. SCANCODE_CURRENCYUNIT,
  427. SCANCODE_CURRENCYSUBUNIT,
  428. SCANCODE_KP_LEFTPAREN,
  429. SCANCODE_KP_RIGHTPAREN,
  430. SCANCODE_KP_LEFTBRACE,
  431. SCANCODE_KP_RIGHTBRACE,
  432. SCANCODE_KP_TAB,
  433. SCANCODE_KP_BACKSPACE,
  434. SCANCODE_KP_A,
  435. SCANCODE_KP_B,
  436. SCANCODE_KP_C,
  437. SCANCODE_KP_D,
  438. SCANCODE_KP_E,
  439. SCANCODE_KP_F,
  440. SCANCODE_KP_XOR,
  441. SCANCODE_KP_POWER,
  442. SCANCODE_KP_PERCENT,
  443. SCANCODE_KP_LESS,
  444. SCANCODE_KP_GREATER,
  445. SCANCODE_KP_AMPERSAND,
  446. SCANCODE_KP_DBLAMPERSAND,
  447. SCANCODE_KP_VERTICALBAR,
  448. SCANCODE_KP_DBLVERTICALBAR,
  449. SCANCODE_KP_COLON,
  450. SCANCODE_KP_HASH,
  451. SCANCODE_KP_SPACE,
  452. SCANCODE_KP_AT,
  453. SCANCODE_KP_EXCLAM,
  454. SCANCODE_KP_MEMSTORE,
  455. SCANCODE_KP_MEMRECALL,
  456. SCANCODE_KP_MEMCLEAR,
  457. SCANCODE_KP_MEMADD,
  458. SCANCODE_KP_MEMSUBTRACT,
  459. SCANCODE_KP_MEMMULTIPLY,
  460. SCANCODE_KP_MEMDIVIDE,
  461. SCANCODE_KP_PLUSMINUS,
  462. SCANCODE_KP_CLEAR,
  463. SCANCODE_KP_CLEARENTRY,
  464. SCANCODE_KP_BINARY,
  465. SCANCODE_KP_OCTAL,
  466. SCANCODE_KP_DECIMAL,
  467. SCANCODE_KP_HEXADECIMAL,
  468. SCANCODE_LCTRL,
  469. SCANCODE_LSHIFT,
  470. SCANCODE_LALT,
  471. SCANCODE_LGUI,
  472. SCANCODE_RCTRL,
  473. SCANCODE_RSHIFT,
  474. SCANCODE_RALT,
  475. SCANCODE_RGUI,
  476. SCANCODE_MODE,
  477. SCANCODE_AUDIONEXT,
  478. SCANCODE_AUDIOPREV,
  479. SCANCODE_AUDIOSTOP,
  480. SCANCODE_AUDIOPLAY,
  481. SCANCODE_AUDIOMUTE,
  482. SCANCODE_MEDIASELECT,
  483. SCANCODE_WWW,
  484. SCANCODE_MAIL,
  485. SCANCODE_CALCULATOR,
  486. SCANCODE_COMPUTER,
  487. SCANCODE_AC_SEARCH,
  488. SCANCODE_AC_HOME,
  489. SCANCODE_AC_BACK,
  490. SCANCODE_AC_FORWARD,
  491. SCANCODE_AC_STOP,
  492. SCANCODE_AC_REFRESH,
  493. SCANCODE_AC_BOOKMARKS,
  494. SCANCODE_BRIGHTNESSDOWN,
  495. SCANCODE_BRIGHTNESSUP,
  496. SCANCODE_DISPLAYSWITCH,
  497. SCANCODE_KBDILLUMTOGGLE,
  498. SCANCODE_KBDILLUMDOWN,
  499. SCANCODE_KBDILLUMUP,
  500. SCANCODE_EJECT,
  501. SCANCODE_SLEEP,
  502. SCANCODE_APP1,
  503. SCANCODE_APP2
  504. };
  505. enum HatPosition
  506. {
  507. HAT_CENTER,
  508. HAT_UP,
  509. HAT_RIGHT,
  510. HAT_DOWN,
  511. HAT_LEFT,
  512. };
  513. enum ControllerButton
  514. {
  515. CONTROLLER_BUTTON_A,
  516. CONTROLLER_BUTTON_B,
  517. CONTROLLER_BUTTON_X,
  518. CONTROLLER_BUTTON_Y,
  519. CONTROLLER_BUTTON_BACK,
  520. CONTROLLER_BUTTON_GUIDE,
  521. CONTROLLER_BUTTON_START,
  522. CONTROLLER_BUTTON_LEFTSTICK,
  523. CONTROLLER_BUTTON_RIGHTSTICK,
  524. CONTROLLER_BUTTON_LEFTSHOULDER,
  525. CONTROLLER_BUTTON_RIGHTSHOULDER,
  526. CONTROLLER_BUTTON_DPAD_UP,
  527. CONTROLLER_BUTTON_DPAD_DOWN,
  528. CONTROLLER_BUTTON_DPAD_LEFT,
  529. CONTROLLER_BUTTON_DPAD_RIGHT
  530. };
  531. enum ControllerAxis
  532. {
  533. CONTROLLER_AXIS_LEFTX,
  534. CONTROLLER_AXIS_LEFTY,
  535. CONTROLLER_AXIS_RIGHTX,
  536. CONTROLLER_AXIS_RIGHTY,
  537. CONTROLLER_AXIS_TRIGGERLEFT,
  538. CONTROLLER_AXIS_TRIGGERRIGHT,
  539. };