summary refs log tree commit diff
path: root/keyboards/rgbkb
diff options
context:
space:
mode:
authorjack <0x6A73@pm.me>2023-06-19 09:46:27 -0600
committerGitHub <noreply@github.com>2023-06-19 09:46:27 -0600
commitc4a67d3f3302f3096bb6b15921c9587643164ba9 (patch)
treebf10e469333ba42b708e76cfc085eb450d92359e /keyboards/rgbkb
parent74fbd5a0313769655914166bc872d41461509bd3 (diff)
Remove encoder in-matrix workaround code (#20389)
Diffstat (limited to 'keyboards/rgbkb')
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/keymap.c18
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/rules.mk1
-rw-r--r--keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c53
-rw-r--r--keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk1
-rw-r--r--keyboards/rgbkb/mun/keymaps/via/keymap.c18
-rw-r--r--keyboards/rgbkb/mun/keymaps/via/rules.mk3
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c17
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk4
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json10
-rw-r--r--keyboards/rgbkb/mun/rev1/rev1.c33
-rw-r--r--keyboards/rgbkb/sol3/keymaps/default/keymap.c17
-rw-r--r--keyboards/rgbkb/sol3/keymaps/default/rules.mk1
-rw-r--r--keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c10
-rw-r--r--keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk1
-rw-r--r--keyboards/rgbkb/sol3/keymaps/via/keymap.c20
-rw-r--r--keyboards/rgbkb/sol3/keymaps/via/rules.mk1
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json14
-rw-r--r--keyboards/rgbkb/sol3/rev1/rev1.c32
18 files changed, 95 insertions, 159 deletions
diff --git a/keyboards/rgbkb/mun/keymaps/default/keymap.c b/keyboards/rgbkb/mun/keymaps/default/keymap.c
index a1b9dcfe46..3173b9836f 100644
--- a/keyboards/rgbkb/mun/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/default/keymap.c
@@ -66,9 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
      * | Ctrl   | Win    | Alt    | RGBTOG | Adjust | Space  | Bksp   |  | Enter  | Space  | Left   | Down   | Up     | Right  | Ctrl   |
      * '--------+--------+--------+--------+--------+--------+--------'  '--------+--------+--------+--------+--------+--------+--------'
-     *      Encoder 1         Encoder 2                                                                  Encoder 3         Encoder 4
-     * .-----------------------------------.                                                        .-----------------------------------.
-     * | VolUp  | VolDn  | VolUp  | VolDn  |                                                        | PgUp   | PgDn   | PgUp   | PgDn   |
      * |--------+--------+--------+--------+--------.                                      .--------+--------+--------+--------+--------|
      * | VolDn  | VolUp  | Next   | Play   | Prev   | Touch Encoder          Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
      * '--------+--------+--------+--------+--------'                                      '--------+--------+--------+--------+--------'
@@ -80,7 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LCBR,   KC_RCBR,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_SENT,
         KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST,  KC_SPC,  KC_DEL,    KC_ENT,    KC_SPC,  KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT,KC_RCTL,
 
-        KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD,                                                          KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP,
         KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV,                                        RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
     ),
 
@@ -91,7 +87,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    _______, _______, KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -102,7 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_F4,   KC_F8,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, KC_NO,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -113,7 +107,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, TCH_TOG, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -124,7 +117,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1,   KC_P2,   KC_P3,   _______, GAME,
         _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0,   KC_PDOT, KC_NUM,  QWERTY, COLEMAK,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -135,7 +127,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -146,7 +137,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -157,7 +147,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 };
