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.

sonynews.h 7.0KB

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