1 #include "keymap_common.h"
3 const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
4 /* Layer 0: Default Layer
5 * ,-----------------------------------------------------------.
6 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|
7 * |-----------------------------------------------------------|
8 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs|
9 * |-----------------------------------------------------------|
10 * |Contro| A| S| D| F| G| H| J| K| L|Fn3| '|Fn6 |
11 * |-----------------------------------------------------------|
12 * |Fn7 | Z| X| C| V| B| N| M| ,| .|Fn2|Shift |Fn1|
13 * `-----------------------------------------------------------'
14 * |Gui|Alt | Fn4 |Fn5 |Gui|
15 * `-------------------------------------------'
19 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
20 ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
21 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9,
22 LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT, FN6, P4, P5, P6, PPLS,
23 FN7, Z, X, C, V, B, N, M, COMM,DOT, FN2, RSFT, UP, P1, P2, P3,
24 LCTL,LGUI,LALT, FN4, RALT,FN5, FN5, FN1, LEFT,DOWN,RGHT, P0, PDOT,PENT
27 /* Layer 1: HHKB mode[HHKB Fn]
28 * ,-----------------------------------------------------------.
29 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
30 * |-----------------------------------------------------------|
31 * |Caps | | | | | | | |Psc|Slk|Pus|Up | |Backs|
32 * |-----------------------------------------------------------|
33 * |Contro|VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig|Enter |
34 * |-----------------------------------------------------------|
35 * |Shift | | | | | | +| -|End|PgD|Dow|Shift | |
36 * `-----------------------------------------------------------'
37 * |Gui|Alt | Space |Alt |Gui|
38 * `-------------------------------------------'
42 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
43 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
44 CAPS,NO, NO, NO, NO, NO, NO, NO, PSCR,SLCK,PAUS, UP, NO, BSLS, DEL, END, PGDN, P7, P8, P9,
45 LCTL,VOLD,VOLU,MUTE,NO, NO, PAST,PSLS,HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS,
46 LSFT,NO, NO, NO, NO, NO, PPLS,PMNS,END, PGDN,DOWN, RSFT, UP, P1, P2, P3,
47 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, TRNS, LEFT,DOWN,RGHT, P0, PDOT,PENT
50 /* Layer 2: Vi mode[Slash]
51 * ,-----------------------------------------------------------.
52 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
53 * |-----------------------------------------------------------|
54 * |Tab |Hom|PgD|Up |PgU|End|Hom|PgD|PgUlEnd| | | |Backs|
55 * |-----------------------------------------------------------|
56 * |Contro| |Lef|Dow|Rig| |Lef|Dow|Up |Rig| | |Return |
57 * |-----------------------------------------------------------|
58 * |Shift | | | | | |Hom|PgD|PgUlEnd|Fn0|Shift | |
59 * `-----------------------------------------------------------'
60 * |Gui|Alt | Space |Alt |Gui|
61 * `-------------------------------------------'
65 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
66 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
67 TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, NO, NO, NO, BSLS, DEL, END, PGDN, P7, P8, P9,
68 LCTL,NO, LEFT,DOWN,RGHT,NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, P4, P5, P6, PPLS,
69 LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, TRNS, RSFT, UP, P1, P2, P3,
70 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
73 /* Layer 3: Mouse mode(IJKL)[Semicolon]
74 * ,-----------------------------------------------------------.
75 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
76 * |-----------------------------------------------------------|
77 * |Tab | | | | | |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
78 * |-----------------------------------------------------------|
79 * |Contro| | | | | |Mb2|McL|McD|McR|Fn | |Return |
80 * |-----------------------------------------------------------|
81 * |Shift | | | | |Mb3|Mb2|Mb1|Mb4|Mb5| |Shift | |
82 * `-----------------------------------------------------------'
83 * |Gui |Alt | Mb1 |Fn |Fn |
84 * `--------------------------------------------'
85 * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel8
89 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
90 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, FN8, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
91 FN8, NO, NO, NO, NO, NO, WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,FN8, DEL, END, PGDN, P7, P8, P9,
92 LCTL,ACL0,ACL1,ACL2,ACL2,NO, NO, MS_L,MS_D,MS_R,TRNS,NO, ENT, P4, P5, P6, PPLS,
93 LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT, UP, P1, P2, P3,
94 LCTL,LGUI,LALT, BTN1, RALT,TRNS,TRNS,RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
97 /* Layer 5: Mouse mode(IJKL)[Space]
98 * ,-----------------------------------------------------------.
99 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
100 * |-----------------------------------------------------------|
101 * |Tab | | | | | |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
102 * |-----------------------------------------------------------|
103 * |Contro| | | | | |Mb2|McL|McD|McR|Mb1| |Return |
104 * |-----------------------------------------------------------|
105 * |Shift | | | | |Mb3|Mb2|Mb1|Mb4|Mb5| |Shift | |
106 * `-----------------------------------------------------------'
107 * |Gui |Alt | Mb1 |Fn |Fn |
108 * `--------------------------------------------'
109 * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel8
113 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
114 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, FN8, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
115 FN8, NO, NO, NO, NO, NO, WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,FN8, DEL, END, PGDN, P7, P8, P9,
116 LCTL,ACL0,ACL1,ACL2,ACL2,NO, NO, MS_L,MS_D,MS_R,BTN1,NO, ENT, P4, P5, P6, PPLS,
117 LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT, UP, P1, P2, P3,
118 LCTL,LGUI,LALT, TRNS, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
129 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
133 return (record->event.pressed ?
134 MACRO( D(LALT), D(TAB), END ) :
135 MACRO( U(TAB), END ));
142 * Fn action definition
144 #ifdef KEYMAP_SECTION_ENABLE
145 const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
147 const uint16_t fn_actions[] PROGMEM = {
149 [0] = ACTION_DEFAULT_LAYER_SET(0), // Default layer(not used)
150 [1] = ACTION_LAYER_TAP_TOGGLE(1), // HHKB layer(toggle with 5 taps)
151 [2] = ACTION_LAYER_TAP_KEY(2, KC_SLASH), // Cursor layer with Slash*
152 [3] = ACTION_LAYER_TAP_KEY(3, KC_SCLN), // Mousekey layer with Semicolon*
153 [4] = ACTION_LAYER_TAP_KEY(4, KC_SPC), // Mousekey layer with Space
154 [5] = ACTION_LAYER_MOMENTARY(3), // Mousekey layer
155 [6] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT), // RControl with tap Enter
156 [7] = ACTION_MODS_ONESHOT(MOD_LSFT), // Oneshot Shift
157 [8] = ACTION_MACRO(ALT_TAB), // Application switching