Splitting up layers

- split mouse_func into mouse, function, config
- thumb combos returned
- adjusted combo and oled configuration
- big ol keymap changes
- hinting at return to boards without encoders
This commit is contained in:
Victor 2024-08-20 22:53:18 -05:00
parent b3649afc23
commit fee58201e5
Failed to generate hash of commit
12 changed files with 189 additions and 97 deletions

View file

@ -25,7 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = ROLLOW(LAYER_NAVIGATION), [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION),
[_NUMBER] = ROLLOW(LAYER_NUMBER), [_NUMBER] = ROLLOW(LAYER_NUMBER),
[_SYMBOL] = ROLLOW(LAYER_SYMBOL), [_SYMBOL] = ROLLOW(LAYER_SYMBOL),
[_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC) [_MOUSE] = ROLLOW(LAYER_MOUSE),
[_FUNCTION] = ROLLOW(LAYER_FUNCTION),
[_CONFIG] = ROLLOW(LAYER_CONFIG)
}; };
@ -36,10 +38,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [_QWERTY] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_GAME] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [_GAME] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(FWD_CFG, REV_CFG) }, [_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(FWD_TAB, REV_TAB) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(FWD_TAB, REV_TAB) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(ZOOMIN, ZOOMOUT) } [_MOUSE] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(ZOOMIN, ZOOMOUT) },
[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(FWD_CFG, REV_CFG), ENCODER_CCW_CW(FWD_CFG, REV_CFG) }
}; };
#endif #endif

View file

@ -40,5 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = CNANO(LAYER_NAVIGATION), [_NAVIGATION] = CNANO(LAYER_NAVIGATION),
[_NUMBER] = CNANO(LAYER_NUMBER), [_NUMBER] = CNANO(LAYER_NUMBER),
[_SYMBOL] = CNANO(LAYER_SYMBOL), [_SYMBOL] = CNANO(LAYER_SYMBOL),
[_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC) [_MOUSE] = CNANO(LAYER_MOUSE),
[_FUNCTION] = CNANO(LAYER_FUNCTION),
[_CONFIG] = CNANO(LAYER_CONFIG)
}; };

View file

@ -41,7 +41,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = SWOOP(LAYER_NAVIGATION), [_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
[_NUMBER] = SWOOP(LAYER_NUMBER), [_NUMBER] = SWOOP(LAYER_NUMBER),
[_SYMBOL] = SWOOP(LAYER_SYMBOL), [_SYMBOL] = SWOOP(LAYER_SYMBOL),
[_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC) [_MOUSE] = SWOOP(LAYER_MOUSE),
[_FUNCTION] = SWOOP(LAYER_FUNCTION),
[_CONFIG] = SWOOP(LAYER_CONFIG)
}; };
@ -52,10 +54,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_GAME] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_GAME] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }, [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) } [_MOUSE] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) },
[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
}; };
#endif //ENCODER_MAP_ENABLE #endif //ENCODER_MAP_ENABLE

View file

@ -40,5 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = CRKBD(LAYER_NAVIGATION), [_NAVIGATION] = CRKBD(LAYER_NAVIGATION),
[_NUMBER] = CRKBD(LAYER_NUMBER), [_NUMBER] = CRKBD(LAYER_NUMBER),
[_SYMBOL] = CRKBD(LAYER_SYMBOL), [_SYMBOL] = CRKBD(LAYER_SYMBOL),
[_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC) [_MOUSE] = CRKBD(LAYER_MOUSE),
[_FUNCTION] = CRKBD(LAYER_FUNCTION),
[_CONFIG] = CRKBD(LAYER_CONFIG)
}; };

View file

@ -25,7 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = KLOR(LAYER_NAVIGATION), [_NAVIGATION] = KLOR(LAYER_NAVIGATION),
[_NUMBER] = KLOR(LAYER_NUMBER), [_NUMBER] = KLOR(LAYER_NUMBER),
[_SYMBOL] = KLOR(LAYER_SYMBOL), [_SYMBOL] = KLOR(LAYER_SYMBOL),
[_MOUSE_FUNC] = KLOR(LAYER_MOUSE_FUNC) [_MOUSE] = KLOR(LAYER_MOUSE),
[_FUNCTION] = KLOR(LAYER_FUNCTION),
[_CONFIG] = KLOR(LAYER_CONFIG)
}; };
@ -35,10 +37,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_GAME] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_GAME] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }, [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) } [_MOUSE] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) },
[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
}; };
#endif #endif