@@ -251,3 +240,10 @@ bool oled_task_user(void) {
 oled_rotation_t oled_init_user(oled_rotation_t rotation) {
     return OLED_ROTATION_270;
 }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] =       { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/mun/keymaps/default/rules.mk b/keyboards/rgbkb/mun/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
index 8767edbb57..1b2bb9a95a 100644
--- a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c
@@ -42,40 +42,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * '--------+--------+--------+--------+--------'                                      '--------+--------+--------+--------+--------'
      */
     [_BASE] = LAYOUT(
-			KC_ESC,  KC_1,    KC_2,    KC_3,  KC_4, 	KC_5,     KC_GRV, 		KC_EQL,   KC_6,     KC_7,    KC_8,    KC_9,   KC_0,    KC_MINS, 
-			KC_TAB,  KC_Q,    KC_W,    KC_E,  KC_R, 	KC_T,     KC_LBRC,  	KC_RBRC,  KC_Y,     KC_U,    KC_I,    KC_O,   KC_P,    KC_BSLS, 
+			KC_ESC,  KC_1,    KC_2,    KC_3,  KC_4, 	KC_5,     KC_GRV, 		KC_EQL,   KC_6,     KC_7,    KC_8,    KC_9,   KC_0,    KC_MINS,
+			KC_TAB,  KC_Q,    KC_W,    KC_E,  KC_R, 	KC_T,     KC_LBRC,  	KC_RBRC,  KC_Y,     KC_U,    KC_I,    KC_O,   KC_P,    KC_BSLS,
 			KC_LCTL, KC_A,    KC_S,    KC_D,  KC_F, 	KC_G,     KC_HOME,  	KC_END,   KC_H,     KC_J,    KC_K,    KC_L,   KC_SCLN, KC_QUOT,
-			SC_LSPO, KC_Z,    KC_X,    KC_C,  KC_V,     KC_B,     KC_MPLY,  	KC_MUTE,  KC_N,     KC_M,    KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, 
-			KC_LCTL, KC_LGUI, KC_LALT, MO(3), DEL_FUNC, SPC_LHND, SPC_LHND, 	BSP_FUNC, BSP_FUNC, KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT, KC_RCTL, 
+			SC_LSPO, KC_Z,    KC_X,    KC_C,  KC_V,     KC_B,     KC_MPLY,  	KC_MUTE,  KC_N,     KC_M,    KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
+			KC_LCTL, KC_LGUI, KC_LALT, MO(3), DEL_FUNC, SPC_LHND, SPC_LHND, 	BSP_FUNC, BSP_FUNC, KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT, KC_RCTL,
 			// Here we have the encoder setup. Encoder 0 clockwise, Encoder 0 counter-clockwise, Encoder 1 clockwise, Encoder 1 counter-clockwise , then right side
-			KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD, RGB_TOG, RGB_MOD
+			KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD, RGB_TOG, RGB_MOD
 			),
     [_LHAND] = LAYOUT(
-			QK_BOOT,  KC_F1,  KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F11,		KC_F12,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_TRNS, 
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,   KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, 
+			QK_BOOT,  KC_F1,  KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F11,		KC_F12,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_TRNS,
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,   KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
 			KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_PGUP, 		KC_PGDN, KC_TRNS, KC_TRNS, KC_INS,  KC_HOME, KC_PGUP, KC_TRNS,
-			KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT,  KC_BSPC, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,  KC_END,  KC_PGDN, KC_RSFT, 
+			KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT,  KC_BSPC, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,  KC_END,  KC_PGDN, KC_RSFT,
 			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  KC_TRNS,
 			// Encoders.
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
 			),
     [_FUNC] = LAYOUT(
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, QK_BOOT, 
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, QK_BOOT,
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 			// Encoders.
-			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+			KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
 			),
 	// Placeholder layer!
 	[3] = LAYOUT(
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 		KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 			// Encoders.
-			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+			KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
 			)
-};
\ No newline at end of file
+};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+    [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+    [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk b/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/keymaps/via/keymap.c b/keyboards/rgbkb/mun/keymaps/via/keymap.c
index a1b9dcfe46..3173b9836f 100644
--- a/keyboards/rgbkb/mun/keymaps/via/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/via/keymap.c
@@ -66,9 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
      * | Ctrl   | Win    | Alt    | RGBTOG | Adjust | Space  | Bksp   |  | Enter  | Space  | Left   | Down   | Up     | Right  | Ctrl   |
      * '--------+--------+--------+--------+--------+--------+--------'  '--------+--------+--------+--------+--------+--------+--------'
-     *      Encoder 1         Encoder 2                                                                  Encoder 3         Encoder 4
-     * .-----------------------------------.                                                        .-----------------------------------.
-     * | VolUp  | VolDn  | VolUp  | VolDn  |                                                        | PgUp   | PgDn   | PgUp   | PgDn   |
      * |--------+--------+--------+--------+--------.                                      .--------+--------+--------+--------+--------|
      * | VolDn  | VolUp  | Next   | Play   | Prev   | Touch Encoder          Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
      * '--------+--------+--------+--------+--------'                                      '--------+--------+--------+--------+--------'
@@ -80,7 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LCBR,   KC_RCBR,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_SENT,
         KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST,  KC_SPC,  KC_DEL,    KC_ENT,    KC_SPC,  KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT,KC_RCTL,
 
-        KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD,                                                          KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP,
         KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV,                                        RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
     ),
 
@@ -91,7 +87,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    _______, _______, KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -102,7 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_F4,   KC_F8,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, KC_NO,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -113,7 +107,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, TCH_TOG, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -124,7 +117,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1,   KC_P2,   KC_P3,   _______, GAME,
         _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0,   KC_PDOT, KC_NUM,  QWERTY, COLEMAK,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -135,7 +127,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -146,7 +137,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 
@@ -157,7 +147,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______,                                                       _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______
     ),
 };
