KeyCode.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. #ifndef ANKI_INPUT_KEY_CODES_H
  2. #define ANKI_INPUT_KEY_CODES_H
  3. namespace anki {
  4. /// Keyboard scancodes taken from SDL
  5. enum KeyCode
  6. {
  7. KC_UNKNOWN = 0,
  8. KC_RETURN = '\r',
  9. KC_ESCAPE = '\033',
  10. KC_BACKSPACE = '\b',
  11. KC_TAB = '\t',
  12. KC_SPACE = ' ',
  13. KC_EXCLAIM = '!',
  14. KC_QUOTEDBL = '"',
  15. KC_HASH = '#',
  16. KC_PERCENT = '%',
  17. KC_DOLLAR = '$',
  18. KC_AMPERSAND = '&',
  19. KC_QUOTE = '\'',
  20. KC_LEFTPAREN = '(',
  21. KC_RIGHTPAREN = ')',
  22. KC_ASTERISK = '*',
  23. KC_PLUS = '+',
  24. KC_COMMA = ',',
  25. KC_MINUS = '-',
  26. KC_PERIOD = '.',
  27. KC_SLASH = '/',
  28. KC_0 = '0',
  29. KC_1 = '1',
  30. KC_2 = '2',
  31. KC_3 = '3',
  32. KC_4 = '4',
  33. KC_5 = '5',
  34. KC_6 = '6',
  35. KC_7 = '7',
  36. KC_8 = '8',
  37. KC_9 = '9',
  38. KC_COLON = ':',
  39. KC_SEMICOLON = ';',
  40. KC_LESS = '<',
  41. KC_EQUALS = '=',
  42. KC_GREATER = '>',
  43. KC_QUESTION = '?',
  44. KC_AT = '@',
  45. KC_LEFTBRACKET = '[',
  46. KC_BACKSLASH = '\\',
  47. KC_RIGHTBRACKET = ']',
  48. KC_CARET = '^',
  49. KC_UNDERSCORE = '_',
  50. KC_BACKQUOTE = '`',
  51. KC_A = 'a',
  52. KC_B = 'b',
  53. KC_C = 'c',
  54. KC_D = 'd',
  55. KC_E = 'e',
  56. KC_F = 'f',
  57. KC_G = 'g',
  58. KC_H = 'h',
  59. KC_I = 'i',
  60. KC_J = 'j',
  61. KC_K = 'k',
  62. KC_L = 'l',
  63. KC_M = 'm',
  64. KC_N = 'n',
  65. KC_O = 'o',
  66. KC_P = 'p',
  67. KC_Q = 'q',
  68. KC_R = 'r',
  69. KC_S = 's',
  70. KC_T = 't',
  71. KC_U = 'u',
  72. KC_V = 'v',
  73. KC_W = 'w',
  74. KC_X = 'x',
  75. KC_Y = 'y',
  76. KC_Z = 'z',
  77. KC_CAPSLOCK,
  78. KC_F1,
  79. KC_F2,
  80. KC_F3,
  81. KC_F4,
  82. KC_F5,
  83. KC_F6,
  84. KC_F7,
  85. KC_F8,
  86. KC_F9,
  87. KC_F10,
  88. KC_F11,
  89. KC_F12,
  90. KC_PRINTSCREEN,
  91. KC_SCROLLLOCK,
  92. KC_PAUSE,
  93. KC_INSERT,
  94. KC_HOME,
  95. KC_PAGEUP,
  96. KC_DELETE = '\177',
  97. KC_END,
  98. KC_PAGEDOWN,
  99. KC_RIGHT,
  100. KC_LEFT,
  101. KC_DOWN,
  102. KC_UP,
  103. KC_NUMLOCKCLEAR,
  104. KC_KP_DIVIDE,
  105. KC_KP_MULTIPLY,
  106. KC_KP_MINUS,
  107. KC_KP_PLUS,
  108. KC_KP_ENTER,
  109. KC_KP_1,
  110. KC_KP_2,
  111. KC_KP_3,
  112. KC_KP_4,
  113. KC_KP_5,
  114. KC_KP_6,
  115. KC_KP_7,
  116. KC_KP_8,
  117. KC_KP_9,
  118. KC_KP_0,
  119. KC_KP_PERIOD,
  120. KC_APPLICATION,
  121. KC_POWER,
  122. KC_KP_EQUALS,
  123. KC_F13,
  124. KC_F14,
  125. KC_F15,
  126. KC_F16,
  127. KC_F17,
  128. KC_F18,
  129. KC_F19,
  130. KC_F20,
  131. KC_F21,
  132. KC_F22,
  133. KC_F23,
  134. KC_F24,
  135. KC_EXECUTE,
  136. KC_HELP,
  137. KC_MENU,
  138. KC_SELECT,
  139. KC_STOP,
  140. KC_AGAIN,
  141. KC_UNDO,
  142. KC_CUT,
  143. KC_COPY,
  144. KC_PASTE,
  145. KC_FIND,
  146. KC_MUTE,
  147. KC_VOLUMEUP,
  148. KC_VOLUMEDOWN,
  149. KC_KP_COMMA,
  150. KC_KP_EQUALSAS400,
  151. KC_ALTERASE,
  152. KC_SYSREQ,
  153. KC_CANCEL,
  154. KC_CLEAR,
  155. KC_PRIOR,
  156. KC_RETURN2,
  157. KC_SEPARATOR,
  158. KC_OUT,
  159. KC_OPER,
  160. KC_CLEARAGAIN,
  161. KC_CRSEL,
  162. KC_EXSEL,
  163. KC_KP_00,
  164. KC_KP_000,
  165. KC_THOUSANDSSEPARATOR,
  166. KC_DECIMALSEPARATOR,
  167. KC_CURRENCYUNIT,
  168. KC_CURRENCYSUBUNIT,
  169. KC_KP_LEFTPAREN,
  170. KC_KP_RIGHTPAREN,
  171. KC_KP_LEFTBRACE,
  172. KC_KP_RIGHTBRACE,
  173. KC_KP_TAB,
  174. KC_KP_BACKSPACE,
  175. KC_KP_A,
  176. KC_KP_B,
  177. KC_KP_C,
  178. KC_KP_D,
  179. KC_KP_E,
  180. KC_KP_F,
  181. KC_KP_XOR,
  182. KC_KP_POWER,
  183. KC_KP_PERCENT,
  184. KC_KP_LESS,
  185. KC_KP_GREATER,
  186. KC_KP_AMPERSAND,
  187. KC_KP_DBLAMPERSAND,
  188. KC_KP_VERTICALBAR,
  189. KC_KP_DBLVERTICALBAR,
  190. KC_KP_COLON,
  191. KC_KP_HASH,
  192. KC_KP_SPACE,
  193. KC_KP_AT,
  194. KC_KP_EXCLAM,
  195. KC_KP_MEMSTORE,
  196. KC_KP_MEMRECALL,
  197. KC_KP_MEMCLEAR,
  198. KC_KP_MEMADD,
  199. KC_KP_MEMSUBTRACT,
  200. KC_KP_MEMMULTIPLY,
  201. KC_KP_MEMDIVIDE,
  202. KC_KP_PLUSMINUS,
  203. KC_KP_CLEAR,
  204. KC_KP_CLEARENTRY,
  205. KC_KP_BINARY,
  206. KC_KP_OCTAL,
  207. KC_KP_DECIMAL,
  208. KC_KP_HEXADECIMAL,
  209. KC_LCTRL,
  210. KC_LSHIFT,
  211. KC_LALT,
  212. KC_LGUI,
  213. KC_RCTRL,
  214. KC_RSHIFT,
  215. KC_RALT,
  216. KC_RGUI,
  217. KC_MODE,
  218. KC_AUDIONEXT,
  219. KC_AUDIOPREV,
  220. KC_AUDIOSTOP,
  221. KC_AUDIOPLAY,
  222. KC_AUDIOMUTE,
  223. KC_MEDIASELECT,
  224. KC_WWW,
  225. KC_MAIL,
  226. KC_CALCULATOR,
  227. KC_COMPUTER,
  228. KC_AC_SEARCH,
  229. KC_AC_HOME,
  230. KC_AC_BACK,
  231. KC_AC_FORWARD,
  232. KC_AC_STOP,
  233. KC_AC_REFRESH,
  234. KC_AC_BOOKMARKS,
  235. KC_BRIGHTNESSDOWN,
  236. KC_BRIGHTNESSUP,
  237. KC_DISPLAYSWITCH,
  238. KC_KBDILLUMTOGGLE,
  239. KC_KBDILLUMDOWN,
  240. KC_KBDILLUMUP,
  241. KC_EJECT,
  242. KC_SLEEP,
  243. KC_COUNT
  244. };
  245. } // end namespace anki
  246. #endif