diff options
Diffstat (limited to 'layouts')
| -rw-r--r-- | layouts/community/ergodox/qwerty_code_friendly/keymap.c | 89 | ||||
| -rw-r--r-- | layouts/community/ergodox/qwerty_code_friendly/readme.md | 30 |
2 files changed, 77 insertions, 42 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 | ||
| 316 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 338 | bool 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: |
diff --git a/layouts/community/ergodox/qwerty_code_friendly/readme.md b/layouts/community/ergodox/qwerty_code_friendly/readme.md index cb5e96d69..52677310c 100644 --- a/layouts/community/ergodox/qwerty_code_friendly/readme.md +++ b/layouts/community/ergodox/qwerty_code_friendly/readme.md | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | Some optional behavior is configurable without editing the code | 27 | Some optional behavior is configurable without editing the code |
| 28 | using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make. | 28 | using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make. |
| 29 | 29 | ||
| 30 | - `CFQ_USER_KEY1`, `CFQ_USER_KEY2` are used for custom-keys | 30 | - `CFQ_USER_KEY1` (1..4) are used for custom-keys |
| 31 | - `CFQ_USE_MOMENTARY_LAYER_KEYS` is used to prevent layer keys from toggling when tapped. | 31 | - `CFQ_USE_MOMENTARY_LAYER_KEYS` is used to prevent layer keys from toggling when tapped. |
| 32 | - `CFQ_USE_SWAP_RIGHT_SPACE_ENTER` swap Enter and Space on the right hand thumb cluster. | 32 | - `CFQ_USE_SWAP_RIGHT_SPACE_ENTER` swap Enter and Space on the right hand thumb cluster. |
| 33 | While asymmetric, it makes Enter more easily accessible. | 33 | While asymmetric, it makes Enter more easily accessible. |
| @@ -40,8 +40,10 @@ using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make. | |||
| 40 | 40 | ||
| 41 | When undefined: | 41 | When undefined: |
| 42 | 42 | ||
| 43 | - `USR1` defaults to `F13`, otherwise use `CFQ_USER_KEY1`. | 43 | - `USR1` defaults to `KC_SPC`, otherwise use `CFQ_USER_KEY1`. |
| 44 | - `USR2` defaults to `APP`, otherwise use `CFQ_USER_KEY2`. | 44 | - `USR2` defaults to `KC_ENT`, otherwise use `CFQ_USER_KEY2`. |
| 45 | - `USR3` defaults to `KC_FN3`, otherwise use `CFQ_USER_KEY3`. | ||
| 46 | - `USR4` defaults to `APP`, otherwise use `CFQ_USER_KEY4`. | ||
| 45 | 47 | ||
| 46 | ``` | 48 | ``` |
| 47 | ,--------------------------------------------------. ,--------------------------------------------------. | 49 | ,--------------------------------------------------. ,--------------------------------------------------. |
| @@ -53,21 +55,23 @@ When undefined: | |||
| 53 | |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| | 55 | |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| |
| 54 | | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | | 56 | | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | |
| 55 | `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 57 | `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' |
| 56 | | LCtl |Super | Alt | USR2 |Space | | Left | Down | Up |Right | Del | | 58 | | LCtl |Super | Alt | USR4 |Space | | Left | Down | Up |Right | Del | |
| 57 | `----------------------------------' `----------------------------------' | 59 | `----------------------------------' `----------------------------------' |
| 58 | ,-------------. ,-------------. | 60 | ,-------------. ,-------------. |
| 59 | | Ins | ~L3 | | Home | End | | 61 | | Ins | USR3 | | Home | End | |
| 60 | ,------|------|------| |------+------+------. | 62 | ,------|------|------| |------+------+------. |
| 61 | | | | ~L2 | | PgUp | | | | 63 | | | | ~L2 | | PgUp | | | |
| 62 | |Space | USR1 |------| |------|Enter |Space | | 64 | | USR1 | USR2 |------| |------|Enter |Space | |
| 63 | | | | ~L1 | | PgDn | | | | 65 | | | | ~L1 | | PgDn | | | |
| 64 | `--------------------' `--------------------' | 66 | `--------------------' `--------------------' |
| 65 | |||
| 66 | ``` | 67 | ``` |
| 67 | 68 | ||
| 68 | ## Keymap 1: Symbol layer | 69 | ## Keymap 1: Symbol layer |
| 69 | 70 | ||
| 70 | Note the double bracket keys on this layer press left to position the cursor between them. | 71 | Notes: |
| 72 | |||
| 73 | - The double bracket keys on this layer press left to position the cursor between them. | ||
| 74 | - The left thumb cluster is used for macro record/replay. | ||
| 71 | 75 | ||
| 72 | ``` | 76 | ``` |
| 73 | ,--------------------------------------------------. ,--------------------------------------------------. | 77 | ,--------------------------------------------------. ,--------------------------------------------------. |
| @@ -82,10 +86,10 @@ Note the double bracket keys on this layer press left to position the cursor bet | |||
| 82 | | | | | | | | 0 | | . | + | | | 86 | | | | | | | | 0 | | . | + | | |
| 83 | `----------------------------------' `----------------------------------' | 87 | `----------------------------------' `----------------------------------' |
| 84 | ,-------------. ,---------------. | 88 | ,-------------. ,---------------. |
| 85 | | | | | | | | 89 | |Start1|Start2| | | | |
| 86 | ,------|------|------| |------+--------+------. | 90 | ,------|------|------| |------+--------+------. |
| 87 | | | | | | | | | | 91 | | | | Stop | | | | | |
| 88 | | | |------| |------| | | | 92 | |Play1 |Play2 |------| |------| | | |
| 89 | | | | | | | | | | 93 | | | | | | | | | |
| 90 | `--------------------' `----------------------' | 94 | `--------------------' `----------------------' |
| 91 | ``` | 95 | ``` |
| @@ -115,6 +119,10 @@ Note the double bracket keys on this layer press left to position the cursor bet | |||
| 115 | 119 | ||
| 116 | ## Changelog | 120 | ## Changelog |
| 117 | 121 | ||
| 122 | - 2017/10/28 | ||
| 123 | Make more keys user defined on the left thumb cluster. | ||
| 124 | Add macro record/replay keys. | ||
| 125 | |||
| 118 | - 2017/10/4 | 126 | - 2017/10/4 |
| 119 | Move Insert key to the left thumb cluster (away from the modifier keys). | 127 | Move Insert key to the left thumb cluster (away from the modifier keys). |
| 120 | Replace with `USR2` which defaults to `APP`. | 128 | Replace with `USR2` which defaults to `APP`. |