@@ -251,3 +240,10 @@ bool oled_task_user(void) {
 oled_rotation_t oled_init_user(oled_rotation_t rotation) {
     return OLED_ROTATION_270;
 }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] =       { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/mun/keymaps/via/rules.mk b/keyboards/rgbkb/mun/keymaps/via/rules.mk
index 40bded3991..74b4513b04 100644
--- a/keyboards/rgbkb/mun/keymaps/via/rules.mk
+++ b/keyboards/rgbkb/mun/keymaps/via/rules.mk
@@ -1 +1,2 @@
-VIA_ENABLE=yes
\ No newline at end of file
+VIA_ENABLE=yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
index 960cc9266d..8180f3daa5 100644
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
@@ -46,9 +46,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
      * | Ctrl-  | Win    | Alt    | Del    | Space  |        | ADJ    |  | FN     |        | Space  | '"     | Alt    | App    | Ctrl=  |
      * '--------+--------+--------+--------|--------+--------+--------'  '--------+--------+--------+--------+--------+--------+--------'
-     *      Encoder 1         Encoder 2                                                                  Encoder 3         Encoder 4
-     * .-----------------------------------.                                                        .-----------------------------------.
-     * | VolUp  | VolDn  | VolUp  | VolDn  |                                                        | PgUp   | PgDn   | PgUp   | PgDn   |
      * |--------+--------+--------+--------+--------.                                      .--------+--------+--------+--------+--------|
      * | VolDn  | VolUp  | Next   | Play   | Prev   | Touch Encoder          Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
      * '--------+--------+--------+--------+--------'                                      '--------+--------+--------+--------+--------'
@@ -60,7 +57,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         SC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LCBR,    KC_RCBR, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_RSPC,
         SC_LCPO, KC_LGUI, KC_LALT, KC_DEL,  KC_SPC,  KC_NO,   ADJ,        FN,      KC_NO,   KC_SPC,  KC_QUOTE,KC_RALT, KC_APP,  SC_RCPC,
 
-        KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD,                                                          MENU_DN, MENU_UP, MENU_DN, MENU_UP,
         KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV,                                        RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
     ),
 
@@ -76,9 +72,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
      * |        |        |        |        |        |        |        |  |        |        | Play   | Prev   | Next   | VolUp  | VolDn  |
      * '--------+--------+--------+--------+--------+--------+--------'  '--------+--------+--------+--------+--------+--------+--------'