View file

@ -25,5 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = PLANCK(LAYER_NAVIGATION), [_NAVIGATION] = PLANCK(LAYER_NAVIGATION),
[_NUMBER] = PLANCK(LAYER_NUMBER), [_NUMBER] = PLANCK(LAYER_NUMBER),
[_SYMBOL] = PLANCK(LAYER_SYMBOL), [_SYMBOL] = PLANCK(LAYER_SYMBOL),
[_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC) [_MOUSE] = PLANCK(LAYER_MOUSE),
[_FUNCTION] = PLANCK(LAYER_FUNCTION),
[_CONFIG] = PLANCK(LAYER_CONFIG)
}; };

View file

@ -17,7 +17,6 @@
//Set common configuration for all keyboards //Set common configuration for all keyboards
#define USB_POLLING_INTERVAL_MS 1 #define USB_POLLING_INTERVAL_MS 1
#define LAYER_STATE_8BIT
@ -66,11 +65,15 @@
# undef COMBO_ONLY_FROM_LAYER # undef COMBO_ONLY_FROM_LAYER
# undef EXTRA_SHORT_COMBOS # undef EXTRA_SHORT_COMBOS
# undef COMBO_TERM # undef COMBO_TERM
# undef COMBO_TERM_PER_COMBO
# undef COMBO_MUST_HOLD_PER_COMBO
# undef COMBO_SHOULD_TRIGGER # undef COMBO_SHOULD_TRIGGER
# define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout # define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
# define EXTRA_SHORT_COMBOS # define EXTRA_SHORT_COMBOS
# define COMBO_TERM 35 # define COMBO_TERM 35
# define COMBO_TERM_PER_COMBO
# define COMBO_MUST_HOLD_PER_COMBO
# define COMBO_SHOULD_TRIGGER # define COMBO_SHOULD_TRIGGER
#endif //COMBO_ENABLE #endif //COMBO_ENABLE

View file

@ -1,5 +1,28 @@
#include "combo.h" #include "combo.h"
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
// or with combo index, i.e. its name from enum.
switch (index) {
case LYR_FUNCTION:
case LYR_CONFIG:
return COMBO_TERM + 100;
default:
return COMBO_TERM;
}
}
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
switch (index) {
case LYR_CONFIG:
case LYR_FUNCTION:
return true;
default:
return false;
}
}
bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
switch (combo_index) { switch (combo_index) {
case MOUSE_BUTTON2: case MOUSE_BUTTON2:
@ -9,7 +32,13 @@ bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycod
case MOUSE_DRGTOG: case MOUSE_DRGTOG:
if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER ) if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER )
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE_FUNC )) { && ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
return false;
}
case LYR_FUNCTION:
case LYR_CONFIG:
if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
return false; return false;
} }

View file

