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.

avrcapsense.h 8.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. /* Copyright (C) 2013 by Jacob Alexander
  2. *
  3. * dfj, place whatever license you want here
  4. */
  5. #ifndef __AVRCAPSENSE_H
  6. #define __AVRCAPSENSE_H
  7. // This file contains various key layouts for dfj's AVR Capsense Controller
  8. // ----- Variables -----
  9. static uint8_t avrcapsense_ModifierMask [] = { 0x34, 0x38, 0x3A, 0x40 };
  10. // Default 1-indexed key mappings
  11. static uint8_t avrcapsense_DefaultMap[] = {
  12. 0, // 0x00
  13. 0, // 0x01
  14. 0, // 0x02
  15. 0, // 0x03
  16. 0, // 0x04
  17. 0, // 0x05
  18. 0, // 0x06
  19. 0, // 0x07
  20. KEY_BACKSPACE, // 0x08
  21. KEY_TAB, // 0x09
  22. 0, // 0x0A
  23. 0, // 0x0B
  24. 0, // 0x0C
  25. KEY_ENTER, // 0x0D
  26. 0, // 0x0E
  27. 0, // 0x0F
  28. 0, // 0x10
  29. 0, // 0x11
  30. 0, // 0x12
  31. 0, // 0x13
  32. 0, // 0x14
  33. 0, // 0x15
  34. 0, // 0x16
  35. 0, // 0x17
  36. 0, // 0x18
  37. 0, // 0x19
  38. 0, // 0x1A
  39. KEY_ESC, // 0x1B
  40. 0, // 0x1C
  41. 0, // 0x1D
  42. 0, // 0x1E
  43. 0, // 0x1F
  44. KEY_SPACE, // 0x20
  45. 0, // 0x21
  46. 0, // 0x22
  47. 0, // 0x23
  48. 0, // 0x24
  49. 0, // 0x25
  50. 0, // 0x26
  51. KEY_QUOTE, // 0x27
  52. 0, // 0x28
  53. 0, // 0x29
  54. 0, // 0x2A
  55. 0, // 0x2B
  56. KEY_COMMA, // 0x2C
  57. KEY_MINUS, // 0x2D
  58. KEY_PERIOD, // 0x2E
  59. KEY_SLASH, // 0x2F
  60. KEY_0, // 0x30
  61. KEY_1, // 0x31
  62. KEY_2, // 0x32
  63. KEY_3, // 0x33
  64. KEY_4, // 0x34
  65. KEY_5, // 0x35
  66. KEY_6, // 0x36
  67. KEY_7, // 0x37
  68. KEY_8, // 0x38
  69. KEY_9, // 0x39
  70. 0, // 0x3A
  71. KEY_SEMICOLON, // 0x3B
  72. 0, // 0x3C
  73. KEY_EQUAL, // 0x3D
  74. 0, // 0x3E
  75. 0, // 0x3F
  76. 0, // 0x40
  77. 0, // 0x41
  78. 0, // 0x42
  79. 0, // 0x43
  80. 0, // 0x44
  81. 0, // 0x45
  82. 0, // 0x46
  83. 0, // 0x47
  84. 0, // 0x48
  85. 0, // 0x49
  86. 0, // 0x4A
  87. 0, // 0x4B
  88. 0, // 0x4C
  89. 0, // 0x4D
  90. 0, // 0x4E
  91. 0, // 0x4F
  92. 0, // 0x50
  93. 0, // 0x51
  94. 0, // 0x52
  95. 0, // 0x53
  96. 0, // 0x54
  97. 0, // 0x55
  98. 0, // 0x56
  99. 0, // 0x57
  100. 0, // 0x58
  101. 0, // 0x59
  102. 0, // 0x5A
  103. KEY_LEFT_BRACE, // 0x5B
  104. KEY_BACKSLASH, // 0x5C
  105. KEY_RIGHT_BRACE, // 0x5D
  106. 0, // 0x5E
  107. 0, // 0x5F
  108. KEY_TILDE, // 0x60
  109. KEY_A, // 0x61
  110. KEY_B, // 0x62
  111. KEY_C, // 0x63
  112. KEY_D, // 0x64
  113. KEY_E, // 0x65
  114. KEY_F, // 0x66
  115. KEY_G, // 0x67
  116. KEY_H, // 0x68
  117. KEY_I, // 0x69
  118. KEY_J, // 0x6A
  119. KEY_K, // 0x6B
  120. KEY_L, // 0x6C
  121. KEY_M, // 0x6D
  122. KEY_N, // 0x6E
  123. KEY_O, // 0x6F
  124. KEY_P, // 0x70
  125. KEY_Q, // 0x71
  126. KEY_R, // 0x72
  127. KEY_S, // 0x73
  128. KEY_T, // 0x74
  129. KEY_U, // 0x75
  130. KEY_V, // 0x76
  131. KEY_W, // 0x77
  132. KEY_X, // 0x78
  133. KEY_Y, // 0x79
  134. KEY_Z, // 0x7A
  135. 0, // 0x7B
  136. 0, // 0x7C
  137. 0, // 0x7D
  138. 0, // 0x7E
  139. KEY_DELETE, // 0x7F
  140. 0, // 0x80
  141. 0, // 0x81
  142. 0, // 0x82
  143. 0, // 0x83
  144. 0, // 0x84
  145. 0, // 0x85
  146. 0, // 0x86
  147. 0, // 0x87
  148. 0, // 0x88
  149. 0, // 0x89
  150. 0, // 0x8A
  151. 0, // 0x8B
  152. 0, // 0x8C
  153. 0, // 0x8D
  154. 0, // 0x8E
  155. 0, // 0x8F
  156. 0, // 0x90
  157. 0, // 0x91
  158. 0, // 0x92
  159. 0, // 0x93
  160. 0, // 0x94
  161. 0, // 0x95
  162. 0, // 0x96
  163. 0, // 0x97
  164. 0, // 0x98
  165. 0, // 0x99
  166. 0, // 0x9A
  167. 0, // 0x9B
  168. 0, // 0x9C
  169. 0, // 0x9D
  170. 0, // 0x9E
  171. 0, // 0x9F
  172. 0, // 0xA0
  173. 0, // 0xA1
  174. 0, // 0xA2
  175. 0, // 0xA3
  176. 0, // 0xA4
  177. 0, // 0xA5
  178. 0, // 0xA6
  179. 0, // 0xA7
  180. 0, // 0xA8
  181. 0, // 0xA9
  182. 0, // 0xAA
  183. 0, // 0xAB
  184. 0, // 0xAC
  185. 0, // 0xAD
  186. 0, // 0xAE
  187. 0, // 0xAF
  188. 0, // 0xB0
  189. KEYPAD_0, // 0xB1
  190. KEYPAD_PERIOD, // 0xB2
  191. 0, // 0xB3
  192. 0, // 0xB4
  193. 0, // 0xB5
  194. 0, // 0xB6
  195. 0, // 0xB7
  196. 0, // 0xB8
  197. 0, // 0xB9
  198. 0, // 0xBA
  199. 0, // 0xBB
  200. 0, // 0xBC
  201. 0, // 0xBD
  202. 0, // 0xBE
  203. 0, // 0xBF
  204. KEYPAD_1, // 0xC0
  205. KEYPAD_2, // 0xC1
  206. KEYPAD_3, // 0xC2
  207. KEYPAD_ENTER, // 0xC3
  208. 0, // 0xC4
  209. 0, // 0xC5
  210. 0, // 0xC6
  211. 0, // 0xC7
  212. 0, // 0xC8
  213. 0, // 0xC9
  214. 0, // 0xCA
  215. 0, // 0xCB
  216. 0, // 0xCC
  217. 0, // 0xCD
  218. 0, // 0xCE
  219. 0, // 0xCF
  220. KEYPAD_4, // 0xD0
  221. KEYPAD_5, // 0xD1
  222. KEYPAD_6, // 0xD2
  223. KEYPAD_COMMA, // 0xD3
  224. 0, // 0xD4
  225. 0, // 0xD5
  226. 0, // 0xD6
  227. 0, // 0xD7
  228. 0, // 0xD8
  229. 0, // 0xD9
  230. 0, // 0xDA
  231. 0, // 0xDB
  232. 0, // 0xDC
  233. 0, // 0xDD
  234. 0, // 0xDE
  235. 0, // 0xDF
  236. 0, // 0xE0
  237. KEYPAD_7, // 0xE1
  238. KEYPAD_8, // 0xE2
  239. KEYPAD_9, // 0xE3
  240. KEYPAD_MINUS, // 0xE4
  241. 0, // 0xE5
  242. 0, // 0xE6
  243. 0, // 0xE7
  244. 0, // 0xE8
  245. 0, // 0xE9
  246. 0, // 0xEA
  247. 0, // 0xEB
  248. 0, // 0xEC
  249. 0, // 0xED
  250. 0, // 0xEE
  251. 0, // 0xEF
  252. 0, // 0xF0
  253. KEY_UP, // 0xF1
  254. KEY_DOWN, // 0xF2
  255. KEY_LEFT, // 0xF3
  256. KEY_RIGHT, // 0xF4
  257. KEY_LEFT_SHIFT, // 0xF5
  258. KEY_CTRL, // 0xF6
  259. 0, // 0xF7
  260. 0, // 0xF8
  261. 0, // 0xF9
  262. 0, // 0xFA
  263. 0, // 0xFB
  264. 0, // 0xFC
  265. 0, // 0xFD
  266. 0, // 0xFE
  267. 0, // 0xFF
  268. };
  269. static uint8_t avrcapsense_ColemakMap[] = {
  270. 0, // 0x00
  271. 0, // 0x01
  272. 0, // 0x02
  273. 0, // 0x03
  274. 0, // 0x04
  275. 0, // 0x05
  276. 0, // 0x06
  277. 0, // 0x07
  278. KEY_BACKSPACE, // 0x08
  279. KEY_TAB, // 0x09
  280. 0, // 0x0A
  281. 0, // 0x0B
  282. 0, // 0x0C
  283. KEY_ENTER, // 0x0D
  284. 0, // 0x0E
  285. 0, // 0x0F
  286. 0, // 0x10
  287. 0, // 0x11
  288. 0, // 0x12
  289. 0, // 0x13
  290. 0, // 0x14
  291. 0, // 0x15
  292. 0, // 0x16
  293. 0, // 0x17
  294. 0, // 0x18
  295. 0, // 0x19
  296. 0, // 0x1A
  297. KEY_ESC, // 0x1B
  298. 0, // 0x1C
  299. 0, // 0x1D
  300. 0, // 0x1E
  301. 0, // 0x1F
  302. KEY_SPACE, // 0x20
  303. 0, // 0x21
  304. 0, // 0x22
  305. 0, // 0x23
  306. 0, // 0x24
  307. 0, // 0x25
  308. 0, // 0x26
  309. KEY_QUOTE, // 0x27
  310. 0, // 0x28
  311. 0, // 0x29
  312. 0, // 0x2A
  313. 0, // 0x2B
  314. KEY_COMMA, // 0x2C
  315. KEY_MINUS, // 0x2D
  316. KEY_PERIOD, // 0x2E
  317. KEY_SLASH, // 0x2F
  318. KEY_0, // 0x30
  319. KEY_1, // 0x31
  320. KEY_2, // 0x32
  321. KEY_3, // 0x33
  322. KEY_4, // 0x34
  323. KEY_5, // 0x35
  324. KEY_6, // 0x36
  325. KEY_7, // 0x37
  326. KEY_8, // 0x38
  327. KEY_9, // 0x39
  328. 0, // 0x3A
  329. KEY_O, // 0x3B
  330. 0, // 0x3C
  331. KEY_EQUAL, // 0x3D
  332. 0, // 0x3E
  333. 0, // 0x3F
  334. 0, // 0x40
  335. 0, // 0x41
  336. 0, // 0x42
  337. 0, // 0x43
  338. 0, // 0x44
  339. 0, // 0x45
  340. 0, // 0x46
  341. 0, // 0x47
  342. 0, // 0x48
  343. 0, // 0x49
  344. 0, // 0x4A
  345. 0, // 0x4B
  346. 0, // 0x4C
  347. 0, // 0x4D
  348. 0, // 0x4E
  349. 0, // 0x4F
  350. 0, // 0x50
  351. 0, // 0x51
  352. 0, // 0x52
  353. 0, // 0x53
  354. 0, // 0x54
  355. 0, // 0x55
  356. 0, // 0x56
  357. 0, // 0x57
  358. 0, // 0x58
  359. 0, // 0x59
  360. 0, // 0x5A
  361. KEY_LEFT_BRACE, // 0x5B
  362. KEY_BACKSLASH, // 0x5C
  363. KEY_RIGHT_BRACE, // 0x5D
  364. 0, // 0x5E
  365. 0, // 0x5F
  366. KEY_TILDE, // 0x60
  367. KEY_A, // 0x61
  368. KEY_B, // 0x62
  369. KEY_C, // 0x63
  370. KEY_S, // 0x64
  371. KEY_F, // 0x65
  372. KEY_T, // 0x66
  373. KEY_D, // 0x67
  374. KEY_H, // 0x68
  375. KEY_U, // 0x69
  376. KEY_N, // 0x6A
  377. KEY_E, // 0x6B
  378. KEY_I, // 0x6C
  379. KEY_M, // 0x6D
  380. KEY_K, // 0x6E
  381. KEY_Y, // 0x6F
  382. KEY_SEMICOLON, // 0x70
  383. KEY_Q, // 0x71
  384. KEY_P, // 0x72
  385. KEY_R, // 0x73
  386. KEY_G, // 0x74
  387. KEY_L, // 0x75
  388. KEY_V, // 0x76
  389. KEY_W, // 0x77
  390. KEY_X, // 0x78
  391. KEY_J, // 0x79
  392. KEY_Z, // 0x7A
  393. 0, // 0x7B
  394. 0, // 0x7C
  395. 0, // 0x7D
  396. 0, // 0x7E
  397. KEY_DELETE, // 0x7F
  398. 0, // 0x80
  399. 0, // 0x81
  400. 0, // 0x82
  401. 0, // 0x83
  402. 0, // 0x84
  403. 0, // 0x85
  404. 0, // 0x86
  405. 0, // 0x87
  406. 0, // 0x88
  407. 0, // 0x89
  408. 0, // 0x8A
  409. 0, // 0x8B
  410. 0, // 0x8C
  411. 0, // 0x8D
  412. 0, // 0x8E
  413. 0, // 0x8F
  414. 0, // 0x90
  415. 0, // 0x91
  416. 0, // 0x92
  417. 0, // 0x93
  418. 0, // 0x94
  419. 0, // 0x95
  420. 0, // 0x96
  421. 0, // 0x97
  422. 0, // 0x98
  423. 0, // 0x99
  424. 0, // 0x9A
  425. 0, // 0x9B
  426. 0, // 0x9C
  427. 0, // 0x9D
  428. 0, // 0x9E
  429. 0, // 0x9F
  430. 0, // 0xA0
  431. 0, // 0xA1
  432. 0, // 0xA2
  433. 0, // 0xA3
  434. 0, // 0xA4
  435. 0, // 0xA5
  436. 0, // 0xA6
  437. 0, // 0xA7
  438. 0, // 0xA8
  439. 0, // 0xA9
  440. 0, // 0xAA
  441. 0, // 0xAB
  442. 0, // 0xAC
  443. 0, // 0xAD
  444. 0, // 0xAE
  445. 0, // 0xAF
  446. 0, // 0xB0
  447. KEYPAD_0, // 0xB1
  448. KEYPAD_PERIOD, // 0xB2
  449. 0, // 0xB3
  450. 0, // 0xB4
  451. 0, // 0xB5
  452. 0, // 0xB6
  453. 0, // 0xB7
  454. 0, // 0xB8
  455. 0, // 0xB9
  456. 0, // 0xBA
  457. 0, // 0xBB
  458. 0, // 0xBC
  459. 0, // 0xBD
  460. 0, // 0xBE
  461. 0, // 0xBF
  462. KEYPAD_1, // 0xC0
  463. KEYPAD_2, // 0xC1
  464. KEYPAD_3, // 0xC2
  465. KEYPAD_ENTER, // 0xC3
  466. 0, // 0xC4
  467. 0, // 0xC5
  468. 0, // 0xC6
  469. 0, // 0xC7
  470. 0, // 0xC8
  471. 0, // 0xC9
  472. 0, // 0xCA
  473. 0, // 0xCB
  474. 0, // 0xCC
  475. 0, // 0xCD
  476. 0, // 0xCE
  477. 0, // 0xCF
  478. KEYPAD_4, // 0xD0
  479. KEYPAD_5, // 0xD1
  480. KEYPAD_6, // 0xD2
  481. KEYPAD_COMMA, // 0xD3
  482. 0, // 0xD4
  483. 0, // 0xD5
  484. 0, // 0xD6
  485. 0, // 0xD7
  486. 0, // 0xD8
  487. 0, // 0xD9
  488. 0, // 0xDA
  489. 0, // 0xDB
  490. 0, // 0xDC
  491. 0, // 0xDD
  492. 0, // 0xDE
  493. 0, // 0xDF
  494. 0, // 0xE0
  495. KEYPAD_7, // 0xE1
  496. KEYPAD_8, // 0xE2
  497. KEYPAD_9, // 0xE3
  498. KEYPAD_MINUS, // 0xE4
  499. 0, // 0xE5
  500. 0, // 0xE6
  501. 0, // 0xE7
  502. 0, // 0xE8
  503. 0, // 0xE9
  504. 0, // 0xEA
  505. 0, // 0xEB
  506. 0, // 0xEC
  507. 0, // 0xED
  508. 0, // 0xEE
  509. 0, // 0xEF
  510. 0, // 0xF0
  511. KEY_UP, // 0xF1
  512. KEY_DOWN, // 0xF2
  513. KEY_LEFT, // 0xF3
  514. KEY_RIGHT, // 0xF4
  515. KEY_LEFT_SHIFT, // 0xF5
  516. KEY_CTRL, // 0xF6
  517. 0, // 0xF7
  518. 0, // 0xF8
  519. 0, // 0xF9
  520. 0, // 0xFA
  521. 0, // 0xFB
  522. 0, // 0xFC
  523. 0, // 0xFD
  524. 0, // 0xFE
  525. 0, // 0xFF
  526. };
  527. #endif