|
|
|
@ -24,34 +24,37 @@ |
|
|
|
|
|
|
|
|
|
#define CFQ_USE_DYNAMIC_MACRO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if !defined(CFQ_USER_KEY0) |
|
|
|
|
# define CFQ_USER_KEY0 KC_BSPC |
|
|
|
|
# define CFQ_USER_KEY0 KC_APP |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY1) |
|
|
|
|
# define CFQ_USER_KEY1 CFQ_KC_FN1 |
|
|
|
|
# define CFQ_USER_KEY1 KC_MENU |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY2) |
|
|
|
|
# define CFQ_USER_KEY2 KC_INS |
|
|
|
|
# define CFQ_USER_KEY2 KC_BSPC |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY3) |
|
|
|
|
# define CFQ_USER_KEY3 KC_NLCK |
|
|
|
|
# define CFQ_USER_KEY3 KC_DEL |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY4) |
|
|
|
|
# define CFQ_USER_KEY4 KC_BSPC |
|
|
|
|
# define CFQ_USER_KEY4 KC_SPC |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY5) |
|
|
|
|
# define CFQ_USER_KEY5 KC_DEL |
|
|
|
|
# define CFQ_USER_KEY5 CFQ_KC_FN1 |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY6) |
|
|
|
|
# define CFQ_USER_KEY6 KC_CAPS |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY7) |
|
|
|
|
# define CFQ_USER_KEY7 CFQ_KC_FN3 |
|
|
|
|
# define CFQ_USER_KEY7 KC_INS |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY8) |
|
|
|
|
# define CFQ_USER_KEY8 KC_DEL |
|
|
|
|
#endif |
|
|
|
|
#if !defined(CFQ_USER_KEY9) |
|
|
|
|
# define CFQ_USER_KEY9 KC_BSPC |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CFQ_USE_80_KEYS |
|
|
|
|
# define LAYOUT_ergodox_76_or_80 LAYOUT_ergodox_80 |
|
|
|
@ -240,10 +243,10 @@ static char cfq_word_lut_title_caps[ |
|
|
|
|
sizeof(CFQ_WORD_Y) + sizeof(CFQ_WORD_Z) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
#define LAYER_BASE 0 /* default layer */ |
|
|
|
|
#define LAYER_KPAD 1 /* keypad */ |
|
|
|
|
#define LAYER_MDIA 2 /* media keys */ |
|
|
|
|
#define LAYER_FKEY 3 /* F-Keys & Words */ |
|
|
|
|
#define LAYER_BASE 0 /* Default Layer. */ |
|
|
|
|
#define LAYER_KPAD 1 /* Keypad, Bracket Pairs & Macro Record. */ |
|
|
|
|
#define LAYER_FKEY 2 /* Function Keys, Media & Mouse Keys. */ |
|
|
|
|
#define LAYER_WORD 3 /* Entire Words (one for each key) & Numbers. */ |
|
|
|
|
|
|
|
|
|
enum custom_keycodes { |
|
|
|
|
PLACEHOLDER = SAFE_RANGE, /* can always be here */ |
|
|
|
@ -307,20 +310,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| |
|
|
|
|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | |
|
|
|
|
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' |
|
|
|
|
* | LCtl |Super | Alt | ~L1 |Space | | Left | Down | Up |Right | Del | |
|
|
|
|
* | LCtl |Super | Alt | App | Menu | | Left | Down | Up |Right | Del | |
|
|
|
|
* '----------------------------------' '----------------------------------' |
|
|
|
|
* .-------------. .-------------. |
|
|
|
|
* | Ins |NumClk| | Home | End | |
|
|
|
|
* |BSpace| Del | | Home | End | |
|
|
|
|
* .------+------+------| |------+------+------. |
|
|
|
|
* | | |CapsLk| | PgUp | | | |
|
|
|
|
* |BSpace| Del |------| |------| ~L2 |Enter | |
|
|
|
|
* | | | ~L3 | | PgDn | | | |
|
|
|
|
* |Space | ~L1 |------| |------| ~L2 |Enter | |
|
|
|
|
* | | |Insert| | PgDn | | | |
|
|
|
|
* '--------------------' '--------------------' |
|
|
|
|
* |
|
|
|
|
* Optional overrides: see CFQ_USER_KEY# defines. |
|
|
|
|
* |
|
|
|
|
* .--------------------------------------------------. .--------------------------------------------------. |
|
|
|
|
* | | | | | | | | | | | | | | | USR0 | |
|
|
|
|
* | | | | | | | | | | | | | | | USR9 | |
|
|
|
|
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| |
|
|
|
|
* | | | | | | | | | | | | | | | | |
|
|
|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| |
|
|
|
@ -328,7 +330,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| |
|
|
|
|
* | | | | | | | | | | | | | | | | |
|
|
|
|
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' |
|
|
|
|
* | | | | USR1 | | | | | | | USR8 | |
|
|
|
|
* | | | | USR0 | USR1 | | | | | | USR8 | |
|
|
|
|
* '----------------------------------' '----------------------------------' |
|
|
|
|
* .-------------. .-------------. |
|
|
|
|
* | USR2 | USR3 | | | | |
|
|
|
@ -347,12 +349,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, |
|
|
|
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, |
|
|
|
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, |
|
|
|
|
KC_LCTL, KC_LGUI, KC_LALT, CFQ_USER_KEY1, KC_SPC, |
|
|
|
|
KC_LCTL, KC_LGUI, KC_LALT, CFQ_USER_KEY0, CFQ_USER_KEY1, |
|
|
|
|
CFQ_USER_KEY2, CFQ_USER_KEY3, |
|
|
|
|
K80(L0K0), K80(L0K1), CFQ_USER_KEY6, |
|
|
|
|
CFQ_USER_KEY4, CFQ_USER_KEY5, CFQ_USER_KEY7, |
|
|
|
|
/* right hand */ |
|
|
|
|
KC_RCBR, KC_CIRC, KC_AMPR, KC_ASTR,KC_MINS, KC_EQL, CFQ_USER_KEY0, |
|
|
|
|
KC_RCBR, KC_CIRC, KC_AMPR, KC_ASTR,KC_MINS, KC_EQL, CFQ_USER_KEY9, |
|
|
|
|
KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, |
|
|
|
|
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, |
|
|
|
|
KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, |
|
|
|
@ -361,7 +363,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
KC_PGUP, K80(L0K2), K80(L0K3), |
|
|
|
|
KC_PGDN, CFQ_KC_FN2, KC_ENT |
|
|
|
|
), |
|
|
|
|
/* Keymap 1: KeyPad, Macro Record
|
|
|
|
|
/* Keymap 1: Keypad, Bracket Pairs & Macro Record
|
|
|
|
|
* |
|
|
|
|
* .--------------------------------------------------. .--------------------------------------------------. |
|
|
|
|
* | | | | | | | {} | | }{ | |NumLck| / | * | - | | |
|
|
|
@ -377,12 +379,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
* .-------------. .-------------. |
|
|
|
|
* |Start1|Start2| | | | |
|
|
|
|
* .------+------+------| |------+------+------. |
|
|
|
|
* | | | Stop | | | | | |
|
|
|
|
* |Play1 |Play2 |------| |------| | | |
|
|
|
|
* | | | | | | | | |
|
|
|
|
* | | |Play1 | | | | | |
|
|
|
|
* | Stop | |------| |------| | | |
|
|
|
|
* | | |Play2 | | | | | |
|
|
|
|
* '--------------------' '--------------------' |
|
|
|
|
*/ |
|
|
|
|
/* KEYPAD & MACRO */ |
|
|
|
|
[LAYER_KPAD] = LAYOUT_ergodox_76_or_80( |
|
|
|
|
/* left hand */ |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_BRACKET_IN_CBR, |
|
|
|
@ -391,8 +392,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_BRACKET_IN_ANG, M_BRACKET_IN_BRC, |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
|
|
|
|
DYN_REC_START1, DYN_REC_START2, |
|
|
|
|
K80(L1K0), K80(L1K1), DYN_REC_STOP, |
|
|
|
|
DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_TRNS, |
|
|
|
|
K80(L1K0), K80(L1K1), DYN_MACRO_PLAY1, |
|
|
|
|
DYN_REC_STOP, KC_TRNS, DYN_MACRO_PLAY2, |
|
|
|
|
/* right hand */ |
|
|
|
|
M_BRACKET_OUT_CBR, KC_TRNS, KC_NLCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, |
|
|
|
|
M_BRACKET_OUT_PRN, M_ARROW_LEQL, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS, |
|
|
|
@ -403,7 +404,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
KC_TRNS, K80(L1K2), K80(L1K3), |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS |
|
|
|
|
), |
|
|
|
|
/* Keymap 2: FKeys, media & mouse keys
|
|
|
|
|
/* Keymap 2: Function Keys, Media & Mouse Keys
|
|
|
|
|
* |
|
|
|
|
* .--------------------------------------------------. .--------------------------------------------------. |
|
|
|
|
* | | | | | | | | | Mute | | F10 | F11 | F12 | | | |
|
|
|
@ -424,8 +425,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
* | | | | | MNxt | | | |
|
|
|
|
* '--------------------' '--------------------' |
|
|
|
|
*/ |
|
|
|
|
/* MEDIA, MOUSE & NUMBERS */ |
|
|
|
|
[LAYER_MDIA] = LAYOUT_ergodox_76_or_80( |
|
|
|
|
[LAYER_FKEY] = LAYOUT_ergodox_76_or_80( |
|
|
|
|
/* left hand */ |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
|
|
|
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_WH_U, |
|
|
|
@ -446,6 +446,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
KC_MNXT, KC_TRNS, KC_MPLY |
|
|
|
|
), |
|
|
|
|
/* Keymap 3: Entire Words (one for each key) & Numbers
|
|
|
|
|
* |
|
|
|
|
* Activate by holding L1 & L2. |
|
|
|
|
* |
|
|
|
|
* .--------------------------------------------------. .--------------------------------------------------. |
|
|
|
|
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | | |
|
|
|
@ -466,9 +468,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
* | | | | | | | | |
|
|
|
|
* '--------------------' '--------------------' |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/* FKEY & WORDS */ |
|
|
|
|
[LAYER_FKEY] = LAYOUT_ergodox_76_or_80( |
|
|
|
|
[LAYER_WORD] = LAYOUT_ergodox_76_or_80( |
|
|
|
|
/* left hand */ |
|
|
|
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, |
|
|
|
|
KC_TRNS, M_WORD_Q, M_WORD_W, M_WORD_E, M_WORD_R, M_WORD_T, KC_TRNS, |
|
|
|
@ -490,6 +490,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
), |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
uint32_t layer_state_set_user(uint32_t state) { |
|
|
|
|
/* Use layer 3 when 1 & 2 are pressed. */ |
|
|
|
|
state = update_tri_layer_state(state, LAYER_KPAD, LAYER_FKEY, LAYER_WORD); |
|
|
|
|
return state; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define WITHOUT_MODS(...) \ |
|
|
|
|
do { \
|
|
|
|
|
uint8_t _real_mods = get_mods(); \
|
|
|
|
|