Keyboard firmwares for Atmel AVR and Cortex-M
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.

unimap_common.h 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. /*
  2. Copyright 2016 Jun Wako <[email protected]>
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 2 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #ifndef UNIMAP_COMMON_H
  15. #define UNIMAP_COMMON_H
  16. #include <stdint.h>
  17. #include <avr/pgmspace.h>
  18. #include "unimap.h"
  19. /* HHKB JP
  20. * ,-----------------------------------------------------------.
  21. * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |JPY|BS |
  22. * |-----------------------------------------------------------|
  23. * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |Enter|
  24. * |------------------------------------------------------` |
  25. * |Caps |A |S |D |F |G |H |J |K |L |; |' |# | |
  26. * |-----------------------------------------------------------|
  27. * |Shift |Z |X |C |V |B |N |M |, |. |/ |Ro |Up |Shi|
  28. * |-----------------------------------------------------------|
  29. * |Ctl||Esc|Gui|Alt|Mhn| |Hen|Kan|Alt|Ctl||Lef|Dow|Rig|
  30. * `-----------------------------------------------------------'
  31. * Esc = Grave(`)
  32. * Control = Caps Lock
  33. * Left Fn = Left Control
  34. * Right Fn = Right Control
  35. */
  36. // row:16 x col:8
  37. const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
  38. // 0
  39. {
  40. UNIMAP_NO,
  41. UNIMAP_NO,
  42. UNIMAP_GRAVE,
  43. UNIMAP_TAB,
  44. UNIMAP_LCTRL,
  45. UNIMAP_LSHIFT,
  46. UNIMAP_CAPSLOCK,
  47. UNIMAP_NO,
  48. },
  49. // 1
  50. {
  51. UNIMAP_NO,
  52. UNIMAP_NO,
  53. UNIMAP_4,
  54. UNIMAP_E,
  55. UNIMAP_MHEN,
  56. UNIMAP_C,
  57. UNIMAP_D,
  58. UNIMAP_NO,
  59. },
  60. // 2
  61. {
  62. UNIMAP_NO,
  63. UNIMAP_NO,
  64. UNIMAP_3,
  65. UNIMAP_W,
  66. UNIMAP_LALT,
  67. UNIMAP_X,
  68. UNIMAP_S,
  69. UNIMAP_NO,
  70. },
  71. // 3
  72. {
  73. UNIMAP_NO,
  74. UNIMAP_NO,
  75. UNIMAP_1,
  76. UNIMAP_NO,
  77. UNIMAP_ESCAPE,
  78. UNIMAP_NO,
  79. UNIMAP_NO,
  80. UNIMAP_NO,
  81. },
  82. // 4
  83. {
  84. UNIMAP_NO,
  85. UNIMAP_NO,
  86. UNIMAP_NO,
  87. UNIMAP_NO,
  88. UNIMAP_NO,
  89. UNIMAP_NO,
  90. UNIMAP_NO,
  91. UNIMAP_NO,
  92. },
  93. // 5
  94. {
  95. UNIMAP_NO,
  96. UNIMAP_NO,
  97. UNIMAP_5,
  98. UNIMAP_R,
  99. UNIMAP_NO,
  100. UNIMAP_V,
  101. UNIMAP_F,
  102. UNIMAP_NO,
  103. },
  104. // 6
  105. {
  106. UNIMAP_NO,
  107. UNIMAP_NO,
  108. UNIMAP_2,
  109. UNIMAP_Q,
  110. UNIMAP_LGUI,
  111. UNIMAP_Z,
  112. UNIMAP_A,
  113. UNIMAP_NO,
  114. },
  115. // 7
  116. {
  117. UNIMAP_NO,
  118. UNIMAP_NO,
  119. UNIMAP_6,
  120. UNIMAP_T,
  121. UNIMAP_SPACE,
  122. UNIMAP_B,
  123. UNIMAP_G,
  124. UNIMAP_NO,
  125. },
  126. // 8
  127. {
  128. UNIMAP_NO,
  129. UNIMAP_NO,
  130. UNIMAP_9,
  131. UNIMAP_I,
  132. UNIMAP_KANA,
  133. UNIMAP_COMMA,
  134. UNIMAP_K,
  135. UNIMAP_NO,
  136. },
  137. // 9
  138. {
  139. UNIMAP_NO,
  140. UNIMAP_NO,
  141. UNIMAP_8,
  142. UNIMAP_U,
  143. UNIMAP_HENK,
  144. UNIMAP_M,
  145. UNIMAP_J,
  146. UNIMAP_NO,
  147. },
  148. // A
  149. {
  150. UNIMAP_NO,
  151. UNIMAP_NO,
  152. UNIMAP_7,
  153. UNIMAP_Y,
  154. UNIMAP_NO,
  155. UNIMAP_N,
  156. UNIMAP_H,
  157. UNIMAP_NO,
  158. },
  159. // B
  160. {
  161. UNIMAP_NO,
  162. UNIMAP_NO,
  163. UNIMAP_0,
  164. UNIMAP_O,
  165. UNIMAP_RALT,
  166. UNIMAP_DOT,
  167. UNIMAP_L,
  168. UNIMAP_NO,
  169. },
  170. // C
  171. {
  172. UNIMAP_NO,
  173. UNIMAP_NO,
  174. UNIMAP_BSPACE,
  175. UNIMAP_NO,
  176. UNIMAP_RIGHT,
  177. UNIMAP_RSHIFT,
  178. UNIMAP_ENTER,
  179. UNIMAP_NO,
  180. },
  181. // D
  182. {
  183. UNIMAP_NO,
  184. UNIMAP_NO,
  185. UNIMAP_JYEN,
  186. UNIMAP_RBRACKET,
  187. UNIMAP_DOWN,
  188. UNIMAP_UP,
  189. UNIMAP_NONUS_HASH,
  190. UNIMAP_NO,
  191. },
  192. // E
  193. {
  194. UNIMAP_NO,
  195. UNIMAP_NO,
  196. UNIMAP_MINUS,
  197. UNIMAP_P,
  198. UNIMAP_RCTRL,
  199. UNIMAP_SLASH,
  200. UNIMAP_SCOLON,
  201. UNIMAP_NO,
  202. },
  203. // F
  204. {
  205. UNIMAP_NO,
  206. UNIMAP_NO,
  207. UNIMAP_EQUAL,
  208. UNIMAP_LBRACKET,
  209. UNIMAP_LEFT,
  210. UNIMAP_RO,
  211. UNIMAP_QUOTE,
  212. UNIMAP_NO,
  213. },
  214. };
  215. #endif