-     *      Encoder 1         Encoder 2                                                                  Encoder 3         Encoder 4
-     * .-----------------------------------.                                                        .-----------------------------------.
-     * |        |        |        |        |                                                        |        |        |        |        |
      * |--------+--------+--------+--------+--------.                                      .--------+--------+--------+--------+--------|
      * |        |        |        |        |        | Touch Encoder          Touch Encoder |        |        |        |        |        |
      * '--------+--------+--------+--------+--------'                                      '--------+--------+--------+--------+--------'
@@ -90,7 +83,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, RGB_RST, _______, _______, _______, RGB_TOG, _______,    _______, _______, _______, KC_DEL,  KC_END,  KC_PGDN, _______,
         _______, _______, _______, _______, _______, _______, _______,    _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
 
-        _______, _______, _______, _______,                                                          _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                        _______, _______, _______, _______, _______
     ),
 
@@ -120,7 +112,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, EE_CLR,  _______,    _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
         _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______, KC_KP_0, KC_PDOT, KC_PENT, _______,
 
-        _______, _______, _______, _______,                                                          _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                        _______, _______, _______, _______, _______
     )
 };
@@ -247,3 +238,11 @@ bool oled_task_user(void) {
 oled_rotation_t oled_init_user(oled_rotation_t rotation) {
     return OLED_ROTATION_270;
 }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MENU_DN, MENU_UP), ENCODER_CCW_CW(MENU_DN, MENU_UP) },
