💿🐜 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.

277 lines
3.3 KiB

  1. /*
  2. * Copyright (C) 2020 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_SCANCODE_HPP
  20. #define ANTKEEPER_SCANCODE_HPP
  21. /**
  22. * Enumerates keyboard scancodes.
  23. */
  24. enum class scancode
  25. {
  26. unknown,
  27. a,
  28. b,
  29. c,
  30. d,
  31. e,
  32. f,
  33. g,
  34. h,
  35. i,
  36. j,
  37. k,
  38. l,
  39. m,
  40. n,
  41. o,
  42. p,
  43. q,
  44. r,
  45. s,
  46. t,
  47. u,
  48. v,
  49. w,
  50. x,
  51. y,
  52. z,
  53. one,
  54. two,
  55. three,
  56. four,
  57. five,
  58. six,
  59. seven,
  60. eight,
  61. nine,
  62. zero,
  63. enter,
  64. escape,
  65. backspace,
  66. tab,
  67. space,
  68. minus,
  69. equal,
  70. left_brace,
  71. right_brace,
  72. backslash,
  73. non_us_hash,
  74. semicolon,
  75. apostrophe,
  76. grave,
  77. comma,
  78. dot,
  79. slash,
  80. caps_lock,
  81. f1,
  82. f2,
  83. f3,
  84. f4,
  85. f5,
  86. f6,
  87. f7,
  88. f8,
  89. f9,
  90. f10,
  91. f11,
  92. f12,
  93. print_screen,
  94. scroll_lock,
  95. pause,
  96. insert,
  97. home,
  98. page_up,
  99. del,
  100. end,
  101. page_down,
  102. right,
  103. left,
  104. down,
  105. up,
  106. num_lock,
  107. kp_slash,
  108. kp_asterisk,
  109. kp_minus,
  110. kp_plus,
  111. kp_enter,
  112. kp_1,
  113. kp_2,
  114. kp_3,
  115. kp_4,
  116. kp_5,
  117. kp_6,
  118. kp_7,
  119. kp_8,
  120. kp_9,
  121. kp_0,
  122. kp_dot,
  123. non_us_backslash,
  124. application,
  125. power,
  126. kp_equal,
  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. volume_up,
  152. volume_down,
  153. locking_caps_lock,
  154. locking_num_lock,
  155. locking_scroll_lock,
  156. kp_comma,
  157. kp_equal_as400,
  158. international_1,
  159. international_2,
  160. international_3,
  161. international_4,
  162. international_5,
  163. international_6,
  164. international_7,
  165. international_8,
  166. international_9,
  167. lang_1,
  168. lang_2,
  169. lang_3,
  170. lang_4,
  171. lang_5,
  172. lang_6,
  173. lang_7,
  174. lang_8,
  175. lang_9,
  176. alt_erase,
  177. sys_req,
  178. cancel,
  179. clear,
  180. prior,
  181. return_2,
  182. separator,
  183. _out,
  184. oper,
  185. clear_again,
  186. cr_sel,
  187. ex_sel,
  188. kp_00,
  189. kp_000,
  190. thousands_separator,
  191. decimal_separator,
  192. currency_unit,
  193. currency_sub_unit,
  194. kp_left_paren,
  195. kp_right_paren,
  196. kp_left_brace,
  197. kp_right_brace,
  198. kp_tab,
  199. kp_backspace,
  200. kp_a,
  201. kp_b,
  202. kp_c,
  203. kp_d,
  204. kp_e,
  205. kp_f,
  206. kp_xor,
  207. kp_power,
  208. kp_percent,
  209. kp_less,
  210. kp_greater,
  211. kp_ampersand,
  212. kp_double_ampersand,
  213. kp_vertical_bar,
  214. kp_double_vertical_bar,
  215. kp_colon,
  216. kp_hash,
  217. kp_space,
  218. kp_at,
  219. kp_exclam,
  220. kp_mem_store,
  221. kp_mem_recall,
  222. kp_mem_clear,
  223. kp_mem_add,
  224. kp_mem_subtract,
  225. kp_mem_multiply,
  226. kp_mem_divide,
  227. kp_plus_minus,
  228. kp_clear,
  229. kp_clear_entry,
  230. kp_binary,
  231. kp_octal,
  232. kp_decimal,
  233. kp_hexadecimal,
  234. left_ctrl,
  235. left_shift,
  236. left_alt,
  237. left_gui,
  238. right_ctrl,
  239. right_shift,
  240. right_alt,
  241. right_gui,
  242. mode,
  243. audio_next,
  244. audio_prev,
  245. audio_stop,
  246. audio_play,
  247. audio_mute,
  248. media_select,
  249. www,
  250. mail,
  251. calculator,
  252. computer,
  253. ac_search,
  254. ac_home,
  255. ac_back,
  256. ac_forward,
  257. ac_stop,
  258. ac_refresh,
  259. ac_bookmarks,
  260. brightness_down,
  261. brightness_up,
  262. display_switch,
  263. kbd_illum_toggle,
  264. kbd_illum_down,
  265. kbd_illum_up,
  266. eject,
  267. sleep,
  268. app_1,
  269. app_2,
  270. audio_rewind,
  271. audio_fast_forward
  272. };
  273. #endif // ANTKEEPER_SCANCODE_HPP