Fine tuning

- All feature config settings are now in two keycodes for encoder
- All key press toggles are now in one keycode
- added back the quote bracket tap holds
- Cleaned up keymap
- formatting
- updated other board keymaps for these
- removed trace of _CONFIG layer
This commit is contained in:
Victor 2024-07-17 18:03:46 -05:00
parent a2a79ed324
commit a48bbe358b
Failed to generate hash of commit
12 changed files with 102 additions and 161 deletions

View file

@ -19,16 +19,13 @@ LAYOUT_rollow_wrapper ( \
#define ROLLOW(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = ROLLOW(LAYER_QWERTY),
[_COLEMAK_DH] = ROLLOW(LAYER_COLEMAK_DH),
[_GAME] = ROLLOW(LAYER_GAME),
[_NAVIGATION] = ROLLOW(LAYER_NAVIGATION),
[_NUMBER] = ROLLOW(LAYER_NUMBER),
[_SYMBOL] = ROLLOW(LAYER_SYMBOL),
[_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC),
[_CONFIG] = ROLLOW(LAYER_CONFIG)
[_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC)
};
@ -36,16 +33,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* These are horizontal encoders. Found I have to make it opposite the rotary encoders for it to feel intuitive*/
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) },
[_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) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(___x___, ___x___) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(FWD_CFG, REV_CFG) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(FWD_TAB, REV_TAB) },
[_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) },
[_CONFIG] = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(BASELYR, RBSELYR) }
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(ZOOMIN, ZOOMOUT) }
};
#endif

View file

@ -34,14 +34,11 @@ LAYOUT_cnano_wrapper ( \
#define CNANO(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = CNANO(LAYER_QWERTY),
[_COLEMAK_DH] = CNANO(LAYER_COLEMAK_DH),
[_GAME] = CNANO(LAYER_GAME),
[_NAVIGATION] = CNANO(LAYER_NAVIGATION),
[_NUMBER] = CNANO(LAYER_NUMBER),
[_SYMBOL] = CNANO(LAYER_SYMBOL),
[_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC),
[_CONFIG] = CNANO(LAYER_CONFIG)
[_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC)
};

View file

@ -35,16 +35,13 @@ LAYOUT_swoop_wrapper ( \
#define SWOOP(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = SWOOP(LAYER_QWERTY),
[_COLEMAK_DH] = SWOOP(LAYER_COLEMAK_DH),
[_GAME] = SWOOP(LAYER_GAME),
[_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
[_NUMBER] = SWOOP(LAYER_NUMBER),
[_SYMBOL] = SWOOP(LAYER_SYMBOL),
[_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC),
[_CONFIG] = SWOOP(LAYER_CONFIG)
[_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC)
};
@ -52,16 +49,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* The encoder presses are handled in the keymap */
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) },
[_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) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(___x___, ___x___) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
[_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) },
[_CONFIG] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RBSELYR, BASELYR) }
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) }
};
#endif //ENCODER_MAP_ENABLE

View file

@ -34,14 +34,11 @@ LAYOUT_crkbd_wrapper ( \
#define CRKBD(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = CRKBD(LAYER_QWERTY),
[_COLEMAK_DH] = CRKBD(LAYER_COLEMAK_DH),
[_GAME] = CRKBD(LAYER_GAME),
[_NAVIGATION] = CRKBD(LAYER_NAVIGATION),
[_NUMBER] = CRKBD(LAYER_NUMBER),
[_SYMBOL] = CRKBD(LAYER_SYMBOL),
[_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC),
[_CONFIG] = CRKBD(LAYER_CONFIG)
[_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC)
};

View file

@ -19,7 +19,6 @@ LAYOUT_klor_wrapper ( \
#define KLOR(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = KLOR(LAYER_QWERTY),
[_COLEMAK_DH] = KLOR(LAYER_COLEMAK_DH),
[_GAME] = KLOR(LAYER_GAME),
@ -27,24 +26,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUMBER] = KLOR(LAYER_NUMBER),
[_SYMBOL] = KLOR(LAYER_SYMBOL),
[_MOUSE_FUNC] = KLOR(LAYER_MOUSE_FUNC)
//[_CONFIG] = KLOR(LAYER_CONFIG)
};
#if defined(ENCODER_MAP_ENABLE)
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) },
[_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) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_RGB, FWD_RGB) },
[_NUMBER] = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
[_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) }
//[_CONFIG] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RBSELYR, BASELYR) }
};
#endif

View file