@ -1,19 +1,30 @@
#pragma once #pragma once
#include "t4corun.h" #include "t4corun.h"
const uint16_t PROGMEM mou_btn2_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_V, COMBO_END };
enum combos { enum combos {
MOUSE_BUTTON2, MOUSE_BUTTON2,
MOUSE_DRGTOG, MOUSE_DRGTOG,
LYR_FUNCTION,
LYR_CONFIG,
COMBO_LENGTH COMBO_LENGTH
}; };
const uint16_t PROGMEM mou_btn2_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_V, COMBO_END };
const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END };
const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END };
//their documentation is so confusing because you don't use COMBO_LEN defining the actions //their documentation is so confusing because you don't use COMBO_LEN defining the actions
uint16_t COMBO_LEN = COMBO_LENGTH; uint16_t COMBO_LEN = COMBO_LENGTH;
combo_t key_combos[COMBO_LENGTH] = { combo_t key_combos[COMBO_LENGTH] = {
[MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2), [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
[MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS) [MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS),
[LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC),
[LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG)
}; };

View file

@ -42,9 +42,15 @@ void render_layer_state (uint8_t col, uint8_t line, bool moveCursor) {
case _SYMBOL: case _SYMBOL:
oled_write_P(PSTR(OLED_RENDER_LAYER_4), false); oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
break; break;
case _MOUSE_FUNC: case _MOUSE:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false); oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
break; break;
case _FUNCTION:
oled_write_P(PSTR(OLED_RENDER_LAYER_6), false);
break;
case _CONFIG:
oled_write_P(PSTR(OLED_RENDER_LAYER_7), false);
break;
default: default:
oled_write_P(PSTR(OLED_RENDER_LAYER_1), false); oled_write_P(PSTR(OLED_RENDER_LAYER_1), false);
break; break;
@ -64,7 +70,9 @@ void render_layer_state_list (uint8_t col, uint8_t line, bool moveCursor) {
oled_write_P(PSTR(OLED_RENDER_LAYER_2), current_layer == _NAVIGATION); oled_write_P(PSTR(OLED_RENDER_LAYER_2), current_layer == _NAVIGATION);
oled_write_P(PSTR(OLED_RENDER_LAYER_3), current_layer == _NUMBER); oled_write_P(PSTR(OLED_RENDER_LAYER_3), current_layer == _NUMBER);
oled_write_P(PSTR(OLED_RENDER_LAYER_4), current_layer == _SYMBOL); oled_write_P(PSTR(OLED_RENDER_LAYER_4), current_layer == _SYMBOL);
oled_write_P(PSTR(OLED_RENDER_LAYER_5), current_layer == _MOUSE_FUNC); oled_write_P(PSTR(OLED_RENDER_LAYER_5), current_layer == _MOUSE);
oled_write_P(PSTR(OLED_RENDER_LAYER_6), current_layer == _FUNCTION);
oled_write_P(PSTR(OLED_RENDER_LAYER_7), current_layer == _CONFIG);
} }

View file

@ -11,7 +11,9 @@
# define OLED_RENDER_LAYER_2 "Navigation" # define OLED_RENDER_LAYER_2 "Navigation"
# define OLED_RENDER_LAYER_3 "Number " # define OLED_RENDER_LAYER_3 "Number "
# define OLED_RENDER_LAYER_4 "Symbol " # define OLED_RENDER_LAYER_4 "Symbol "
# define OLED_RENDER_LAYER_5 "Mouse+Func" # define OLED_RENDER_LAYER_5 "Mouse "
# define OLED_RENDER_LAYER_6 "Function "
# define OLED_RENDER_LAYER_7 "Config "
#else #else
//128x32 are ? x 5 char wide //128x32 are ? x 5 char wide
# define OLED_RENDER_DEFAULT_LAYER1 "Qwrty" # define OLED_RENDER_DEFAULT_LAYER1 "Qwrty"
@ -22,7 +24,9 @@
# define OLED_RENDER_LAYER_2 " Nav " # define OLED_RENDER_LAYER_2 " Nav "
# define OLED_RENDER_LAYER_3 " Num " # define OLED_RENDER_LAYER_3 " Num "
# define OLED_RENDER_LAYER_4 " Sym " # define OLED_RENDER_LAYER_4 " Sym "
# define OLED_RENDER_LAYER_5 " MFn " # define OLED_RENDER_LAYER_5 " Mou "
# define OLED_RENDER_LAYER_6 " Fun "
# define OLED_RENDER_LAYER_7 " Cfg "
#endif #endif
void render_oled_128x64 (void); void render_oled_128x64 (void);

View file

