💿🐜 Antkeeper source code https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

281 lines
3.4 KiB

  1. /*
  2. * Copyright (C) 2021 Christopher J. Howard
  3. *
  4. * This file is part of Antkeeper source code.
  5. *
  6. * Antkeeper source code is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Antkeeper source code is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #ifndef ANTKEEPER_INPUT_SCANCODE_HPP
  20. #define ANTKEEPER_INPUT_SCANCODE_HPP
  21. namespace input {
  22. /**
  23. * Enumerates keyboard scancodes.
  24. */
  25. enum class scancode
  26. {
  27. unknown,
  28. a,
  29. b,
  30. c,
  31. d,
  32. e,
  33. f,
  34. g,
  35. h,
  36. i,
  37. j,
  38. k,
  39. l,
  40. m,
  41. n,
  42. o,
  43. p,
  44. q,
  45. r,
  46. s,
  47. t,
  48. u,
  49. v,
  50. w,
  51. x,
  52. y,
  53. z,
  54. one,
  55. two,
  56. three,
  57. four,
  58. five,
  59. six,
  60. seven,
  61. eight,
  62. nine,
  63. zero,
  64. enter,
  65. escape,
  66. backspace,
  67. tab,
  68. space,
  69. minus,
  70. equal,
  71. left_brace,
  72. right_brace,
  73. backslash,
  74. non_us_hash,
  75. semicolon,
  76. apostrophe,
  77. grave,
  78. comma,
  79. dot,
  80. slash,
  81. caps_lock,
  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. print_screen,
  95. scroll_lock,
  96. pause,
  97. insert,
  98. home,
  99. page_up,
  100. del,
  101. end,
  102. page_down,
  103. right,
  104. left,
  105. down,
  106. up,
  107. num_lock,
  108. kp_slash,
  109. kp_asterisk,
  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_dot,
  124. non_us_backslash,
  125. application,
  126. power,
  127. kp_equal,
  128. f13,
  129. f14,
  130. f15,
  131. f16,
  132. f17,
  133. f18,
  134. f19,
  135. f20,
  136. f21,
  137. f22,
  138. f23,
  139. f24,
  140. execute,
  141. help,
  142. menu,
  143. select,
  144. stop,
  145. again,
  146. undo,
  147. cut,
  148. copy,
  149. paste,
  150. find,
  151. mute,
  152. volume_up,
  153. volume_down,
  154. locking_caps_lock,
  155. locking_num_lock,
  156. locking_scroll_lock,
  157. kp_comma,
  158. kp_equal_as400,
  159. international_1,
  160. international_2,
  161. international_3,
  162. international_4,
  163. international_5,
  164. international_6,
  165. international_7,
  166. international_8,
  167. international_9,
  168. lang_1,
  169. lang_2,
  170. lang_3,
  171. lang_4,
  172. lang_5,
  173. lang_6,
  174. lang_7,
  175. lang_8,
  176. lang_9,
  177. alt_erase,
  178. sys_req,
  179. cancel,
  180. clear,
  181. prior,
  182. return_2,
  183. separator,
  184. _out,
  185. oper,
  186. clear_again,
  187. cr_sel,
  188. ex_sel,
  189. kp_00,
  190. kp_000,
  191. thousands_separator,
  192. decimal_separator,
  193. currency_unit,
  194. currency_sub_unit,
  195. kp_left_paren,
  196. kp_right_paren,
  197. kp_left_brace,
  198. kp_right_brace,
  199. kp_tab,
  200. kp_backspace,
  201. kp_a,
  202. kp_b,
  203. kp_c,
  204. kp_d,
  205. kp_e,
  206. kp_f,
  207. kp_xor,
  208. kp_power,
  209. kp_percent,
  210. kp_less,
  211. kp_greater,
  212. kp_ampersand,
  213. kp_double_ampersand,
  214. kp_vertical_bar,
  215. kp_double_vertical_bar,
  216. kp_colon,
  217. kp_hash,
  218. kp_space,
  219. kp_at,
  220. kp_exclam,
  221. kp_mem_store,
  222. kp_mem_recall,
  223. kp_mem_clear,
  224. kp_mem_add,
  225. kp_mem_subtract,
  226. kp_mem_multiply,
  227. kp_mem_divide,
  228. kp_plus_minus,
  229. kp_clear,
  230. kp_clear_entry,
  231. kp_binary,
  232. kp_octal,
  233. kp_decimal,
  234. kp_hexadecimal,
  235. left_ctrl,
  236. left_shift,
  237. left_alt,
  238. left_gui,
  239. right_ctrl,
  240. right_shift,
  241. right_alt,
  242. right_gui,
  243. mode,
  244. audio_next,
  245. audio_prev,
  246. audio_stop,
  247. audio_play,
  248. audio_mute,
  249. media_select,
  250. www,
  251. mail,
  252. calculator,
  253. computer,
  254. ac_search,
  255. ac_home,
  256. ac_back,
  257. ac_forward,
  258. ac_stop,
  259. ac_refresh,
  260. ac_bookmarks,
  261. brightness_down,
  262. brightness_up,
  263. display_switch,
  264. kbd_illum_toggle,
  265. kbd_illum_down,
  266. kbd_illum_up,
  267. eject,
  268. sleep,
  269. app_1,
  270. app_2,
  271. audio_rewind,
  272. audio_fast_forward
  273. };
  274. } // namespace input
  275. #endif // ANTKEEPER_INPUT_SCANCODE_HPP