KeyTransform.mm 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. #include "KeyTransform.h"
  2. const int kVK_ANSI_A = 0x00;
  3. const int kVK_ANSI_S = 0x01;
  4. const int kVK_ANSI_D = 0x02;
  5. const int kVK_ANSI_F = 0x03;
  6. const int kVK_ANSI_H = 0x04;
  7. const int kVK_ANSI_G = 0x05;
  8. const int kVK_ANSI_Z = 0x06;
  9. const int kVK_ANSI_X = 0x07;
  10. const int kVK_ANSI_C = 0x08;
  11. const int kVK_ANSI_V = 0x09;
  12. const int kVK_ANSI_B = 0x0B;
  13. const int kVK_ANSI_Q = 0x0C;
  14. const int kVK_ANSI_W = 0x0D;
  15. const int kVK_ANSI_E = 0x0E;
  16. const int kVK_ANSI_R = 0x0F;
  17. const int kVK_ANSI_Y = 0x10;
  18. const int kVK_ANSI_T = 0x11;
  19. const int kVK_ANSI_1 = 0x12;
  20. const int kVK_ANSI_2 = 0x13;
  21. const int kVK_ANSI_3 = 0x14;
  22. const int kVK_ANSI_4 = 0x15;
  23. const int kVK_ANSI_6 = 0x16;
  24. const int kVK_ANSI_5 = 0x17;
  25. const int kVK_ANSI_Equal = 0x18;
  26. const int kVK_ANSI_9 = 0x19;
  27. const int kVK_ANSI_7 = 0x1A;
  28. const int kVK_ANSI_Minus = 0x1B;
  29. const int kVK_ANSI_8 = 0x1C;
  30. const int kVK_ANSI_0 = 0x1D;
  31. const int kVK_ANSI_RightBracket = 0x1E;
  32. const int kVK_ANSI_O = 0x1F;
  33. const int kVK_ANSI_U = 0x20;
  34. const int kVK_ANSI_LeftBracket = 0x21;
  35. const int kVK_ANSI_I = 0x22;
  36. const int kVK_ANSI_P = 0x23;
  37. const int kVK_ANSI_L = 0x25;
  38. const int kVK_ANSI_J = 0x26;
  39. const int kVK_ANSI_Quote = 0x27;
  40. const int kVK_ANSI_K = 0x28;
  41. const int kVK_ANSI_Semicolon = 0x29;
  42. const int kVK_ANSI_Backslash = 0x2A;
  43. const int kVK_ANSI_Comma = 0x2B;
  44. const int kVK_ANSI_Slash = 0x2C;
  45. const int kVK_ANSI_N = 0x2D;
  46. const int kVK_ANSI_M = 0x2E;
  47. const int kVK_ANSI_Period = 0x2F;
  48. const int kVK_ANSI_Grave = 0x32;
  49. const int kVK_ANSI_KeypadDecimal = 0x41;
  50. const int kVK_ANSI_KeypadMultiply = 0x43;
  51. const int kVK_ANSI_KeypadPlus = 0x45;
  52. const int kVK_ANSI_KeypadClear = 0x47;
  53. const int kVK_ANSI_KeypadDivide = 0x4B;
  54. const int kVK_ANSI_KeypadEnter = 0x4C;
  55. const int kVK_ANSI_KeypadMinus = 0x4E;
  56. const int kVK_ANSI_KeypadEquals = 0x51;
  57. const int kVK_ANSI_Keypad0 = 0x52;
  58. const int kVK_ANSI_Keypad1 = 0x53;
  59. const int kVK_ANSI_Keypad2 = 0x54;
  60. const int kVK_ANSI_Keypad3 = 0x55;
  61. const int kVK_ANSI_Keypad4 = 0x56;
  62. const int kVK_ANSI_Keypad5 = 0x57;
  63. const int kVK_ANSI_Keypad6 = 0x58;
  64. const int kVK_ANSI_Keypad7 = 0x59;
  65. const int kVK_ANSI_Keypad8 = 0x5B;
  66. const int kVK_ANSI_Keypad9 = 0x5C;
  67. const int kVK_Return = 0x24;
  68. const int kVK_Tab = 0x30;
  69. const int kVK_Space = 0x31;
  70. const int kVK_Delete = 0x33;
  71. const int kVK_Escape = 0x35;
  72. const int kVK_Command = 0x37;
  73. const int kVK_Shift = 0x38;
  74. const int kVK_CapsLock = 0x39;
  75. const int kVK_Option = 0x3A;
  76. const int kVK_Control = 0x3B;
  77. const int kVK_RightCommand = 0x36;
  78. const int kVK_RightShift = 0x3C;
  79. const int kVK_RightOption = 0x3D;
  80. const int kVK_RightControl = 0x3E;
  81. //const int kVK_Function = 0x3F;
  82. const int kVK_F17 = 0x40;
  83. const int kVK_VolumeUp = 0x48;
  84. const int kVK_VolumeDown = 0x49;
  85. const int kVK_Mute = 0x4A;
  86. const int kVK_F18 = 0x4F;
  87. const int kVK_F19 = 0x50;
  88. const int kVK_F20 = 0x5A;
  89. const int kVK_F5 = 0x60;
  90. const int kVK_F6 = 0x61;
  91. const int kVK_F7 = 0x62;
  92. const int kVK_F3 = 0x63;
  93. const int kVK_F8 = 0x64;
  94. const int kVK_F9 = 0x65;
  95. const int kVK_F11 = 0x67;
  96. const int kVK_F13 = 0x69;
  97. const int kVK_F16 = 0x6A;
  98. const int kVK_F14 = 0x6B;
  99. const int kVK_F10 = 0x6D;
  100. const int kVK_F12 = 0x6F;
  101. const int kVK_F15 = 0x71;
  102. const int kVK_Help = 0x72;
  103. const int kVK_Home = 0x73;
  104. const int kVK_PageUp = 0x74;
  105. const int kVK_ForwardDelete = 0x75;
  106. const int kVK_F4 = 0x76;
  107. const int kVK_End = 0x77;
  108. const int kVK_F2 = 0x78;
  109. const int kVK_PageDown = 0x79;
  110. const int kVK_F1 = 0x7A;
  111. const int kVK_LeftArrow = 0x7B;
  112. const int kVK_RightArrow = 0x7C;
  113. const int kVK_DownArrow = 0x7D;
  114. const int kVK_UpArrow = 0x7E;
  115. //const int kVK_ISO_Section = 0x0A;
  116. //const int kVK_JIS_Yen = 0x5D;
  117. //const int kVK_JIS_Underscore = 0x5E;
  118. //const int kVK_JIS_KeypadComma = 0x5F;
  119. //const int kVK_JIS_Eisu = 0x66;
  120. const int kVK_JIS_Kana = 0x68;
  121. std::map<int, AvnKey> s_KeyMap =
  122. {
  123. {kVK_ANSI_A, A},
  124. {kVK_ANSI_S, S},
  125. {kVK_ANSI_D, D},
  126. {kVK_ANSI_F, F},
  127. {kVK_ANSI_H, H},
  128. {kVK_ANSI_G, G},
  129. {kVK_ANSI_Z, Z},
  130. {kVK_ANSI_X, X},
  131. {kVK_ANSI_C, C},
  132. {kVK_ANSI_V, V},
  133. {kVK_ANSI_B, B},
  134. {kVK_ANSI_Q, Q},
  135. {kVK_ANSI_W, W},
  136. {kVK_ANSI_E, E},
  137. {kVK_ANSI_R, R},
  138. {kVK_ANSI_Y, Y},
  139. {kVK_ANSI_T, T},
  140. {kVK_ANSI_1, D1},
  141. {kVK_ANSI_2, D2},
  142. {kVK_ANSI_3, D3},
  143. {kVK_ANSI_4, D4},
  144. {kVK_ANSI_6, D6},
  145. {kVK_ANSI_5, D5},
  146. {kVK_ANSI_Equal, OemPlus},
  147. {kVK_ANSI_9, D9},
  148. {kVK_ANSI_7, D7},
  149. {kVK_ANSI_Minus, OemMinus},
  150. {kVK_ANSI_8, D8},
  151. {kVK_ANSI_0, D0},
  152. {kVK_ANSI_RightBracket, OemCloseBrackets},
  153. {kVK_ANSI_O, O},
  154. {kVK_ANSI_U, U},
  155. {kVK_ANSI_LeftBracket, OemOpenBrackets},
  156. {kVK_ANSI_I, I},
  157. {kVK_ANSI_P, P},
  158. {kVK_ANSI_L, L},
  159. {kVK_ANSI_J, J},
  160. {kVK_ANSI_Quote, OemQuotes},
  161. {kVK_ANSI_K, AvnKeyK},
  162. {kVK_ANSI_Semicolon, OemSemicolon},
  163. {kVK_ANSI_Backslash, OemBackslash},
  164. {kVK_ANSI_Comma, OemComma},
  165. {kVK_ANSI_Slash, Oem2},
  166. {kVK_ANSI_N, N},
  167. {kVK_ANSI_M, M},
  168. {kVK_ANSI_Period, OemPeriod},
  169. {kVK_ANSI_Grave, OemTilde},
  170. {kVK_ANSI_KeypadDecimal, Decimal},
  171. {kVK_ANSI_KeypadMultiply, Multiply},
  172. {kVK_ANSI_KeypadPlus, OemPlus},
  173. {kVK_ANSI_KeypadClear, AvnKeyClear},
  174. {kVK_ANSI_KeypadDivide, Divide},
  175. {kVK_ANSI_KeypadEnter, AvnKeyEnter},
  176. {kVK_ANSI_KeypadMinus, OemMinus},
  177. {kVK_ANSI_KeypadEquals, OemPlus},
  178. {kVK_ANSI_Keypad0, NumPad0},
  179. {kVK_ANSI_Keypad1, NumPad1},
  180. {kVK_ANSI_Keypad2, NumPad2},
  181. {kVK_ANSI_Keypad3, NumPad3},
  182. {kVK_ANSI_Keypad4, NumPad4},
  183. {kVK_ANSI_Keypad5, NumPad5},
  184. {kVK_ANSI_Keypad6, NumPad6},
  185. {kVK_ANSI_Keypad7, NumPad7},
  186. {kVK_ANSI_Keypad8, NumPad8},
  187. {kVK_ANSI_Keypad9, NumPad9},
  188. {kVK_Return, AvnKeyReturn},
  189. {kVK_Tab, AvnKeyTab},
  190. {kVK_Space, Space},
  191. {kVK_Delete, AvnKeyBack},
  192. {kVK_Escape, Escape},
  193. {kVK_Command, LWin},
  194. {kVK_Shift, LeftShift},
  195. {kVK_CapsLock, AvnKeyCapsLock},
  196. {kVK_Option, LeftAlt},
  197. {kVK_Control, LeftCtrl},
  198. {kVK_RightCommand, RWin},
  199. {kVK_RightShift, RightShift},
  200. {kVK_RightOption, RightAlt},
  201. {kVK_RightControl, RightCtrl},
  202. //{kVK_Function, ?},
  203. {kVK_F17, F17},
  204. {kVK_VolumeUp, VolumeUp},
  205. {kVK_VolumeDown, VolumeDown},
  206. {kVK_Mute, VolumeMute},
  207. {kVK_F18, F18},
  208. {kVK_F19, F19},
  209. {kVK_F20, F20},
  210. {kVK_F5, F5},
  211. {kVK_F6, F6},
  212. {kVK_F7, F7},
  213. {kVK_F3, F3},
  214. {kVK_F8, F8},
  215. {kVK_F9, F9},
  216. {kVK_F11, F11},
  217. {kVK_F13, F13},
  218. {kVK_F16, F16},
  219. {kVK_F14, F14},
  220. {kVK_F10, F10},
  221. {kVK_F12, F12},
  222. {kVK_F15, F15},
  223. {kVK_Help, Help},
  224. {kVK_Home, Home},
  225. {kVK_PageUp, PageUp},
  226. {kVK_ForwardDelete, Delete},
  227. {kVK_F4, F4},
  228. {kVK_End, End},
  229. {kVK_F2, F2},
  230. {kVK_PageDown, PageDown},
  231. {kVK_F1, F1},
  232. {kVK_LeftArrow, Left},
  233. {kVK_RightArrow, Right},
  234. {kVK_DownArrow, Down},
  235. {kVK_UpArrow, Up},
  236. {kVK_JIS_Kana, AvnKeyKanaMode},
  237. };