KeyCode.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. // Copyright (C) 2009-2016, Panagiotis Christopoulos Charitos.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma once
  6. namespace anki
  7. {
  8. /// Keyboard scancodes taken from SDL
  9. enum class KeyCode
  10. {
  11. UNKNOWN = 0,
  12. RETURN,
  13. ESCAPE,
  14. BACKSPACE,
  15. TAB,
  16. SPACE,
  17. EXCLAIM,
  18. QUOTEDBL,
  19. HASH,
  20. PERCENT,
  21. DOLLAR,
  22. AMPERSAND,
  23. QUOTE,
  24. LEFTPAREN,
  25. RIGHTPAREN,
  26. ASTERISK,
  27. PLUS,
  28. COMMA,
  29. MINUS,
  30. PERIOD,
  31. SLASH,
  32. _0,
  33. _1,
  34. _2,
  35. _3,
  36. _4,
  37. _5,
  38. _6,
  39. _7,
  40. _8,
  41. _9,
  42. COLON,
  43. SEMICOLON,
  44. LESS,
  45. EQUALS,
  46. GREATER,
  47. QUESTION,
  48. AT,
  49. LEFTBRACKET,
  50. BACKSLASH,
  51. RIGHTBRACKET,
  52. CARET,
  53. UNDERSCORE,
  54. BACKQUOTE,
  55. A,
  56. B,
  57. C,
  58. D,
  59. E,
  60. F,
  61. G,
  62. H,
  63. I,
  64. J,
  65. K,
  66. L,
  67. M,
  68. N,
  69. O,
  70. P,
  71. Q,
  72. R,
  73. S,
  74. T,
  75. U,
  76. V,
  77. W,
  78. X,
  79. Y,
  80. Z,
  81. CAPSLOCK,
  82. F1,
  83. F2,
  84. F3,
  85. F4,
  86. F5,
  87. F6,
  88. F7,
  89. F8,
  90. F9,
  91. F10,
  92. F11,
  93. F12,
  94. PRINTSCREEN,
  95. SCROLLLOCK,
  96. PAUSE,
  97. INSERT,
  98. HOME,
  99. PAGEUP,
  100. DELETE,
  101. END,
  102. PAGEDOWN,
  103. RIGHT,
  104. LEFT,
  105. DOWN,
  106. UP,
  107. NUMLOCKCLEAR,
  108. KP_DIVIDE,
  109. KP_MULTIPLY,
  110. KP_MINUS,
  111. KP_PLUS,
  112. KP_ENTER,
  113. KP_1,
  114. KP_2,
  115. KP_3,
  116. KP_4,
  117. KP_5,
  118. KP_6,
  119. KP_7,
  120. KP_8,
  121. KP_9,
  122. KP_0,
  123. KP_PERIOD,
  124. APPLICATION,
  125. POWER,
  126. KP_EQUALS,
  127. F13,
  128. F14,
  129. F15,
  130. F16,
  131. F17,
  132. F18,
  133. F19,
  134. F20,
  135. F21,
  136. F22,
  137. F23,
  138. F24,
  139. EXECUTE,
  140. HELP,
  141. MENU,
  142. SELECT,
  143. STOP,
  144. AGAIN,
  145. UNDO,
  146. CUT,
  147. COPY,
  148. PASTE,
  149. FIND,
  150. MUTE,
  151. VOLUMEUP,
  152. VOLUMEDOWN,
  153. KP_COMMA,
  154. KP_EQUALSAS400,
  155. ALTERASE,
  156. SYSREQ,
  157. CANCEL,
  158. CLEAR,
  159. PRIOR,
  160. RETURN2,
  161. SEPARATOR,
  162. OUT,
  163. OPER,
  164. CLEARAGAIN,
  165. CRSEL,
  166. EXSEL,
  167. KP_00,
  168. KP_000,
  169. THOUSANDSSEPARATOR,
  170. DECIMALSEPARATOR,
  171. CURRENCYUNIT,
  172. CURRENCYSUBUNIT,
  173. KP_LEFTPAREN,
  174. KP_RIGHTPAREN,
  175. KP_LEFTBRACE,
  176. KP_RIGHTBRACE,
  177. KP_TAB,
  178. KP_BACKSPACE,
  179. KP_A,
  180. KP_B,
  181. KP_C,
  182. KP_D,
  183. KP_E,
  184. KP_F,
  185. KP_XOR,
  186. KP_POWER,
  187. KP_PERCENT,
  188. KP_LESS,
  189. KP_GREATER,
  190. KP_AMPERSAND,
  191. KP_DBLAMPERSAND,
  192. KP_VERTICALBAR,
  193. KP_DBLVERTICALBAR,
  194. KP_COLON,
  195. KP_HASH,
  196. KP_SPACE,
  197. KP_AT,
  198. KP_EXCLAM,
  199. KP_MEMSTORE,
  200. KP_MEMRECALL,
  201. KP_MEMCLEAR,
  202. KP_MEMADD,
  203. KP_MEMSUBTRACT,
  204. KP_MEMMULTIPLY,
  205. KP_MEMDIVIDE,
  206. KP_PLUSMINUS,
  207. KP_CLEAR,
  208. KP_CLEARENTRY,
  209. KP_BINARY,
  210. KP_OCTAL,
  211. KP_DECIMAL,
  212. KP_HEXADECIMAL,
  213. LCTRL,
  214. LSHIFT,
  215. LALT,
  216. LGUI,
  217. RCTRL,
  218. RSHIFT,
  219. RALT,
  220. RGUI,
  221. MODE,
  222. AUDIONEXT,
  223. AUDIOPREV,
  224. AUDIOSTOP,
  225. AUDIOPLAY,
  226. AUDIOMUTE,
  227. MEDIASELECT,
  228. WWW,
  229. MAIL,
  230. CALCULATOR,
  231. COMPUTER,
  232. AC_SEARCH,
  233. AC_HOME,
  234. AC_BACK,
  235. AC_FORWARD,
  236. AC_STOP,
  237. AC_REFRESH,
  238. AC_BOOKMARKS,
  239. BRIGHTNESSDOWN,
  240. BRIGHTNESSUP,
  241. DISPLAYSWITCH,
  242. KBDILLUMTOGGLE,
  243. KBDILLUMDOWN,
  244. KBDILLUMUP,
  245. EJECT,
  246. SLEEP,
  247. COUNT
  248. };
  249. enum class MouseButton
  250. {
  251. LEFT,
  252. MIDDLE,
  253. RIGHT
  254. };
  255. } // end namespace anki