+    [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+    [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
index a087f669da..e6b71e56d1 100644
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
@@ -1,3 +1,5 @@
 MOUSEKEY_ENABLE = yes	# using for mouse wheel up and down, more granular than page up/down
 
-OPT_DEFS += -DRGB_UNLIMITED_POWER
\ No newline at end of file
+OPT_DEFS += -DRGB_UNLIMITED_POWER
+
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
index 865ff816e5..16d18f4d22 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -118,16 +118,6 @@
                 {"matrix": [11, 1], "x": 12.5, "y": 4},
                 {"matrix": [11, 0], "x": 13.5, "y": 4},
 
-                {"matrix": [5, 0], "x": 0, "y": 5.5},
-                {"matrix": [5, 1], "x": 1, "y": 5.5},
-                {"matrix": [5, 2], "x": 2, "y": 5.5},
-                {"matrix": [5, 3], "x": 3, "y": 5.5},
-
-                {"matrix": [12, 0], "x": 10.5, "y": 5.5},
-                {"matrix": [12, 1], "x": 11.5, "y": 5.5},
-                {"matrix": [12, 2], "x": 12.5, "y": 5.5},
-                {"matrix": [12, 3], "x": 13.5, "y": 5.5},
-
                 {"matrix": [6, 0], "x": 0, "y": 6.5},
                 {"matrix": [6, 1], "x": 1, "y": 6.5},
                 {"matrix": [6, 2], "x": 2, "y": 6.5},
diff --git a/keyboards/rgbkb/mun/rev1/rev1.c b/keyboards/rgbkb/mun/rev1/rev1.c
index 564ce4dfb9..986916b4a9 100644
--- a/keyboards/rgbkb/mun/rev1/rev1.c
+++ b/keyboards/rgbkb/mun/rev1/rev1.c
@@ -12,25 +12,12 @@
 #define NUMBER_OF_TOUCH_ENCODERS 2
 #define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2
 
-#define NUMBER_OF_ENCODERS 4
-#define ENCODER_OPTIONS 2
-
 typedef struct PACKED {
     uint8_t r;
     uint8_t c;
 } encodermap_t;
 
-// this maps encoders and then touch encoders to their respective electrical matrix entry
-// mapping is row (y) then column (x) when looking at the electrical layout
-const encodermap_t encoder_map[NUMBER_OF_ENCODERS][ENCODER_OPTIONS] = 
-{
-    { {  5, 0 }, {  5, 1 } }, // Encoder 1 matrix entries
-    { {  5, 2 }, {  5, 3 } }, // Encoder 2 matrix entries
-    { { 12, 0 }, { 12, 1 } }, // Encoder 3 matrix entries
-    { { 12, 2 }, { 12, 3 } }, // Encoder 4 matrix entries
-}; 
-
-const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] = 
+const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] =
 {
     { {  6, 0 }, {  6, 1 }, {  6, 2 }, {  6, 3 }, {  6, 4 } }, // Touch Encoder 1 matrix entries
     { { 13, 0 }, { 13, 1 }, { 13, 2 }, { 13, 3 }, { 13, 4 } }  // Touch Encoder 2 matrix entries
@@ -44,24 +31,6 @@ static void process_encoder_matrix(encodermap_t pos) {
     action_exec(MAKE_KEYEVENT(pos.r, pos.c, false));
 }
 
-bool encoder_update_kb(uint8_t index, bool clockwise) {
-    if (!encoder_update_user(index, clockwise))
-        return false;
-
-    // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1
-    process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]);
-    return false;
-}
-
-bool touch_encoder_update_kb(uint8_t index, bool clockwise) {
-    if (!touch_encoder_update_user(index, clockwise))
-        return false;
-
-    // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1
-    process_encoder_matrix(touch_encoder_map[index][clockwise ? 0 : 1]);
-    return false;
-}
-
 bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) {
     if (!touch_encoder_tapped_user(index, section))
         return false;
diff --git a/keyboards/rgbkb/sol3/keymaps/default/keymap.c b/keyboards/rgbkb/sol3/keymaps/default/keymap.c
index 19499ab3c3..a60a5cbda3 100644
--- a/keyboards/rgbkb/sol3/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/sol3/keymaps/default/keymap.c
@@ -23,9 +23,6 @@
  * └──────┴──────┴──────┴──────┴──────┤ Space├──────┤  ├──────┤ Space├──────┴──────┴──────┴──────┴──────┘
  *                                    │      │ DEL  │  │ Enter│      │
  *                                    └──────┴──────┘  └──────┴──────┘
- * ┌──────┬──────┬──────┬──────┬──────┬──────┐                ┌──────┬──────┬──────┬──────┬──────┬──────┐
- * │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│                │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│
- * └──────┴──────┴──────┴──────┴──────┴──────┘                └──────┴──────┴──────┴──────┴──────┴──────┘
  * ┌──────┬──────┬──────┬──────┬──────┐                              ┌──────┬──────┬──────┬──────┬──────┐
  * │Vol Dn│Vol Up│ Prev │ Play │ Next │                              │Vol Dn│Vol Up│ Prev │ Play │ Next │
  * └──────┴──────┴──────┴──────┴──────┘                              └──────┴──────┴──────┴──────┴──────┘
@@ -65,7 +62,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT,  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LCBR,                  KC_RCBR, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_SENT,
         KC_LCTL,  KC_LGUI, KC_LALT, RGB_TOG, ADJUST,  KC_SPC,  KC_PGDN, KC_DEL, KC_ENT,  KC_PGUP, KC_SPC,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_RCTL,
 
-        KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU,                                     KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU,
         KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV,                                                       KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV
     ),
 
@@ -76,7 +72,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    _______,                   _______, KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -87,7 +82,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_F4,                     KC_F8,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, KC_NO,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -98,7 +92,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, AU_TOGG, MU_TOGG, MU_NEXT, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, _______,
         _______, CK_TOGG,   CK_UP, CK_DOWN, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -109,7 +102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP,                   _______, _______, KC_P1,   KC_P2,   KC_P3,   _______, GAME,
         _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0,   KC_PDOT, KC_NUM,  QWERTY,  COLEMAK,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -171,3 +163,12 @@ void render_layer_status(void) {
             oled_write_ln_P(PSTR("Undef"), false);
     }
 }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0]       = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
+                  ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1 ... 4] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______),
+                  ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/sol3/keymaps/default/rules.mk b/keyboards/rgbkb/sol3/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/rgbkb/sol3/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c b/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c
index ab8f7d0ce3..49ab63842d 100644
--- a/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c
+++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/keymap.c
@@ -28,7 +28,6 @@ extern keymap_config_t keymap_config;
   *                                    `-------------'  `--------=----'
   */
 #define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__, \
