aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2010-10-25 15:17:40 +0900
committertmk <nobody@nowhere>2010-10-25 15:17:40 +0900
commitc166fb744f771259f7f9793c99cd8bb15cddc779 (patch)
tree03b3e31d6aa492788b4a3fed71aa89cbe9f3f18e
parent4acc38751e9c8e90921773e6e5f5a100b0729d98 (diff)
downloadqmk_firmware-c166fb744f771259f7f9793c99cd8bb15cddc779.tar.gz
qmk_firmware-c166fb744f771259f7f9793c99cd8bb15cddc779.zip
FIX: doc and keymap.
-rw-r--r--hhkb/doc/HHKB.txt10
-rw-r--r--hhkb/keymap.c65
2 files changed, 38 insertions, 37 deletions
diff --git a/hhkb/doc/HHKB.txt b/hhkb/doc/HHKB.txt
index 9440efebf..bdd297dcd 100644
--- a/hhkb/doc/HHKB.txt
+++ b/hhkb/doc/HHKB.txt
@@ -46,14 +46,14 @@ Teensy++ installation
46Angled USB mini B adapter is used to install Teensy++ laterally. 46Angled USB mini B adapter is used to install Teensy++ laterally.
47(teensy_install.jpg) 47(teensy_install.jpg)
48 48
49Bread baord cables used for connect Teensy++. 49Bread baord wires are used to connect Teensy++.
50(teensy_wiring.jpg) 50(teensy_wiring.jpg)
51(connector_contact.jpg) 51(connector_contact.jpg)
52 52
53 53
54HHKB internal 54HHKB internal
55------------- 55-------------
56HHKB pro has two PCBs and some chips. 56HHKB pro has some chips on separate two PCBs.
57 57
58Controller PCB: 58Controller PCB:
59 M38K07M4 Renesas MCU with USB function 59 M38K07M4 Renesas MCU with USB function
@@ -76,7 +76,7 @@ Keyswitch PCB:
76 (HHKB_TP1684.jpg) 76 (HHKB_TP1684.jpg)
77 77
78 78
79Two PCBs are connected by 15 lines. Vcc/GND uses 3 lines each, 9lines for keyboard signaling. 79Two PCBs are connected by 15 lines. Vcc and GND use 3 lines each, other 9 lines are for keyboard signaling.
80 80
81 Keyswitch PCB connector Teensy++ pins 81 Keyswitch PCB connector Teensy++ pins
82 ------------------------------------------------------------------------------- 82 -------------------------------------------------------------------------------
@@ -101,7 +101,7 @@ Two PCBs are connected by 15 lines. Vcc/GND uses 3 lines each, 9lines for keyboa
101 101
102Keyswitch matrix 102Keyswitch matrix
103---------------- 103----------------
10460 keyswitches in 8*8 matrix. ghost free. bounce free. 10460 keyswitches in 8*8 matrix. It is ghost-free and bounce-free.
105 105
106 COL 0 1 2 3 4 5 6 7 106 COL 0 1 2 3 4 5 6 7
107ROW --------------------------------------------------------------- 107ROW ---------------------------------------------------------------
@@ -181,6 +181,6 @@ Keymap layers
181------------- 181-------------
182Followings are added layers with additional Fn keys. They are not final decision. 182Followings are added layers with additional Fn keys. They are not final decision.
183 183
184see keymap_hhkb.c 184see keymap.c
185 185
186EOF 186EOF
diff --git a/hhkb/keymap.c b/hhkb/keymap.c
index 6f4dc5cd1..57f20c31f 100644
--- a/hhkb/keymap.c
+++ b/hhkb/keymap.c
@@ -23,14 +23,14 @@ static int onbit(uint8_t bits);
23 * |-----------------------------------------------------------| 23 * |-----------------------------------------------------------|
24 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs| 24 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs|
25 * |-----------------------------------------------------------| 25 * |-----------------------------------------------------------|
26 * |Contro| A| S| D| F| G| H| J| K| L| ;| '|Return | 26 * |Contro| A| S| D| F| G| H| J| K| L|Fn3|Fn2|Return |
27 * |-----------------------------------------------------------| 27 * |-----------------------------------------------------------|
28 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Fn2 |Fn1| 28 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn1|
29 * `-----------------------------------------------------------' 29 * `-----------------------------------------------------------'
30 * |Gui|Alt |Space |Fn3 |Gui| 30 * |Gui|Alt |Space |Alt |Fn7|
31 * `-------------------------------------------' 31 * `-------------------------------------------'
32 * 32 *
33 * Layer1(Fn) HHKB mode 33 * Layer1(HHKB Fn) HHKB mode
34 * ,-----------------------------------------------------------. 34 * ,-----------------------------------------------------------.
35 * |Pow| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| 35 * |Pow| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
36 * |-----------------------------------------------------------| 36 * |-----------------------------------------------------------|
@@ -43,20 +43,20 @@ static int onbit(uint8_t bits);
43 * |Gui |Alt |Space |Alt |Gui| 43 * |Gui |Alt |Space |Alt |Gui|
44 * `--------------------------------------------' 44 * `--------------------------------------------'
45 * 45 *
46 * Layer2(RALT) vi mode 46 * Layer2(Quote/Rmeta) vi mode
47 * ,-----------------------------------------------------------. 47 * ,-----------------------------------------------------------.
48 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| 48 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
49 * |-----------------------------------------------------------| 49 * |-----------------------------------------------------------|
50 * |Tab | | | | | |Hom|PgD|PgUlEnd| | | |Backs| 50 * |Tab | | | | | |Hom|PgD|PgUlEnd| | | |Backs|
51 * |-----------------------------------------------------------| 51 * |-----------------------------------------------------------|
52 * |Contro| | | | | |Lef|Dow|Up |Rig| | |Return | 52 * |Contro| | | | | |Lef|Dow|Up |Rig| |xxx|Return |
53 * |-----------------------------------------------------------| 53 * |-----------------------------------------------------------|
54 * |Shift | | | | | |McL|McD|McU|McR|Mb1|Mb2 | | 54 * |Shift | | | | | | | | | | |Shift | |
55 * `-----------------------------------------------------------' 55 * `-----------------------------------------------------------'
56 * |Gui|Alt |Sapce |xxxxx|Mb3| 56 * |Gui|Alt |Sapce |Alt |xxx|
57 * `-------------------------------------------' 57 * `-------------------------------------------'
58 * 58 *
59 * Layer3(semicolon) mouse mode 59 * Layer3(Semicolon) mouse mode
60 * ,-----------------------------------------------------------. 60 * ,-----------------------------------------------------------.
61 * |Esc| | | | | | | | | | | | | | | 61 * |Esc| | | | | | | | | | | | | | |
62 * |-----------------------------------------------------------| 62 * |-----------------------------------------------------------|
@@ -69,7 +69,7 @@ static int onbit(uint8_t bits);
69 * |Gui |Alt |Mb1 |Alt |Gui| 69 * |Gui |Alt |Mb1 |Alt |Gui|
70 * `--------------------------------------------' 70 * `--------------------------------------------'
71 * 71 *
72 * Layer4 Matias half keyboard style 72 * Layer4(Space) Matias half keyboard style
73 * ,-----------------------------------------------------------. 73 * ,-----------------------------------------------------------.
74 * | -| 0| 9| 8| 7| 6| 5| 4| 3| 2| 1| | | |Esc| 74 * | -| 0| 9| 8| 7| 6| 5| 4| 3| 2| 1| | | |Esc|
75 * |-----------------------------------------------------------| 75 * |-----------------------------------------------------------|
@@ -85,19 +85,20 @@ static int onbit(uint8_t bits);
85 * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel 85 * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
86 */ 86 */
87 87
88/* layer to change into while Fn key pressed */
89static const int PROGMEM fn_layer[] = { 0, 1, 2, 3, 4, 0, 0, 2 };
90
88/* keycode to sent when Fn key released without using layer keys. */ 91/* keycode to sent when Fn key released without using layer keys. */
89static const uint8_t PROGMEM fn_keycode[] = { 92static const uint8_t PROGMEM fn_keycode[] = {
90 KB_NO, // FN_0 93 KB_NO, // FN_0 [NOT USED]
91 KB_NO, // FN_1 94 KB_NO, // FN_1 layer 1
92 KB_NO, // FN_2 95 KB_NO, // FN_2 layer 2
93 KB_SCOLON, // FN_3 96 KB_SCOLON, // FN_3 layer 3
94 KB_SPACE, // FN_4 97 KB_SPACE, // FN_4 layer 4 [NOT USED]
95 KB_NO, // FN_5 98 KB_NO, // FN_5 [NOT USED]
96 KB_NO, // FN_6 99 KB_NO, // FN_6 [NOT USED]
97 KB_NO, // FN_7 100 KB_QUOTE, // FN_7 layer 2
98}; 101};
99/* layer to change into while Fn key pressed */
100static const int PROGMEM fn_layer[] = { 0, 1, 2, 3, 4, 0, 0, 0 };
101 102
102static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 103static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
103/* plain keymap 104/* plain keymap
@@ -119,11 +120,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
119 { KB_5, KB_6, KB_Y, KB_T, KB_G, KB_H, KB_N, KB_NO }, 120 { KB_5, KB_6, KB_Y, KB_T, KB_G, KB_H, KB_N, KB_NO },
120 { KB_1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, KB_SPACE }, 121 { KB_1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, KB_SPACE },
121 { KB_7, KB_8, KB_U, KB_I, KB_K, KB_J, KB_M, KB_NO }, 122 { KB_7, KB_8, KB_U, KB_I, KB_K, KB_J, KB_M, KB_NO },
122 { KB_BSLASH, KB_GRAVE, KB_BSPACE, KB_ENTER, FN_1, KB_RSHIFT, KB_RGUI, FN_2 }, 123 { KB_BSLASH, KB_GRAVE, KB_BSPACE, KB_ENTER, FN_1, KB_RSHIFT, FN_2, KB_RALT },
123 { KB_9, KB_0, KB_O, KB_P, FN_3, KB_L, KB_COMMA, KB_NO }, 124 { KB_9, KB_0, KB_O, KB_P, FN_3, KB_L, KB_COMMA, KB_NO },
124 { KB_MINUS, KB_EQUAL, KB_RBRACKET,KB_LBRACKET,KB_QUOTE, KB_SLASH, KB_DOT, KB_NO }, 125 { KB_MINUS, KB_EQUAL, KB_RBRACKET,KB_LBRACKET,FN_7, KB_SLASH, KB_DOT, KB_NO },
125 }, 126 },
126 // 1: HHKB mode(Fn) 127 // 1: HHKB mode(HHKB Fn)
127 { 128 {
128 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO }, 129 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
129 { KB_F3, KB_F4, KB_NO, KB_NO, KB_MUTE, KB_F20, KB_NO, KB_NO }, 130 { KB_F3, KB_F4, KB_NO, KB_NO, KB_MUTE, KB_F20, KB_NO, KB_NO },
@@ -134,29 +135,29 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 { KB_F9, KB_F10, KB_SCKLOCK, KB_BREAK, KB_LEFT, KB_PGUP, KB_END, KB_NO }, 135 { KB_F9, KB_F10, KB_SCKLOCK, KB_BREAK, KB_LEFT, KB_PGUP, KB_END, KB_NO },
135 { KB_F11, KB_F12, KB_NO, KB_UP, KB_RIGHT, KB_DOWN, KB_PGDOWN, KB_NO }, 136 { KB_F11, KB_F12, KB_NO, KB_UP, KB_RIGHT, KB_DOWN, KB_PGDOWN, KB_NO },
136 }, 137 },
137 // 2: vi mode(RALT) 138 // 2: vi mode(Quote/Rmeta)
138 { 139 {
139 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO }, 140 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
140 { KB_F3, KB_F4, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO }, 141 { KB_F3, KB_F4, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
141 { KB_F5, KB_F6, KB_HOME, KB_NO, KB_NO, KB_LEFT, MS_LEFT, KB_NO }, 142 { KB_F5, KB_F6, KB_HOME, KB_NO, KB_NO, KB_LEFT, KB_NO, KB_NO },
142 { KB_F1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, KB_SPACE }, 143 { KB_F1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, KB_SPACE },
143 { KB_F7, KB_F8, KB_PGDOWN, KB_PGUP, KB_UP, KB_DOWN, MS_DOWN, KB_NO }, 144 { KB_F7, KB_F8, KB_PGDOWN, KB_PGUP, KB_UP, KB_DOWN, KB_NO, KB_NO },
144 { KB_INSERT, KB_DELETE, KB_BSPACE, KB_ENTER, KB_NO, MS_BTN2, MS_BTN3, KB_NO }, 145 { KB_INSERT, KB_DELETE, KB_BSPACE, KB_ENTER, KB_NO, KB_RSHIFT, KB_NO, KB_RALT },
145 { KB_F9, KB_F10, KB_END, KB_NO, KB_NO, KB_RIGHT, MS_UP, KB_NO }, 146 { KB_F9, KB_F10, KB_END, KB_NO, KB_NO, KB_RIGHT, KB_NO, KB_NO },
146 { KB_F11, KB_F12, MS_WH_UP, MS_WH_DOWN, KB_NO, MS_BTN1, MS_RIGHT, KB_NO }, 147 { KB_F11, KB_F12, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
147 }, 148 },
148 // 3: vi mouse mode(SCOLON) 149 // 3: vi mouse mode(Semicolon)
149 { 150 {
150 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO }, 151 { KB_F2, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
151 { KB_F3, KB_F4, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO }, 152 { KB_F3, KB_F4, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO },
152 { KB_F5, KB_F6, MS_WH_LEFT, KB_NO, KB_NO, MS_LEFT, KB_NO, KB_NO }, 153 { KB_F5, KB_F6, MS_WH_LEFT, KB_NO, KB_NO, MS_LEFT, MS_BTN2, KB_NO },
153 { KB_F1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, MS_BTN1 }, 154 { KB_F1, KB_ESCAPE, KB_TAB, KB_LCTRL, KB_LSHIFT, KB_LGUI, KB_LALT, MS_BTN1 },
154 { KB_F7, KB_F8, MS_WH_DOWN, MS_WH_UP, MS_UP, MS_DOWN, MS_BTN1, KB_NO }, 155 { KB_F7, KB_F8, MS_WH_DOWN, MS_WH_UP, MS_UP, MS_DOWN, MS_BTN1, KB_NO },
155 { KB_NO, KB_NO, KB_BSPACE, KB_ENTER, KB_NO, KB_RSHIFT, KB_RGUI, KB_RALT }, 156 { KB_NO, KB_NO, KB_BSPACE, KB_ENTER, KB_NO, KB_RSHIFT, KB_RGUI, KB_RALT },
156 { KB_F9, KB_F10, MS_WH_RIGHT,KB_NO, KB_NO, MS_RIGHT, MS_BTN2, KB_NO }, 157 { KB_F9, KB_F10, MS_WH_RIGHT,KB_NO, KB_NO, MS_RIGHT, MS_BTN2, KB_NO },
157 { KB_F11, KB_F12, KB_NO, KB_NO, KB_NO, KB_NO, MS_BTN3, KB_NO }, 158 { KB_F11, KB_F12, KB_NO, KB_NO, KB_NO, KB_NO, MS_BTN3, KB_NO },
158 }, 159 },
159 // 4: Matias half keyboard style(SPACE) [NOT USED] 160 // 4: Matias half keyboard style(Space)
160 { 161 {
161 { KB_9, KB_P, KB_O, KB_L, KB_SCOLON, KB_SLASH, KB_DOT, KB_COMMA }, 162 { KB_9, KB_P, KB_O, KB_L, KB_SCOLON, KB_SLASH, KB_DOT, KB_COMMA },
162 { KB_8, KB_7, KB_U, KB_I, KB_K, KB_J, KB_M, KB_N }, 163 { KB_8, KB_7, KB_U, KB_I, KB_K, KB_J, KB_M, KB_N },