diff --git a/README.md b/README.md
index 90d0d2ae..de1872ef 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,6 @@ The custom layout optimizes for programming (SQL, Powershell, C) and minimizes h
 Notes:
 
 - Outside thumb keys are encoder clicks. Some keyboards may have extra thumb keys
-- Pressing Pointer DPI and Drag Scroll Toggle together will enter Ploopy Nano's boot loader
 
 ![image](my_keymap.png)
 
@@ -40,7 +39,7 @@ One Shot Mods is here to minimize holding, simplify layers, and avoid misfires f
 
 ### Mouse Keys
 
-This layout is designed to be used with a Ploopy Nano. Mouse buttons and scroll wheel is handled on the keyboard side via combos. There are macros with the host status (Caps lock, Num Lock) to toggle Ploopy Nano settings and switch to drag scrolling (simulates scroll wheel)
+This layout is designed to be used with a Ploopy Nano. Mouse buttons and scroll wheel is handled on the keyboard side via combos. There are macros with the host status (Scroll lock, Num Lock) to switch DPI and enable momentary drag scrolling
 
 ### Caps Word
 
@@ -82,30 +81,22 @@ Enables additional keys to be mapped by pressing multiple keys simultaneously. P
 
 | Combo         | Result               | Comment                                           |
 | ------------- | -------------------- | ------------------------------------------------- |
-| `D` + `F`     | `Mouse Button 1`     | Left click. Mouse buttons only work on base layer |
-| `S` + `D`     | `Mouse Button 2`     | RIght click                                       |
-| `F` + `G`     | `Mouse Button 3`     | Middle click                                      |
-| `R` + `F`     | `Mouse Button 4`     | Back                                              |
-| `T` + `G`     | `Mouse Button 5`     | Forward                                           |
-| `T` + `G`     | `Drag Scroll Toggle` |                                                   |
-| `C` + `V`     | `Enter`              |                                                   |
-| `U` + `I`     | `Tab`                |                                                   |
-| `M` + `Comma` | `Backspace`          |                                                   |
+| `C` + `V`     | `KC_BTN1`            | Left click. Mouse buttons only work on base layer |
+| `X` + `V`     | `Drag Scroll Toggle` | Actual command varies per board                   |
+| `D` + `F`     | `KC_ENT`             |                                                   |
+| `J` + `K`     | `KC_TAB`             |                                                   |
+| `M` + `Comma` | `KC_BSPC`            |                                                   |
 
 ### Key Overrides
 
-Enables us to customize the result of applying certain mods to keycodes. For example, Shift + Backspace will give Delete. Primarily used to minimize the number of layers required and the layout itself
+Enables us to customize the result of applying certain mods to keycodes. For example, Shift + Backspace will give Delete. Primarily used to minimize the number of layers and the layout
 
-| Shortcut              | Result               | Comment                                                                       |
-| --------------------- | -------------------- | ----------------------------------------------------------------------------- |
-| `Shift` + `Backspace` | `Delete`             | Backspace is a combo. There are no dedicated backspace and delete keys mapped |
-| `Shift` + `Next Song` | `Prev Song`          | Only works on `NAVIGATION` layer                                              |
-| `Meh` + `1...9`       | `F1...F9`            | Only works on `NUMBER` layer. Meh is Shift + Ctrl + Alt.                      |
-| `Meh` + `Comma`       | `F10`                | Only works on `NUMBER` layer                                                  |
-| `Meh` + `Dot`         | `F11`                | Only works on `NUMBER` layer                                                  |
-| `Meh` + `Minus`       | `F12`                | Only works on `NUMBER` layer                                                  |
-| `Ctrl` + `Mouse 1`    | `Print Screen`       | Only works on `NUMBER` layer                                                  |
-| `Alt` + `Mouse 2`     | `Open File Explorer` | Only works on `NUMBER` layer. Keyboard Shortcut `GUI` + `E`                   |
+| Shortcut            | Result    | Comment                                                                       |
+| ------------------- | --------- | ----------------------------------------------------------------------------- |
+| `Shift` + `KC_BSPC` | `KC_DEL`  | Backspace is a combo. There are no dedicated backspace and delete keys mapped |
+| `Shift` + `HF_NEXT` | `HF_PREV` | Only works on `CONFIG` layer  Only for keyboards with Haptic feedback enabled |
+| `Shift` + `HF_CONU` | `HF_COND` | Only works on `CONFIG` layer. Only for keyboards with Haptic feedback enabled |
+| `Shift` + `CK_UP`   | `CK_DOWN` | Only works on `CONFIG` layer. Only for keyboards with Audio enabled           |
 
 ## Optional Features
 