-      KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU,                                     KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, \
       KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU,                                                       KC_MNXT, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU )
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -59,3 +58,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       )
 
 };
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0]       = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
+                  ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+    [1 ... 4] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______),
+                  ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk b/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk
index 1e5b99807c..f1adcab005 100644
--- a/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk
+++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk
@@ -1 +1,2 @@
 VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/sol3/keymaps/via/keymap.c b/keyboards/rgbkb/sol3/keymaps/via/keymap.c
index 1147925908..4d69a5ec6b 100644
--- a/keyboards/rgbkb/sol3/keymaps/via/keymap.c
+++ b/keyboards/rgbkb/sol3/keymaps/via/keymap.c
@@ -23,9 +23,6 @@
  * └──────┴──────┴──────┴──────┴──────┤ Space├──────┤  ├──────┤ Space├──────┴──────┴──────┴──────┴──────┘
  *                                    │      │ DEL  │  │ Enter│      │
  *                                    └──────┴──────┘  └──────┴──────┘
- * ┌──────┬──────┬──────┬──────┬──────┬──────┐                ┌──────┬──────┬──────┬──────┬──────┬──────┐
- * │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│                │Vol Dn│Vol Up│Vol Dn│Vol Up│Vol Dn│Vol Up│
- * └──────┴──────┴──────┴──────┴──────┴──────┘                └──────┴──────┴──────┴──────┴──────┴──────┘
  * ┌──────┬──────┬──────┬──────┬──────┐                              ┌──────┬──────┬──────┬──────┬──────┐
  * │Vol Dn│Vol Up│ Prev │ Play │ Next │                              │Vol Dn│Vol Up│ Prev │ Play │ Next │
  * └──────┴──────┴──────┴──────┴──────┘                              └──────┴──────┴──────┴──────┴──────┘
@@ -68,7 +65,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LSFT,  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LCBR,                  KC_RCBR, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_SENT,
         KC_LCTL,  KC_LGUI, KC_LALT, RGB_TOG, ADJUST,  KC_SPC,  KC_PGDN, KC_DEL, KC_ENT,  KC_PGUP, KC_SPC,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_RCTL,
 
-        KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU,                                     KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU,
         KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV,                                                       KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV
     ),
 
@@ -79,7 +75,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    _______,                   _______, KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -90,7 +85,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_F4,                     KC_F8,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
         _______, KC_NO,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -101,7 +95,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, AU_TOGG, MU_TOGG, MU_NEXT, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, _______,
         _______, CK_TOGG,   CK_UP, CK_DOWN, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -112,7 +105,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP,                   _______, _______, KC_P1,   KC_P2,   KC_P3,   _______, GAME,
         _______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0,   KC_PDOT, KC_NUM,  QWERTY,  COLEMAK,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -123,7 +115,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -134,7 +125,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     ),
 
@@ -145,7 +135,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 
-        _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
         _______, _______, _______, _______, _______,                                                       _______, _______, _______, _______, _______
     )
 
@@ -216,3 +205,12 @@ void render_layer_status(void) {
             oled_write_ln_P(PSTR("Undef"), false);
     }
 }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0]       = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
+                  ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______),
+                  ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/rgbkb/sol3/keymaps/via/rules.mk b/keyboards/rgbkb/sol3/keymaps/via/rules.mk
index 1e5b99807c..f1adcab005 100644
--- a/keyboards/rgbkb/sol3/keymaps/via/rules.mk
+++ b/keyboards/rgbkb/sol3/keymaps/via/rules.mk
@@ -1 +1,2 @@
 VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index 6db25dab19..d8c1280239 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -136,20 +136,6 @@
                 {"matrix": [10, 1], "x": 14.5, "y": 4},
                 {"matrix": [10, 0], "x": 15.5, "y": 4, "w": 1.5},
 
