]> git.gir.st - tmk_keyboard.git/blob - converter/usb_usb/keymap_hasu.c
de19e230762eb29491598a08e623a7ba15dd1d7b
[tmk_keyboard.git] / converter / usb_usb / keymap_hasu.c
1 #include "keymap_common.h"
2
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 * `-------------------------------------------'
16 */
17 [0] = \
18 KEYMAP(
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
25 ),
26
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 * `-------------------------------------------'
39 */
40 [1] = \
41 KEYMAP(
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
48 ),
49
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 * `-------------------------------------------'
62 */
63 [2] = \
64 KEYMAP(
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
71 ),
72
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
86 */
87 [3] = \
88 KEYMAP(
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
95 ),
96
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
110 */
111 [4] = \
112 KEYMAP(
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
119 ),
120 };
121
122
123 /*
124 * Macro definition
125 */
126 enum macro_id {
127 ALT_TAB,
128 };
129 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
130 {
131 switch (id) {
132 case ALT_TAB:
133 return (record->event.pressed ?
134 MACRO( D(LALT), D(TAB), END ) :
135 MACRO( U(TAB), END ));
136 }
137 return MACRO_NONE;
138 }
139
140
141 /*
142 * Fn action definition
143 */
144 #ifdef KEYMAP_SECTION_ENABLE
145 const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
146 #else
147 const uint16_t fn_actions[] PROGMEM = {
148 #endif
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
158 };
Imprint / Impressum