@@ -115,31 +106,36 @@ These features can be disabled due to MCU size constraints or because certain ke
 
 Enables trackball functionality on certain boards (e.g., Ploopy Nano and Bastardkb Charybdis Nano). The board definitions enables unique functionality:
 
-- Charybdis Nano: "Sniper" precision tracking, drag Scroll, DPI changes
-- Ploopy Nano: Ties with Host Status LED macros to enable drag scroll, dpi changes, and bootloader
+- Charybdis Nano: "Sniper" precision tracking, toggle/momentary drag scroll, DPI changes
+- Ploopy Nano: Ties with Host State for momentary drag scroll, dpi changes, and bootloader
 
 Note: `MOUSEKEY_ENABLE` do not need to be enabled in tandem with this to get the mouse buttons.
+Note: Enabling Num Lock, Caps Lock, and Scroll Lock simultaneously will tell the Ploopy Nano to enter bootloader mode
 
 ### RGB Matrix
 
-Taste the rainbow for boards with RGB LEDs and large MCU memory footprints. Enables RGB lighting effects and layer/host status indicators. Review the keyboard files to identify the key position for each LED and update the preprocessor definitions in `config\rgbmatrix_config.h`
+Enable RGB lighting effects for large MCU memory footprints. Review the keyboard files to identify the key position for each LED and update the preprocessor definitions in `config.h`
 
 ### OLED
 
-Enables keyboard status visualization. Shows currently selected layer, active modifiers, and host status (e.g, Num / Caps / Scroll Lock)
+Enables keyboard status visualization. Shows information like selected layer, active modifiers, and host state (e.g, Num / Caps / Scroll Lock), and Luna pet animation
+
+### Haptic Feedback and Audio
+
+Basic keyboard buzzing and key click audio for the Geist KLOR.
 
 ## Target Keyboards
 
 All boards use my keymaps unless noted
 
-- Ploopy Nano: `lkbm` keymap
+- Ploopy Nano
 - Bastardkb Charybdis Nano 3x5
-- Crkbd 3x6
 - Planck Rev6
 - Ferris Swoop
 - Barbell Rollow (non-tree)
+- Geist KLOR (non-tree)
 - DZRGB60v2 (coming)
-- Geist KLOR (coming)
+- Crkbd 3x6 (deprecated)
 
 ## Links
 
diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
index 7f38c73b..6241a4c2 100644
--- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
+++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c
@@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION),
   [_NUMBER]     = ROLLOW(LAYER_NUMBER),
   [_SYMBOL]     = ROLLOW(LAYER_SYMBOL),
+  [_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC),
   [_CONFIG]     = ROLLOW(LAYER_CONFIG)
 
 };
@@ -41,6 +42,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
   [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN,  ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___)  },
   [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT)  },
   [_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(KC_VOLU, KC_VOLD)  },
   [_CONFIG]     = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD)  }
 
 };
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
index 3483db90..33184a27 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c
@@ -40,6 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = CNANO(LAYER_NAVIGATION),
   [_NUMBER]     = CNANO(LAYER_NUMBER),
   [_SYMBOL]     = CNANO(LAYER_SYMBOL),
+  [_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC),
   [_CONFIG]     = CNANO(LAYER_CONFIG)
 
 };
\ 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 f2163d46..5408fa46 100644
--- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c
+++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
   [_NUMBER]     = SWOOP(LAYER_NUMBER),
   [_SYMBOL]     = SWOOP(LAYER_SYMBOL),
-  [_MOUSE]      = SWOOP(LAYER_MOUSE),
+  [_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC),
   [_CONFIG]     = SWOOP(LAYER_CONFIG)
 
 };
@@ -58,7 +58,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
   [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN),  ENCODER_CCW_CW(___x___, ___x___)  },
   [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)  },
   [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___)  },
-  [_MOUSE]      = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
   [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD)  }
 
 };
diff --git a/keyboards/crkbd/keymaps/t4corun/keymap.c b/keyboards/crkbd/keymaps/t4corun/keymap.c
index 833281aa..7f4d19c6 100644
--- a/keyboards/crkbd/keymaps/t4corun/keymap.c
+++ b/keyboards/crkbd/keymaps/t4corun/keymap.c
@@ -40,6 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = CRKBD(LAYER_NAVIGATION),
   [_NUMBER]     = CRKBD(LAYER_NUMBER),
   [_SYMBOL]     = CRKBD(LAYER_SYMBOL),