-                {"matrix": [5, 0], "x": 0, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [5, 1], "x": 0.8, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [5, 2], "x": 1.6, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [5, 3], "x": 2.4, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [5, 4], "x": 3.2, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [5, 5], "x": 4, "y": 7, "w": 0.8, "h": 0.8},
-
-                {"matrix": [11, 0], "x": 12.2, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [11, 1], "x": 13, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [11, 2], "x": 13.8, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [11, 3], "x": 14.6, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [11, 4], "x": 15.4, "y": 7, "w": 0.8, "h": 0.8},
-                {"matrix": [11, 5], "x": 16.2, "y": 7, "w": 0.8, "h": 0.8},
-
                 {"matrix": [0, 7], "x": 0, "y": 7.8, "w": 0.8, "h": 0.8},
                 {"matrix": [1, 7], "x": 0.8, "y": 7.8, "w": 0.8, "h": 0.8},
                 {"matrix": [2, 7], "x": 1.6, "y": 7.8, "w": 0.8, "h": 0.8},
diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c
index ff330a83d6..e853ed9b98 100644
--- a/keyboards/rgbkb/sol3/rev1/rev1.c
+++ b/keyboards/rgbkb/sol3/rev1/rev1.c
@@ -13,27 +13,12 @@
 #define NUMBER_OF_TOUCH_ENCODERS 2
 #define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2
 
-#define NUMBER_OF_ENCODERS 6
-#define ENCODER_OPTIONS 2
-
 typedef struct PACKED {
     uint8_t r;
     uint8_t c;
 } encodermap_t;
 
-// this maps encoders and then touch encoders to their respective electrical matrix entry
-// mapping is row (y) then column (x) when looking at the electrical layout
-const encodermap_t encoder_map[NUMBER_OF_ENCODERS][ENCODER_OPTIONS] = 
-{
-    { {  5, 0 }, {  5, 1 } }, // Encoder 0 matrix entries
-    { {  5, 2 }, {  5, 3 } }, // Encoder 1 matrix entries
-    { {  5, 4 }, {  5, 5 } }, // Encoder 2 matrix entries
-    { { 11, 0 }, { 11, 1 } }, // Encoder 3 matrix entries
-    { { 11, 2 }, { 11, 3 } }, // Encoder 4 matrix entries
-    { { 11, 4 }, { 11, 5 } }  // Encoder 5 matrix entries
-};
-
-const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] = 
+const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] =
 {
     { { 1, 7 }, { 0, 7 }, { 2, 7 }, {  5, 6 }, {  5, 7 }, }, // Touch Encoder 0 matrix entries
     { { 7, 7 }, { 6, 7 }, { 8, 7 }, { 11, 6 }, { 11, 7 }, }  // Touch Encoder 1 matrix entries
@@ -43,7 +28,7 @@ static bool limit_lightning = true;
 
 RGB rgb_matrix_hsv_to_rgb(HSV hsv) {
     if (limit_lightning) hsv.v /= 2;
-    return hsv_to_rgb(hsv); 
+    return hsv_to_rgb(hsv);
 }
 
 bool dip_switch_update_kb(uint8_t index, bool active) {
@@ -72,15 +57,6 @@ static void process_encoder_matrix(encodermap_t pos) {
     action_exec(MAKE_KEYEVENT(pos.r, pos.c, false));
 }
 
-bool encoder_update_kb(uint8_t index, bool clockwise) {
-    if (!encoder_update_user(index, clockwise))
-        return false;
-
-    // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1
-    process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]);
-    return false;
-}
-
 bool touch_encoder_update_kb(uint8_t index, bool clockwise) {
     if (!touch_encoder_update_user(index, clockwise))
         return false;
@@ -189,7 +165,7 @@ void rgb_matrix_increase_flags(void)
 #endif
 
 
-__attribute__((weak)) 
+__attribute__((weak))
 void render_layer_status(void) {
     // Keymap specific, expected to be overridden
     // Host Keyboard Layer Status
@@ -245,7 +221,7 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
 bool oled_task_kb(void) {
     if (!oled_task_user())
         return false;
-    
+
     if (is_keyboard_left()) {
         render_icon();
         oled_write_P(PSTR("     "), false);