diff options
| author | tmk <nobody@nowhere> | 2010-10-25 15:17:40 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2010-10-25 15:17:40 +0900 |
| commit | c166fb744f771259f7f9793c99cd8bb15cddc779 (patch) | |
| tree | 03b3e31d6aa492788b4a3fed71aa89cbe9f3f18e | |
| parent | 4acc38751e9c8e90921773e6e5f5a100b0729d98 (diff) | |
| download | qmk_firmware-c166fb744f771259f7f9793c99cd8bb15cddc779.tar.gz qmk_firmware-c166fb744f771259f7f9793c99cd8bb15cddc779.zip | |
FIX: doc and keymap.
| -rw-r--r-- | hhkb/doc/HHKB.txt | 10 | ||||
| -rw-r--r-- | hhkb/keymap.c | 65 |
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 | |||
| 46 | Angled USB mini B adapter is used to install Teensy++ laterally. | 46 | Angled USB mini B adapter is used to install Teensy++ laterally. |
| 47 | (teensy_install.jpg) | 47 | (teensy_install.jpg) |
| 48 | 48 | ||
| 49 | Bread baord cables used for connect Teensy++. | 49 | Bread 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 | ||
| 54 | HHKB internal | 54 | HHKB internal |
| 55 | ------------- | 55 | ------------- |
| 56 | HHKB pro has two PCBs and some chips. | 56 | HHKB pro has some chips on separate two PCBs. |
| 57 | 57 | ||
| 58 | Controller PCB: | 58 | Controller 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 | ||
| 79 | Two PCBs are connected by 15 lines. Vcc/GND uses 3 lines each, 9lines for keyboard signaling. | 79 | Two 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 | ||
| 102 | Keyswitch matrix | 102 | Keyswitch matrix |
| 103 | ---------------- | 103 | ---------------- |
| 104 | 60 keyswitches in 8*8 matrix. ghost free. bounce free. | 104 | 60 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 |
| 107 | ROW --------------------------------------------------------------- | 107 | ROW --------------------------------------------------------------- |
| @@ -181,6 +181,6 @@ Keymap layers | |||
| 181 | ------------- | 181 | ------------- |
| 182 | Followings are added layers with additional Fn keys. They are not final decision. | 182 | Followings are added layers with additional Fn keys. They are not final decision. |
| 183 | 183 | ||
| 184 | see keymap_hhkb.c | 184 | see keymap.c |
| 185 | 185 | ||
| 186 | EOF | 186 | EOF |
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 */ | ||
| 89 | static 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. */ |
| 89 | static const uint8_t PROGMEM fn_keycode[] = { | 92 | static 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 */ | ||
| 100 | static const int PROGMEM fn_layer[] = { 0, 1, 2, 3, 4, 0, 0, 0 }; | ||
| 101 | 102 | ||
| 102 | static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 103 | static 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 }, |