+  [_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC),
   [_CONFIG]     = CRKBD(LAYER_CONFIG)
 
 };
\ No newline at end of file
diff --git a/keyboards/klor/keymaps/t4corun/keymap.c b/keyboards/klor/keymaps/t4corun/keymap.c
index 11db598d..9e332279 100644
--- a/keyboards/klor/keymaps/t4corun/keymap.c
+++ b/keyboards/klor/keymaps/t4corun/keymap.c
@@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = KLOR(LAYER_NAVIGATION),
   [_NUMBER]     = KLOR(LAYER_NUMBER),
   [_SYMBOL]     = KLOR(LAYER_SYMBOL),
+  [_MOUSE_FUNC] = KLOR(LAYER_MOUSE_FUNC),
   [_CONFIG]     = KLOR(LAYER_CONFIG)
 
 };
@@ -40,6 +41,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
   [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN),  ENCODER_CCW_CW(___x___, ___x___)  },
   [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)  },
   [_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(KC_VOLD, KC_VOLU)  },
   [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD)  }
 
 };
diff --git a/keyboards/planck/keymaps/t4corun/keymap.c b/keyboards/planck/keymaps/t4corun/keymap.c
index 173f6c08..9f9574f9 100644
--- a/keyboards/planck/keymaps/t4corun/keymap.c
+++ b/keyboards/planck/keymaps/t4corun/keymap.c
@@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [_NAVIGATION] = PLANCK(LAYER_NAVIGATION),
   [_NUMBER]     = PLANCK(LAYER_NUMBER),
   [_SYMBOL]     = PLANCK(LAYER_SYMBOL),
+  [_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC),
   [_CONFIG]     = PLANCK(LAYER_CONFIG)
 
 };
\ No newline at end of file
diff --git a/keymap-drawer.yml b/keymap-drawer.yml
index 43efddf5..807ffbcc 100644
--- a/keymap-drawer.yml
+++ b/keymap-drawer.yml
@@ -5,7 +5,7 @@ layers:
   base_QWERTY:
     - [Q, W, E, R, T, Y, U, I ,O, P]
     - [A, S, D, F, G, H, J, K ,L, {h: "\"", t: "'"}]
