aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-02-20 10:40:07 +0900
committertmk <nobody@nowhere>2013-02-20 10:40:07 +0900
commitabf0b04d14629de35968ee07e3bb587eebccf68b (patch)
treeb08e20a0ae42a49ea831a1f1325293c7db140370
parent998dc6c17e0b0cfe8377529a130d9c61590caf2a (diff)
downloadqmk_firmware-abf0b04d14629de35968ee07e3bb587eebccf68b.tar.gz
qmk_firmware-abf0b04d14629de35968ee07e3bb587eebccf68b.zip
Apply new keymap for gh60
-rw-r--r--keyboard/gh60/Makefile.lufa4
-rw-r--r--keyboard/gh60/Makefile.pjrc4
-rw-r--r--keyboard/gh60/README.md7
-rw-r--r--keyboard/gh60/config.h2
-rw-r--r--keyboard/gh60/keymap.c105
-rw-r--r--keyboard/gh60/keymap_plain.h20
-rw-r--r--keyboard/gh60/keymap_poker.h95
-rw-r--r--keyboard/gh60/keymap_poker_bit.h113
-rw-r--r--keyboard/gh60/keymap_poker_set.h71
9 files changed, 195 insertions, 226 deletions
diff --git a/keyboard/gh60/Makefile.lufa b/keyboard/gh60/Makefile.lufa
index 9adec24b1..7a8303296 100644
--- a/keyboard/gh60/Makefile.lufa
+++ b/keyboard/gh60/Makefile.lufa
@@ -125,8 +125,8 @@ plain: all
125poker: OPT_DEFS += -DKEYMAP_POKER 125poker: OPT_DEFS += -DKEYMAP_POKER
126poker: all 126poker: all
127 127
128poker_bit: OPT_DEFS += -DKEYMAP_POKER_SET 128poker_set: OPT_DEFS += -DKEYMAP_POKER_SET
129poker_bit: all 129poker_set: all
130 130
131poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT 131poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT
132poker_bit: all 132poker_bit: all
diff --git a/keyboard/gh60/Makefile.pjrc b/keyboard/gh60/Makefile.pjrc
index 4559ce32f..af6ef63ec 100644
--- a/keyboard/gh60/Makefile.pjrc
+++ b/keyboard/gh60/Makefile.pjrc
@@ -95,8 +95,8 @@ plain: all
95poker: OPT_DEFS += -DKEYMAP_POKER 95poker: OPT_DEFS += -DKEYMAP_POKER
96poker: all 96poker: all
97 97
98poker_bit: OPT_DEFS += -DKEYMAP_POKER_SET 98poker_set: OPT_DEFS += -DKEYMAP_POKER_SET
99poker_bit: all 99poker_set: all
100 100
101poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT 101poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT
102poker_bit: all 102poker_bit: all
diff --git a/keyboard/gh60/README.md b/keyboard/gh60/README.md
index c11f2ae23..4dc4e5ee2 100644
--- a/keyboard/gh60/README.md
+++ b/keyboard/gh60/README.md
@@ -47,9 +47,10 @@ See [keymap_plain.h](keymap_plain.h) for detail.
47 `-----------------------------------------------------------' 47 `-----------------------------------------------------------'
48 48
49### 2 Poker keymap 49### 2 Poker keymap
50Poker layer emulation
51 50
52See [keymap_poker.h](keymap_poker.h) for detail. 51See [keymap_poker.h](keymap_poker.h) for Poker layer emulation, [keymap_poker_bit.h](keymap_poker_bit.h) and [keymap_poker_set.h](keymap_poker_set.h) for better support of Esc and arrow.
52
53 These keymap supports Colemak, Dvorak and Workmans, use `Magic` + {`1`, `2`, `3`} to switch and `Magic` + `0` to return to Qwerty.
53 54
54#### 2.0 Poker Default Layer 55#### 2.0 Poker Default Layer
55 ,-----------------------------------------------------------. 56 ,-----------------------------------------------------------.
@@ -108,7 +109,7 @@ See [keymap_poker.h](keymap_poker.h) for detail.
108### 3. Funky keymap 109### 3. Funky keymap
109This is my keymap(default) with HHKB, Vi cursor and Mousekey layer. 110This is my keymap(default) with HHKB, Vi cursor and Mousekey layer.
110 111
111See [keymap.h](keymap.h) for detail. 112See [keymap.c](keymap.c) for detail.
112 113
113#### 3.0 Funky Default Layer 114#### 3.0 Funky Default Layer
114 ,-----------------------------------------------------------. 115 ,-----------------------------------------------------------.
diff --git a/keyboard/gh60/config.h b/keyboard/gh60/config.h
index a760d5dfb..ef0c9a173 100644
--- a/keyboard/gh60/config.h
+++ b/keyboard/gh60/config.h
@@ -41,6 +41,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
41/* Set 0 if need no debouncing */ 41/* Set 0 if need no debouncing */
42#define DEBOUNCE 5 42#define DEBOUNCE 5
43 43
44/* To use new keymap framework */
45#define USE_KEYMAP_V2
44 46
45/* key combination for command */ 47/* key combination for command */
46#define IS_COMMAND() ( \ 48#define IS_COMMAND() ( \
diff --git a/keyboard/gh60/keymap.c b/keyboard/gh60/keymap.c
index 8739aa163..391348e98 100644
--- a/keyboard/gh60/keymap.c
+++ b/keyboard/gh60/keymap.c
@@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "keycode.h" 20#include "keycode.h"
21#include "action.h" 21#include "action.h"
22#include "action_macro.h" 22#include "action_macro.h"
23#include "layer_switch.h"
23#include "report.h" 24#include "report.h"
24#include "host.h" 25#include "host.h"
25#include "print.h" 26#include "print.h"
@@ -73,7 +74,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
73 /* 74 /*
74 * Funky 75 * Funky
75 */ 76 */
76 /* Layer 0: Default Layer 77 /* Keymap 0: Default Layer
77 * ,-----------------------------------------------------------. 78 * ,-----------------------------------------------------------.
78 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | 79 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
79 * |-----------------------------------------------------------| 80 * |-----------------------------------------------------------|
@@ -92,7 +93,34 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT, ENT, \ 93 LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT, ENT, \
93 LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, RSFT, \ 94 LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, RSFT, \
94 LCTL,LGUI,LALT, SPC, RALT,FN4, FN4, FN1), 95 LCTL,LGUI,LALT, SPC, RALT,FN4, FN4, FN1),
95 /* Layer 1: HHKB mode 96 /* Keymap 1: colemak */
97 KEYMAP_ANSI(
98 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
99 TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \
100 BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \
101 LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \
102 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN1),
103 /* Keymap 2: dvorak */
104 KEYMAP_ANSI(
105 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \
106 TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \
107 CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
108 LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
109 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN1),
110 /* Keymap: workman */
111 KEYMAP_ANSI(
112 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
113 TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
114 BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
115 LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
116 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN1),
117};
118
119static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
120 /*
121 * Funky
122 */
123 /* Overlay 0: HHKB mode
96 * ,-----------------------------------------------------------. 124 * ,-----------------------------------------------------------.
97 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | 125 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
98 * |-----------------------------------------------------------| 126 * |-----------------------------------------------------------|
@@ -107,11 +135,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 */ 135 */
108 KEYMAP_ANSI( 136 KEYMAP_ANSI(
109 PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \ 137 PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
110 CAPS,NO, NO, NO, NO, NO, NO, NO, PSCR,SLCK,PAUS,UP, NO, INS, \ 138 CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, TRNS,INS, \
111 LCTL,VOLD,VOLU,MUTE,NO, NO, PAST,PSLS,HOME,PGUP,LEFT,RGHT, ENT, \ 139 LCTL,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT, ENT, \
112 LSFT,NO, NO, NO, NO, NO, PPLS,PMNS,END, PGDN,DOWN, RSFT, \ 140 LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN, RSFT, \
113 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0), 141 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
114 /* Layer 2: Vi mode (Slash) 142 /* Overlay 1: Vi mode (Slash)
115 * ,-----------------------------------------------------------. 143 * ,-----------------------------------------------------------.
116 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp | 144 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
117 * |-----------------------------------------------------------| 145 * |-----------------------------------------------------------|
@@ -126,11 +154,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
126 */ 154 */
127 KEYMAP_ANSI( 155 KEYMAP_ANSI(
128 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \ 156 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \
129 TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, NO, NO, NO, NO, \ 157 TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, TRNS,TRNS,TRNS,TRNS, \
130 LCTL,NO, LEFT,DOWN,RGHT,NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, \ 158 LCTL,TRNS,LEFT,DOWN,RGHT,TRNS,LEFT,DOWN,UP, RGHT,TRNS,TRNS, ENT, \
131 LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN0, RSFT, \ 159 LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,HOME,PGDN,PGUP,END, FN0, RSFT, \
132 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL), 160 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL),
133 /* Layer 3: Mouse mode (Semicolon/App) 161 /* Overlay 2: Mouse mode (Semicolon/App)
134 * ,-----------------------------------------------------------. 162 * ,-----------------------------------------------------------.
135 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp | 163 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
136 * |-----------------------------------------------------------| 164 * |-----------------------------------------------------------|
@@ -146,10 +174,10 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
146 */ 174 */
147 KEYMAP_ANSI( 175 KEYMAP_ANSI(
148 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \ 176 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \
149 TAB, NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, NO, \ 177 TAB, TRNS,TRNS,TRNS,TRNS,TRNS,WH_L,WH_D,WH_U,WH_R,TRNS,TRNS,TRNS,TRNS, \
150 LCTL,NO, ACL0,ACL1,ACL2,NO, MS_L,MS_D,MS_U,MS_R,FN0, NO, ENT, \ 178 LCTL,TRNS,ACL0,ACL1,ACL2,TRNS,MS_L,MS_D,MS_U,MS_R,FN0, TRNS, ENT, \
151 LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT, \ 179 LSFT,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BTN4,BTN5,TRNS, RSFT, \
152 LCTL,LGUI,LALT, BTN1, NO, FN0, FN0, NO ), 180 LCTL,LGUI,LALT, BTN1, TRNS,FN0, FN0, RCTL),
153}; 181};
154 182
155/* 183/*
@@ -157,41 +185,52 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
157 */ 185 */
158static const uint16_t PROGMEM fn_actions[] = { 186static const uint16_t PROGMEM fn_actions[] = {
159 ACTION_LAYER_DEFAULT, // FN0 187 ACTION_LAYER_DEFAULT, // FN0
160 ACTION_LAYER_SET(1), // FN1 188 ACTION_LAYER_SET(0), // FN1
161 ACTION_LAYER_SET_TAP_KEY(2, KC_SLASH), // FN2 Layer with Slash 189 ACTION_LAYER_SET_TAP_KEY(1, KC_SLASH), // FN2
162 ACTION_LAYER_SET_TAP_KEY(3, KC_SCLN), // FN3 Layer with Semicolon 190 ACTION_LAYER_SET_TAP_KEY(2, KC_SCLN), // FN3
163 ACTION_LAYER_SET(3), // FN4 191 ACTION_LAYER_SET(2), // FN4
164}; 192};
165#endif 193#endif
166 194
167 195
168 196
197#define KEYMAPS_SIZE (sizeof(keymaps) / sizeof(keymaps[0]))
198#define OVERLAYS_SIZE (sizeof(overlays) / sizeof(overlays[0]))
199#define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0]))
200
169/* translates key to keycode */ 201/* translates key to keycode */
170uint8_t keymap_key_to_keycode(uint8_t layer, key_t key) 202uint8_t keymap_key_to_keycode(uint8_t layer, key_t key)
171{ 203{
172 return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); 204 /* Overlay: 16-31(OVERLAY_BIT(0x10) | overlay_layer) */
205 if (layer & OVERLAY_BIT) {
206 layer &= OVERLAY_MASK;
207 if (layer < OVERLAYS_SIZE) {
208 return pgm_read_byte(&overlays[(layer)][(key.row)][(key.col)]);
209 } else {
210 debug("key_to_keycode: overlay "); debug_dec(layer); debug(" is invalid.\n");
211 return KC_TRANSPARENT;
212 }
213 }
214 /* Keymap: 0-15 */
215 else {
216 if (layer < KEYMAPS_SIZE) {
217 return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
218 } else {
219 // fall back to layer 0
220 debug("key_to_keycode: base "); debug_dec(layer); debug(" is invalid.\n");
221 return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]);
222 }
223 }
173} 224}
174 225
175/* translates Fn index to action */ 226/* translates Fn keycode to action */
176action_t keymap_fn_to_action(uint8_t keycode) 227action_t keymap_fn_to_action(uint8_t keycode)
177{ 228{
178 action_t action; 229 action_t action;
179 if (FN_INDEX(keycode) < sizeof(fn_actions) / sizeof(fn_actions[0])) { 230 if (FN_INDEX(keycode) < FN_ACTIONS_SIZE) {
180 action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]); 231 action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]);
181 } else { 232 } else {
182 action.code = ACTION_NO; 233 action.code = ACTION_NO;
183 } 234 }
184 return action; 235 return action;
185} 236}
186
187/* convert key to action */
188action_t action_for_key(uint8_t layer, key_t key)
189{
190 uint8_t keycode = keymap_key_to_keycode(layer, key);
191 switch (keycode) {
192 case KC_FN0 ... KC_FN31:
193 return keymap_fn_to_action(keycode);
194 default:
195 return keymap_keycode_to_action(keycode);
196 }
197}
diff --git a/keyboard/gh60/keymap_plain.h b/keyboard/gh60/keymap_plain.h
index ad0bc2f26..85331715d 100644
--- a/keyboard/gh60/keymap_plain.h
+++ b/keyboard/gh60/keymap_plain.h
@@ -1,24 +1,10 @@
1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
2 /* 2 /* Keymap 0: qwerty */
3 * Plain
4 */
5 /* Layer 0: Default Layer
6 * ,-----------------------------------------------------------.
7 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
8 * |-----------------------------------------------------------|
9 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
10 * |-----------------------------------------------------------|
11 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |
12 * |-----------------------------------------------------------|
13 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
14 * |-----------------------------------------------------------|
15 * |Ctrl|Gui |Alt | Space |Alt |Gui |App |Ctrl|
16 * `-----------------------------------------------------------'
17 */
18 KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 3 KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
19 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \ 4 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
20 CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NO, ENT, \ 5 CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NO, ENT, \
21 LSFT,NO, Z, X, C, V, B, N, M, COMM,DOT, SLSH,NO, RSFT, \ 6 LSFT,NO, Z, X, C, V, B, N, M, COMM,DOT, SLSH,NO, RSFT, \
22 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL), 7 LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL),
23}; 8};
24 9static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {};
10static const uint16_t PROGMEM fn_actions[] = {};
diff --git a/keyboard/gh60/keymap_poker.h b/keyboard/gh60/keymap_poker.h
index 10719a95c..2bbda6106 100644
--- a/keyboard/gh60/keymap_poker.h
+++ b/keyboard/gh60/keymap_poker.h
@@ -1,75 +1,104 @@
1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
2 /* Poker Default Layer 2 /* Keymap 0: qwerty */
3 * ,-----------------------------------------------------------.
4 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
5 * |-----------------------------------------------------------|
6 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
7 * |-----------------------------------------------------------|
8 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |
9 * |-----------------------------------------------------------|
10 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
11 * |-----------------------------------------------------------|
12 * |Ctrl|Gui |Alt | Space |Fn |Gui |App |Ctrl|
13 * `-----------------------------------------------------------'
14 */
15 /* Layer 0: qwerty */
16 KEYMAP_ANSI( 3 KEYMAP_ANSI(
17 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 4 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
18 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \ 5 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
19 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \ 6 CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \
20 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \ 7 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \
21 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL), 8 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
22 /* Layer 1: colemak */ 9 /* Keymap 1: colemak */
23 KEYMAP_ANSI( 10 KEYMAP_ANSI(
24 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 11 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
25 TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \ 12 TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \
26 BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \ 13 BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \
27 LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \ 14 LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \
28 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL), 15 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
29 /* Layer 2: dvorak */ 16 /* Keymap 2: dvorak */
30 KEYMAP_ANSI( 17 KEYMAP_ANSI(
31 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \ 18 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \
32 TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \ 19 TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \
33 CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \ 20 CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
34 LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \ 21 LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
35 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL), 22 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
36 /* Layer3: workman */ 23 /* Keymap: workman */
37 KEYMAP_ANSI( 24 KEYMAP_ANSI(
38 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 25 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
39 TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \ 26 TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
40 BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \ 27 BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
41 LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \ 28 LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
42 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL), 29 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
43 /* Layer 4: Poker with Arrow */ 30};
31static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
32 /* Overlay 0: Poker with Arrow */
44 KEYMAP_ANSI( 33 KEYMAP_ANSI(
45 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 34 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
46 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 35 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
47 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 36 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
48 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \ 37 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \
49 TRNS,TRNS,TRNS, TRNS, FN0, LEFT,DOWN,RGHT), 38 TRNS,TRNS,TRNS, TRNS, TRNS,LEFT,DOWN,RGHT),
50 /* Layer 5: Poker with Esc */ 39 /* Overlay 1: Poker with Esc */
51 KEYMAP_ANSI( 40 KEYMAP_ANSI(
52 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 41 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
53 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 42 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
54 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 43 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
55 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 44 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
56 TRNS,TRNS,TRNS, TRNS, FN0, TRNS,TRNS,TRNS), 45 TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
57 /* Layer 6: Poker Fn'd */ 46 /* Overlay 2: Poker Fn
47 * ,-----------------------------------------------------------.
48 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |
49 * |-----------------------------------------------------------|
50 * | |FnQ| Up| | | | | | |Cal| |Hom|Ins|FnL |
51 * |-----------------------------------------------------------|
52 * | |Lef|Dow|Rig| | |Psc|Slk|Pau| |Tsk|End| |
53 * |-----------------------------------------------------------|
54 * | |Del| |Web|Mut|VoU|VoD| |PgU|PgD|Del| |
55 * |-----------------------------------------------------------|
56 * | | | | FnS | | | | |
57 * `-----------------------------------------------------------'
58 * Fn: to Fn overlay
59 * FnL: to Layout selector overaly
60 * FnQ: toggle Esc overlay
61 * FnS: toggle Arrow overlay
62 */
58 KEYMAP_ANSI( 63 KEYMAP_ANSI(
59 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \ 64 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
60 TRNS,FN2, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \ 65 TRNS,FN2, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, FN4, \
61 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \ 66 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \
62 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \ 67 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
63 TRNS,TRNS,TRNS, FN1, FN0, TRNS,TRNS,TRNS), 68 TRNS,TRNS,TRNS, FN1, TRNS,TRNS,TRNS,TRNS),
69 /* Overlay 3: Layout selector
70 * ,-----------------------------------------------------------.
71 * | Lq| Lc| Ld| Lw| | | | | | | | | | |
72 * |-----------------------------------------------------------|
73 * | |Lq |Lw | | | | | | | | | | | |
74 * |-----------------------------------------------------------|
75 * | | | |Ld | | | | | | | | | |
76 * |-----------------------------------------------------------|
77 * | | | |Lc | | | | | | | | |
78 * |-----------------------------------------------------------|
79 * | | | | | | | | |
80 * `-----------------------------------------------------------'
81 * Lq: set Qwerty layout
82 * Lc: set Colemak layout
83 * Ld: set Dvorak layout
84 * Lw: set Workman layout
85 */
86 KEYMAP_ANSI(
87 FN5, FN6, FN7, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
88 TRNS,FN5, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
89 TRNS,TRNS,TRNS,FN7, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
90 TRNS,TRNS,TRNS,FN6, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
91 TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
64}; 92};
65
66/*
67 * Fn action definition
68 */
69static const uint16_t PROGMEM fn_actions[] = { 93static const uint16_t PROGMEM fn_actions[] = {
70 /* Poker Layout */ 94 /* Poker Layout */
71 [0] = ACTION_LAYER_SWITCH_MOMENTARY(6), // FN0 switch to Fn 95 [0] = ACTION_OVERLAY(2), // to Fn overlay
72 [1] = ACTION_LAYER_SWITCH_TOGGLE(4), // FN1 toggle arrow 96 [1] = ACTION_OVERLAY_TOGGLE(0), // toggle arrow overlay
73 [2] = ACTION_LAYER_SWITCH_TOGGLE(5), // FN2 toggle Esc 97 [2] = ACTION_OVERLAY_TOGGLE(1), // toggle Esc overlay
74 [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc) 98 [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // Task(RControl,RShift+Esc)
99 [4] = ACTION_OVERLAY(3), // to Layout selector
100 [5] = ACTION_SET_DEFAULT_LAYER(0), // set qwerty layout
101 [6] = ACTION_SET_DEFAULT_LAYER(1), // set colemak layout
102 [7] = ACTION_SET_DEFAULT_LAYER(2), // set dvorak layout
103 [8] = ACTION_SET_DEFAULT_LAYER(3), // set workman layout
75}; 104};
diff --git a/keyboard/gh60/keymap_poker_bit.h b/keyboard/gh60/keymap_poker_bit.h
index 7dc4efe01..982632d05 100644
--- a/keyboard/gh60/keymap_poker_bit.h
+++ b/keyboard/gh60/keymap_poker_bit.h
@@ -1,109 +1,50 @@
1// Poker fix with toggle and bit operation
2// Fn + Esc = `
3// Fn + {left, down, up, right} = {home, pgdown, pgup, end}
1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
2 /* 5 /* Keymap 0: qwerty */
3 * Poker Layer
4 */
5 /* Layer x000: Poker Default Layer
6 * ,-----------------------------------------------------------.
7 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
8 * |-----------------------------------------------------------|
9 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
10 * |-----------------------------------------------------------|
11 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |
12 * |-----------------------------------------------------------|
13 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
14 * |-----------------------------------------------------------|
15 * |Ctrl|Gui |Alt | Space |Fn |Gui |App |Ctrl|
16 * `-----------------------------------------------------------'
17 */
18 KEYMAP_ANSI( 6 KEYMAP_ANSI(
19 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 7 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
20 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \ 8 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
21 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \ 9 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \
22 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \ 10 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \
23 LCTL,LGUI,LALT, SPC, FN2, RGUI,APP, RCTL), 11 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
24 /* Layer x001: Poker with Arrow */ 12};
13static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
14 /* Overlay 0: Poker Default + Fn'd */
15 KEYMAP_ANSI(
16 TRNS,F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
17 CAPS,FN2, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
18 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN4, END, TRNS, \
19 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
20 TRNS,TRNS,TRNS, FN1, TRNS,TRNS,TRNS,TRNS),
21 /* Overlay 1: Poker with Arrow */
25 KEYMAP_ANSI( 22 KEYMAP_ANSI(
26 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 23 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
27 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 24 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
28 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 25 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
29 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \ 26 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, PGUP, \
30 TRNS,TRNS,TRNS, TRNS, FN2, LEFT,DOWN,RGHT), 27 TRNS,TRNS,TRNS, TRNS, FN3, HOME,PGDN,END),
31 /* Layer x010: Poker with Esc */ 28 /* Overlay 2: Poker with Esc */
32 KEYMAP_ANSI( 29 KEYMAP_ANSI(
33 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 30 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
34 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 31 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
35 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 32 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
36 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 33 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
37 TRNS,TRNS,TRNS, TRNS, FN2, TRNS,TRNS,TRNS), 34 TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
38 /* Layer x011: Poker with Arrow and Esc */ 35 /* Overlay 3: Poker with Arrow + Fn'd */
39 KEYMAP_ANSI( 36 KEYMAP_ANSI(
40 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 37 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
41 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 38 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
42 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 39 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
43 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \ 40 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \
44 TRNS,TRNS,TRNS, TRNS, FN2, LEFT,DOWN,RGHT), 41 TRNS,TRNS,TRNS, TRNS, TRNS,LEFT,DOWN,RGHT),
45 /*
46 * Poker Momentary Fn Layer
47 */
48 /* Layer x100: Poker Default + Fn'd */
49 KEYMAP_ANSI(
50 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
51 CAPS,FN1, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
52 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \
53 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
54 TRNS,TRNS,TRNS, FN0, FN2, TRNS,TRNS,TRNS),
55 /* Layer x101: Poker with Arrow + Fn'd */
56 KEYMAP_ANSI(
57 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
58 CAPS,FN1, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
59 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \
60 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, PGUP, \
61 TRNS,TRNS,TRNS, FN0, FN2, HOME,PGDN,END),
62 /* Layer x110: Poker with Esc + Fn'd */
63 KEYMAP_ANSI(
64 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
65 CAPS,FN1, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
66 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \
67 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
68 TRNS,TRNS,TRNS, FN0, FN2, TRNS,TRNS,TRNS),
69 /* Layer x111: Poker with Arrow and Esc + Fn'd */
70 KEYMAP_ANSI(
71 GRV, F9, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
72 CAPS,FN1, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
73 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END, TRNS, \
74 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, PGUP, \
75 TRNS,TRNS,TRNS, FN0, FN2, HOME,PGDN,END),
76 /* colemak */
77 [8] = KEYMAP_ANSI(
78 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
79 TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \
80 BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \
81 LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \
82 LCTL,LGUI,LALT, SPC, FN2, RGUI,APP, RCTL),
83 /* dvorak */
84 KEYMAP_ANSI(
85 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \
86 TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \
87 LCTL,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
88 LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
89 LCTL,LGUI,LALT, SPC, FN2, RGUI,APP, RCTL),
90 /* workman */
91 KEYMAP_ANSI(
92 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
93 TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
94 BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
95 LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
96 LCTL,LGUI,LALT, SPC, FN2, RGUI,APP, RCTL),
97}; 42};
98
99/*
100 * Fn action definition
101 */
102static const uint16_t PROGMEM fn_actions[] = { 43static const uint16_t PROGMEM fn_actions[] = {
103 /* Poker Layout */ 44 /* Poker Layout */
104 [0] = ACTION_LAYER_BIT_TOGGLE(1), // FN0 Poker Arrow toggle(Space) 45 [0] = ACTION_OVERLAY_INV4(0b0101, 0), // Poker Fn(with fix for Esc)
105 [1] = ACTION_LAYER_BIT_TOGGLE(2), // FN1 Poker Esc toggle(Q) 46 [1] = ACTION_OVERLAY_TOGGLE(1), // Poker Arrow toggle
106 [2] = ACTION_LAYER_BIT(4), // FN2 Poker Fn 47 [2] = ACTION_OVERLAY_TOGGLE(2), // Poker Esc toggle
107 [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc) 48 [3] = ACTION_OVERLAY_INV4(0b1101, 0), // Poker Fn(with fix for Arrow)
49 [4] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc)
108}; 50};
109
diff --git a/keyboard/gh60/keymap_poker_set.h b/keyboard/gh60/keymap_poker_set.h
index 9d7761798..bf4d8959f 100644
--- a/keyboard/gh60/keymap_poker_set.h
+++ b/keyboard/gh60/keymap_poker_set.h
@@ -1,88 +1,59 @@
1// Poker fix with set(state transition)
2// Fn + Esc = `
3// Fn + {left, down, up, right} = {home, pgdown, pgup, end}
1static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
2 /* Poker Default Layer 5 /* Keymap 0: qwerty */
3 * ,-----------------------------------------------------------.
4 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
5 * |-----------------------------------------------------------|
6 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
7 * |-----------------------------------------------------------|
8 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |
9 * |-----------------------------------------------------------|
10 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
11 * |-----------------------------------------------------------|
12 * |Ctrl|Gui |Alt | Space |Fn |Gui |App |Ctrl|
13 * `-----------------------------------------------------------'
14 */
15 /* Layer 0: qwerty */
16 KEYMAP_ANSI( 6 KEYMAP_ANSI(
17 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 7 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
18 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \ 8 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
19 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \ 9 LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \
20 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \ 10 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \
21 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL), 11 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
22 /* Layer 1: colemak */ 12};
23 KEYMAP_ANSI( 13static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
24 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \ 14 /* Overlay 0: Poker with Arrow */
25 TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \
26 BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \
27 LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \
28 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
29 /* Layer 2: dvorak */
30 KEYMAP_ANSI(
31 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \
32 TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \
33 CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
34 LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
35 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
36 /* Layer3: workman */
37 KEYMAP_ANSI(
38 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
39 TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
40 BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
41 LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
42 LCTL,LGUI,LALT, SPC, FN0, RGUI,APP, RCTL),
43 /* Layer 4: Poker with Arrow */
44 KEYMAP_ANSI( 15 KEYMAP_ANSI(
45 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 16 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
46 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 17 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
47 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 18 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
48 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \ 19 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \
49 TRNS,TRNS,TRNS, TRNS, FN1, LEFT,DOWN,RGHT), 20 TRNS,TRNS,TRNS, TRNS, FN1, LEFT,DOWN,RGHT),
50 /* Layer 5: Poker with Esc */ 21 /* Overlay 1: Poker with Esc */
51 KEYMAP_ANSI( 22 KEYMAP_ANSI(
52 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 23 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
53 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 24 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
54 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 25 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
55 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 26 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
56 TRNS,TRNS,TRNS, TRNS, FN2, TRNS,TRNS,TRNS), 27 TRNS,TRNS,TRNS, TRNS, FN2, TRNS,TRNS,TRNS),
57 /* Layer 6: Poker with Arrow and Esc */ 28 /* Overlay 2: Poker with Arrow and Esc */
58 KEYMAP_ANSI( 29 KEYMAP_ANSI(
59 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 30 ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
60 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ 31 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
61 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \ 32 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
62 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \ 33 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, UP, \
63 TRNS,TRNS,TRNS, TRNS, FN3, LEFT,DOWN,RGHT), 34 TRNS,TRNS,TRNS, TRNS, FN3, LEFT,DOWN,RGHT),
64 /* Layer 7: Poker Fn'd */ 35 /* Overlay 3: Poker Fn'd */
65 KEYMAP_ANSI( 36 KEYMAP_ANSI(
66 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \ 37 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
67 TRNS,FN6, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \ 38 TRNS,FN6, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
68 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \ 39 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \
69 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \ 40 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
70 TRNS,TRNS,TRNS, FN5, FN4, TRNS,TRNS,TRNS), 41 TRNS,TRNS,TRNS, FN5, FN4, TRNS,TRNS,TRNS),
71 /* Layer 8: Poker Fn'd arrow */ 42 /* Overlay 4: Poker Fn'd arrow */
72 KEYMAP_ANSI( 43 KEYMAP_ANSI(
73 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \ 44 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
74 TRNS,FN7, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \ 45 TRNS,FN7, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
75 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \ 46 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \
76 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, PGUP, \ 47 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, PGUP, \
77 TRNS,TRNS,TRNS, FN4, FN5, HOME,PGDN,END), 48 TRNS,TRNS,TRNS, FN4, FN5, HOME,PGDN,END),
78 /* Layer 9: Poker Fn'd Esc */ 49 /* Overlay 5: Poker Fn'd Esc */
79 KEYMAP_ANSI( 50 KEYMAP_ANSI(
80 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \ 51 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
81 TRNS,FN4, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \ 52 TRNS,FN4, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
82 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \ 53 TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END, TRNS, \
83 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \ 54 TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL, TRNS, \
84 TRNS,TRNS,TRNS, FN7, FN6, TRNS,TRNS,TRNS), 55 TRNS,TRNS,TRNS, FN7, FN6, TRNS,TRNS,TRNS),
85 /* Layer 10: Poker Fn'd Arrow + Esc */ 56 /* Overlay 6: Poker Fn'd Arrow + Esc */
86 KEYMAP_ANSI( 57 KEYMAP_ANSI(
87 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \ 58 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
88 TRNS,FN5, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \ 59 TRNS,FN5, UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
@@ -96,15 +67,15 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
96 */ 67 */
97static const uint16_t PROGMEM fn_actions[] = { 68static const uint16_t PROGMEM fn_actions[] = {
98 /* Poker Layout */ 69 /* Poker Layout */
99 [0] = ACTION_LAYER_SET_P(7), // FN0 move to Fn'd when press 70 [0] = ACTION_OVERLAY_SET_P(3), // FN0 move to Fn'd when press
100 [1] = ACTION_LAYER_SET_P(8), // FN1 move to Fn'd arrow when press 71 [1] = ACTION_OVERLAY_SET_P(4), // FN1 move to Fn'd arrow when press
101 [2] = ACTION_LAYER_SET_P(9), // FN2 move to Fn'd Esc when press 72 [2] = ACTION_OVERLAY_SET_P(5), // FN2 move to Fn'd Esc when press
102 [3] = ACTION_LAYER_SET_P(10), // FN3 move to Fn'd arrow + Esc when press 73 [3] = ACTION_OVERLAY_SET_P(6), // FN3 move to Fn'd arrow + Esc when press
103 74
104 [4] = ACTION_LAYER_SET_R(0), // FN4 move to default when release 75 [4] = ACTION_OVERLAY_CLEAR, // FN4 clear overlay when release
105 [5] = ACTION_LAYER_SET_R(4), // FN5 move to arrow when release 76 [5] = ACTION_OVERLAY_SET_R(0), // FN5 move to arrow when release
106 [6] = ACTION_LAYER_SET_R(5), // FN6 move to Esc when release 77 [6] = ACTION_OVERLAY_SET_R(1), // FN6 move to Esc when release
107 [7] = ACTION_LAYER_SET_R(6), // FN7 move to arrow + Esc when release 78 [7] = ACTION_OVERLAY_SET_R(2), // FN7 move to arrow + Esc when release
108 79
109 [8] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN8 Task(RControl,RShift+Esc) 80 [8] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN8 Task(RControl,RShift+Esc)
110}; 81};