aboutsummaryrefslogtreecommitdiff
path: root/layouts/community/ergodox/qwerty_code_friendly/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community/ergodox/qwerty_code_friendly/keymap.c')
-rw-r--r--layouts/community/ergodox/qwerty_code_friendly/keymap.c89
1 files changed, 58 insertions, 31 deletions
diff --git a/layouts/community/ergodox/qwerty_code_friendly/keymap.c b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
index 520985204..a55a1e8d9 100644
--- a/layouts/community/ergodox/qwerty_code_friendly/keymap.c
+++ b/layouts/community/ergodox/qwerty_code_friendly/keymap.c
@@ -11,11 +11,20 @@
11// #define CFQ_USE_MOMENTARY_LAYER_KEYS 11// #define CFQ_USE_MOMENTARY_LAYER_KEYS
12// #define CFQ_USE_EXPEREMENTAL_LAYER 12// #define CFQ_USE_EXPEREMENTAL_LAYER
13 13
14// keep enabled for now
15#define CFQ_USE_DYNAMIC_MACRO
16
14#if !defined(CFQ_USER_KEY1) 17#if !defined(CFQ_USER_KEY1)
15#define CFQ_USER_KEY1 KC_F13 18#define CFQ_USER_KEY1 KC_SPC
16#endif 19#endif
17#if !defined(CFQ_USER_KEY2) 20#if !defined(CFQ_USER_KEY2)
18#define CFQ_USER_KEY2 KC_APP 21#define CFQ_USER_KEY2 KC_ENT
22#endif
23#if !defined(CFQ_USER_KEY3)
24#define CFQ_USER_KEY3 CFQ_KC_FN3
25#endif
26#if !defined(CFQ_USER_KEY4)
27#define CFQ_USER_KEY4 KC_APP
19#endif 28#endif
20 29
21#define BASE 0 // default layer 30#define BASE 0 // default layer
@@ -29,9 +38,16 @@ enum custom_keycodes {
29 PLACEHOLDER = SAFE_RANGE, // can always be here 38 PLACEHOLDER = SAFE_RANGE, // can always be here
30 EPRM, 39 EPRM,
31 VRSN, 40 VRSN,
32 RGB_SLD 41 RGB_SLD,
42#ifdef CFQ_USE_DYNAMIC_MACRO
43 DYNAMIC_MACRO_RANGE,
44#endif
33}; 45};
34 46
47#ifdef CFQ_USE_DYNAMIC_MACRO
48#include "dynamic_macro.h"
49#endif
50
35// macros 51// macros
36#ifdef CFQ_USE_EXPEREMENTAL_LAYER 52#ifdef CFQ_USE_EXPEREMENTAL_LAYER
37#define M_SPACES_1 2 53#define M_SPACES_1 2
@@ -77,13 +93,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
77 * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| 93 * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
78 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | 94 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
79 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 95 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
80 * | LCtl |Super | Alt | USR2 |Space | | Left | Down | Up |Right | Del | 96 * | LCtl |Super | Alt | USR4 |Space | | Left | Down | Up |Right | Del |
81 * `----------------------------------' `----------------------------------' 97 * `----------------------------------' `----------------------------------'
82 * ,-------------. ,-------------. 98 * ,-------------. ,-------------.
83 * | Ins | ~L3 | | Home | End | 99 * | Ins | USR3 | | Home | End |
84 * ,------|------|------| |------+------+------. 100 * ,------|------|------| |------+------+------.
85 * | | | ~L2 | | PgUp | | | 101 * | | | ~L2 | | PgUp | | |
86 * |Space | USR1 |------| |------|Enter |Space | 102 * | USR1 | USR2 |------| |------|Enter |Space |
87 * | | | ~L1 | | PgDn | | | 103 * | | | ~L1 | | PgDn | | |
88 * `--------------------' `--------------------' 104 * `--------------------' `--------------------'
89 */ 105 */
@@ -95,10 +111,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
95 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, 111 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN,
96 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, 112 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
97 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, 113 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC,
98 KC_LCTL, KC_LGUI, KC_LALT, CFQ_USER_KEY2, KC_SPC, 114 KC_LCTL, KC_LGUI, KC_LALT, CFQ_USER_KEY4, KC_SPC,
99 KC_INS, CFQ_KC_FN3, 115 KC_INS, CFQ_USER_KEY3,
100 CFQ_KC_FN2, 116 CFQ_KC_FN2,
101 KC_SPC, CFQ_USER_KEY1, CFQ_KC_FN1, 117 CFQ_USER_KEY1, CFQ_USER_KEY2, CFQ_KC_FN1,
102 // right hand 118 // right hand
103 KC_RCBR, KC_CIRC, KC_AMPR, KC_ASTR,KC_MINS, KC_EQL, KC_BSPC, 119 KC_RCBR, KC_CIRC, KC_AMPR, KC_ASTR,KC_MINS, KC_EQL, KC_BSPC,
104 KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, 120 KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
@@ -127,10 +143,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
127 * | | | | | | | 0 | | . | + | | 143 * | | | | | | | 0 | | . | + | |
128 * `----------------------------------' `----------------------------------' 144 * `----------------------------------' `----------------------------------'
129 * ,-------------. ,---------------. 145 * ,-------------. ,---------------.
130 * | | | | | | 146 * |Start1|Start2| | | |
131 * ,------|------|------| |------+--------+------. 147 * ,------|------|------| |------+--------+------.
132 * | | | | | | | | 148 * | | | Stop | | | | |
133 * | | |------| |------| | | 149 * |Play1 |Play2 |------| |------| | |
134 * | | | | | | | | 150 * | | | | | | | |
135 * `--------------------' `----------------------' 151 * `--------------------' `----------------------'
136 */ 152 */
@@ -142,9 +158,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
142 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(M_ARROW_RMINUS), 158 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(M_ARROW_RMINUS),
143 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(M_BRACKET_IN_ANG), M(M_BRACKET_IN_BRC), 159 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(M_BRACKET_IN_ANG), M(M_BRACKET_IN_BRC),
144 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 160 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
161#ifdef CFQ_USE_DYNAMIC_MACRO
162 DYN_REC_START1, DYN_REC_START2,
163 DYN_REC_STOP,
164 DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_TRNS,
165#else
145 KC_TRNS, KC_TRNS, 166 KC_TRNS, KC_TRNS,
146 KC_TRNS, 167 KC_TRNS,
147 KC_TRNS, KC_TRNS, KC_TRNS, 168 KC_TRNS, KC_TRNS, KC_TRNS,
169#endif
148 // right hand 170 // right hand
149 M(M_BRACKET_OUT_CBR), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, 171 M(M_BRACKET_OUT_CBR), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
150 M(M_BRACKET_OUT_PRN), M(M_ARROW_LEQL), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_F11, 172 M(M_BRACKET_OUT_PRN), M(M_ARROW_LEQL), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_F11,
@@ -201,13 +223,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
201/* Keymap 3: My own testing keys! 223/* Keymap 3: My own testing keys!
202 * 224 *
203 * ,--------------------------------------------------. ,--------------------------------------------------. 225 * ,--------------------------------------------------. ,--------------------------------------------------.
204 * | | Spc1 | Spc2 | Spc3 | Spc4 | Spc5 | | | | Spc6 | Spc7 | Spc8 | | | | 226 * | | | | { | } | | } | | | | | | | | |
205 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 227 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
206 * | | | | | | | | | | | | | | | | 228 * | | | | ( | ) | | ) | | | Spc7 | Spc8 | | | | |
207 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
208 * | | | | | | |------| |------| | | | | | |
209 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 229 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
210 * | | | | | | | | | | | | | | | | 230 * | | | | [ | ] | |------| |------| Spc4 | Spc5 | Spc6 | | | |
231 * |--------+------+------+------+------+------| ] | | |------+------+------+------+------+--------|
232 * | | | | < | > | | | | | Spc1 | Spc2 | Spc3 | | | |
211 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 233 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
212 * | | | | | | | | | | | | 234 * | | | | | | | | | | | |
213 * `----------------------------------' `----------------------------------' 235 * `----------------------------------' `----------------------------------'
@@ -220,23 +242,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
220 * `--------------------' `--------------------' 242 * `--------------------' `--------------------'
221 */ 243 */
222 244
223// EXPEREMENT 245// EXPERIMENT
224[EXPR] = LAYOUT_ergodox( 246[EXPR] = LAYOUT_ergodox(
225 // left hand 247 // left hand
226 KC_TRNS, M(M_SPACES_1), M(M_SPACES_2), M(M_SPACES_3), M(M_SPACES_4), M(M_SPACES_5), KC_TRNS, 248 KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_RCBR,
227 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 249 KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, KC_RPRN,
228 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 250 KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS,
229 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 251 KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), KC_TRNS, KC_RBRC,
230 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 252 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
231 KC_TRNS, KC_TRNS, 253 KC_TRNS, KC_TRNS,
232 KC_TRNS, 254 KC_TRNS,
233 KC_TRNS, KC_TRNS, KC_TRNS, 255 KC_TRNS, KC_TRNS, KC_TRNS,
234 // right hand 256 // right hand
235 KC_TRNS, M(M_SPACES_6), M(M_SPACES_7), M(M_SPACES_8), KC_TRNS, KC_TRNS, KC_TRNS, 257 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
236 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 258 KC_TRNS, KC_TRNS, M(M_SPACES_7), M(M_SPACES_8), KC_TRNS, KC_TRNS, KC_TRNS,
237 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 259 KC_TRNS, M(M_SPACES_4), M(M_SPACES_5), M(M_SPACES_6), KC_TRNS, KC_TRNS,
238 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 260 KC_TRNS, KC_TRNS, M(M_SPACES_1), M(M_SPACES_2), M(M_SPACES_3), KC_TRNS, KC_TRNS,
239 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 261 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
240 KC_TRNS, KC_TRNS, 262 KC_TRNS, KC_TRNS,
241 KC_TRNS, 263 KC_TRNS,
242 KC_TRNS, KC_TRNS, KC_TRNS 264 KC_TRNS, KC_TRNS, KC_TRNS
@@ -314,6 +336,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
314}; 336};
315 337
316bool process_record_user(uint16_t keycode, keyrecord_t *record) { 338bool process_record_user(uint16_t keycode, keyrecord_t *record) {
339#ifdef CFQ_USE_DYNAMIC_MACRO
340 if (!process_record_dynamic_macro(keycode, record)) {
341 return false;
342 }
343#endif
317 switch (keycode) { 344 switch (keycode) {
318 // dynamically generate these. 345 // dynamically generate these.
319 case EPRM: 346 case EPRM: