Kiibohd Controller
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

keymap.h 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. /* Copyright (C) 2011 by Jacob Alexander
  2. *
  3. * Permission is hereby granted, free of charge, to any person obtaining a copy
  4. * of this software and associated documentation files (the "Software"), to deal
  5. * in the Software without restriction, including without limitation the rights
  6. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. * copies of the Software, and to permit persons to whom the Software is
  8. * furnished to do so, subject to the following conditions:
  9. *
  10. * The above copyright notice and this permission notice shall be included in
  11. * all copies or substantial portions of the Software.
  12. *
  13. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19. * THE SOFTWARE.
  20. */
  21. #ifndef __KEYMAP_h
  22. #define __KEYMAP_h
  23. // ----- Includes -----
  24. #include "usb_keys.h"
  25. // ----- Defines -----
  26. // ----- Variables -----
  27. static uint8_t tandy1000_modifierMask[] = { 0x1D, 0x2A, 0x36, 0x38, 0x46 };
  28. /*
  29. static uint8_t tandy1000_map[] = { 0,
  30. KEY_ESC,
  31. KEY_1,
  32. KEY_2,
  33. KEY_3,
  34. KEY_4,
  35. KEY_5,
  36. KEY_6,
  37. KEY_7,
  38. KEY_8,
  39. KEY_9,
  40. KEY_0,
  41. KEY_MINUS,
  42. KEY_EQUAL,
  43. KEY_BACKSPACE,
  44. KEY_TAB,
  45. KEY_Q,
  46. KEY_W,
  47. KEY_E,
  48. KEY_R,
  49. KEY_T,
  50. KEY_Y,
  51. KEY_U,
  52. KEY_I,
  53. KEY_O,
  54. KEY_P,
  55. KEY_LEFT_BRACE,
  56. KEY_RIGHT_BRACE,
  57. KEY_ENTER,
  58. KEY_CTRL, // 0x1D
  59. KEY_A,
  60. KEY_S,
  61. KEY_D,
  62. KEY_F,
  63. KEY_G,
  64. KEY_H,
  65. KEY_J,
  66. KEY_K,
  67. KEY_L,
  68. KEY_SEMICOLON,
  69. KEY_QUOTE,
  70. KEY_UP,
  71. KEY_LEFT_SHIFT, // 0x2A
  72. KEY_LEFT,
  73. KEY_Z,
  74. KEY_X,
  75. KEY_C,
  76. KEY_V,
  77. KEY_B,
  78. KEY_N,
  79. KEY_M,
  80. KEY_COMMA,
  81. KEY_PERIOD,
  82. KEY_SLASH,
  83. KEY_RIGHT_SHIFT, // 0x36
  84. KEY_PRINTSCREEN,
  85. KEY_ALT, // 0x38
  86. KEY_SPACE,
  87. KEY_CAPS_LOCK,
  88. KEY_F1,
  89. KEY_F2,
  90. KEY_F3,
  91. KEY_F4,
  92. KEY_F5,
  93. KEY_F6,
  94. KEY_F7,
  95. KEY_F8,
  96. KEY_F9,
  97. KEY_F10,
  98. KEY_NUM_LOCK,
  99. KEY_GUI, // Actually Hold... 0x48
  100. KEY_BACKSLASH, // Also KEYPAD_7
  101. KEY_TILDE, // Also KEYPAD_8
  102. KEYPAD_9,
  103. KEY_UP,
  104. KEY_BACKSLASH, // Actually | and KEYPAD_4
  105. KEYPAD_5,
  106. KEYPAD_6,
  107. KEY_RIGHT,
  108. KEYPAD_1,
  109. KEY_TILDE, // Actually ` and KEYPAD_2
  110. KEYPAD_3,
  111. KEYPAD_0,
  112. KEY_DELETE,
  113. KEY_PAUSE,
  114. KEY_INSERT,
  115. KEYPAD_PERIOD,
  116. KEYPAD_ENTER,
  117. KEY_HOME,
  118. KEY_F11,
  119. KEY_F12, // 0x5A
  120. };
  121. */
  122. static uint8_t tandy1000_colemak[] = { 0,
  123. KEY_ESC,
  124. KEY_1,
  125. KEY_2,
  126. KEY_3,
  127. KEY_4,
  128. KEY_5,
  129. KEY_6,
  130. KEY_7,
  131. KEY_8,
  132. KEY_9,
  133. KEY_0,
  134. KEY_MINUS,
  135. KEY_EQUAL,
  136. KEY_BACKSPACE,
  137. KEY_TAB,
  138. KEY_Q,
  139. KEY_W,
  140. KEY_F,
  141. KEY_P,
  142. KEY_G,
  143. KEY_J,
  144. KEY_L,
  145. KEY_U,
  146. KEY_Y,
  147. KEY_SEMICOLON,
  148. KEY_LEFT_BRACE,
  149. KEY_RIGHT_BRACE,
  150. KEY_ENTER,
  151. KEY_CTRL, // 0x1D
  152. KEY_A,
  153. KEY_R,
  154. KEY_S,
  155. KEY_T,
  156. KEY_D,
  157. KEY_H,
  158. KEY_N,
  159. KEY_E,
  160. KEY_I,
  161. KEY_O,
  162. KEY_QUOTE,
  163. KEY_UP,
  164. KEY_LEFT_SHIFT, // 0x2A
  165. KEY_LEFT,
  166. KEY_Z,
  167. KEY_X,
  168. KEY_C,
  169. KEY_V,
  170. KEY_B,
  171. KEY_K,
  172. KEY_M,
  173. KEY_COMMA,
  174. KEY_PERIOD,
  175. KEY_SLASH,
  176. KEY_RIGHT_SHIFT, // 0x36
  177. KEY_PRINTSCREEN,
  178. KEY_ALT, // 0x38
  179. KEY_SPACE,
  180. 0, //KEY_CAPS_LOCK,
  181. KEY_F1,
  182. KEY_F2,
  183. KEY_F3,
  184. KEY_F4,
  185. KEY_F5,
  186. KEY_F6,
  187. KEY_F7,
  188. KEY_F8,
  189. KEY_F9,
  190. KEY_F10,
  191. 0, //KEY_NUM_LOCK,
  192. KEY_GUI, // Actually Hold... 0x48
  193. KEY_BACKSLASH, // Also KEYPAD_7
  194. KEY_TILDE, // Also KEYPAD_8
  195. KEYPAD_9,
  196. KEY_DOWN,
  197. KEY_BACKSLASH, // Actually | and KEYPAD_4
  198. KEYPAD_5,
  199. KEYPAD_6,
  200. KEY_RIGHT,
  201. KEYPAD_1,
  202. KEY_TILDE, // Actually ` and KEYPAD_2
  203. KEYPAD_3,
  204. KEYPAD_0,
  205. KEY_DELETE,
  206. KEY_PAUSE,
  207. KEY_INSERT,
  208. KEYPAD_PERIOD,
  209. KEYPAD_ENTER,
  210. KEY_HOME,
  211. KEY_F11,
  212. KEY_F12, // 0x5A
  213. };
  214. //static uint8_t keypad_modifierMask[] = {};
  215. //static uint8_t keyboard_modifierMask[] = { 1, 17, 33, 49 };
  216. //static uint8_t alternate_modifierMask[] = { 1, 17, 33, 49, 62 };
  217. // Default 1-indexed key mappings
  218. /*
  219. static uint8_t keypadDefaultMap[] = { 0,
  220. KEYPAD_7,
  221. KEYPAD_8,
  222. KEYPAD_9,
  223. KEYPAD_SLASH,
  224. KEYPAD_4,
  225. KEYPAD_5,
  226. KEYPAD_6,
  227. KEYPAD_ASTERIX,
  228. KEYPAD_1,
  229. KEYPAD_2,
  230. KEYPAD_3,
  231. KEYPAD_MINUS,
  232. KEYPAD_ENTER,
  233. KEYPAD_0,
  234. KEYPAD_PERIOD,
  235. KEYPAD_PLUS };
  236. static uint8_t defaultMap[] = { 0,
  237. KEY_GUI,
  238. KEY_1,
  239. KEY_2,
  240. KEY_3,
  241. KEY_4,
  242. KEY_5,
  243. KEY_6,
  244. KEY_7,
  245. KEY_8,
  246. KEY_9,
  247. KEY_0,
  248. KEY_MINUS,
  249. KEY_EQUAL,
  250. KEY_BACKSLASH,
  251. KEY_TILDE,
  252. KEY_BACKSPACE,
  253. KEY_ALT,
  254. KEY_TAB,
  255. KEY_Q,
  256. KEY_W,
  257. KEY_E,
  258. KEY_R,
  259. KEY_T,
  260. KEY_Y,
  261. KEY_U,
  262. KEY_I,
  263. KEY_O,
  264. KEY_P,
  265. KEY_LEFT_BRACE,
  266. KEY_RIGHT_BRACE,
  267. KEY_DELETE,
  268. KEY_UP,
  269. KEY_CTRL,
  270. KEY_CAPS_LLOCK,
  271. KEY_A,
  272. KEY_S,
  273. KEY_D,
  274. KEY_F,
  275. KEY_G,
  276. KEY_H,
  277. KEY_J,
  278. KEY_K,
  279. KEY_L,
  280. KEY_SEMICOLON,
  281. KEY_QUOTE,
  282. KEY_ENTER,
  283. KEY_DOWN,
  284. KEY_ESC,
  285. KEY_LEFT_SHIFT,
  286. KEY_Z,
  287. KEY_X,
  288. KEY_C,
  289. KEY_V,
  290. KEY_B,
  291. KEY_N,
  292. KEY_M,
  293. KEY_COMMA,
  294. KEY_PERIOD,
  295. KEY_SLASH,
  296. KEY_RIGHT_SHIFT,
  297. KEY_LEFT,
  298. KEY_RIGHT,
  299. KEY_SPACE };
  300. */
  301. /*
  302. static uint8_t navigationMap[] = { 0,
  303. KEY_GUI,
  304. KEY_F1,
  305. KEY_F2,
  306. KEY_F3,
  307. KEY_F4,
  308. KEY_F5,
  309. KEY_F6,
  310. KEY_F7,
  311. KEY_F8,
  312. KEY_F9,
  313. KEY_F10,
  314. KEY_F11,
  315. KEY_F12,
  316. KEY_INSERT,
  317. KEY_DELETE,
  318. KEY_BACKSPACE,
  319. KEY_ALT,
  320. KEY_CAPS_LOCK,
  321. 0,
  322. 0,
  323. 0,
  324. 0,
  325. 0,
  326. 0,
  327. 0,
  328. KEY_SYSREQ_ATT,
  329. KEY_SCROLL_LOCK,
  330. KEY_PAUSE,
  331. KEY_UP,
  332. 0,
  333. 0,
  334. 0,
  335. KEY_CTRL,
  336. KEY_CAPS_LLOCK,
  337. 0,
  338. 0,
  339. 0,
  340. 0,
  341. 0,
  342. KEYPAD_ASTERIX,
  343. KEYPAD_SLASH,
  344. KEY_HOME,
  345. KEY_PAGE_UP,
  346. KEY_LEFT,
  347. KEY_RIGHT,
  348. KEY_ENTER,
  349. 0,
  350. KEY_ESC,
  351. KEY_LEFT_SHIFT,
  352. 0,
  353. 0,
  354. 0,
  355. 0,
  356. 0,
  357. KEYPAD_PLUS,
  358. KEYPAD_MINUS,
  359. KEY_END,
  360. KEY_PAGE_DOWN,
  361. KEY_DOWN,
  362. KEY_RIGHT_SHIFT,
  363. 165,
  364. KEY_RIGHT_ALT,
  365. KEY_SPACE };
  366. static uint8_t colemakMap[] = { 0,
  367. KEY_GUI,
  368. KEY_1,
  369. KEY_2,
  370. KEY_3,
  371. KEY_4,
  372. KEY_5,
  373. KEY_6,
  374. KEY_7,
  375. KEY_8,
  376. KEY_9,
  377. KEY_0,
  378. KEY_MINUS,
  379. KEY_EQUAL,
  380. KEY_BACKSLASH,
  381. KEY_TILDE,
  382. KEY_BACKSPACE,
  383. KEY_ALT,
  384. KEY_TAB,
  385. KEY_Q,
  386. KEY_W,
  387. KEY_F,
  388. KEY_P,
  389. KEY_G,
  390. KEY_J,
  391. KEY_L,
  392. KEY_U,
  393. KEY_Y,
  394. KEY_SEMICOLON,
  395. KEY_LEFT_BRACE,
  396. KEY_RIGHT_BRACE,
  397. KEY_DELETE,
  398. KEY_PAGE_UP,
  399. KEY_CTRL,
  400. KEY_CAPS_LLOCK,
  401. KEY_A,
  402. KEY_R,
  403. KEY_S,
  404. KEY_T,
  405. KEY_D,
  406. KEY_H,
  407. KEY_N,
  408. KEY_E,
  409. KEY_I,
  410. KEY_O,
  411. KEY_QUOTE,
  412. KEY_ENTER,
  413. KEY_PAGE_DOWN,
  414. KEY_ESC,
  415. KEY_LEFT_SHIFT,
  416. KEY_Z,
  417. KEY_X,
  418. KEY_C,
  419. KEY_V,
  420. KEY_B,
  421. KEY_K,
  422. KEY_M,
  423. KEY_COMMA,
  424. KEY_PERIOD,
  425. KEY_SLASH,
  426. KEY_RIGHT_SHIFT,
  427. 165,
  428. KEY_RIGHT_ALT,
  429. KEY_SPACE };
  430. */
  431. #endif