KeyboardStatus.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. // Copyright 2015 Dolphin Emulator Project
  2. // Licensed under GPLv2+
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "Common/CommonTypes.h"
  6. enum KeyMasks
  7. {
  8. KEYMASK_HOME = (1 << 0),
  9. KEYMASK_END = (1 << 1),
  10. KEYMASK_PGUP = (1 << 2),
  11. KEYMASK_PGDN = (1 << 3),
  12. KEYMASK_SCROLLLOCK = (1 << 4),
  13. KEYMASK_A = (1 << 5),
  14. KEYMASK_B = (1 << 6),
  15. KEYMASK_C = (1 << 7),
  16. KEYMASK_D = (1 << 8),
  17. KEYMASK_E = (1 << 9),
  18. KEYMASK_F = (1 << 10),
  19. KEYMASK_G = (1 << 11),
  20. KEYMASK_H = (1 << 12),
  21. KEYMASK_I = (1 << 13),
  22. KEYMASK_J = (1 << 14),
  23. KEYMASK_K = (1 << 15),
  24. KEYMASK_L = (1 << 0),
  25. KEYMASK_M = (1 << 1),
  26. KEYMASK_N = (1 << 2),
  27. KEYMASK_O = (1 << 3),
  28. KEYMASK_P = (1 << 4),
  29. KEYMASK_Q = (1 << 5),
  30. KEYMASK_R = (1 << 6),
  31. KEYMASK_S = (1 << 7),
  32. KEYMASK_T = (1 << 8),
  33. KEYMASK_U = (1 << 9),
  34. KEYMASK_V = (1 << 10),
  35. KEYMASK_W = (1 << 11),
  36. KEYMASK_X = (1 << 12),
  37. KEYMASK_Y = (1 << 13),
  38. KEYMASK_Z = (1 << 14),
  39. KEYMASK_1 = (1 << 15),
  40. KEYMASK_2 = (1 << 0),
  41. KEYMASK_3 = (1 << 1),
  42. KEYMASK_4 = (1 << 2),
  43. KEYMASK_5 = (1 << 3),
  44. KEYMASK_6 = (1 << 4),
  45. KEYMASK_7 = (1 << 5),
  46. KEYMASK_8 = (1 << 6),
  47. KEYMASK_9 = (1 << 7),
  48. KEYMASK_0 = (1 << 8),
  49. KEYMASK_MINUS = (1 << 9),
  50. KEYMASK_PLUS = (1 << 10),
  51. KEYMASK_PRINTSCR = (1 << 11),
  52. KEYMASK_BRACE_OPEN = (1 << 12),
  53. KEYMASK_BRACE_CLOSE = (1 << 13),
  54. KEYMASK_COLON = (1 << 14),
  55. KEYMASK_QUOTE = (1 << 15),
  56. KEYMASK_HASH = (1 << 0),
  57. KEYMASK_COMMA = (1 << 1),
  58. KEYMASK_PERIOD = (1 << 2),
  59. KEYMASK_QUESTIONMARK = (1 << 3),
  60. KEYMASK_INTERNATIONAL1 = (1 << 4),
  61. KEYMASK_F1 = (1 << 5),
  62. KEYMASK_F2 = (1 << 6),
  63. KEYMASK_F3 = (1 << 7),
  64. KEYMASK_F4 = (1 << 8),
  65. KEYMASK_F5 = (1 << 9),
  66. KEYMASK_F6 = (1 << 10),
  67. KEYMASK_F7 = (1 << 11),
  68. KEYMASK_F8 = (1 << 12),
  69. KEYMASK_F9 = (1 << 13),
  70. KEYMASK_F10 = (1 << 14),
  71. KEYMASK_F11 = (1 << 15),
  72. KEYMASK_F12 = (1 << 0),
  73. KEYMASK_ESC = (1 << 1),
  74. KEYMASK_INSERT = (1 << 2),
  75. KEYMASK_DELETE = (1 << 3),
  76. KEYMASK_TILDE = (1 << 4),
  77. KEYMASK_BACKSPACE = (1 << 5),
  78. KEYMASK_TAB = (1 << 6),
  79. KEYMASK_CAPSLOCK = (1 << 7),
  80. KEYMASK_LEFTSHIFT = (1 << 8),
  81. KEYMASK_RIGHTSHIFT = (1 << 9),
  82. KEYMASK_LEFTCONTROL = (1 << 10),
  83. KEYMASK_RIGHTALT = (1 << 11),
  84. KEYMASK_LEFTWINDOWS = (1 << 12),
  85. KEYMASK_SPACE = (1 << 13),
  86. KEYMASK_RIGHTWINDOWS = (1 << 14),
  87. KEYMASK_MENU = (1 << 15),
  88. KEYMASK_LEFTARROW = (1 << 0),
  89. KEYMASK_DOWNARROW = (1 << 1),
  90. KEYMASK_UPARROW = (1 << 2),
  91. KEYMASK_RIGHTARROW = (1 << 3),
  92. KEYMASK_ENTER = (1 << 4),
  93. };
  94. enum KeyScanCode
  95. {
  96. KEY_HOME = 0x06,
  97. KEY_END = 0x07,
  98. KEY_PGUP = 0x08,
  99. KEY_PGDN = 0x09,
  100. KEY_SCROLLLOCK = 0x0A,
  101. KEY_A = 0x10,
  102. KEY_B = 0x11,
  103. KEY_C = 0x12,
  104. KEY_D = 0x13,
  105. KEY_E = 0x14,
  106. KEY_F = 0x15,
  107. KEY_G = 0x16,
  108. KEY_H = 0x17,
  109. KEY_I = 0x18,
  110. KEY_J = 0x19,
  111. KEY_K = 0x1A,
  112. KEY_L = 0x1B,
  113. KEY_M = 0x1C,
  114. KEY_N = 0x1D,
  115. KEY_O = 0x1E,
  116. KEY_P = 0x1F,
  117. KEY_Q = 0x20,
  118. KEY_R = 0x21,
  119. KEY_S = 0x22,
  120. KEY_T = 0x23,
  121. KEY_U = 0x24,
  122. KEY_V = 0x25,
  123. KEY_W = 0x26,
  124. KEY_X = 0x27,
  125. KEY_Y = 0x28,
  126. KEY_Z = 0x29,
  127. KEY_1 = 0x2A,
  128. KEY_2 = 0x2B,
  129. KEY_3 = 0x2C,
  130. KEY_4 = 0x2D,
  131. KEY_5 = 0x2E,
  132. KEY_6 = 0x2F,
  133. KEY_7 = 0x30,
  134. KEY_8 = 0x31,
  135. KEY_9 = 0x32,
  136. KEY_0 = 0x33,
  137. KEY_MINUS = 0x34,
  138. KEY_PLUS = 0x35,
  139. KEY_PRINTSCR = 0x36,
  140. KEY_BRACE_OPEN = 0x37,
  141. KEY_BRACE_CLOSE = 0x38,
  142. KEY_COLON = 0x39,
  143. KEY_QUOTE = 0x3A,
  144. KEY_HASH = 0x3B,
  145. KEY_COMMA = 0x3C,
  146. KEY_PERIOD = 0x3D,
  147. KEY_QUESTIONMARK = 0x3E,
  148. KEY_INTERNATIONAL1 = 0x3F,
  149. KEY_F1 = 0x40,
  150. KEY_F2 = 0x41,
  151. KEY_F3 = 0x42,
  152. KEY_F4 = 0x43,
  153. KEY_F5 = 0x44,
  154. KEY_F6 = 0x45,
  155. KEY_F7 = 0x46,
  156. KEY_F8 = 0x47,
  157. KEY_F9 = 0x48,
  158. KEY_F10 = 0x49,
  159. KEY_F11 = 0x4A,
  160. KEY_F12 = 0x4B,
  161. KEY_ESC = 0x4C,
  162. KEY_INSERT = 0x4D,
  163. KEY_DELETE = 0x4E,
  164. KEY_TILDE = 0x4F,
  165. KEY_BACKSPACE = 0x50,
  166. KEY_TAB = 0x51,
  167. KEY_CAPSLOCK = 0x53,
  168. KEY_LEFTSHIFT = 0x54,
  169. KEY_RIGHTSHIFT = 0x55,
  170. KEY_LEFTCONTROL = 0x56,
  171. KEY_RIGHTALT = 0x57,
  172. KEY_LEFTWINDOWS = 0x58,
  173. KEY_SPACE = 0x59,
  174. KEY_RIGHTWINDOWS = 0x5A,
  175. KEY_MENU = 0x5B,
  176. KEY_LEFTARROW = 0x5C,
  177. KEY_DOWNARROW = 0x5D,
  178. KEY_UPARROW = 0x5E,
  179. KEY_RIGHTARROW = 0x5F,
  180. KEY_ENTER = 0x61
  181. };
  182. struct KeyboardStatus
  183. {
  184. u16 key0x;
  185. u16 key1x;
  186. u16 key2x;
  187. u16 key3x;
  188. u16 key4x;
  189. u16 key5x;
  190. u16 key6x;
  191. s8 err;
  192. };