-    - [Z, X, C, V, B, N, M, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
+    - [{h: "MOUSE", t: "Z"}, X, C, V, B, N, M, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
     - {type: ghost}
     - NUM
     - Shift
@@ -15,7 +15,7 @@ layers:
   base_COLEMAK_DH:
     - [Q, W, F, P, B, J, L, U ,Y, {h: "\"", t: "'"}]
     - [A, R, S, T, G, M, N, E ,I, O]
-    - [Z, X, C, D, V, K, H, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
+    - [{h: "MOUSE", t: "Z"}, X, C, D, V, K, H, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
     - {type: ghost}
     - NUM
     - Shift
@@ -33,9 +33,9 @@ layers:
     - NAV
     - {t: Mute, type: ghost}
   NAV:
-    - [Esc, Home, ▲, End, Page Up, null, null, null, null, CONFIG ]
+    - [Esc, Home, ▲, End, Page Up, null, null, null, Caps Lock, CONFIG ]
     - [null, ◄, ▼, ►, Page Down, null, Shift, Ctrl, Alt, Gui ]
-    - [Undo, Cut, Copy, Paste, Redo, null, App, Sniper Toggle, Sniper DPI, Pointer DPI ]
+    - [Undo, Cut, Copy, Paste, Redo, null, App, Vol -, Vol +, Mute ]
     - {t: Zoom Reset, type: ghost}
     - NUM
     - Ent
@@ -43,7 +43,7 @@ layers:
     - {type: held}
     - {type: ghost}
   NUM:
-    - [Esc, Mouse 3, Mouse 2, Mouse 1, {h: "~", t: "`"}, null, "7", "8" ,"9", {s: "<", t: ","} ]
+    - [Esc, Win Snip, File Explorer, null, {h: "~", t: "`"}, null, "7", "8" ,"9", {s: "<", t: ","} ]
     - [Gui, Alt, Ctrl, Shift, {h: ":", t: ";"}, "0", "4", "5" ,"6", {s: ">", t: "."}]
     - [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {s: "_", t: "-"}]
     - {type: ghost}
@@ -53,34 +53,40 @@ layers:
     - NAV
     - {t: Mute, type: ghost}
   SYM:
-    - [null, null, "&", {h: "%", t: "^"}, {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
-    - [Caps Lock, {h: "{}", t: "{"}, "}", "!", {h: ":", t: ";"}, "@", "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
-    - [null, {h: "<>", t: "<"}, ">", {h: "\\\\", t: "\\"}, {h: "||", t: "|"}, "$", {h: "//", t: "/"}, {h: "()", t: "("}, ")", {h: "_", t: "-"}]
+    - [null, null, "@", "$", {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
+    - [null, {h: "{}", t: "{"}, "}", "!", {h: ":", t: ";"}, "&", "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
+    - [null, {h: "<>", t: "<"}, ">", {h: "\\\\", t: "\\"}, {h: "||", t: "|"}, {h: "%", t: "^"}, {h: "//", t: "/"}, {h: "()", t: "("}, ")", {h: "_", t: "-"}]
     - {type: ghost}
     - {type: held}
     - null
     - null
     - {type: held}
     - {type: ghost}
+  MOUSE_FUNCTION:
+    - [null, Prev Song, Next Song, Play Pause, Null, null, F7, F8 ,F9, F10]
+    - [Gui, Alt, Ctrl, Shift, Drag Scroll, null, F4, F5 ,F6, F11]
+    - [{type: held}, Mouse 5, Mouse 4, Mouse 3, Sniper, null, F1, F2 ,F3, F12]
+    - {type: ghost}
+    - "Mouse 1"
+    - "Mouse 2"
+    - "Pointer DPI"
+    - "Sniper DPI"
+    - {t: Mute, type: ghost}
   CONFIG:
-    - [null, null, null, null, null, null, null, EEPROM Clear, Boot Loader, {type: held}]
-    - [null, null, null, null, null, null, Shift, null, null, RGB Mode]
-    - [Mute, Vol-, Vol+, Next Song, Play Pause, RGB Toggle, RGB Hue, RGB Sat, RGB Vib, RGB Spd]
+    - [Haptic Reset, Haptic Strength+, Haptic Waveform+, Haptic Feedback Toggle, Haptic Toggle, null, Nano Reboot, EEPROM Clear, Boot Loader, {type: held}]
+    - [Audio Click Reset, Audio Click+, Audio Click Toggle, null, Audio Toggle, null, Shift, null, null, Base Layer]
+    - [null, null, null, null, RGB Toggle, RGB Mode, RGB Hue, RGB Sat, RGB Vib, RGB Spd]
     - {t: Base Layer, type: ghost}
-    - null
-    - null
-    - Macro Play
-    - Macro Rec
+    - Macro Rec 1
+    - Macro Play 1
+    - Macro Play 2
+    - Macro Rec 2
     - {t: RGB Toggle, type: ghost}
 combos:
-  - { p: [12, 13], k: MB1, l: [base_QWERTY] }
-  - { p: [11, 12], k: MB2, l: [base_QWERTY] }
-  - { p: [13, 14], k: MB3, l: [base_QWERTY] }
-  - { p: [3, 13], k: MB4, l: [base_QWERTY] }
-  - { p: [4, 14], k: MB5, l: [base_QWERTY] }
-  - { p: [21, 22], k: DrgScr Tog, l: [base_QWERTY] }
-  - { p: [6, 7], k: Tab, l: [base_QWERTY] }
-  - { p: [22, 23], k: Enter, l: [base_QWERTY] }
+  - { p: [22, 23], k: MB1, l: [base_QWERTY] }
+  - { p: [21, 23], k: DrgScr Tog, l: [base_QWERTY] }
+  - { p: [16, 17], k: Tab, l: [base_QWERTY] }
+  - { p: [12, 13], k: Enter, l: [base_QWERTY] }
   - { p: [26, 27], k: Bksp, l: [base_QWERTY] }
 draw_config:
   small_pad: 6
\ No newline at end of file
diff --git a/my_keymap.png b/my_keymap.png
index 2ac4d964..9b0ce912 100644
Binary files a/my_keymap.png and b/my_keymap.png differ
diff --git a/qmk.json b/qmk.json
index 2425e319..62a761db 100644
--- a/qmk.json
+++ b/qmk.json
@@ -2,7 +2,6 @@
     "userspace_version": "1.0",
     "build_targets": [
 
-		["crkbd/rev1", "t4corun"],
 		["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"],
 		["planck/rev6", "t4corun"],
 		["bluebell/swoop", "t4corun"],
diff --git a/users/t4corun/config.h b/users/t4corun/config.h
index 205b6647..d3fb0e40 100644
--- a/users/t4corun/config.h
+++ b/users/t4corun/config.h
@@ -130,6 +130,8 @@
 *  https://docs.qmk.fm/features/rgb_matrix
 */
 #if defined(RGB_MATRIX_ENABLE)
+#  undef  RGB_MATRIX_DEFAULT_VAL
+
 #  define RGB_MATRIX_SLEEP
 #  define RGB_MATRIX_TIMEOUT 60000 //1 min
 
diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c
index 2ceb540d..d4501d7a 100644
--- a/users/t4corun/features/combo.c
+++ b/users/t4corun/features/combo.c
@@ -2,47 +2,35 @@
 
 
 bool get_combo_must_tap(uint16_t index, combo_t *combo) {
-
   switch (index) {
-
-//  case MOUSE_BUTTON3:
-//  case MOUSE_BUTTON4:
-//  case MOUSE_BUTTON5:
-//  case MOUSE_DRGTOG:
-
     case KEY_ENT:
     case KEY_TAB:
       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) {
   // disable all combos on config layer
   if ( get_highest_layer(layer_state | default_layer_state) == _CONFIG ) return false;
 
   switch (combo_index) {
-
-
-//  case MOUSE_BUTTON1:
-//  case MOUSE_BUTTON2:
-//  case MOUSE_BUTTON3:
-//  case MOUSE_BUTTON4:
-//  case MOUSE_BUTTON5:
+    case MOUSE_BUTTON1:
+      if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
+        return false;
+      }
 
     case MOUSE_DRGTOG:
       if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER ) 
-        && ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
+       && ( get_highest_layer(layer_state | default_layer_state) != _MOUSE_FUNC )) {
           return false;
-        }
+      }
 
     default:
       return true;
   }
-
 }
\ No newline at end of file
diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h
index 8cd1e915..6ec5b7e4 100644
--- a/users/t4corun/features/combo.h
+++ b/users/t4corun/features/combo.h
@@ -2,25 +2,16 @@
 #include "t4corun.h"
 
 
-//const uint16_t PROGMEM mou_btn1_combo[] = { KC_D,    KC_F,    COMBO_END };
-//const uint16_t PROGMEM mou_btn2_combo[] = { KC_S,    KC_D,    COMBO_END };
-//const uint16_t PROGMEM mou_btn3_combo[] = { KC_F,    KC_G,    COMBO_END };
-//const uint16_t PROGMEM mou_btn4_combo[] = { KC_F,    KC_R,    COMBO_END };
-//const uint16_t PROGMEM mou_btn5_combo[] = { KC_T,    KC_G,    COMBO_END };
+const uint16_t PROGMEM mou_btn1_combo[] = { KC_C,    KC_V,    COMBO_END };
 const uint16_t PROGMEM mou_drg_combo[]  = { KC_X,    KC_V,    COMBO_END };
 
-
-const uint16_t PROGMEM key_ent_combo[]  = { KC_C,    KC_V,    COMBO_END };
+const uint16_t PROGMEM key_ent_combo[]  = { KC_D,    KC_F,    COMBO_END };
 const uint16_t PROGMEM key_bspc_combo[] = { KC_M,    TR_COMM, COMBO_END };
 const uint16_t PROGMEM key_tab_combo[]  = { KC_J,    KC_K,    COMBO_END };
 
 
 enum combos {
-//  MOUSE_BUTTON1,
-//  MOUSE_BUTTON2,
-//  MOUSE_BUTTON3,
-//  MOUSE_BUTTON4,
-//  MOUSE_BUTTON5,
+  MOUSE_BUTTON1,
   MOUSE_DRGTOG,
   KEY_ENT,
   KEY_BSPC,
@@ -28,17 +19,11 @@ enum combos {
   COMBO_LENGTH
 };
 
-
 //their documentation is so confusing because you don't use COMBO_LEN defining the actions
 uint16_t COMBO_LEN = COMBO_LENGTH;
 
-
 combo_t key_combos[COMBO_LENGTH] = {
-//  [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
-//  [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
-//  [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3),
-//  [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4),
-//  [MOUSE_BUTTON5] = COMBO(mou_btn5_combo, KC_BTN5),
+  [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
   [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS),
   [KEY_ENT]      = COMBO(key_ent_combo,  KC_ENT),
   [KEY_BSPC]     = COMBO(key_bspc_combo, KC_BSPC),
diff --git a/users/t4corun/features/keyoverride.c b/users/t4corun/features/keyoverride.c
index 6c937bd4..1caa14c9 100644
--- a/users/t4corun/features/keyoverride.c
+++ b/users/t4corun/features/keyoverride.c
@@ -14,21 +14,6 @@ Intentionally did not convert all the override/autoshit tap holds to this format
 
 const key_override_t delete_override     = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL);
 
-const key_override_t media_next_override = ko_make_with_layers(MOD_MASK_SHIFT, KC_MNXT, KC_MPRV, 1<<_NAVIGATION);
-
-const key_override_t f1_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_1,    KC_F1,   1<<_NUMBER);
-const key_override_t f2_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_2,    KC_F2,   1<<_NUMBER);
-const key_override_t f3_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_3,    KC_F3,   1<<_NUMBER);
-const key_override_t f4_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_4,    KC_F4,   1<<_NUMBER);
-const key_override_t f5_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_5,    KC_F5,   1<<_NUMBER);
-const key_override_t f6_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_6,    KC_F6,   1<<_NUMBER);
-const key_override_t f7_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_7,    KC_F7,   1<<_NUMBER);
-const key_override_t f8_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_8,    KC_F8,   1<<_NUMBER);
-const key_override_t f9_override         = ko_make_with_layers(MOD_MASK_CSA,   KC_9,    KC_F9,   1<<_NUMBER);
-const key_override_t f10_override        = ko_make_with_layers(MOD_MASK_CSA,   KC_COMM, KC_F10,  1<<_NUMBER);
-const key_override_t f11_override        = ko_make_with_layers(MOD_MASK_CSA,   KC_DOT,  KC_F11,  1<<_NUMBER);
-const key_override_t f12_override        = ko_make_with_layers(MOD_MASK_CSA,   KC_MINS, KC_F12,  1<<_NUMBER);
-
 #if defined(HAPTIC_ENABLE)
 const key_override_t hfnext_override     = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG);
 const key_override_t hfconu_override     = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG);
