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.

facom6684.h 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. /* Copyright (C) 2013 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 __FACOM6684_H
  22. #define __FACOM6684_H
  23. // This file contains various key layouts for the Fujitsu FACOM 6684KC3 Supercomputer Terminal Keyboard
  24. // ----- Variables -----
  25. static uint8_t facom6684_ModifierMask[] = { 0x22, 0x12, 0x05, 0x04, 0x03 };
  26. static uint8_t facom6684_DefaultMap[] = {
  27. 0, // 0x00
  28. 0, // 0x01
  29. KEY_SPACE, // 0x02
  30. KEY_LEFT_ALT, // 0x03
  31. KEY_RIGHT_ALT, // 0x04
  32. KEY_LEFT_GUI, // 0x05
  33. 0, // 0x06
  34. 0, // 0x07
  35. KEY_BACKSPACE, // 0x08
  36. KEY_ENTER, // 0x09
  37. 0, // 0x0A
  38. KEY_ENTER, // 0x0B
  39. KEYPAD_0, // 0x0C
  40. KEYPAD_00, // 0x0D
  41. KEYPAD_000, // 0x0E
  42. KEYPAD_DECIMAL, // 0x0F
  43. 0, // 0x10
  44. 0, // 0x11
  45. KEY_LEFT_SHIFT, // 0x12
  46. 0, // 0x13
  47. KEY_Z, // 0x14
  48. KEY_X, // 0x15
  49. KEY_C, // 0x16
  50. KEY_V, // 0x17
  51. KEY_B, // 0x18
  52. KEY_N, // 0x19
  53. KEY_M, // 0x1A
  54. KEY_COMMA, // 0x1B
  55. KEYPAD_1, // 0x1C
  56. KEYPAD_2, // 0x1D
  57. KEYPAD_3, // 0x1E
  58. KEYPAD_ENTER, // 0x1F
  59. 0, // 0x20
  60. 0, // 0x21
  61. KEY_LEFT_CTRL, // 0x22
  62. KEY_A, // 0x23
  63. KEY_S, // 0x24
  64. KEY_D, // 0x25
  65. KEY_F, // 0x26
  66. KEY_G, // 0x27
  67. KEY_H, // 0x28
  68. KEY_J, // 0x29
  69. KEY_K, // 0x2A
  70. KEY_L, // 0x2B
  71. KEYPAD_4, // 0x2C
  72. KEYPAD_5, // 0x2D
  73. KEYPAD_6, // 0x2E
  74. KEYPAD_MINUS, // 0x2F
  75. 0, // 0x30
  76. 0, // 0x31
  77. KEY_TAB, // 0x32
  78. KEY_Q, // 0x33
  79. KEY_W, // 0x34
  80. KEY_E, // 0x35
  81. KEY_R, // 0x36
  82. KEY_T, // 0x37
  83. KEY_Y, // 0x38
  84. KEY_U, // 0x39
  85. KEY_I, // 0x3A
  86. KEY_O, // 0x3B
  87. KEYPAD_7, // 0x3C
  88. KEYPAD_8, // 0x3D
  89. KEYPAD_9, // 0x3E
  90. KEYPAD_TAB, // 0x3F
  91. 0, // 0x40
  92. KEY_TILDE, // 0x41
  93. KEY_ESC, // 0x42
  94. KEY_1, // 0x43
  95. KEY_2, // 0x44
  96. KEY_3, // 0x45
  97. KEY_4, // 0x46
  98. KEY_5, // 0x47
  99. KEY_6, // 0x48
  100. KEY_7, // 0x49
  101. KEY_8, // 0x4A
  102. KEY_9, // 0x4B
  103. 0, // 0x4C
  104. 0, // 0x4D
  105. KEYPAD_COMMA, // 0x4E
  106. KEYPAD_SPACE, // 0x4F
  107. KEY_F1, // 0x50
  108. KEY_F2, // 0x51
  109. KEY_F3, // 0x52
  110. KEY_F4, // 0x53
  111. KEY_F5, // 0x54
  112. KEY_F6, // 0x55
  113. KEY_F7, // 0x56
  114. KEY_F8, // 0x57
  115. KEY_0, // 0x58
  116. KEY_P, // 0x59
  117. KEY_SEMICOLON, // 0x5A
  118. KEY_PERIOD, // 0x5B
  119. KEY_INSERT, // 0x5C
  120. KEY_LEFT, // 0x5D
  121. 0, // 0x5E
  122. KEY_DELETE, // 0x5F
  123. KEY_F13, // 0x60
  124. KEY_F14, // 0x61
  125. KEY_F15, // 0x62
  126. KEY_F16, // 0x63
  127. KEY_F17, // 0x64
  128. KEY_F18, // 0x65
  129. KEY_F9, // 0x66
  130. KEY_F10, // 0x67
  131. KEY_MINUS, // 0x68
  132. KEY_LEFT_BRACE, // 0x69
  133. KEY_QUOTE, // 0x6A
  134. KEY_SLASH, // 0x6B
  135. KEY_HOME, // 0x6C
  136. KEY_DOWN, // 0x6D
  137. 0, // 0x6E
  138. KEY_END, // 0x6F
  139. KEY_F19, // 0x70
  140. KEY_F20, // 0x71
  141. KEY_F21, // 0x72
  142. KEY_F22, // 0x73
  143. KEY_F23, // 0x74
  144. KEY_F24, // 0x75
  145. KEY_F11, // 0x76
  146. KEY_F12, // 0x77
  147. KEY_EQUAL, // 0x78
  148. KEY_RIGHT_BRACE, // 0x79
  149. KEY_BACKSLASH, // 0x7A
  150. KEY_UP, // 0x7B
  151. KEY_PAGE_UP, // 0x7C
  152. KEY_RIGHT, // 0x7D
  153. 0, // 0x7E
  154. KEY_PAGE_DOWN, // 0x7F
  155. };
  156. static uint8_t facom6684_ColemakMap[] = {
  157. 0, // 0x00
  158. 0, // 0x01
  159. KEY_SPACE, // 0x02
  160. KEY_LEFT_ALT, // 0x03
  161. KEY_RIGHT_ALT, // 0x04
  162. KEY_LEFT_GUI, // 0x05
  163. 0, // 0x06
  164. 0, // 0x07
  165. KEY_BACKSPACE, // 0x08
  166. KEY_ENTER, // 0x09
  167. 0, // 0x0A
  168. KEY_ENTER, // 0x0B
  169. KEYPAD_0, // 0x0C
  170. KEYPAD_00, // 0x0D
  171. KEYPAD_000, // 0x0E
  172. KEYPAD_DECIMAL, // 0x0F
  173. 0, // 0x10
  174. 0, // 0x11
  175. KEY_LEFT_SHIFT, // 0x12
  176. 0, // 0x13
  177. KEY_Z, // 0x14
  178. KEY_X, // 0x15
  179. KEY_C, // 0x16
  180. KEY_V, // 0x17
  181. KEY_B, // 0x18
  182. KEY_K, // 0x19
  183. KEY_M, // 0x1A
  184. KEY_COMMA, // 0x1B
  185. KEYPAD_1, // 0x1C
  186. KEYPAD_2, // 0x1D
  187. KEYPAD_3, // 0x1E
  188. KEYPAD_ENTER, // 0x1F
  189. 0, // 0x20
  190. 0, // 0x21
  191. KEY_LEFT_CTRL, // 0x22
  192. KEY_A, // 0x23
  193. KEY_R, // 0x24
  194. KEY_S, // 0x25
  195. KEY_T, // 0x26
  196. KEY_D, // 0x27
  197. KEY_H, // 0x28
  198. KEY_N, // 0x29
  199. KEY_E, // 0x2A
  200. KEY_I, // 0x2B
  201. KEYPAD_4, // 0x2C
  202. KEYPAD_5, // 0x2D
  203. KEYPAD_6, // 0x2E
  204. KEYPAD_MINUS, // 0x2F
  205. 0, // 0x30
  206. 0, // 0x31
  207. KEY_TAB, // 0x32
  208. KEY_Q, // 0x33
  209. KEY_W, // 0x34
  210. KEY_F, // 0x35
  211. KEY_P, // 0x36
  212. KEY_G, // 0x37
  213. KEY_J, // 0x38
  214. KEY_L, // 0x39
  215. KEY_U, // 0x3A
  216. KEY_Y, // 0x3B
  217. KEYPAD_7, // 0x3C
  218. KEYPAD_8, // 0x3D
  219. KEYPAD_9, // 0x3E
  220. KEYPAD_TAB, // 0x3F
  221. 0, // 0x40
  222. KEY_TILDE, // 0x41
  223. KEY_ESC, // 0x42
  224. KEY_1, // 0x43
  225. KEY_2, // 0x44
  226. KEY_3, // 0x45
  227. KEY_4, // 0x46
  228. KEY_5, // 0x47
  229. KEY_6, // 0x48
  230. KEY_7, // 0x49
  231. KEY_8, // 0x4A
  232. KEY_9, // 0x4B
  233. 0, // 0x4C
  234. 0, // 0x4D
  235. KEYPAD_COMMA, // 0x4E
  236. KEYPAD_SPACE, // 0x4F
  237. KEY_F1, // 0x50
  238. KEY_F2, // 0x51
  239. KEY_F3, // 0x52
  240. KEY_F4, // 0x53
  241. KEY_F5, // 0x54
  242. KEY_F6, // 0x55
  243. KEY_F7, // 0x56
  244. KEY_F8, // 0x57
  245. KEY_0, // 0x58
  246. KEY_SEMICOLON, // 0x59
  247. KEY_O, // 0x5A
  248. KEY_PERIOD, // 0x5B
  249. KEY_INSERT, // 0x5C
  250. KEY_LEFT, // 0x5D
  251. 0, // 0x5E
  252. KEY_DELETE, // 0x5F
  253. KEY_F13, // 0x60
  254. KEY_F14, // 0x61
  255. KEY_F15, // 0x62
  256. KEY_F16, // 0x63
  257. KEY_F17, // 0x64
  258. KEY_F18, // 0x65
  259. KEY_F9, // 0x66
  260. KEY_F10, // 0x67
  261. KEY_MINUS, // 0x68
  262. KEY_LEFT_BRACE, // 0x69
  263. KEY_QUOTE, // 0x6A
  264. KEY_SLASH, // 0x6B
  265. KEY_HOME, // 0x6C
  266. KEY_DOWN, // 0x6D
  267. 0, // 0x6E
  268. KEY_END, // 0x6F
  269. KEY_F19, // 0x70
  270. KEY_F20, // 0x71
  271. KEY_F21, // 0x72
  272. KEY_F22, // 0x73
  273. KEY_F23, // 0x74
  274. KEY_F24, // 0x75
  275. KEY_F11, // 0x76
  276. KEY_F12, // 0x77
  277. KEY_EQUAL, // 0x78
  278. KEY_RIGHT_BRACE, // 0x79
  279. KEY_BACKSLASH, // 0x7A
  280. KEY_UP, // 0x7B
  281. KEY_PAGE_UP, // 0x7C
  282. KEY_RIGHT, // 0x7D
  283. 0, // 0x7E
  284. KEY_PAGE_DOWN, // 0x7F
  285. };
  286. #endif