diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md
index 74857c265d..891baeefa1 100644
--- a/docs/feature_encoders.md
+++ b/docs/feature_encoders.md
@@ -81,7 +81,7 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t
```c
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
index e9dc9a50a0..dbc7e417f7 100644
--- a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
+++ b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c
index cbdfdf16b3..29953eedef 100644
--- a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c
+++ b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c
@@ -290,7 +290,7 @@ bool caps_word_press_user(uint16_t keycode) {
// │ e n c o d e r │
// └───────────────────────────────────────────────────────────┘
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_COLEMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
index 900344a42c..852417922e 100644
--- a/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
+++ b/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
index 9aeaccb754..bc0d37eca0 100644
--- a/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
index 8f5226ddf8..e8a14d493f 100644
--- a/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
+++ b/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
@@ -253,7 +253,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
index fb11a271d7..15b593362d 100644
--- a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c
index 70739d2e9e..f9187727eb 100644
--- a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c
+++ b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
index 1994a5bde1..14168ee700 100644
--- a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c b/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c
index 8bb0368d09..b77ed6e256 100644
--- a/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c
+++ b/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/adafruit/macropad/keymaps/default/keymap.c b/keyboards/adafruit/macropad/keymaps/default/keymap.c
index 808b202df4..642f0300d3 100644
--- a/keyboards/adafruit/macropad/keymaps/default/keymap.c
+++ b/keyboards/adafruit/macropad/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
};
diff --git a/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c b/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c
index f931263347..f232a99861 100644
--- a/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c
+++ b/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#endif
diff --git a/keyboards/adafruit/macropad/keymaps/via/keymap.c b/keyboards/adafruit/macropad/keymaps/via/keymap.c
index 80efd80f2d..cb2e480025 100644
--- a/keyboards/adafruit/macropad/keymaps/via/keymap.c
+++ b/keyboards/adafruit/macropad/keymaps/via/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
index 0aa98ed309..7226b85f2c 100644
--- a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
[2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
index 5839acbbfe..f9ccfbe769 100644
--- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
[2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
diff --git a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c b/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
index 732c287a7a..e20ed0c9c7 100644
--- a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
[2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
diff --git a/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c
index f7f960e4b0..fb1fb0aa96 100644
--- a/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c
+++ b/keyboards/adpenrose/kintsugi/keymaps/default/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c
index 2db96a11c2..900bb3e265 100644
--- a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c
+++ b/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Encoder */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c
index 59955d33bd..7a9e6fb24e 100644
--- a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c
+++ b/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Encoder */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c
index 5a42fa9b2f..7d6af4f0ea 100644
--- a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c
+++ b/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/adpenrose/obi/keymaps/default/keymap.c b/keyboards/adpenrose/obi/keymaps/default/keymap.c
index 6d55dc73fb..586fdaa2c3 100644
--- a/keyboards/adpenrose/obi/keymaps/default/keymap.c
+++ b/keyboards/adpenrose/obi/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/adpenrose/obi/keymaps/via/keymap.c b/keyboards/adpenrose/obi/keymaps/via/keymap.c
index efede949b8..7430292731 100644
--- a/keyboards/adpenrose/obi/keymaps/via/keymap.c
+++ b/keyboards/adpenrose/obi/keymaps/via/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c
index 69b9dacd27..0010c9f97b 100644
--- a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c
+++ b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_MAIN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LEFT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_RIGHT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
index 69b9dacd27..0010c9f97b 100644
--- a/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
+++ b/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_MAIN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LEFT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_RIGHT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c
index cd0bd4a644..b96e5ce648 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c
+++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
};
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c
index 11bfab17ad..b522997e6f 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c
+++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
};
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c
index a9dd39c342..bb50ac3c9d 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c
+++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[TL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/atlantis/ps17/keymaps/default/keymap.c b/keyboards/atlantis/ps17/keymaps/default/keymap.c
index b5d36f02a7..36042fbb18 100644
--- a/keyboards/atlantis/ps17/keymaps/default/keymap.c
+++ b/keyboards/atlantis/ps17/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c b/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c
index 32d20ef86c..8546cfb71f 100644
--- a/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c
+++ b/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[2] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
diff --git a/keyboards/atlantis/ps17/keymaps/via/keymap.c b/keyboards/atlantis/ps17/keymaps/via/keymap.c
index 93a158172d..ff4bfdb336 100644
--- a/keyboards/atlantis/ps17/keymaps/via/keymap.c
+++ b/keyboards/atlantis/ps17/keymaps/via/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/bandominedoni/keymaps/default/keymap.c b/keyboards/bandominedoni/keymaps/default/keymap.c
index 880dc4bcc0..8f98c8fc27 100644
--- a/keyboards/bandominedoni/keymaps/default/keymap.c
+++ b/keyboards/bandominedoni/keymaps/default/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c
index b0f0e95528..0ae2185ece 100644
--- a/keyboards/bandominedoni/keymaps/led/keymap.c
+++ b/keyboards/bandominedoni/keymaps/led/keymap.c
@@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/bandominedoni/keymaps/lednotg/keymap.c b/keyboards/bandominedoni/keymaps/lednotg/keymap.c
index 80410eadac..6f904a06d2 100644
--- a/keyboards/bandominedoni/keymaps/lednotg/keymap.c
+++ b/keyboards/bandominedoni/keymaps/lednotg/keymap.c
@@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_OPEN] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
[_CLOSE] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c
index a546373b8c..6f69c69fac 100644
--- a/keyboards/bandominedoni/keymaps/via/keymap.c
+++ b/keyboards/bandominedoni/keymaps/via/keymap.c
@@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_MISC] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
index 0d1ed9e01f..5412fa0df0 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), },
[_LOWER] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_RAISE] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
diff --git a/keyboards/binepad/bnr1/keymaps/default/keymap.c b/keyboards/binepad/bnr1/keymaps/default/keymap.c
index 974005afaa..4e7b0cf6eb 100644
--- a/keyboards/binepad/bnr1/keymaps/default/keymap.c
+++ b/keyboards/binepad/bnr1/keymaps/default/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_L0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_L1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }
};
diff --git a/keyboards/binepad/bnr1/keymaps/via/keymap.c b/keyboards/binepad/bnr1/keymaps/via/keymap.c
index 974005afaa..4e7b0cf6eb 100644
--- a/keyboards/binepad/bnr1/keymaps/via/keymap.c
+++ b/keyboards/binepad/bnr1/keymaps/via/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_L0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_L1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }
};
diff --git a/keyboards/boardsource/lulu/keymaps/via/keymap.c b/keyboards/boardsource/lulu/keymaps/via/keymap.c
index 67ef4b7b6b..bf5ffc7a9b 100644
--- a/keyboards/boardsource/lulu/keymaps/via/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/via/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[_LOWER] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[_RAISE] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
diff --git a/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c
index 78e35ff821..0448c07355 100644
--- a/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[_RAISE] = { ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT) },
diff --git a/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c
index 4129b4e0f5..5d137c746d 100644
--- a/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[2] = { ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT) },
diff --git a/keyboards/checkerboards/quark/keymaps/via/keymap.c b/keyboards/checkerboards/quark/keymaps/via/keymap.c
index f8a5c215f1..fa03adf796 100644
--- a/keyboards/checkerboards/quark/keymaps/via/keymap.c
+++ b/keyboards/checkerboards/quark/keymaps/via/keymap.c
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/chromatonemini/keymaps/default/keymap.c b/keyboards/chromatonemini/keymaps/default/keymap.c
index b657ace9b8..c412f688b6 100644
--- a/keyboards/chromatonemini/keymaps/default/keymap.c
+++ b/keyboards/chromatonemini/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_RESERVE] = { ENCODER_CCW_CW(_______, _______) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/chromatonemini/keymaps/led/keymap.c b/keyboards/chromatonemini/keymaps/led/keymap.c
index 22fc25d253..799792d5bd 100644
--- a/keyboards/chromatonemini/keymaps/led/keymap.c
+++ b/keyboards/chromatonemini/keymaps/led/keymap.c
@@ -278,7 +278,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_SEPALEFTOCT] = { ENCODER_CCW_CW(_______, _______) },
[_SEPAHALF] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/chromatonemini/keymaps/party/keymap.c b/keyboards/chromatonemini/keymaps/party/keymap.c
index a26250e1a8..c4c3be8344 100644
--- a/keyboards/chromatonemini/keymaps/party/keymap.c
+++ b/keyboards/chromatonemini/keymaps/party/keymap.c
@@ -278,7 +278,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_SEPALEFTOCT] = { ENCODER_CCW_CW(_______, _______) },
[_SEPAHALF] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/chromatonemini/keymaps/via/keymap.c b/keyboards/chromatonemini/keymaps/via/keymap.c
index 2ac1412eff..aedc778afe 100644
--- a/keyboards/chromatonemini/keymaps/via/keymap.c
+++ b/keyboards/chromatonemini/keymaps/via/keymap.c
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_TRANS] = { ENCODER_CCW_CW(_______, _______) },
[_RESERVE] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/coban/pad3a/keymaps/default/keymap.c b/keyboards/coban/pad3a/keymaps/default/keymap.c
index 1842ed983c..ba9a458fc5 100644
--- a/keyboards/coban/pad3a/keymaps/default/keymap.c
+++ b/keyboards/coban/pad3a/keymaps/default/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#endif
diff --git a/keyboards/coban/pad3a/keymaps/via/keymap.c b/keyboards/coban/pad3a/keymaps/via/keymap.c
index 1842ed983c..ba9a458fc5 100644
--- a/keyboards/coban/pad3a/keymaps/via/keymap.c
+++ b/keyboards/coban/pad3a/keymaps/via/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#endif
diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
index 2ee5fa34c0..dd452dae1a 100644
--- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
+++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_NO, KC_NO),
};
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_MACRO] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NUMPAD] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_CURSOR] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c b/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c
index bda4731a99..ae24fc2755 100644
--- a/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c
+++ b/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb16/rev1/keymaps/default/keymap.c b/keyboards/doio/kb16/rev1/keymaps/default/keymap.c
index 6ab8294efe..1217a3c788 100644
--- a/keyboards/doio/kb16/rev1/keymaps/default/keymap.c
+++ b/keyboards/doio/kb16/rev1/keymaps/default/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c b/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c
index 6206e6860c..f9b34ece17 100644
--- a/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c
+++ b/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c
@@ -126,7 +126,7 @@ bool oled_task_user(void) {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN2] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/doio/kb16/rev1/keymaps/via/keymap.c b/keyboards/doio/kb16/rev1/keymaps/via/keymap.c
index 61c582fa1c..fc1f1dcfaa 100644
--- a/keyboards/doio/kb16/rev1/keymaps/via/keymap.c
+++ b/keyboards/doio/kb16/rev1/keymaps/via/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c b/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c
index bda4731a99..ae24fc2755 100644
--- a/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c
+++ b/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb16/rev2/keymaps/default/keymap.c b/keyboards/doio/kb16/rev2/keymaps/default/keymap.c
index 6ab8294efe..1217a3c788 100644
--- a/keyboards/doio/kb16/rev2/keymaps/default/keymap.c
+++ b/keyboards/doio/kb16/rev2/keymaps/default/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb16/rev2/keymaps/via/keymap.c b/keyboards/doio/kb16/rev2/keymaps/via/keymap.c
index 61c582fa1c..fc1f1dcfaa 100644
--- a/keyboards/doio/kb16/rev2/keymaps/via/keymap.c
+++ b/keyboards/doio/kb16/rev2/keymaps/via/keymap.c
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb30/keymaps/default/keymap.c b/keyboards/doio/kb30/keymaps/default/keymap.c
index 6ff863a103..fb06acfd80 100644
--- a/keyboards/doio/kb30/keymaps/default/keymap.c
+++ b/keyboards/doio/kb30/keymaps/default/keymap.c
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/doio/kb30/keymaps/via/keymap.c b/keyboards/doio/kb30/keymaps/via/keymap.c
index 98b5a119c2..2890fe604a 100644
--- a/keyboards/doio/kb30/keymaps/via/keymap.c
+++ b/keyboards/doio/kb30/keymaps/via/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c
index a9711953de..44d58b0521 100644
--- a/keyboards/drop/sense75/keymaps/default/keymap.c
+++ b/keyboards/drop/sense75/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
};
diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c
index cb25f5cc2d..871cdb2b6d 100644
--- a/keyboards/drop/sense75/keymaps/default_md/keymap.c
+++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(_______, _______) }
diff --git a/keyboards/drop/sense75/keymaps/via/keymap.c b/keyboards/drop/sense75/keymaps/via/keymap.c
index c1e3c4edf3..7304ec42d5 100644
--- a/keyboards/drop/sense75/keymaps/via/keymap.c
+++ b/keyboards/drop/sense75/keymaps/via/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(_______, _______) }
diff --git a/keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c b/keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c
index 7dbbca0dcc..a012b2eedd 100644
--- a/keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c
+++ b/keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
};
#endif
diff --git a/keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c b/keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c
index 439b3d8493..44c5e6d052 100644
--- a/keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c
+++ b/keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
};
#endif
diff --git a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c
index 5d5ebdc771..f59617ddce 100644
--- a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c
+++ b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c
@@ -216,7 +216,7 @@ bool rgb_matrix_indicators_user(void) {
}
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c
index 944348a5b9..fe4676b7f7 100644
--- a/keyboards/feker/ik75/keymaps/default/keymap.c
+++ b/keyboards/feker/ik75/keymaps/default/keymap.c
@@ -160,7 +160,7 @@ bool rgb_matrix_indicators_user(void) {
}
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
diff --git a/keyboards/feker/ik75/keymaps/via/keymap.c b/keyboards/feker/ik75/keymaps/via/keymap.c
index 3be5a60680..da87725d19 100644
--- a/keyboards/feker/ik75/keymaps/via/keymap.c
+++ b/keyboards/feker/ik75/keymaps/via/keymap.c
@@ -216,7 +216,7 @@ bool rgb_matrix_indicators_user(void) {
}
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c
index 0fe02a4d3b..88dea9b776 100644
--- a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c
+++ b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
diff --git a/keyboards/geistmaschine/geist/keymaps/default/keymap.c b/keyboards/geistmaschine/geist/keymaps/default/keymap.c
index 1d44469c4e..6401a0cbf8 100644
--- a/keyboards/geistmaschine/geist/keymaps/default/keymap.c
+++ b/keyboards/geistmaschine/geist/keymaps/default/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
diff --git a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c
index 6d08161d3b..f1cc032c97 100644
--- a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c
+++ b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }
diff --git a/keyboards/geistmaschine/geist/keymaps/via/keymap.c b/keyboards/geistmaschine/geist/keymaps/via/keymap.c
index 94d2624392..2814b8001a 100644
--- a/keyboards/geistmaschine/geist/keymaps/via/keymap.c
+++ b/keyboards/geistmaschine/geist/keymaps/via/keymap.c
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
diff --git a/keyboards/geistmaschine/macropod/keymaps/default/keymap.c b/keyboards/geistmaschine/macropod/keymaps/default/keymap.c
index fb2d971202..8c2c69db36 100644
--- a/keyboards/geistmaschine/macropod/keymaps/default/keymap.c
+++ b/keyboards/geistmaschine/macropod/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
};
diff --git a/keyboards/geistmaschine/macropod/keymaps/via/keymap.c b/keyboards/geistmaschine/macropod/keymaps/via/keymap.c
index fb2d971202..8c2c69db36 100644
--- a/keyboards/geistmaschine/macropod/keymaps/via/keymap.c
+++ b/keyboards/geistmaschine/macropod/keymaps/via/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
};
diff --git a/keyboards/ghs/xls/keymaps/via/keymap.c b/keyboards/ghs/xls/keymaps/via/keymap.c
index 952073fe2b..3b97ad7ee5 100644
--- a/keyboards/ghs/xls/keymaps/via/keymap.c
+++ b/keyboards/ghs/xls/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_DOWN, KC_UP ), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[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(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/2firmware/keymap.c b/keyboards/giabalanai/keymaps/2firmware/keymap.c
index 34eb2299a7..8e95b89a91 100644
--- a/keyboards/giabalanai/keymaps/2firmware/keymap.c
+++ b/keyboards/giabalanai/keymaps/2firmware/keymap.c
@@ -339,7 +339,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/3araht/keymap.c b/keyboards/giabalanai/keymaps/3araht/keymap.c
index ca7be05088..daa31ffa7b 100644
--- a/keyboards/giabalanai/keymaps/3araht/keymap.c
+++ b/keyboards/giabalanai/keymaps/3araht/keymap.c
@@ -370,7 +370,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/default/keymap.c b/keyboards/giabalanai/keymaps/default/keymap.c
index 1cc7ee5077..42874025f3 100644
--- a/keyboards/giabalanai/keymaps/default/keymap.c
+++ b/keyboards/giabalanai/keymaps/default/keymap.c
@@ -192,7 +192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c b/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c
index 3ed4754df4..ca9ac38555 100644
--- a/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/keymap.c
@@ -195,7 +195,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c b/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c
index e28a78b016..c134c9eeeb 100644
--- a/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c
+++ b/keyboards/giabalanai/keymaps/giabarinaix2led/keymap.c
@@ -253,7 +253,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/party/keymap.c b/keyboards/giabalanai/keymaps/party/keymap.c
index fdd9c2d527..ea3000c010 100644
--- a/keyboards/giabalanai/keymaps/party/keymap.c
+++ b/keyboards/giabalanai/keymaps/party/keymap.c
@@ -370,7 +370,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/via/keymap.c b/keyboards/giabalanai/keymaps/via/keymap.c
index 812f4967c8..332ad45e3c 100644
--- a/keyboards/giabalanai/keymaps/via/keymap.c
+++ b/keyboards/giabalanai/keymaps/via/keymap.c
@@ -192,7 +192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c b/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c
index 88b032209f..fcf6a35ff2 100644
--- a/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/keymap.c
@@ -195,7 +195,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
[_FN] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/gkeyboard/gpad8_2r/keymaps/default/keymap.c b/keyboards/gkeyboard/gpad8_2r/keymaps/default/keymap.c
index 41b505336d..536a1ee7d8 100644
--- a/keyboards/gkeyboard/gpad8_2r/keymaps/default/keymap.c
+++ b/keyboards/gkeyboard/gpad8_2r/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/gkeyboard/gpad8_2r/keymaps/via/keymap.c b/keyboards/gkeyboard/gpad8_2r/keymaps/via/keymap.c
index 589a1b1539..ec81153d2b 100644
--- a/keyboards/gkeyboard/gpad8_2r/keymaps/via/keymap.c
+++ b/keyboards/gkeyboard/gpad8_2r/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/gmmk/numpad/keymaps/via/keymap.c b/keyboards/gmmk/numpad/keymaps/via/keymap.c
index aa7730acdd..12f124894d 100644
--- a/keyboards/gmmk/numpad/keymaps/via/keymap.c
+++ b/keyboards/gmmk/numpad/keymaps/via/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// clang-format on
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c
index 1294d64fe8..d3c00ad364 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
index 303861c676..7daa154826 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) },
[2] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c
index 73e56752b7..663c827439 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c
index af0366d20d..cd0861309a 100644
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c
index 9a37242a4e..bc2134e3de 100644
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
index 30fd283d7d..cbea58716e 100644
--- a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
};
diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
index d1c42ca26f..d577f15462 100644
--- a/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* encoder; start */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
index 9da9bb2490..e22e616505 100644
--- a/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
index acd41ebec1..0f8859c98f 100644
--- a/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* encoder; start */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c
index 2d4b4eb8c5..722aea335d 100644
--- a/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c
+++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_4, KC_5, KC_6)
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
};
#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c
index d9e409a1a9..a2430c2394 100644
--- a/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c
+++ b/keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index 4412130df8..93d3529edb 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_ENABLE
# ifdef ENCODER_MAP_ENABLE
// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { ENCODER_CCW_CW( KC_VOLD, KC_VOLU ), ENCODER_CCW_CW( KC_WH_D, KC_WH_U ) },
[_DEFAULT_LAYER_2] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) },
[_DEFAULT_LAYER_3] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) },
diff --git a/keyboards/handwired/tsubasa/keymaps/default/keymap.c b/keyboards/handwired/tsubasa/keymaps/default/keymap.c
index 0d55567cc1..357b3a59c8 100644
--- a/keyboards/handwired/tsubasa/keymaps/default/keymap.c
+++ b/keyboards/handwired/tsubasa/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[_FN] = { ENCODER_CCW_CW( KC_VOLU, KC_VOLD)}
};
diff --git a/keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c b/keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c
index 16efd29b5c..712383d48d 100644
--- a/keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c
+++ b/keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[WIN_FN] = { ENCODER_CCW_CW(RGB_SAI, RGB_SAD) },
[MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
diff --git a/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c b/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c
index 16efd29b5c..712383d48d 100644
--- a/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c
+++ b/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[WIN_FN] = { ENCODER_CCW_CW(RGB_SAI, RGB_SAD) },
[MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
diff --git a/keyboards/junco/keymaps/default/keymap.c b/keyboards/junco/keymaps/default/keymap.c
index dc607477e2..8ff3513891 100644
--- a/keyboards/junco/keymaps/default/keymap.c
+++ b/keyboards/junco/keymaps/default/keymap.c
@@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
// Base layer encoder mappings:
// index 0: mouse wheel up (CCW)/down (CW) index 1: volume down/up index 2: mouse wheel up/down index 3: mouse wheel left/right
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) },
diff --git a/keyboards/junco/keymaps/deluxe/keymap.c b/keyboards/junco/keymaps/deluxe/keymap.c
index e4dcb97fae..42b6429b97 100644
--- a/keyboards/junco/keymaps/deluxe/keymap.c
+++ b/keyboards/junco/keymaps/deluxe/keymap.c
@@ -193,7 +193,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
// Base layer encoder mappings:
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
// Base layers
// index 0: mouse wheel up (CCW)/down (CW) index 1: volume up/down index 2: media prev/next index 3: mouse wheel left/right
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) },
diff --git a/keyboards/junco/keymaps/via/keymap.c b/keyboards/junco/keymaps/via/keymap.c
index b50332be28..65fe2a67de 100644
--- a/keyboards/junco/keymaps/via/keymap.c
+++ b/keyboards/junco/keymaps/via/keymap.c
@@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
// Base layer encoder mappings:
// index 0: mouse wheel up (CCW)/down (CW) index 1: volume down/up index 2: mouse wheel up/down index 3: mouse wheel left/right
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) },
diff --git a/keyboards/keebio/bdn9/keymaps/lickel/keymap.c b/keyboards/keebio/bdn9/keymaps/lickel/keymap.c
index 67a1642f37..f62e38107e 100644
--- a/keyboards/keebio/bdn9/keymaps/lickel/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/lickel/keymap.c
@@ -104,7 +104,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
[_MEDIA] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[_XCODE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
diff --git a/keyboards/keebio/bdn9/keymaps/via/keymap.c b/keyboards/keebio/bdn9/keymaps/via/keymap.c
index 6efb6003de..336693f1a0 100644
--- a/keyboards/keebio/bdn9/keymaps/via/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/via/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_MAIN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[_FN1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keebio/convolution/keymaps/default/keymap.c b/keyboards/keebio/convolution/keymaps/default/keymap.c
index c72c03705c..e9e8d88344 100644
--- a/keyboards/keebio/convolution/keymaps/default/keymap.c
+++ b/keyboards/keebio/convolution/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
};
diff --git a/keyboards/keebio/convolution/keymaps/via/keymap.c b/keyboards/keebio/convolution/keymaps/via/keymap.c
index f6f546fd22..1ba6cde836 100644
--- a/keyboards/keebio/convolution/keymaps/via/keymap.c
+++ b/keyboards/keebio/convolution/keymaps/via/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keebio/iris/keymaps/two_knob/keymap.c b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
index f6017d7266..f40392ba1e 100644
--- a/keyboards/keebio/iris/keymaps/two_knob/keymap.c
+++ b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
@@ -232,7 +232,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
* https://docs.qmk.fm/#/feature_macros?id=super-alt%e2%86%aftab
*/
#if defined(ENCODER_MAP_ENABLE)
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
/* Left Hand */ /* Right Hand */
/* Switch between tabs. (Control + Tab). */ /* Switch between open apps on Mac. (Command + Tab + timer logic) */
[_QWERTY] = { ENCODER_CCW_CW(S(C(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(CMD_TAB_CCW, CMD_TAB_CW) },
diff --git a/keyboards/keebio/iris/keymaps/via/keymap.c b/keyboards/keebio/iris/keymaps/via/keymap.c
index 65d3ac434e..42428273f5 100644
--- a/keyboards/keebio/iris/keymaps/via/keymap.c
+++ b/keyboards/keebio/iris/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
# if defined(KEYBOARD_keebio_iris_rev7)
[_MAIN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END) },
diff --git a/keyboards/keebio/kbo5000/keymaps/via/keymap.c b/keyboards/keebio/kbo5000/keymaps/via/keymap.c
index bb4e94ca66..8ab98270c5 100644
--- a/keyboards/keebio/kbo5000/keymaps/via/keymap.c
+++ b/keyboards/keebio/kbo5000/keymaps/via/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keebio/quefrency/keymaps/via/keymap.c b/keyboards/keebio/quefrency/keymaps/via/keymap.c
index 6cf08745f7..9a5bf0ff09 100644
--- a/keyboards/keebio/quefrency/keymaps/via/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/via/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
diff --git a/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c
index 04349ea990..cc4c1adfab 100644
--- a/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c
+++ b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
diff --git a/keyboards/keebio/sinc/keymaps/lickel/keymap.c b/keyboards/keebio/sinc/keymaps/lickel/keymap.c
index 22636f7176..97111e9dda 100644
--- a/keyboards/keebio/sinc/keymaps/lickel/keymap.c
+++ b/keyboards/keebio/sinc/keymaps/lickel/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keebio/sinc/keymaps/via/keymap.c b/keyboards/keebio/sinc/keymaps/via/keymap.c
index fe44ef04f2..2a54d1aa5a 100644
--- a/keyboards/keebio/sinc/keymaps/via/keymap.c
+++ b/keyboards/keebio/sinc/keymaps/via/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
index 25265379a5..0515b96dfe 100644
--- a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c
@@ -333,7 +333,7 @@ bool oled_task_user(void) {
#endif
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) },
[_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
index f92d6b8362..4e281d4d7d 100644
--- a/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
+++ b/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
};
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
index fc618cdba9..795c275543 100644
--- a/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[L2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c
index 91b838d3f2..935d3edb76 100644
--- a/keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c
+++ b/keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[L2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keychron/q1/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1/ansi_encoder/keymaps/default/keymap.c
index 36cc7a50f8..a4febc93c7 100644
--- a/keyboards/keychron/q1/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q1/ansi_encoder/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q1/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q1/ansi_encoder/keymaps/keychron/keymap.c
index 510287acec..88d0b49efd 100644
--- a/keyboards/keychron/q1/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q1/ansi_encoder/keymaps/keychron/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q1/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q1/ansi_encoder/keymaps/via/keymap.c
index e63091e616..9372a1d814 100644
--- a/keyboards/keychron/q1/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q1/ansi_encoder/keymaps/via/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q1/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1/iso_encoder/keymaps/default/keymap.c
index 840db80a5b..237d9a3f1e 100644
--- a/keyboards/keychron/q1/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q1/iso_encoder/keymaps/default/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q1/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q1/iso_encoder/keymaps/keychron/keymap.c
index d78878d5e9..b007e56fba 100644
--- a/keyboards/keychron/q1/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q1/iso_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q1/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q1/iso_encoder/keymaps/via/keymap.c
index 052fe8c58a..47f04d8a29 100644
--- a/keyboards/keychron/q1/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q1/iso_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c
index 59a4773771..915ad3aa2a 100644
--- a/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q10/ansi_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q10/ansi_encoder/keymaps/keychron/keymap.c
index 538f13d786..78ef658d2d 100644
--- a/keyboards/keychron/q10/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q10/ansi_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q10/ansi_encoder/keymaps/via/keymap.c
index eead42e5a9..c0927dcb13 100644
--- a/keyboards/keychron/q10/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q10/ansi_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c
index 68bc5e0954..77a26f1e99 100644
--- a/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q10/iso_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q10/iso_encoder/keymaps/keychron/keymap.c
index a62d880370..6e024df8b7 100644
--- a/keyboards/keychron/q10/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q10/iso_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q10/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q10/iso_encoder/keymaps/via/keymap.c
index 24c39fee4e..338bd34b31 100644
--- a/keyboards/keychron/q10/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q10/iso_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
index b2c3ec24c0..3378ce7df9 100755
--- a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
index 7102922323..852f34def9 100755
--- a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
index 7ba9886ef8..0452eccec2 100755
--- a/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c
index 9c9ee41ef6..a2234c1d4f 100644
--- a/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q12/ansi_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q12/ansi_encoder/keymaps/keychron/keymap.c
index abd259d1d1..b6349894f5 100644
--- a/keyboards/keychron/q12/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q12/ansi_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q12/ansi_encoder/keymaps/via/keymap.c
index 9c9ee41ef6..a2234c1d4f 100644
--- a/keyboards/keychron/q12/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q12/ansi_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c
index 93c94fc13b..7cad0672f2 100644
--- a/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q12/iso_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q12/iso_encoder/keymaps/keychron/keymap.c
index ff4d369757..9c79f73d79 100644
--- a/keyboards/keychron/q12/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q12/iso_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q12/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q12/iso_encoder/keymaps/via/keymap.c
index 93c94fc13b..7cad0672f2 100644
--- a/keyboards/keychron/q12/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q12/iso_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c
index 31ac33f1b7..5c20bda031 100644
--- a/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q2/ansi_encoder/keymaps/default/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/keychron/q2/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q2/ansi_encoder/keymaps/keychron/keymap.c
index f4c43ef1f7..db560b8ea3 100644
--- a/keyboards/keychron/q2/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q2/ansi_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/keychron/q2/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q2/ansi_encoder/keymaps/via/keymap.c
index 3f56548c70..f4ae8c1cc0 100644
--- a/keyboards/keychron/q2/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/ansi_encoder/keymaps/via/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c
index 61ace12361..5cbe605de4 100644
--- a/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q2/iso_encoder/keymaps/default/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/keychron/q2/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q2/iso_encoder/keymaps/keychron/keymap.c
index f2da1cb57b..eb485917b3 100644
--- a/keyboards/keychron/q2/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q2/iso_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/keychron/q2/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q2/iso_encoder/keymaps/via/keymap.c
index ba7dfb331d..244eb8b482 100644
--- a/keyboards/keychron/q2/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/iso_encoder/keymaps/via/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
diff --git a/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c
index e513ceba0d..33b3698616 100644
--- a/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q2/jis_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q2/jis_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q2/jis_encoder/keymaps/keychron/keymap.c
index 5a52f4ff15..a1c155e6e6 100644
--- a/keyboards/keychron/q2/jis_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q2/jis_encoder/keymaps/keychron/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q2/jis_encoder/keymaps/via/keymap.c b/keyboards/keychron/q2/jis_encoder/keymaps/via/keymap.c
index e513ceba0d..33b3698616 100644
--- a/keyboards/keychron/q2/jis_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q2/jis_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c
index b154fa935a..832234c997 100644
--- a/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q3/ansi_encoder/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q3/ansi_encoder/keymaps/keychron/keymap.c
index 5cd33b38e6..7a6944ff42 100644
--- a/keyboards/keychron/q3/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q3/ansi_encoder/keymaps/keychron/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q3/ansi_encoder/keymaps/via/keymap.c
index 9369b6a60c..80230dae4b 100644
--- a/keyboards/keychron/q3/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q3/ansi_encoder/keymaps/via/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c
index 999470fa87..caf2983919 100644
--- a/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q3/iso_encoder/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q3/iso_encoder/keymaps/keychron/keymap.c
index b7292e9fa4..336842a28f 100644
--- a/keyboards/keychron/q3/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q3/iso_encoder/keymaps/keychron/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q3/iso_encoder/keymaps/via/keymap.c
index 999470fa87..caf2983919 100644
--- a/keyboards/keychron/q3/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q3/iso_encoder/keymaps/via/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c
index ca51f194a2..30e85d79df 100644
--- a/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q3/jis_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/jis_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q3/jis_encoder/keymaps/keychron/keymap.c
index 48532104f6..3a7e06abd6 100644
--- a/keyboards/keychron/q3/jis_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q3/jis_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q3/jis_encoder/keymaps/via/keymap.c b/keyboards/keychron/q3/jis_encoder/keymaps/via/keymap.c
index f14ca16c8b..63618ce05a 100644
--- a/keyboards/keychron/q3/jis_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q3/jis_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c
index c897aecf73..c9079b53ff 100644
--- a/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q5/ansi_encoder/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q5/ansi_encoder/keymaps/keychron/keymap.c
index d516c2da4b..62446674fe 100644
--- a/keyboards/keychron/q5/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q5/ansi_encoder/keymaps/keychron/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q5/ansi_encoder/keymaps/via/keymap.c
index c897aecf73..c9079b53ff 100644
--- a/keyboards/keychron/q5/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q5/ansi_encoder/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c
index a570031a0b..e1f3d93212 100644
--- a/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q5/iso_encoder/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q5/iso_encoder/keymaps/keychron/keymap.c
index 85efa63759..95dbb282c2 100644
--- a/keyboards/keychron/q5/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q5/iso_encoder/keymaps/keychron/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q5/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q5/iso_encoder/keymaps/via/keymap.c
index 324f24e90e..9446d04839 100644
--- a/keyboards/keychron/q5/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q5/iso_encoder/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c
index 73b2b7984d..25f4852ef7 100644
--- a/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q6/ansi_encoder/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q6/ansi_encoder/keymaps/keychron/keymap.c
index 4183212305..2fdbbb7dd1 100644
--- a/keyboards/keychron/q6/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q6/ansi_encoder/keymaps/keychron/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q6/ansi_encoder/keymaps/via/keymap.c
index dfe2bd5e07..762dfe66da 100644
--- a/keyboards/keychron/q6/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q6/ansi_encoder/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c
index 69f8c96a0d..8eed8a5b76 100644
--- a/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q6/iso_encoder/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q6/iso_encoder/keymaps/keychron/keymap.c
index fbe314a2c3..564d070f93 100644
--- a/keyboards/keychron/q6/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q6/iso_encoder/keymaps/keychron/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q6/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q6/iso_encoder/keymaps/via/keymap.c
index dfb6751854..bfd60011de 100644
--- a/keyboards/keychron/q6/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q6/iso_encoder/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c
index 630c1c4261..dbe8c04973 100644
--- a/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q65/ansi_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q65/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q65/ansi_encoder/keymaps/keychron/keymap.c
index 898da7dbac..d543a3bc5c 100644
--- a/keyboards/keychron/q65/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q65/ansi_encoder/keymaps/keychron/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q65/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q65/ansi_encoder/keymaps/via/keymap.c
index 630c1c4261..dbe8c04973 100644
--- a/keyboards/keychron/q65/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q65/ansi_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c
index 248ea1fe4a..a86ae6d8cf 100644
--- a/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q8/ansi_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q8/ansi_encoder/keymaps/keychron/keymap.c
index 1ece0b6de7..bb5c406046 100644
--- a/keyboards/keychron/q8/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q8/ansi_encoder/keymaps/keychron/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q8/ansi_encoder/keymaps/via/keymap.c
index 248ea1fe4a..a86ae6d8cf 100644
--- a/keyboards/keychron/q8/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q8/ansi_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c
index a779fdc130..7db63d4118 100644
--- a/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q8/iso_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q8/iso_encoder/keymaps/keychron/keymap.c
index 4884aeaeae..b3abda2975 100644
--- a/keyboards/keychron/q8/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q8/iso_encoder/keymaps/keychron/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q8/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q8/iso_encoder/keymaps/via/keymap.c
index da409a551d..8b66a40c6b 100644
--- a/keyboards/keychron/q8/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q8/iso_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c
index adda2df857..eb5a5fa3b3 100644
--- a/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q9/ansi_encoder/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q9/ansi_encoder/keymaps/keychron/keymap.c
index 16f4401a03..c8718da228 100644
--- a/keyboards/keychron/q9/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q9/ansi_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q9/ansi_encoder/keymaps/via/keymap.c
index adda2df857..eb5a5fa3b3 100644
--- a/keyboards/keychron/q9/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q9/ansi_encoder/keymaps/via/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c
index af697d6395..3541851973 100644
--- a/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/q9/iso_encoder/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q9/iso_encoder/keymaps/keychron/keymap.c
index e899be3ec2..2eab292389 100644
--- a/keyboards/keychron/q9/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/q9/iso_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/q9/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q9/iso_encoder/keymaps/via/keymap.c
index b3fb89f39c..94b160f1c8 100644
--- a/keyboards/keychron/q9/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/q9/iso_encoder/keymaps/via/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c
index 7f36fd988e..a5eed7de19 100644
--- a/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v1/ansi_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v1/ansi_encoder/keymaps/keychron/keymap.c
index daa3d07512..f5e6247ca6 100644
--- a/keyboards/keychron/v1/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v1/ansi_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v1/ansi_encoder/keymaps/via/keymap.c
index 282e530fff..2ff15e873d 100644
--- a/keyboards/keychron/v1/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v1/ansi_encoder/keymaps/via/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c
index 91b784a074..2667e16d5e 100644
--- a/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v1/iso_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v1/iso_encoder/keymaps/keychron/keymap.c
index cf93ef4ce7..52e1a31654 100644
--- a/keyboards/keychron/v1/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v1/iso_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v1/iso_encoder/keymaps/via/keymap.c
index 91b784a074..2667e16d5e 100644
--- a/keyboards/keychron/v1/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v1/iso_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c
index 5e93c2a6ba..05f0d38846 100644
--- a/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v1/jis_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/jis_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v1/jis_encoder/keymaps/keychron/keymap.c
index 927846ea8a..bef69ccea8 100644
--- a/keyboards/keychron/v1/jis_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v1/jis_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v1/jis_encoder/keymaps/via/keymap.c b/keyboards/keychron/v1/jis_encoder/keymaps/via/keymap.c
index 5e93c2a6ba..05f0d38846 100644
--- a/keyboards/keychron/v1/jis_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v1/jis_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c
index 122e55978c..85daf6fb52 100644
--- a/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v10/ansi_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v10/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v10/ansi_encoder/keymaps/keychron/keymap.c
index 08758d3638..888d9cf754 100644
--- a/keyboards/keychron/v10/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v10/ansi_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v10/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v10/ansi_encoder/keymaps/via/keymap.c
index 6f4483d309..939edd9548 100644
--- a/keyboards/keychron/v10/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v10/ansi_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c
index e5dd06d1bc..40046cc69d 100644
--- a/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v10/iso_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v10/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v10/iso_encoder/keymaps/keychron/keymap.c
index db8818512f..0db9e37831 100644
--- a/keyboards/keychron/v10/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v10/iso_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v10/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v10/iso_encoder/keymaps/via/keymap.c
index 9eb71df48d..66545f8b18 100644
--- a/keyboards/keychron/v10/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v10/iso_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c
index 0385af47dc..71da961dac 100644
--- a/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v2/ansi_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v2/ansi_encoder/keymaps/keychron/keymap.c
index 00e7940fd9..5aa3a1fecc 100644
--- a/keyboards/keychron/v2/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v2/ansi_encoder/keymaps/keychron/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v2/ansi_encoder/keymaps/via/keymap.c
index 0385af47dc..71da961dac 100644
--- a/keyboards/keychron/v2/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v2/ansi_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c
index cb22cf9fae..585b6bb6cb 100644
--- a/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v2/iso_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v2/iso_encoder/keymaps/keychron/keymap.c
index eafc713b71..8057fd7a1b 100644
--- a/keyboards/keychron/v2/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v2/iso_encoder/keymaps/keychron/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v2/iso_encoder/keymaps/via/keymap.c
index cb22cf9fae..585b6bb6cb 100644
--- a/keyboards/keychron/v2/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v2/iso_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c
index 3a4a2aee15..68ca97e791 100644
--- a/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v2/jis_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/jis_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v2/jis_encoder/keymaps/keychron/keymap.c
index 7968d11320..49bdca2fd1 100644
--- a/keyboards/keychron/v2/jis_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v2/jis_encoder/keymaps/keychron/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v2/jis_encoder/keymaps/via/keymap.c b/keyboards/keychron/v2/jis_encoder/keymaps/via/keymap.c
index 3a4a2aee15..68ca97e791 100644
--- a/keyboards/keychron/v2/jis_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v2/jis_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c
index ac2363f627..1d3b2a2d46 100644
--- a/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v3/ansi_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v3/ansi_encoder/keymaps/keychron/keymap.c
index ec8c4f8b1e..1cae15b737 100644
--- a/keyboards/keychron/v3/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v3/ansi_encoder/keymaps/keychron/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v3/ansi_encoder/keymaps/via/keymap.c
index ac2363f627..1d3b2a2d46 100644
--- a/keyboards/keychron/v3/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v3/ansi_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c
index 03ff4215a2..9d92865528 100644
--- a/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v3/iso_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v3/iso_encoder/keymaps/keychron/keymap.c
index 3f2b5cf7a6..3f28e23e31 100644
--- a/keyboards/keychron/v3/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v3/iso_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v3/iso_encoder/keymaps/via/keymap.c
index 03ff4215a2..9d92865528 100644
--- a/keyboards/keychron/v3/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v3/iso_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c b/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c
index 0bc92b2931..18c17da4fd 100644
--- a/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v3/jis_encoder/keymaps/default/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/jis_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v3/jis_encoder/keymaps/keychron/keymap.c
index 5dd16ca0f1..9b69c9443c 100644
--- a/keyboards/keychron/v3/jis_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v3/jis_encoder/keymaps/keychron/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v3/jis_encoder/keymaps/via/keymap.c b/keyboards/keychron/v3/jis_encoder/keymaps/via/keymap.c
index 0bc92b2931..18c17da4fd 100644
--- a/keyboards/keychron/v3/jis_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v3/jis_encoder/keymaps/via/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c
index d3e3ba41f3..c48e7036be 100644
--- a/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v5/ansi_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v5/ansi_encoder/keymaps/keychron/keymap.c
index 7f4ed64136..b2ec70c095 100644
--- a/keyboards/keychron/v5/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v5/ansi_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v5/ansi_encoder/keymaps/via/keymap.c
index d3e3ba41f3..c48e7036be 100644
--- a/keyboards/keychron/v5/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v5/ansi_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c
index 6751743c3f..7defc8c79a 100644
--- a/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v5/iso_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v5/iso_encoder/keymaps/keychron/keymap.c
index 34229b819b..fe61219034 100644
--- a/keyboards/keychron/v5/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v5/iso_encoder/keymaps/keychron/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v5/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v5/iso_encoder/keymaps/via/keymap.c
index 6751743c3f..7defc8c79a 100644
--- a/keyboards/keychron/v5/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v5/iso_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c
index 39ab68e67b..b51ea1a09c 100644
--- a/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v6/ansi_encoder/keymaps/default/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v6/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v6/ansi_encoder/keymaps/keychron/keymap.c
index 374f75fd3e..058ec0dcc9 100644
--- a/keyboards/keychron/v6/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v6/ansi_encoder/keymaps/keychron/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v6/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v6/ansi_encoder/keymaps/via/keymap.c
index 39ab68e67b..b51ea1a09c 100644
--- a/keyboards/keychron/v6/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v6/ansi_encoder/keymaps/via/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c
index b07c9fc3e1..73b0c57786 100644
--- a/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v6/iso_encoder/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v6/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v6/iso_encoder/keymaps/keychron/keymap.c
index 72b599dd74..bef0b61bac 100644
--- a/keyboards/keychron/v6/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v6/iso_encoder/keymaps/keychron/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v6/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v6/iso_encoder/keymaps/via/keymap.c
index b07c9fc3e1..73b0c57786 100644
--- a/keyboards/keychron/v6/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v6/iso_encoder/keymaps/via/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[MAC_FN] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
diff --git a/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c
index d1ea2f207d..a128a54a00 100644
--- a/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v8/ansi_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v8/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v8/ansi_encoder/keymaps/keychron/keymap.c
index 5af9838437..0058ebda38 100644
--- a/keyboards/keychron/v8/ansi_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v8/ansi_encoder/keymaps/keychron/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v8/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/v8/ansi_encoder/keymaps/via/keymap.c
index d1ea2f207d..a128a54a00 100644
--- a/keyboards/keychron/v8/ansi_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v8/ansi_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c
index c7b37a025a..8d5e493e6a 100644
--- a/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c
+++ b/keyboards/keychron/v8/iso_encoder/keymaps/default/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v8/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/v8/iso_encoder/keymaps/keychron/keymap.c
index 6bbc52362d..fd39296536 100644
--- a/keyboards/keychron/v8/iso_encoder/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/v8/iso_encoder/keymaps/keychron/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/keychron/v8/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/v8/iso_encoder/keymaps/via/keymap.c
index 1de6be16aa..7c6e4bb8a9 100644
--- a/keyboards/keychron/v8/iso_encoder/keymaps/via/keymap.c
+++ b/keyboards/keychron/v8/iso_encoder/keymaps/via/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
diff --git a/keyboards/lpad/keymaps/via/keymap.c b/keyboards/lpad/keymaps/via/keymap.c
index fc5f1f0b03..be180d058e 100644
--- a/keyboards/lpad/keymaps/via/keymap.c
+++ b/keyboards/lpad/keymaps/via/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
[2] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
diff --git a/keyboards/lw75/keymaps/via/keymap.c b/keyboards/lw75/keymaps/via/keymap.c
index 1fa513d12f..b7e64cbcb7 100644
--- a/keyboards/lw75/keymaps/via/keymap.c
+++ b/keyboards/lw75/keymaps/via/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
[2] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
diff --git a/keyboards/lxxt/keymaps/via/keymap.c b/keyboards/lxxt/keymaps/via/keymap.c
index c2b6c2f59d..4432b53b52 100644
--- a/keyboards/lxxt/keymaps/via/keymap.c
+++ b/keyboards/lxxt/keymaps/via/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/macro3/keymaps/default/keymap.c b/keyboards/macro3/keymaps/default/keymap.c
index 50cafe9d0f..a7b5cf9db4 100644
--- a/keyboards/macro3/keymaps/default/keymap.c
+++ b/keyboards/macro3/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
[1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
};
diff --git a/keyboards/mechlovin/foundation/keymaps/default/keymap.c b/keyboards/mechlovin/foundation/keymaps/default/keymap.c
index 11ae3282b5..948d576ce4 100644
--- a/keyboards/mechlovin/foundation/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/foundation/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(RGB_MOD, RGB_RMOD)}
};
diff --git a/keyboards/mechlovin/foundation/keymaps/default_iso/keymap.c b/keyboards/mechlovin/foundation/keymaps/default_iso/keymap.c
index 5b8918c9e5..4ea10f49e8 100644
--- a/keyboards/mechlovin/foundation/keymaps/default_iso/keymap.c
+++ b/keyboards/mechlovin/foundation/keymaps/default_iso/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(RGB_MOD, RGB_RMOD)}
};
diff --git a/keyboards/mechlovin/foundation/keymaps/via/keymap.c b/keyboards/mechlovin/foundation/keymaps/via/keymap.c
index b052937fd4..8dc4e12d31 100644
--- a/keyboards/mechlovin/foundation/keymaps/via/keymap.c
+++ b/keyboards/mechlovin/foundation/keymaps/via/keymap.c
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[2] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/default/keymap.c
index e20b641e12..6d4f8d3ea9 100644
--- a/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/default/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
};
#endif
diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/via/keymap.c
index 2c9e49e753..5ebe28d895 100644
--- a/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/via/keymap.c
+++ b/keyboards/mechlovin/zed65/no_backlight/retro66/keymaps/via/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[2] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
diff --git a/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c b/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
index 71c71ed7d6..0fcf9b1ece 100644
--- a/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
+++ b/keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// If you are not using an encoder, remember to set ENCODER_ENABLE and ENCODER_MAP_ENABLE to no in rules.mk.
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c b/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
index 82427caea9..f65ac3ca3a 100644
--- a/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
+++ b/keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/clunker/keymaps/default/keymap.c b/keyboards/mechwild/clunker/keymaps/default/keymap.c
index 7981a131c3..fd9c93fe87 100644
--- a/keyboards/mechwild/clunker/keymaps/default/keymap.c
+++ b/keyboards/mechwild/clunker/keymaps/default/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
[2] = { ENCODER_CCW_CW(KC_HOME, KC_END) },
diff --git a/keyboards/mechwild/clunker/keymaps/via/keymap.c b/keyboards/mechwild/clunker/keymaps/via/keymap.c
index 7981a131c3..fd9c93fe87 100644
--- a/keyboards/mechwild/clunker/keymaps/via/keymap.c
+++ b/keyboards/mechwild/clunker/keymaps/via/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][1][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
[2] = { ENCODER_CCW_CW(KC_HOME, KC_END) },
diff --git a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
index 8ed7f60dd7..ee53f128a1 100644
--- a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mercutio/keymaps/default/keymap.c b/keyboards/mechwild/mercutio/keymaps/default/keymap.c
index f5066996c0..9d5d174c60 100644
--- a/keyboards/mechwild/mercutio/keymaps/default/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/default/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mercutio/keymaps/via/keymap.c b/keyboards/mechwild/mercutio/keymaps/via/keymap.c
index f5066996c0..9d5d174c60 100755
--- a/keyboards/mechwild/mercutio/keymaps/via/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/via/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c
index ab472326b3..049607376d 100644
--- a/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/default/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c
index ab472326b3..049607376d 100644
--- a/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c
+++ b/keyboards/mechwild/mokulua/mirrored/keymaps/via/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c
index e88c715712..79738e7831 100644
--- a/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c
+++ b/keyboards/mechwild/mokulua/standard/keymaps/default/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c
index e88c715712..79738e7831 100644
--- a/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c
+++ b/keyboards/mechwild/mokulua/standard/keymaps/via/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/murphpad/keymaps/default/keymap.c b/keyboards/mechwild/murphpad/keymaps/default/keymap.c
index 9d51f29158..7780b5105c 100644
--- a/keyboards/mechwild/murphpad/keymaps/default/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/default/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/murphpad/keymaps/via/keymap.c b/keyboards/mechwild/murphpad/keymaps/via/keymap.c
index 717ff430c9..856dd149cb 100644
--- a/keyboards/mechwild/murphpad/keymaps/via/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/via/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/obe/keymaps/default/keymap.c b/keyboards/mechwild/obe/keymaps/default/keymap.c
index 6188fa736d..3f23bd0a1d 100644
--- a/keyboards/mechwild/obe/keymaps/default/keymap.c
+++ b/keyboards/mechwild/obe/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
diff --git a/keyboards/mechwild/obe/keymaps/via/keymap.c b/keyboards/mechwild/obe/keymaps/via/keymap.c
index c7b8d5d7a1..db9b4565ac 100644
--- a/keyboards/mechwild/obe/keymaps/via/keymap.c
+++ b/keyboards/mechwild/obe/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
index 77541edf13..ad0470a139 100644
--- a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
+++ b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][4][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { 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_WH_U, KC_WH_D) },
[_LOWER] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(DPI_UP, DPI_DN) },
[_RAISE] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END) },
diff --git a/keyboards/mechwild/sugarglider/keymaps/via/keymap.c b/keyboards/mechwild/sugarglider/keymaps/via/keymap.c
index 999f4e55ec..bfa5ebfa23 100644
--- a/keyboards/mechwild/sugarglider/keymaps/via/keymap.c
+++ b/keyboards/mechwild/sugarglider/keymaps/via/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][4][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { 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_WH_U, KC_WH_D) },
[_LOWER] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(DPI_UP, DPI_DN) },
[_RAISE] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END) },
diff --git a/keyboards/mechwild/waka60/keymaps/audio/keymap.c b/keyboards/mechwild/waka60/keymaps/audio/keymap.c
index 79d4725610..da74af6bcd 100644
--- a/keyboards/mechwild/waka60/keymaps/audio/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/audio/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/waka60/keymaps/default/keymap.c b/keyboards/mechwild/waka60/keymaps/default/keymap.c
index aae958ae36..beb2d9e9e2 100644
--- a/keyboards/mechwild/waka60/keymaps/default/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/default/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mechwild/waka60/keymaps/via/keymap.c b/keyboards/mechwild/waka60/keymaps/via/keymap.c
index 86e3afd4fd..4d29baea78 100644
--- a/keyboards/mechwild/waka60/keymaps/via/keymap.c
+++ b/keyboards/mechwild/waka60/keymaps/via/keymap.c
@@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/mk65/keymaps/via/keymap.c b/keyboards/mk65/keymaps/via/keymap.c
index 4c74523b71..311bc0e240 100644
--- a/keyboards/mk65/keymaps/via/keymap.c
+++ b/keyboards/mk65/keymaps/via/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c b/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c
index 0929f354ef..3209f7ec36 100644
--- a/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c
+++ b/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/nightly_boards/octopadplus/keymaps/via/keymap.c b/keyboards/nightly_boards/octopadplus/keymaps/via/keymap.c
index 0929f354ef..3209f7ec36 100644
--- a/keyboards/nightly_boards/octopadplus/keymaps/via/keymap.c
+++ b/keyboards/nightly_boards/octopadplus/keymaps/via/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c
index 4ffa21f9ee..31e58c24a6 100644
--- a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c
+++ b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
[_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
diff --git a/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/keymap.c b/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/keymap.c
index 07d01e606a..4b41642c8e 100644
--- a/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/keymap.c
+++ b/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
[_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
diff --git a/keyboards/nullbitsco/snap/keymaps/oled/keymap.c b/keyboards/nullbitsco/snap/keymaps/oled/keymap.c
index 4e566fa3ee..3a48e90134 100644
--- a/keyboards/nullbitsco/snap/keymaps/oled/keymap.c
+++ b/keyboards/nullbitsco/snap/keymaps/oled/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
[_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c b/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c
index ea3fc2e8eb..50e164f408 100644
--- a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c
+++ b/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
[_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
diff --git a/keyboards/nullbitsco/snap/keymaps/via/keymap.c b/keyboards/nullbitsco/snap/keymaps/via/keymap.c
index 291c4c6f16..3ad0018332 100644
--- a/keyboards/nullbitsco/snap/keymaps/via/keymap.c
+++ b/keyboards/nullbitsco/snap/keymaps/via/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[_VIA1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) },
[_VIA2] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }
diff --git a/keyboards/om60/keymaps/default/keymap.c b/keyboards/om60/keymaps/default/keymap.c
index 4ade0c80a9..06cb2814c5 100644
--- a/keyboards/om60/keymaps/default/keymap.c
+++ b/keyboards/om60/keymaps/default/keymap.c
@@ -20,7 +20,7 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/om60/keymaps/via/keymap.c b/keyboards/om60/keymaps/via/keymap.c
index b79b6353f8..eaa625b6f3 100644
--- a/keyboards/om60/keymaps/via/keymap.c
+++ b/keyboards/om60/keymaps/via/keymap.c
@@ -20,7 +20,7 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/pica40/keymaps/zzeneg/keymap.c b/keyboards/pica40/keymaps/zzeneg/keymap.c
index 6cff7cfa27..ea73ef0e21 100644
--- a/keyboards/pica40/keymaps/zzeneg/keymap.c
+++ b/keyboards/pica40/keymaps/zzeneg/keymap.c
@@ -128,7 +128,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
}
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NAV] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
index a249ebdfd9..12b0458143 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW( KC_WH_D, KC_WH_U ) },
[1] = { ENCODER_CCW_CW( RGB_HUD, RGB_HUI ) },
};
diff --git a/keyboards/preonic/keymaps/guillermoap/keymap.c b/keyboards/preonic/keymaps/guillermoap/keymap.c
index fe17182111..066c986c15 100644
--- a/keyboards/preonic/keymaps/guillermoap/keymap.c
+++ b/keyboards/preonic/keymaps/guillermoap/keymap.c
@@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Currently using ENCONDER_MAP_ENABLE
*/
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }, // Mouse Scroll Down | Mouse Scroll Up
[_GAMING] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }, // Mouse Scroll Down | Mouse Scroll Up
[_LOWER] = { ENCODER_CCW_CW(LCTL(KC_TAB), LCTL(LSFT(KC_TAB))) }, // Ctrl + Tab | Ctrl + Shift + Tab
diff --git a/keyboards/preonic/keymaps/snowskeleton/keymap.c b/keyboards/preonic/keymaps/snowskeleton/keymap.c
index 030adf8cbb..8af85fde90 100644
--- a/keyboards/preonic/keymaps/snowskeleton/keymap.c
+++ b/keyboards/preonic/keymaps/snowskeleton/keymap.c
@@ -169,7 +169,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY_MACOS] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_LOWER] = { ENCODER_CCW_CW(_______, _______) },
[_RAISE] = { ENCODER_CCW_CW(KC_BRMU, KC_BRMD) },
diff --git a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c
index 6e1a9b11b3..c12c537795 100644
--- a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c
+++ b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)},
diff --git a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c
index 3cc50104db..99a54b79f8 100644
--- a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c
+++ b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)},
diff --git a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c
index d41183dffb..0d1b9ce399 100644
--- a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c
+++ b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)},
diff --git a/keyboards/prototypist/oceanographer/keymaps/via/keymap.c b/keyboards/prototypist/oceanographer/keymaps/via/keymap.c
index 10a7fc75cf..329839eb4a 100644
--- a/keyboards/prototypist/oceanographer/keymaps/via/keymap.c
+++ b/keyboards/prototypist/oceanographer/keymaps/via/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)},
diff --git a/keyboards/protozoa/p01/keymaps/default/keymap.c b/keyboards/protozoa/p01/keymaps/default/keymap.c
index 424b070570..61ef46c909 100644
--- a/keyboards/protozoa/p01/keymaps/default/keymap.c
+++ b/keyboards/protozoa/p01/keymaps/default/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/protozoa/p01/keymaps/via/keymap.c b/keyboards/protozoa/p01/keymaps/via/keymap.c
index 5b5cead8d2..6d98ff5bfa 100644
--- a/keyboards/protozoa/p01/keymaps/via/keymap.c
+++ b/keyboards/protozoa/p01/keymaps/via/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/rart/rart4x4/keymaps/via/keymap.c b/keyboards/rart/rart4x4/keymaps/via/keymap.c
index 764021ec26..2ae8f883fc 100644
--- a/keyboards/rart/rart4x4/keymaps/via/keymap.c
+++ b/keyboards/rart/rart4x4/keymaps/via/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/rart/rart75/keymaps/via/keymap.c b/keyboards/rart/rart75/keymaps/via/keymap.c
index 384412373c..24a4be9aba 100644
--- a/keyboards/rart/rart75/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75/keymaps/via/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/rart/rart75hs/keymaps/via/keymap.c b/keyboards/rart/rart75hs/keymaps/via/keymap.c
index 0dbd012100..4d74ad0b3f 100644
--- a/keyboards/rart/rart75hs/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75hs/keymaps/via/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/rart/rart75m/keymaps/via/keymap.c b/keyboards/rart/rart75m/keymaps/via/keymap.c
index a8deffa500..16c301753d 100644
--- a/keyboards/rart/rart75m/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75m/keymaps/via/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/rart/rartpad/keymaps/via/keymap.c b/keyboards/rart/rartpad/keymaps/via/keymap.c
index 13b791ca5c..9445fac328 100644
--- a/keyboards/rart/rartpad/keymaps/via/keymap.c
+++ b/keyboards/rart/rartpad/keymaps/via/keymap.c
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/reedskeebs/alish40/keymaps/default/keymap.c b/keyboards/reedskeebs/alish40/keymaps/default/keymap.c
index d84426cd9d..fb6b5971b6 100644
--- a/keyboards/reedskeebs/alish40/keymaps/default/keymap.c
+++ b/keyboards/reedskeebs/alish40/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[2] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/reedskeebs/alish40/keymaps/via/keymap.c b/keyboards/reedskeebs/alish40/keymaps/via/keymap.c
index d84426cd9d..fb6b5971b6 100644
--- a/keyboards/reedskeebs/alish40/keymaps/via/keymap.c
+++ b/keyboards/reedskeebs/alish40/keymaps/via/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[2] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c b/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
index 8b97468376..ee207ae34e 100644
--- a/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
+++ b/keyboards/sofle/keymaps/bastien-baloup_fr/keymap.c
@@ -166,7 +166,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
// This section is like the keymap matrix, but for rotary encoders
// My left encoder is currently not working, so I'm using Layers instead
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
diff --git a/keyboards/sofle/keymaps/michal/keymap.c b/keyboards/sofle/keymaps/michal/keymap.c
index 49b70fd825..cbb0dc36ab 100644
--- a/keyboards/sofle/keymaps/michal/keymap.c
+++ b/keyboards/sofle/keymaps/michal/keymap.c
@@ -182,7 +182,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// This section is like the keymap matrix, but for rotary encoders
// My left encoder is currently not working, so I'm using Layers to cope :')
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_WORKMAN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
[_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_VOLD, KC_VOLU )},
[_LOWER] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 178d3f2480..34f6e0d8e2 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { ENCODER_CCW_CW( KC_VOLD, KC_VOLU ), ENCODER_CCW_CW( KC_WH_D, KC_WH_U ) },
[_DEFAULT_LAYER_2] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) },
[_DEFAULT_LAYER_2] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) },
diff --git a/keyboards/splitkb/kyria/keymaps/via/keymap.c b/keyboards/splitkb/kyria/keymaps/via/keymap.c
index 0849e8a766..c9e91ccf81 100644
--- a/keyboards/splitkb/kyria/keymaps/via/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/via/keymap.c
@@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
index 1b4f269c05..de3d74474e 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { { KC_DOWN, KC_UP } },
[1] = { { KC_VOLD, KC_VOLU } },
[2] = { { RGB_MOD, RGB_RMOD} },
diff --git a/keyboards/star75/keymaps/default/keymap.c b/keyboards/star75/keymaps/default/keymap.c
index a25a1fe102..35586c6891 100644
--- a/keyboards/star75/keymaps/default/keymap.c
+++ b/keyboards/star75/keymaps/default/keymap.c
@@ -91,7 +91,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
/* encoder; start */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_HOME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/star75/keymaps/via/keymap.c b/keyboards/star75/keymaps/via/keymap.c
index 15ddf59274..c64790c572 100644
--- a/keyboards/star75/keymaps/via/keymap.c
+++ b/keyboards/star75/keymaps/via/keymap.c
@@ -91,7 +91,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
/* encoder; start */
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_HOME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/synthlabs/solo/keymaps/iidx/keymap.c b/keyboards/synthlabs/solo/keymaps/iidx/keymap.c
index aedb00d968..d124a011f6 100644
--- a/keyboards/synthlabs/solo/keymaps/iidx/keymap.c
+++ b/keyboards/synthlabs/solo/keymaps/iidx/keymap.c
@@ -62,7 +62,7 @@ void housekeeping_task_user(void) {
}
}
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(
CCW_MACRO,
CW_MACRO
diff --git a/keyboards/takashicompany/goat51/keymaps/via/keymap.c b/keyboards/takashicompany/goat51/keymaps/via/keymap.c
index b4858a17b5..3163afd0c7 100644
--- a/keyboards/takashicompany/goat51/keymaps/via/keymap.c
+++ b/keyboards/takashicompany/goat51/keymaps/via/keymap.c
@@ -94,7 +94,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
{ ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
{ ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
{ ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/tau4/keymaps/default/keymap.c b/keyboards/tau4/keymaps/default/keymap.c
index 775ec3a8f4..92baeefbfc 100755
--- a/keyboards/tau4/keymaps/default/keymap.c
+++ b/keyboards/tau4/keymaps/default/keymap.c
@@ -104,7 +104,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
}
#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NUMPAD] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_LOWER] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c b/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c
index f46a447eff..0240ba034e 100644
--- a/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c
+++ b/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN] = {ENCODER_CCW_CW(KC_NO, KC_NO)}
};
diff --git a/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c b/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c
index 87b98be5bc..64bf0d37c1 100644
--- a/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c
+++ b/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_NO, KC_NO)},
[2] = {ENCODER_CCW_CW(KC_NO, KC_NO)},
diff --git a/keyboards/tkc/portico75/keymaps/via/keymap.c b/keyboards/tkc/portico75/keymaps/via/keymap.c
index 82f610292e..befb3b8829 100644
--- a/keyboards/tkc/portico75/keymaps/via/keymap.c
+++ b/keyboards/tkc/portico75/keymaps/via/keymap.c
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_PGUP, KC_PGDN)},
[2] = {ENCODER_CCW_CW(_______, _______)},
diff --git a/keyboards/tzarc/djinn/keymaps/default/keymap.c b/keyboards/tzarc/djinn/keymaps/default/keymap.c
index 65b494cf32..626233946c 100644
--- a/keyboards/tzarc/djinn/keymaps/default/keymap.c
+++ b/keyboards/tzarc/djinn/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Encoder map
// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/tzarc/djinn/keymaps/via/keymap.c b/keyboards/tzarc/djinn/keymaps/via/keymap.c
index 65b494cf32..626233946c 100644
--- a/keyboards/tzarc/djinn/keymaps/via/keymap.c
+++ b/keyboards/tzarc/djinn/keymaps/via/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Encoder map
// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
diff --git a/keyboards/tzarc/ghoul/keymaps/default/keymap.c b/keyboards/tzarc/ghoul/keymaps/default/keymap.c
index 920af658c4..57010c3a7b 100644
--- a/keyboards/tzarc/ghoul/keymaps/default/keymap.c
+++ b/keyboards/tzarc/ghoul/keymaps/default/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// clang-format on
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = {ENCODER_CCW_CW(RGB_HUI, RGB_HUD)},
[_LOWER] = {ENCODER_CCW_CW(RGB_HUI, RGB_HUD)},
[_RAISE] = {ENCODER_CCW_CW(RGB_HUI, RGB_HUD)},
diff --git a/keyboards/wolf/frogpad/keymaps/default/keymap.c b/keyboards/wolf/frogpad/keymaps/default/keymap.c
index e7f88542bc..adc4cf77e8 100644
--- a/keyboards/wolf/frogpad/keymaps/default/keymap.c
+++ b/keyboards/wolf/frogpad/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_LAYER0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
diff --git a/keyboards/wolf/frogpad/keymaps/via/keymap.c b/keyboards/wolf/frogpad/keymaps/via/keymap.c
index 0a95b54b66..dfc5c15ae4 100644
--- a/keyboards/wolf/frogpad/keymaps/via/keymap.c
+++ b/keyboards/wolf/frogpad/keymaps/via/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
[_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_LAYER2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
diff --git a/keyboards/work_louder/loop/keymaps/via/keymap.c b/keyboards/work_louder/loop/keymaps/via/keymap.c
index 5b35be9cf3..844ef1c874 100644
--- a/keyboards/work_louder/loop/keymaps/via/keymap.c
+++ b/keyboards/work_louder/loop/keymaps/via/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(R_M_RMOD, R_M_MOD) },
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/work_louder/micro/keymaps/default/keymap.c b/keyboards/work_louder/micro/keymaps/default/keymap.c
index 6b5541e017..56146f4932 100644
--- a/keyboards/work_louder/micro/keymaps/default/keymap.c
+++ b/keyboards/work_louder/micro/keymaps/default/keymap.c
@@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
{ ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/work_louder/micro/keymaps/peterfalken/keymap.c b/keyboards/work_louder/micro/keymaps/peterfalken/keymap.c
index 8ef9a4eb97..abb902597b 100644
--- a/keyboards/work_louder/micro/keymaps/peterfalken/keymap.c
+++ b/keyboards/work_louder/micro/keymaps/peterfalken/keymap.c
@@ -79,7 +79,7 @@ typedef union {
work_louder_config_t work_louder_config;
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
{ ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(CK_UNDO, CK_REDO) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/work_louder/micro/keymaps/via/keymap.c b/keyboards/work_louder/micro/keymaps/via/keymap.c
index 514aae2aa0..bcb55a3991 100644
--- a/keyboards/work_louder/micro/keymaps/via/keymap.c
+++ b/keyboards/work_louder/micro/keymaps/via/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
{ ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
{ ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/work_louder/nano/keymaps/via/keymap.c b/keyboards/work_louder/nano/keymaps/via/keymap.c
index 84c5895d5e..17053dffd2 100644
--- a/keyboards/work_louder/nano/keymaps/via/keymap.c
+++ b/keyboards/work_louder/nano/keymaps/via/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(C(KC_Z), C(KC_Y)) },
[1] = { ENCODER_CCW_CW(G(KC_Z), G(S(KC_Z))) },
[2] = { ENCODER_CCW_CW(_______, _______) },
diff --git a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c
index 9b8cc479ae..99bbedfdcb 100644
--- a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c
@@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_ENABLE
# ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
[_DEFAULT_LAYER_2] = { { _______, _______ } },
[_DEFAULT_LAYER_3] = { { _______, _______ } },
diff --git a/keyboards/work_louder/work_board/keymaps/peterfalken/keymap.c b/keyboards/work_louder/work_board/keymaps/peterfalken/keymap.c
index 5cbe25322a..785322b8af 100644
--- a/keyboards/work_louder/work_board/keymaps/peterfalken/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/peterfalken/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { { KC_VOLU, KC_VOLD } },
[_RAISE] = { { _______, _______ } },
[_LOWER] = { { _______, _______ } },
diff --git a/keyboards/work_louder/work_board/keymaps/via/keymap.c b/keyboards/work_louder/work_board/keymaps/via/keymap.c
index 08df414e88..e920c2f9bd 100644
--- a/keyboards/work_louder/work_board/keymaps/via/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/via/keymap.c
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_RAISE] = { ENCODER_CCW_CW(R_M_RMOD, R_M_MOD) },
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index d5faf7f7c8..cc84c132d9 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
[_DEFAULT_LAYER_2] = { { _______, _______ } },
[_DEFAULT_LAYER_3] = { { _______, _______ } },
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py
index 8ae8a5ed19..825267a1fe 100644
--- a/lib/python/qmk/keymap.py
+++ b/lib/python/qmk/keymap.py
@@ -32,7 +32,7 @@ __KEYMAP_GOES_HERE__
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
__ENCODER_MAP_GOES_HERE__
};
#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
diff --git a/quantum/encoder.h b/quantum/encoder.h
index 4eb67fa25d..7644853b30 100644
--- a/quantum/encoder.h
+++ b/quantum/encoder.h
@@ -57,7 +57,8 @@ void encoder_update_raw(uint8_t* slave_state);
#define NUM_ENCODERS_MAX_PER_SIDE MAX(NUM_ENCODERS_LEFT, NUM_ENCODERS_RIGHT)
#ifdef ENCODER_MAP_ENABLE
+# define NUM_DIRECTIONS 2
# define ENCODER_CCW_CW(ccw, cw) \
{ (cw), (ccw) }
-extern const uint16_t encoder_map[][NUM_ENCODERS][2];
+extern const uint16_t encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS];
#endif // ENCODER_MAP_ENABLE
diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c
index 2459ad0df5..977b949340 100644
--- a/quantum/keymap_introspection.c
+++ b/quantum/keymap_introspection.c
@@ -46,7 +46,7 @@ __attribute__((weak)) uint16_t keycode_at_keymap_location(uint8_t layer_num, uin
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
-# define NUM_ENCODERMAP_LAYERS_RAW ((uint8_t)(sizeof(encoder_map) / ((NUM_ENCODERS) * (2) * sizeof(uint16_t))))
+# define NUM_ENCODERMAP_LAYERS_RAW ((uint8_t)(sizeof(encoder_map) / ((NUM_ENCODERS) * (NUM_DIRECTIONS) * sizeof(uint16_t))))
uint8_t encodermap_layer_count_raw(void) {
return NUM_ENCODERMAP_LAYERS_RAW;