@@ -41,19 +26,6 @@ const key_override_t ckup_override       = ko_make_with_layers(MOD_MASK_SHIFT, C
 const key_override_t **key_overrides = (const key_override_t *[]) {
 
   &delete_override,
-  &media_next_override,
-  &f1_override,
-  &f2_override,
-  &f3_override,
-  &f4_override,
-  &f5_override,
-  &f6_override,
-  &f7_override,
-  &f8_override,
-  &f9_override,
-  &f10_override,
-  &f11_override,
-  &f12_override,
 
 #if defined(HAPTIC_ENABLE)
   &hfnext_override,
diff --git a/users/t4corun/features/oled.c b/users/t4corun/features/oled.c
index 2894e178..638e7ee1 100644
--- a/users/t4corun/features/oled.c
+++ b/users/t4corun/features/oled.c
@@ -42,7 +42,7 @@ void render_layer_state(uint8_t col, uint8_t line, bool moveCursor) {
     case _SYMBOL:
       oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
       break;
-    case _MOUSE:
+    case _MOUSE_FUNC:
       oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
       break;
     case _CONFIG:
@@ -65,7 +65,7 @@ void render_layer_state_list(uint8_t col, uint8_t line, bool moveCursor) {
   oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
   oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
   oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
-  oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE);
+  oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE_FUNC);
   oled_write_P(PSTR(OLED_RENDER_LAYER_6), get_highest_layer(layer_state) == _CONFIG);
 }
 
diff --git a/users/t4corun/features/oled.h b/users/t4corun/features/oled.h
index 93b01563..4c19c468 100644
--- a/users/t4corun/features/oled.h
+++ b/users/t4corun/features/oled.h
@@ -11,7 +11,7 @@
 #   define OLED_RENDER_LAYER_2           "Navigation"
 #   define OLED_RENDER_LAYER_3           "Number    "
 #   define OLED_RENDER_LAYER_4           "Symbol    "
-#   define OLED_RENDER_LAYER_5           "Mouse    "
+#   define OLED_RENDER_LAYER_5           "Mouse+Func"
 #   define OLED_RENDER_LAYER_6           "Config    "
 #else
 //128x32 are ? x 5 char wide
@@ -23,7 +23,7 @@
 #   define OLED_RENDER_LAYER_2           " Nav "
 #   define OLED_RENDER_LAYER_3           " Num "
 #   define OLED_RENDER_LAYER_4           " Sym "
-#   define OLED_RENDER_LAYER_5           " Mou "
+#   define OLED_RENDER_LAYER_5           " MFn "
 #   define OLED_RENDER_LAYER_6           " Cfg "
 #endif
 
diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h
index ad41365c..7454ba11 100644
--- a/users/t4corun/t4corun.h
+++ b/users/t4corun/t4corun.h
@@ -15,7 +15,7 @@ enum layers {
   _NAVIGATION,
   _NUMBER,
   _SYMBOL,
-  _MOUSE,
+  _MOUSE_FUNC,
   _CONFIG
 };
 
@@ -56,24 +56,24 @@ enum keycodes {
 #define ___x___ KC_NO
 
 // layer changes
-#define NAV      MO(_NAVIGATION)
-#define NUM      MO(_NUMBER)
-#define MOUSE    TG(_MOUSE)
-#define CONFIG   MO(_CONFIG)
+#define NAV     MO(_NAVIGATION)
+#define NUM     MO(_NUMBER)
+#define MF_Z    LT(_MOUSE_FUNC, KC_Z)
+#define CONFIG  MO(_CONFIG)
 
 // Windows Shortcuts
-#define SC_COPY    LCTL(KC_C)
-#define SC_CUT     LCTL(KC_X)
-#define SC_UNDO    LCTL(KC_Z)
-#define SC_PAST    LCTL(KC_V)
-#define SC_REDO    LCTL(KC_Y)
-#define SC_SNIP    LGUI(LSFT(KC_S))
-#define SC_FILE    LGUI(KC_E)
+#define SC_COPY LCTL(KC_C)
+#define SC_CUT  LCTL(KC_X)
+#define SC_UNDO LCTL(KC_Z)
+#define SC_PAST LCTL(KC_V)
+#define SC_REDO LCTL(KC_Y)
+#define SC_SNIP LGUI(LSFT(KC_S))
+#define SC_FILE LGUI(KC_E)
 
 // Zoom for encoders
-#define ZOOMIN     LCTL(KC_WH_U)
-#define ZOOMOUT    LCTL(KC_WH_D)
-#define ZOOMRST    LCTL(KC_0)
+#define ZOOMIN  LCTL(KC_WH_U)
+#define ZOOMOUT LCTL(KC_WH_D)
+#define ZOOMRST LCTL(KC_0)
 
 /*
 - Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
@@ -90,29 +90,29 @@ enum keycodes {
 
 // tap hoLd. These will be intercepted and overridden. The LT will be ignored
 // Brackets: open and close brackets and put the cursor inside
-#define TR_LCBR  LT(FIRST_DEFAULT_LAYER, TH_LCBR)
-#define TR_LABK  LT(FIRST_DEFAULT_LAYER, TH_LABK)
-#define TR_LBRC  LT(FIRST_DEFAULT_LAYER, TH_LBRC)
-#define TR_LPRN  LT(FIRST_DEFAULT_LAYER, TH_LPRN)
-#define TR_DQUO  LT(FIRST_DEFAULT_LAYER, TH_DQUO)
-#define TR_SQUO  LT(FIRST_DEFAULT_LAYER, TH_SQUO)
+#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
+#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
+#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
+#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
+#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
+#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
 
 // double tap
-#define TR_BSLS  LT(FIRST_DEFAULT_LAYER, TH_BSLS)
-#define TR_SLSH  LT(FIRST_DEFAULT_LAYER, TH_SLSH)
-#define TR_PIPE  LT(FIRST_DEFAULT_LAYER, TH_PIPE)
+#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
+#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
+#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
 
 // Custom override without holding shift
-#define TR_COMM  LT(FIRST_DEFAULT_LAYER, TH_COMM)
-#define TR_DOT   LT(FIRST_DEFAULT_LAYER, TH_DOT)
-#define TR_PERC  LT(FIRST_DEFAULT_LAYER, TH_PERC)
+#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
+#define TR_DOT  LT(FIRST_DEFAULT_LAYER, TH_DOT)
+#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
 
 // auto shift
-#define TR_EQL   LT(FIRST_DEFAULT_LAYER, TH_EQL)
-#define TR_MINS  LT(FIRST_DEFAULT_LAYER, TH_MINS)
-#define TR_GRV   LT(FIRST_DEFAULT_LAYER, TH_GRV)
-#define TR_SCLN  LT(FIRST_DEFAULT_LAYER, TH_SCLN)
-#define TR_QUOT  LT(FIRST_DEFAULT_LAYER, TH_QUOT)
+#define TR_EQL  LT(FIRST_DEFAULT_LAYER, TH_EQL)
+#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
+#define TR_GRV  LT(FIRST_DEFAULT_LAYER, TH_GRV)
+#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
+#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
 
 
 #if defined(KEYBOARD_bastardkb_charybdis_3x5)
@@ -201,14 +201,14 @@ enum keycodes {
 #define LAYER_QWERTY                                                                        \
   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, \
-  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    TR_COMM, TR_DOT,  TR_MINS, \
+  MF_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    TR_COMM, TR_DOT,  TR_MINS, \
                     _BASE_L4_________________, _BASE_R4_________________
 
 
 #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_A,    KC_R,    KC_S,    KC_T,    KC_G,    KC_M,    KC_N,    KC_E,    KC_I,    KC_O,    \
-  KC_Z,    KC_X,    KC_C,    KC_D,    KC_V,    KC_K,    KC_H,    TR_COMM, TR_DOT,  TR_MINS, \
+  MF_Z,    KC_X,    KC_C,    KC_D,    KC_V,    KC_K,    KC_H,    TR_COMM, TR_DOT,  TR_MINS, \
                     _BASE_L4_________________, _BASE_R4_________________
 
 
@@ -220,14 +220,14 @@ enum keycodes {
 
 
 #define LAYER_NAVIGATION                                                                    \
-  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, ___x___, SC_FILE, SC_SNIP, CONFIG,  \
-  KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
-  _UCCPR_L___________________________________, ___x___, KC_APP,  ___x___, ___x___, ___x___, \
+  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, ___x___, ___x___, KC_CAPS, CONFIG,  \
+  ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
+  _UCCPR_L___________________________________, ___x___, KC_APP,  KC_VOLD, KC_VOLU, KC_MUTE, \
                     ZOOMRST, NUM,     KC_ENT,  _LAYER_TRANS_____________
 
 
 #define LAYER_NUMBER                                                                        \
-  KC_ESC,  ___x___, ___x___, MOUSE,   TR_GRV,  ___x___, KC_7,    KC_8,    KC_9,    KC_COMM, \
+  KC_ESC,  SC_SNIP, SC_FILE, ___x___, TR_GRV,  ___x___, KC_7,    KC_8,    KC_9,    KC_COMM, \
   _GACS_MODS________________________, TR_SCLN, KC_0,    KC_4,    KC_5,    KC_6,    KC_DOT,  \
   _UCCPR_L___________________________________, ___x___, KC_1,    KC_2,    KC_3,    KC_MINS, \
                     _LAYER_TRANS_____________, _BASE_R4_________________
@@ -240,15 +240,15 @@ enum keycodes {
                     _LAYER_TRANS_____________, _LAYER_TRANS_____________
 
 
-#define LAYER_MOUSE                                                                         \
-  ___x___, KC_BTN5, KC_BTN4, KC_BTN3, TR_PDPI, ___x___, ___x___, ___x___, ___x___, ___x___, \
-  _GACS_MODS________________________, TR_DRGS, ___x___, ___x___, ___x___, ___x___, ___x___, \
-  _UCCPR_L___________________________________, ___x___, ___x___, TR_SNIP, TR_SDPI, ___x___, \
-                    ___x___, KC_BTN1, KC_BTN2, ___x___, MOUSE,   ___x___
+#define LAYER_MOUSE_FUNC                                                                    \
+  ___x___, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7,   KC_F8,   KC_F9,   KC_F10,  \
+  _GACS_MODS________________________, TR_DRGS, ___x___, KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
+  _______, KC_BTN5, KC_BTN4, KC_BTN3, TR_SNIP, ___x___, KC_F1,   KC_F2,   KC_F3,   KC_F12,  \
+                    ___x___, KC_BTN1, KC_BTN2, TR_PDPI, TR_SDPI, ___x___
 
 
 #define LAYER_CONFIG                                                                        \
   TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR,  QK_BOOT, _______, \
-  TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \
-  KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
-                    BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG
+  TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, BASELYR, \
+  ___x___, ___x___, ___x___, ___x___, TR_RTOG, TR_RMOD, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
+                    BASELYR, TR_DMR1, TR_DMP1, TR_DMP2, TR_DMR2, TR_RTOG