@ -22,7 +22,9 @@ enum layers {
_NAVIGATION, _NAVIGATION,
_NUMBER, _NUMBER,
_SYMBOL, _SYMBOL,
_MOUSE_FUNC _MOUSE,
_FUNCTION,
_CONFIG
}; };
// start at the second layer // start at the second layer
@ -71,8 +73,9 @@ enum keycodes {
// layer changes // layer changes
#define NAV MO(_NAVIGATION) #define NAV MO(_NAVIGATION)
#define NUM MO(_NUMBER) #define NUM MO(_NUMBER)
#define MF_Z LT(_MOUSE_FUNC, KC_Z) #define MOU_A LT(_MOUSE, KC_A)
#define MOU_FUN TG(_MOUSE_FUNC) #define MOU_TOG TG(_MOUSE)
#define FUNC MO(_FUNCTION)
#define CONFIG MO(_CONFIG) #define CONFIG MO(_CONFIG)
// Windows Shortcuts // Windows Shortcuts
@ -158,16 +161,16 @@ enum keycodes {
#define LAYER_QWERTY \ #define LAYER_QWERTY \
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \ MOU_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \
MF_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
_BASE_L4_________________, _BASE_R4_________________, \ _BASE_L4_________________, _BASE_R4_________________, \
SCR_TOP, KC_MUTE SCR_TOP, KC_MUTE
#define LAYER_COLEMAK_DH \ #define LAYER_COLEMAK_DH \
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \ MOU_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
MF_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \ KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
_BASE_L4_________________, _BASE_R4_________________, \ _BASE_L4_________________, _BASE_R4_________________, \
SCR_TOP, KC_MUTE SCR_TOP, KC_MUTE
@ -181,9 +184,9 @@ enum keycodes {
#define LAYER_NAVIGATION \ #define LAYER_NAVIGATION \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, KC_APP, ___x___, KC_CAPS, MOU_FUN, \ KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, KC_APP, ___x___, ___x___, ___x___, \
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \ ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, KC_DEL, KC_TAB, KC_VOLD, KC_VOLU, KC_MUTE, \ _UCCPR_L___________________________________, KC_DEL, KC_TAB, ___x___, ___x___, ___x___, \
___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \ ___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \
SCR_TOP, TOG_CFG SCR_TOP, TOG_CFG
@ -204,9 +207,25 @@ enum keycodes {
___x___, ___x___ ___x___, ___x___
#define LAYER_MOUSE_FUNC \ #define LAYER_MOUSE \
MOU_FUN, ___x___, ___x___, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7, KC_F8, KC_F9, KC_F10, \ _NONE_5____________________________________, TR_PDPI, TR_SDPI, ___x___, ___x___, MOU_TOG, \
_GACS_MODS________________________, TR_DRGS, FWD_CFG, KC_F4, KC_F5, KC_F6, KC_F11, \ _______, TR_LALT, TR_LCTL, TR_LSFT, TR_DRGS, ___x___, ___x___, ___x___, ___x___, ___x___, \
_______, KC_BTN1, KC_BTN5, KC_BTN4, TR_SNIP, REV_CFG, KC_F1, KC_F2, KC_F3, KC_F12, \ ___x___, KC_BTN1, KC_BTN5, KC_BTN4, TR_SNIP, ___x___, ___x___, ___x___, ___x___, ___x___, \
KC_BTN1, KC_BTN3, KC_BTN2, DM_PLY1, DM_REC1, ___x___, \ KC_BTN1, KC_BTN3, KC_BTN2, ___x___, ___x___, ___x___, \
SCR_TOP, ZOOMRST SCR_TOP, ZOOMRST
#define LAYER_FUNCTION \
___x___, ___x___, ___x___, ___x___, KC_NUM, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, \
_GACS_MODS________________________, KC_CAPS, KC_BRK, KC_F4, KC_F5, KC_F6, KC_F11, \
___x___, ___x___, ___x___, ___x___, KC_SCRL, KC_INS, KC_F1, KC_F2, KC_F3, KC_F12, \
_NONE_3__________________, DM_PLY1, DM_REC1, ___x___, \
___x___, ___x___
#define LAYER_CONFIG \
_NONE_5____________________________________, ___x___, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, \
___x___, FWD_CFG, REV_CFG, TOG_CFG, ___x___, ___x___, _SCAG_MODS________________________, \
_NONE_5____________________________________, _NONE_5____________________________________, \
_NONE_3__________________, _NONE_3__________________, \
TOG_CFG, TOG_CFG