]>
git.gir.st - tmk_keyboard.git/blob - keyboard/hhkb/unimap_common.h
2 Copyright 2016 Jun Wako <wakojun@gmail.com>
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef UNIMAP_COMMON_H
18 #define UNIMAP_COMMON_H
21 #include <avr/pgmspace.h>
25 /* Mapping to Universal keyboard layout
27 * Universal keyboard layout
28 * ,-----------------------------------------------.
29 * |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
30 * ,---. |-----------------------------------------------| ,-----------. ,-----------.
31 * |Esc| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|
32 * `---' `-----------------------------------------------' `-----------' `-----------'
33 * ,-----------------------------------------------------------. ,-----------. ,---------------.
34 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -|
35 * |-----------------------------------------------------------| |-----------| |---------------|
36 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +|
37 * |-----------------------------------------------------------| `-----------' |---------------|
38 * |CapsL | A| S| D| F| G| H| J| K| L| ;| '| #|Retn| | 4| 5| 6|KP,|
39 * |-----------------------------------------------------------| ,---. |---------------|
40 * |Shft| <| Z| X| C| V| B| N| M| ,| .| /| RO|Shift | |Up | | 1| 2| 3|KP=|
41 * |-----------------------------------------------------------| ,-----------. |---------------|
42 * |Ctl|Gui|Alt|MHEN| Space |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent|
43 * `-----------------------------------------------------------' `-----------' `---------------'
48 * ,-----------------------------------------------------------.
49 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|BS |
50 * |-----------------------------------------------------------|
51 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
52 * |-----------------------------------------------------------|
53 * |CapsL | A| S| D| F| G| H| J| K| L| ;| '|Enter |
54 * |-----------------------------------------------------------|
55 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Ctl|
56 * `-----------------------------------------------------------'
57 * |Gui|Alt | Space |Alt |Gui|
58 * `-------------------------------------------'
60 * Matrix - row:8 x col:8
61 * ,-----------------------------------------------------------.
62 * |31 |30 |00 |10 |11 |20 |21 |40 |41 |60 |61 |70 |71 |50 |51 |
63 * |-----------------------------------------------------------|
64 * |32 |01 |02 |13 |12 |23 |22 |42 |43 |62 |63 |73 |72 |52 |
65 * |-----------------------------------------------------------|
66 * |33 |04 |03 |14 |15 |24 |25 |45 |44 |65 |64 |74 | 53 |
67 * |-----------------------------------------------------------|
68 * |34 |05 |06 |07 |16 |17 |26 |46 |66 |76 |75 |55 |54 |
69 * `-----------------------------------------------------------'
70 * |35 |36 | 37 |57 |56 |
71 * `-------------------------------------------'
74 const uint8_t PROGMEM unimap_trans
[MATRIX_ROWS
][MATRIX_COLS
] = {
75 { UNIMAP_2
, UNIMAP_Q
, UNIMAP_W
, UNIMAP_S
, UNIMAP_A
, UNIMAP_Z
, UNIMAP_X
, UNIMAP_C
, },
76 { UNIMAP_3
, UNIMAP_4
, UNIMAP_R
, UNIMAP_E
, UNIMAP_D
, UNIMAP_F
, UNIMAP_V
, UNIMAP_B
, },
77 { UNIMAP_5
, UNIMAP_6
, UNIMAP_Y
, UNIMAP_T
, UNIMAP_G
, UNIMAP_H
, UNIMAP_N
, UNIMAP_NO
, },
78 { UNIMAP_1
, UNIMAP_GRAVE
, UNIMAP_TAB
, UNIMAP_CAPSLOCK
, UNIMAP_LSHIFT
, UNIMAP_LALT
, UNIMAP_LGUI
, UNIMAP_SPACE
, },
79 { UNIMAP_7
, UNIMAP_8
, UNIMAP_U
, UNIMAP_I
, UNIMAP_K
, UNIMAP_J
, UNIMAP_M
, UNIMAP_NO
, },
80 { UNIMAP_JYEN
, UNIMAP_BSPACE
, UNIMAP_BSLASH
, UNIMAP_ENTER
, UNIMAP_RCTRL
, UNIMAP_RSHIFT
, UNIMAP_RALT
, UNIMAP_RGUI
, },
81 { UNIMAP_9
, UNIMAP_0
, UNIMAP_O
, UNIMAP_P
, UNIMAP_SCOLON
, UNIMAP_L
, UNIMAP_COMMA
, UNIMAP_NO
, },
82 { UNIMAP_MINUS
, UNIMAP_EQUAL
, UNIMAP_RBRACKET
, UNIMAP_LBRACKET
, UNIMAP_QUOTE
, UNIMAP_SLASH
, UNIMAP_DOT
, UNIMAP_NO
, },
87 * ,-----------------------------------------------------------.
88 * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |JPY|BS |
89 * |-----------------------------------------------------------|
90 * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] | |
91 * |------------------------------------------------------` |
92 * |CapsL |A |S |D |F |G |H |J |K |L |; |' |# |Entr|
93 * |-----------------------------------------------------------|
94 * |Shift |Z |X |C |V |B |N |M |, |. |/ |RO |Up |Shi|
95 * |-----------------------------------------------------------|
96 * |Ctl||Esc|Gui|Alt|MHE| |HEN|KAN|Alt|Ctl||Lef|Dow|Rig|
97 * `-----------------------------------------------------------'
99 * Matrix - row:16 x col:8
100 * ,-----------------------------------------------------------.
101 * |02 |32 |62 |22 |12 |52 |72 |A2 |92 |82 |B2 |E2 |F2 |D2 |C2 |
102 * |-----------------------------------------------------------|
103 * |03 |63 |23 |13 |53 |73 |A3 |93 |83 |B3 |E3 |F3 |D3 | |
104 * |------------------------------------------------------` |
105 * |06 |66 |26 |16 |56 |76 |A6 |96 |86 |B6 |E6 |F6 |D6 | C6 |
106 * |-----------------------------------------------------------|
107 * |05 |65 |25 |15 |55 |75 |A5 |95 |85 |B5 |E5 |F5 |D5 |C5 |
108 * |-----------------------------------------------------------|
109 * |04 ||34 |64 |24 |14 | 74 |94 |84 |B4 |E4 ||F4 |D4 |C4 |
110 * `-----------------------------------------------------------'
112 const uint8_t PROGMEM unimap_trans
[MATRIX_ROWS
][MATRIX_COLS
] = {
113 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_GRAVE
, UNIMAP_TAB
, UNIMAP_LCTRL
, UNIMAP_LSHIFT
, UNIMAP_CAPSLOCK
, UNIMAP_NO
, },
114 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_4
, UNIMAP_E
, UNIMAP_MHEN
, UNIMAP_C
, UNIMAP_D
, UNIMAP_NO
, },
115 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_3
, UNIMAP_W
, UNIMAP_LALT
, UNIMAP_X
, UNIMAP_S
, UNIMAP_NO
, },
116 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_1
, UNIMAP_NO
, UNIMAP_ESCAPE
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, },
117 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, },
118 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_5
, UNIMAP_R
, UNIMAP_NO
, UNIMAP_V
, UNIMAP_F
, UNIMAP_NO
, },
119 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_2
, UNIMAP_Q
, UNIMAP_LGUI
, UNIMAP_Z
, UNIMAP_A
, UNIMAP_NO
, },
120 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_6
, UNIMAP_T
, UNIMAP_SPACE
, UNIMAP_B
, UNIMAP_G
, UNIMAP_NO
, },
121 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_9
, UNIMAP_I
, UNIMAP_KANA
, UNIMAP_COMMA
, UNIMAP_K
, UNIMAP_NO
, },
122 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_8
, UNIMAP_U
, UNIMAP_HENK
, UNIMAP_M
, UNIMAP_J
, UNIMAP_NO
, },
123 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_7
, UNIMAP_Y
, UNIMAP_NO
, UNIMAP_N
, UNIMAP_H
, UNIMAP_NO
, },
124 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_0
, UNIMAP_O
, UNIMAP_RALT
, UNIMAP_DOT
, UNIMAP_L
, UNIMAP_NO
, },
125 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_BSPACE
, UNIMAP_NO
, UNIMAP_RIGHT
, UNIMAP_RSHIFT
, UNIMAP_ENTER
, UNIMAP_NO
, },
126 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_JYEN
, UNIMAP_RBRACKET
, UNIMAP_DOWN
, UNIMAP_UP
, UNIMAP_NONUS_HASH
, UNIMAP_NO
, },
127 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_MINUS
, UNIMAP_P
, UNIMAP_RCTRL
, UNIMAP_SLASH
, UNIMAP_SCOLON
, UNIMAP_NO
, },
128 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_EQUAL
, UNIMAP_LBRACKET
, UNIMAP_LEFT
, UNIMAP_RO
, UNIMAP_QUOTE
, UNIMAP_NO
, },