From a48bbe358b2b3b4283a533a8f36a415e15e77347 Mon Sep 17 00:00:00 2001
From: Victor <VictorN076@gmail.com>
Date: Wed, 17 Jul 2024 18:03:46 -0500
Subject: [PATCH] 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

---
 .../rollow/keymaps/t4corun/keymap.c           |  12 +-
 .../charybdis/3x5/keymaps/t4corun/keymap.c    |   5 +-
 .../bluebell/swoop/keymaps/t4corun/keymap.c   |  12 +-
 keyboards/crkbd/keymaps/t4corun/keymap.c      |   5 +-
 keyboards/klor/keymaps/t4corun/keymap.c       |  10 +-
 keyboards/planck/keymaps/t4corun/keymap.c     |   5 +-
 .../trackball_nano/keymaps/t4corun/keymap.c   |   5 -
 users/t4corun/features/combo.c                |   7 +-
 users/t4corun/features/oled.c                 |   4 -
 users/t4corun/features/oled.h                 |   2 -
 users/t4corun/t4corun.c                       | 155 ++++++++----------
 users/t4corun/t4corun.h                       |  41 ++---
 12 files changed, 102 insertions(+), 161 deletions(-)

diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
index 800e5b62..7df51dc6 100644
--- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
+++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
@@ -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
\ No newline at end of file
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
index 43088d9d..83bb4b9a 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
@@ -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)
 };
\ No newline at end of file
diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c
index 294316e3..b7275886 100644
--- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c
+++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c
@@ -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
diff --git a/keyboards/crkbd/keymaps/t4corun/keymap.c b/keyboards/crkbd/keymaps/t4corun/keymap.c
index 9379b469..73ae8f19 100644
--- a/keyboards/crkbd/keymaps/t4corun/keymap.c
+++ b/keyboards/crkbd/keymaps/t4corun/keymap.c
@@ -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)
 };
\ No newline at end of file
diff --git a/keyboards/klor/keymaps/t4corun/keymap.c b/keyboards/klor/keymaps/t4corun/keymap.c
index 1d2c5f25..bf698e69 100644
--- a/keyboards/klor/keymaps/t4corun/keymap.c
+++ b/keyboards/klor/keymaps/t4corun/keymap.c
@@ -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
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/t4corun/keymap.c b/keyboards/planck/keymaps/t4corun/keymap.c
index f162bb2d..52f505d8 100644
--- a/keyboards/planck/keymaps/t4corun/keymap.c
+++ b/keyboards/planck/keymaps/t4corun/keymap.c
@@ -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)
 };
\ No newline at end of file
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/t4corun/keymap.c b/keyboards/ploopyco/trackball_nano/keymaps/t4corun/keymap.c
index 259319b2..c2f184d0 100644
--- a/keyboards/ploopyco/trackball_nano/keymaps/t4corun/keymap.c
+++ b/keyboards/ploopyco/trackball_nano/keymaps/t4corun/keymap.c
@@ -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();
diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c
index 03f8f523..71fd8267 100644
--- a/users/t4corun/features/combo.c
+++ b/users/t4corun/features/combo.c
@@ -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 ) {
@@ -13,7 +8,7 @@ bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycod
       }
 
     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 )) {
           return false;
       }
diff --git a/users/t4corun/features/oled.c b/users/t4corun/features/oled.c
index 64f39b9a..10c413b2 100644
--- a/users/t4corun/features/oled.c
+++ b/users/t4corun/features/oled.c
@@ -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);
 }
 
 
diff --git a/users/t4corun/features/oled.h b/users/t4corun/features/oled.h
index cb7f3dfc..56cd1d16 100644
--- a/users/t4corun/features/oled.h
+++ b/users/t4corun/features/oled.h
@@ -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);
diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c
index 5c3fc61d..ba74dbcf 100644
--- a/users/t4corun/t4corun.c
+++ b/users/t4corun/t4corun.c
@@ -23,13 +23,13 @@ bool isLunaJumping(void) { return isJumping; }
 bool isJumpShown(void) { return showedJump; }
 
 // Allows the OLED code to clear the space bar status when render is complete
-void setLunaJumped(void) { showedJump = true;}
+void setLunaJumped(void) { showedJump = true; }
 #endif // WPM_ENABLE
 
 
 // Hold Navigation and Number to get Symbol
 layer_state_t layer_state_set_user(layer_state_t state) { 
-  return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL); 
+  return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL);
 }
 
 // helper function to adjust default layer
@@ -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,65 +108,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       }
       return false;
 
-    case FWD_RGB:
-    case REV_RGB:
-      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;    
-        }
-      }
-      return false;
-
-    case FWD_CFG:
-    case REV_CFG:
-      if (record->event.pressed) {
-        switch (current_mods) {
-#if defined(HAPTIC_ENABLE)
-          case MOD_BIT(KC_LSFT):
-            keycode == FWD_CFG ? haptic_mode_increase() : haptic_mode_decrease();
-            break;
-#endif //HAPTIC_ENABLE
-#if defined(AUDIO_ENABLE)
-          case MOD_BIT(KC_LCTL):
-            keycode == FWD_CFG ? clicky_freq_up() : clicky_freq_down();
-            break;
-#endif //AUDIO_ENABLE
-          default:
-            keycode == FWD_CFG ? set_default_layer(true) : set_default_layer(false);
-            break;    
-        }
-      }
-      return false;
-
+    // turn encoder for mouse wheel zoom
     case ZOOMIN:
     case ZOOMOUT:
       if (record->event.pressed) {
         if (!hold_forward_active) {
           hold_forward_active = true;
-          register_code(KC_LCTL);
+          register_mods(MOD_MASK_CTRL);
         }
         hold_mod_timer = timer_read();
         keycode == ZOOMIN ? register_code(KC_WH_U) : register_code(KC_WH_D);
@@ -180,43 +123,90 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       }
       return false;
 
-    case TOG_CFG:
+    // 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(RGB_MATRIX_ENABLE)
           case MOD_BIT(KC_LSFT):
-            rgb_matrix_toggle();
+            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_LALT) | MOD_BIT(KC_LGUI):
+            keycode == FWD_CFG ? clicky_freq_up() : clicky_freq_down();
+            break;
+#endif //AUDIO_ENABLE
+          default:
+            keycode == FWD_CFG ? set_default_layer(true) : set_default_layer(false);
+            break;
+        }
+      }
+      return false;
+
+    // press key while holding mod combinations to toggle features or enter bootloader
+    case TOG_CFG:
+      if (record->event.pressed) {
+        switch (current_mods) {
+          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_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;    
+            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;
     }
diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h
index 5996421a..caf5a78e 100644
--- a/users/t4corun/t4corun.h
+++ b/users/t4corun/t4corun.h
@@ -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