@ -19,14 +19,11 @@ LAYOUT_planck_wrapper (
#define PLANCK(...) LAYOUT_3x5_keymap(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = PLANCK(LAYER_QWERTY),
[_COLEMAK_DH] = PLANCK(LAYER_COLEMAK_DH),
[_GAME] = PLANCK(LAYER_GAME),
[_NAVIGATION] = PLANCK(LAYER_NAVIGATION),
[_NUMBER] = PLANCK(LAYER_NUMBER),
[_SYMBOL] = PLANCK(LAYER_SYMBOL),
[_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC),
[_CONFIG] = PLANCK(LAYER_CONFIG)
[_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC)
};

View file

@ -16,23 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "t4corun.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( KC_NO )
};
static bool num_lock_state = false;
static bool scroll_lock_state = false;
void keyboard_post_init_user(void) {
num_lock_state = host_keyboard_led_state().num_lock;
scroll_lock_state = host_keyboard_led_state().scroll_lock;
}
bool led_update_user(led_t led_state) {
// when scroll lock is pressed, toggle drag scroll state
if ( scroll_lock_state != led_state.scroll_lock ) {
toggle_drag_scroll();

View file

@ -1,11 +1,6 @@
#include "combo.h"
bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
// disable all combos on config layer
if (get_highest_layer(layer_state | default_layer_state) == _CONFIG) {
return false;
}
switch (combo_index) {
case MOUSE_BUTTON2:
if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {

View file

@ -45,9 +45,6 @@ void render_layer_state (uint8_t col, uint8_t line, bool moveCursor) {
case _MOUSE_FUNC:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
break;
case _CONFIG:
oled_write_P(PSTR(OLED_RENDER_LAYER_6), false);
break;
default:
oled_write_P(PSTR(OLED_RENDER_LAYER_1), false);
break;
@ -68,7 +65,6 @@ void render_layer_state_list (uint8_t col, uint8_t line, bool moveCursor) {
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_5), current_layer == _MOUSE_FUNC);
oled_write_P(PSTR(OLED_RENDER_LAYER_6), current_layer == _CONFIG);
}

View file

@ -12,7 +12,6 @@
# define OLED_RENDER_LAYER_3 "Number "
# define OLED_RENDER_LAYER_4 "Symbol "
# define OLED_RENDER_LAYER_5 "Mouse+Func"
# define OLED_RENDER_LAYER_6 "Config "
#else
//128x32 are ? x 5 char wide
# define OLED_RENDER_DEFAULT_LAYER1 "Qwrty"
@ -24,7 +23,6 @@
# define OLED_RENDER_LAYER_3 " Num "
# define OLED_RENDER_LAYER_4 " Sym "
# define OLED_RENDER_LAYER_5 " MFn "
# define OLED_RENDER_LAYER_6 " Cfg "
#endif
void render_oled_128x64 (void);

View file

@ -43,7 +43,6 @@ void set_default_layer(bool forward) {
// helper function to put ploopy nano into bootloader
// my ploopy nano will reset when num/caps/scroll lock is enabled
void reset_ploopynano(void) {
// turn on all three host states
if(!host_keyboard_led_state().num_lock) { tap_code(KC_NUM); }
if(!host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); }
@ -68,13 +67,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
record->event.pressed ? tap_code(KC_SCRL) : tap_code(KC_SCRL);
return false;
// makes num lock a hold instead of toggle
// prevents accidental ploopy nano going into bootloader
case KC_NUM:
record->event.pressed ? tap_code(KC_NUM) : tap_code(KC_NUM);
return false;
// controls luna pet OLED animation
#if defined(WPM_ENABLE)
case KC_SPC:
if (record->event.pressed) {
@ -87,24 +86,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
#endif // WPM_ENABLE
case BASELYR:
if (record->event.pressed) {
set_default_layer(true);
}
return false;
// turn encoder for tab and shift tab
// hold alt or ctrl while turning for window / tab switching
case FWD_TAB:
case REV_TAB:
if (record->event.pressed) {
if (keycode == FWD_TAB && !hold_forward_active) {
hold_forward_active = true;
hold_reverse_active = false;
unregister_code(KC_LSFT);
unregister_mods(MOD_MASK_SHIFT);
}
if (keycode == REV_TAB && !hold_reverse_active) {
hold_forward_active = false;
hold_reverse_active = true;
register_code(KC_LSFT);
register_mods(MOD_MASK_SHIFT);
}
hold_mod_timer = timer_read();
register_code(KC_TAB);
@ -113,49 +108,55 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
case FWD_RGB:
case REV_RGB:
// turn encoder for mouse wheel zoom
case ZOOMIN:
case ZOOMOUT:
if (record->event.pressed) {
switch (current_mods) {
#if defined(RGB_MATRIX_ENABLE)
case MOD_BIT(KC_LSFT):
keycode == FWD_RGB ? rgb_matrix_increase_hue() : rgb_matrix_decrease_hue();
break;
case MOD_BIT(KC_LCTL):
keycode == FWD_RGB ? rgb_matrix_increase_sat() : rgb_matrix_decrease_sat();
break;
case MOD_BIT(KC_LALT):
keycode == FWD_RGB ? rgb_matrix_increase_val() : rgb_matrix_decrease_val();
break;
case MOD_BIT(KC_LGUI):
keycode == FWD_RGB ? rgb_matrix_increase_speed() : rgb_matrix_decrease_speed();
break;
case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL):
keycode == FWD_RGB ? rgb_matrix_step() : rgb_matrix_step_reverse();
break;
#endif //RGB_MATRIX_ENABLE
default:
keycode == FWD_RGB ? set_default_layer(true) : set_default_layer(false);
break;
if (!hold_forward_active) {
hold_forward_active = true;
register_mods(MOD_MASK_CTRL);
}
hold_mod_timer = timer_read();
keycode == ZOOMIN ? register_code(KC_WH_U) : register_code(KC_WH_D);
} else {
keycode == ZOOMIN ? unregister_code(KC_WH_U) : unregister_code(KC_WH_D);
}
return false;
// turn encoder while holding mod combinations to adjust features
// e.g. RGB settings, haptic frequency, click frequency, base layer
case FWD_CFG:
case REV_CFG:
if (record->event.pressed) {
if (!hold_forward_active) {
hold_forward_active = true;
}
hold_mod_timer = timer_read();
switch (current_mods) {
#if defined(HAPTIC_ENABLE)
#if defined(RGB_MATRIX_ENABLE)
case MOD_BIT(KC_LSFT):
keycode == FWD_CFG ? rgb_matrix_increase_hue() : rgb_matrix_decrease_hue();
break;
case MOD_BIT(KC_LCTL):
keycode == FWD_CFG ? rgb_matrix_increase_sat() : rgb_matrix_decrease_sat();
break;
case MOD_BIT(KC_LALT):
keycode == FWD_CFG ? rgb_matrix_increase_val() : rgb_matrix_decrease_val();
break;
case MOD_BIT(KC_LGUI):
keycode == FWD_CFG ? rgb_matrix_increase_speed() : rgb_matrix_decrease_speed();
break;
case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL):
keycode == FWD_CFG ? rgb_matrix_step() : rgb_matrix_step_reverse();
break;
#endif //RGB_MATRIX_ENABLE
#if defined(HAPTIC_ENABLE)
case MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT):
keycode == FWD_CFG ? haptic_mode_increase() : haptic_mode_decrease();
break;
#endif //HAPTIC_ENABLE
#if defined(AUDIO_ENABLE)
case MOD_BIT(KC_LCTL):
case MOD_BIT(KC_LALT) | MOD_BIT(KC_LGUI):
keycode == FWD_CFG ? clicky_freq_up() : clicky_freq_down();
break;
#endif //AUDIO_ENABLE
@ -166,57 +167,46 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
case ZOOMIN:
case ZOOMOUT:
if (record->event.pressed) {
if (!hold_forward_active) {
hold_forward_active = true;
register_code(KC_LCTL);
}
hold_mod_timer = timer_read();
keycode == ZOOMIN ? register_code(KC_WH_U) : register_code(KC_WH_D);
} else {
keycode == ZOOMIN ? unregister_code(KC_WH_U) : unregister_code(KC_WH_D);
}
return false;
// press key while holding mod combinations to toggle features or enter bootloader
case TOG_CFG:
if (record->event.pressed) {
switch (current_mods) {
#if defined(RGB_MATRIX_ENABLE)
case MOD_BIT(KC_LSFT):
reset_keyboard();
break;
case MOD_BIT(KC_LCTL):
reset_ploopynano();
break;
#if defined(RGB_MATRIX_ENABLE)
case MOD_BIT(KC_LALT):
rgb_matrix_toggle();
break;
#endif //RGB_MATRIX_ENABLE
#if defined(COMBO_ENABLE)
case MOD_BIT(KC_LGUI):
combo_toggle();
break;
#endif //COMBO_ENABLE
#if defined(HAPTIC_ENABLE)
case MOD_BIT(KC_LCTL):
case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL):
haptic_toggle();
break;
#endif //HAPTIC_ENABLE
#if defined(AUDIO_ENABLE)
case MOD_BIT(KC_LALT):
case MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT):
is_audio_on() ? audio_off(): audio_on();
break;
case MOD_BIT(KC_LGUI):
case MOD_BIT(KC_LALT) | MOD_BIT(KC_LGUI):
clicky_toggle();
break;
#endif //AUDIO_ENABLE
case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL):
reset_keyboard();
break;
case MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT):
reset_ploopynano();
break;
default:
set_default_layer(true);
break;
}
}
unregister_mods(MOD_MASK_CSAG);
return false;
//https://docs.qmk.fm/#/mod_tap?id=changing-both-tasp-and-hold
@ -274,8 +264,7 @@ void matrix_scan_user(void) {
// timer for the hold mods
if (hold_forward_active || hold_reverse_active) {
if (timer_elapsed(hold_mod_timer) > HOLD_MOD_TIMEOUT) {
unregister_code(KC_LSFT);
unregister_code(KC_LCTL);
unregister_mods(MOD_MASK_CSAG);
hold_forward_active = false;
hold_reverse_active = false;
}

View file

@ -22,8 +22,7 @@ enum layers {
_NAVIGATION,
_NUMBER,
_SYMBOL,
_MOUSE_FUNC,
_CONFIG
_MOUSE_FUNC
};
// start at the second layer
@ -54,21 +53,17 @@ enum keycodes {
TH_SCLN,
TH_QUOT,
FWD_TAB, // enables encoder to alt-tab/alt+shift-tab
REV_TAB, // alt-tab/alt+shift-tab or ctrl-tab/ctrl+shift tab
FWD_TAB, // turn encoder for tab and shift tab
REV_TAB, // hold alt or ctrl while turning for window / tab switching
FWD_RGB, // enables overloaded encoder to adjust RGB mode and settings
REV_RGB,
FWD_CFG, // enables overloaded encoder to adjust other features
REV_CFG, // e.g. haptic freq, click freq
TOG_CFG, // enables overloaded key press to toggle features on or off
ZOOMIN, // enables encoder to mouse wheel zoom
ZOOMIN, // turn encoder for mouse wheel zoom
ZOOMOUT,
BASELYR // enables key press to change base layer
FWD_CFG, // turn encoder while holding mod combinations to adjust features
REV_CFG, // e.g. RGB settings, haptic frequency, click frequency, base layer
TOG_CFG // press key while holding mod combinations to toggle features or enter bootloader
};
#define ___x___ KC_NO
@ -95,8 +90,8 @@ enum keycodes {
#define SCR_TOP LCTL(KC_HOME)
/*
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
- If the feature is disabled then the key is just the normal key
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
- We will only define things that are used across different layers. Entire layers are turned off in the keymap
*/
@ -180,17 +175,17 @@ enum keycodes {
#define LAYER_GAME \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_9, KC_ESC, \
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_6, KC_GRV, \
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, ___x___, \
KC_ENT, KC_SPC, KC_LSFT, _BASE_R4_________________, \
SCR_TOP, KC_MUTE
#define LAYER_NAVIGATION \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_APP, ___x___, DM_REC1, DM_PLY1, \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_APP, ___x___, ___x___, ___x___, \
___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, \
___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \
SCR_TOP, BASELYR
SCR_TOP, TOG_CFG
#define LAYER_NUMBER \
@ -198,13 +193,13 @@ enum keycodes {
_GACS_MODS________________________, KC_TAB, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
_LAYER_TRANS_____________, KC_0, NAV, ___x___, \
BASELYR, SC_WIN
___x___, SC_WIN
#define LAYER_SYMBOL \
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, ___x___, \
___x___, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, ___x___, \
___x___, TR_LABK, KC_RABK, TR_BSLS, KC_EXLM, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, ___x___, \
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
___x___, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
___x___, TR_LABK, KC_RABK, TR_BSLS, KC_EXLM, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
_LAYER_TRANS_____________, _LAYER_TRANS_____________, \
___x___, ___x___
@ -213,5 +208,5 @@ enum keycodes {
MOU_FUN, ___x___, ___x___, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7, KC_F8, KC_F9, KC_F10, \
_GACS_MODS________________________, TR_DRGS, FWD_CFG, KC_F4, KC_F5, KC_F6, KC_F11, \
_______, KC_BTN1, KC_BTN5, KC_BTN4, TR_SNIP, REV_CFG, KC_F1, KC_F2, KC_F3, KC_F12, \
KC_BTN1, KC_BTN3, KC_BTN2, REV_RGB, FWD_RGB, ___x___, \
KC_BTN1, KC_BTN3, KC_BTN2, DM_PLY1, DM_REC1, ___x___, \
SCR_TOP, ZOOMRST