diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 16eee263d9..a3609768f4 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -575,10 +575,6 @@ ifeq ($(strip $(VIAL_INSECURE)), yes) OPT_DEFS += -DVIAL_INSECURE endif -ifeq ($(strip $(VIAL_ENCODERS_ENABLE)), yes) - OPT_DEFS += -DVIAL_ENCODERS_ENABLE -endif - ifeq ($(strip $(VIALRGB_ENABLE)), yes) SRC += $(QUANTUM_DIR)/vialrgb.c OPT_DEFS += -DVIALRGB_ENABLE diff --git a/keyboards/42keebs/basketweave_s/keymaps/vial/config.h b/keyboards/42keebs/basketweave_s/keymaps/vial/config.h index eb02082ef7..8bfae40104 100644 --- a/keyboards/42keebs/basketweave_s/keymaps/vial/config.h +++ b/keyboards/42keebs/basketweave_s/keymaps/vial/config.h @@ -9,8 +9,6 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 4 -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } - #define VIAL_TAP_DANCE_ENTRIES 5 #define VIAL_COMBO_ENTRIES 5 #define VIAL_KEY_OVERRIDE_ENTRIES 5 diff --git a/keyboards/42keebs/basketweave_s/keymaps/vial/keymap.c b/keyboards/42keebs/basketweave_s/keymaps/vial/keymap.c index 02ac820017..d8c97c6db9 100644 --- a/keyboards/42keebs/basketweave_s/keymaps/vial/keymap.c +++ b/keyboards/42keebs/basketweave_s/keymaps/vial/keymap.c @@ -66,3 +66,10 @@ 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 ) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP), ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/42keebs/basketweave_s/keymaps/vial/rules.mk b/keyboards/42keebs/basketweave_s/keymaps/vial/rules.mk index 6f7f2b3173..c9ca48bd54 100644 --- a/keyboards/42keebs/basketweave_s/keymaps/vial/rules.mk +++ b/keyboards/42keebs/basketweave_s/keymaps/vial/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/42keebs/mysterium/keymaps/vial/config.h b/keyboards/42keebs/mysterium/keymaps/vial/config.h index ef1dc84b13..9847d3c6af 100644 --- a/keyboards/42keebs/mysterium/keymaps/vial/config.h +++ b/keyboards/42keebs/mysterium/keymaps/vial/config.h @@ -7,8 +7,6 @@ #define VIAL_UNLOCK_COMBO_COLS { 0, 13 } #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS } - #define VIAL_KEY_OVERRIDE_ENTRIES 6 #define VIAL_COMBO_ENTRIES 6 #define VIAL_TAP_DANCE_ENTRIES 6 diff --git a/keyboards/42keebs/mysterium/keymaps/vial/keymap.c b/keyboards/42keebs/mysterium/keymaps/vial/keymap.c index 6b27689da5..5ac8e642e1 100644 --- a/keyboards/42keebs/mysterium/keymaps/vial/keymap.c +++ b/keyboards/42keebs/mysterium/keymaps/vial/keymap.c @@ -48,3 +48,10 @@ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, + [3] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, +}; diff --git a/keyboards/42keebs/mysterium/keymaps/vial/rules.mk b/keyboards/42keebs/mysterium/keymaps/vial/rules.mk index 2a8e8f8608..5b7c05adb0 100644 --- a/keyboards/42keebs/mysterium/keymaps/vial/rules.mk +++ b/keyboards/42keebs/mysterium/keymaps/vial/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = yes VIAL_ENABLE = yes LTO_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/boston/keymaps/vial/config.h b/keyboards/boston/keymaps/vial/config.h index 355acf3012..16f2ce46cb 100644 --- a/keyboards/boston/keymaps/vial/config.h +++ b/keyboards/boston/keymaps/vial/config.h @@ -2,8 +2,6 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 7 -#define VIAL_ENCODER_DEFAULT {KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} - #define VIAL_ENCODER_KEYCODE_DELAY 10 #define VIAL_KEYBOARD_UID {0xB3, 0x30, 0xE4, 0x75, 0xF9, 0x3A, 0x9B, 0x18} diff --git a/keyboards/boston/keymaps/vial/keymap.c b/keyboards/boston/keymaps/vial/keymap.c index 09bf6af7c9..b7deb8bee2 100644 --- a/keyboards/boston/keymaps/vial/keymap.c +++ b/keyboards/boston/keymaps/vial/keymap.c @@ -162,3 +162,12 @@ bool led_update_user(led_t led_state) { return true; } +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [6] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/boston/keymaps/vial/rules.mk b/keyboards/boston/keymaps/vial/rules.mk index 33c942274e..7bd6d0bcff 100644 --- a/keyboards/boston/keymaps/vial/rules.mk +++ b/keyboards/boston/keymaps/vial/rules.mk @@ -31,4 +31,4 @@ WS2812_DRIVER = bitbang #Vial VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/capsunlocked/cu7/keymaps/vial/keymap.c b/keyboards/capsunlocked/cu7/keymaps/vial/keymap.c index 2673dfbdeb..6c38637032 100644 --- a/keyboards/capsunlocked/cu7/keymaps/vial/keymap.c +++ b/keyboards/capsunlocked/cu7/keymaps/vial/keymap.c @@ -37,3 +37,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______ ), }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, + [1] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, + [2] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, + [3] = { ENCODER_CCW_CW(KC_NO, KC_NO) }, +}; diff --git a/keyboards/capsunlocked/cu7/keymaps/vial/rules.mk b/keyboards/capsunlocked/cu7/keymaps/vial/rules.mk index d517c67285..b12cf5f72a 100644 --- a/keyboards/capsunlocked/cu7/keymaps/vial/rules.mk +++ b/keyboards/capsunlocked/cu7/keymaps/vial/rules.mk @@ -1,6 +1,6 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes QMK_SETTINGS = no TAP_DANCE_ENABLE = yes MOUSEKEY_ENABLE = yes diff --git a/keyboards/crbn/keymaps/vial/config.h b/keyboards/crbn/keymaps/vial/config.h index 13d6a8ab12..363abd30f1 100644 --- a/keyboards/crbn/keymaps/vial/config.h +++ b/keyboards/crbn/keymaps/vial/config.h @@ -6,7 +6,3 @@ /* VIAL Unlock combo keys */ #define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } #define VIAL_UNLOCK_COMBO_COLS { 0, 11 } - -/* Encoder default values and delay */ -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } -#define VIAL_ENCODER_KEYCODE_DELAY 10 diff --git a/keyboards/crbn/keymaps/vial/keymap.c b/keyboards/crbn/keymaps/vial/keymap.c index 91880d93e8..b98f36f74e 100644 --- a/keyboards/crbn/keymaps/vial/keymap.c +++ b/keyboards/crbn/keymaps/vial/keymap.c @@ -43,3 +43,10 @@ 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, KC_TRNS), }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/crbn/keymaps/vial/rules.mk b/keyboards/crbn/keymaps/vial/rules.mk index 70c64e39f8..119a11bfd4 100644 --- a/keyboards/crbn/keymaps/vial/rules.mk +++ b/keyboards/crbn/keymaps/vial/rules.mk @@ -1,5 +1,5 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes LTO_ENABLE = yes QMK_SETTINGS = no diff --git a/keyboards/doodboard/duckboard_r2/keymaps/vial/config.h b/keyboards/doodboard/duckboard_r2/keymaps/vial/config.h index d1ab9cb0da..40939929dc 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/vial/config.h +++ b/keyboards/doodboard/duckboard_r2/keymaps/vial/config.h @@ -7,9 +7,6 @@ #define VIAL_UNLOCK_COMBO_ROWS { 4, 4 } #define VIAL_UNLOCK_COMBO_COLS { 0, 4 } -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_UP, KC_DOWN, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } #undef ENCODER_RESOLUTION #define ENCODER_RESOLUTION 4 diff --git a/keyboards/doodboard/duckboard_r2/keymaps/vial/keymap.c b/keyboards/doodboard/duckboard_r2/keymaps/vial/keymap.c index 58f00c809b..7d20e568af 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/vial/keymap.c +++ b/keyboards/doodboard/duckboard_r2/keymaps/vial/keymap.c @@ -91,3 +91,12 @@ led_config_t g_led_config = { } }; #endif + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_UP, KC_DOWN) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/doodboard/duckboard_r2/keymaps/vial/rules.mk b/keyboards/doodboard/duckboard_r2/keymaps/vial/rules.mk index 18e3365b84..f0daca5a9a 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/vial/rules.mk +++ b/keyboards/doodboard/duckboard_r2/keymaps/vial/rules.mk @@ -10,7 +10,7 @@ LTO_ENABLE = yes # Vial settings VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes VIALRGB_ENABLE = yes # Reduce firmware size diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/config.h b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/config.h index 9c09d40ba1..4b4909ecd8 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/config.h +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/config.h @@ -6,8 +6,5 @@ #define ENCODER_RESOLUTION 2 -#define VIAL_ENCODER_DEFAULT { KC_A, KC_B, KC_C, KC_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_A, KC_B, KC_C, KC_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } - - #define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } #define VIAL_UNLOCK_COMBO_COLS { 1, 4 } diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/keymap.c b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/keymap.c index 4e7ec62fec..d54fbc2293 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/keymap.c +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/keymap.c @@ -145,3 +145,10 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } return true; } + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_A, KC_B), ENCODER_CCW_CW(KC_C, KC_D) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_A, KC_B), ENCODER_CCW_CW(KC_C, KC_D) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/rules.mk b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/rules.mk index d3b5124293..b26d86e81b 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/rules.mk +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/vial/rules.mk @@ -1,6 +1,6 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes QMK_SETTINGS = no EXTRAFLAGS += -flto \ No newline at end of file diff --git a/keyboards/handwired/snatchpad/keymaps/vial/config.h b/keyboards/handwired/snatchpad/keymaps/vial/config.h index 85cf8167d1..bd595e3e09 100644 --- a/keyboards/handwired/snatchpad/keymaps/vial/config.h +++ b/keyboards/handwired/snatchpad/keymaps/vial/config.h @@ -8,4 +8,3 @@ #define VIAL_UNLOCK_COMBO_COLS { 0, 1, 2 } #define VIAL_ENCODER_KEYCODE_DELAY 10 -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD, KC_MS_DOWN, KC_MS_UP, KC_MS_LEFT, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } diff --git a/keyboards/handwired/snatchpad/keymaps/vial/keymap.c b/keyboards/handwired/snatchpad/keymaps/vial/keymap.c index 9d6feca5b4..1a9fc0d39d 100644 --- a/keyboards/handwired/snatchpad/keymaps/vial/keymap.c +++ b/keyboards/handwired/snatchpad/keymaps/vial/keymap.c @@ -25,3 +25,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______ ) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD) }, + [1] = { ENCODER_CCW_CW(KC_MS_DOWN, KC_MS_UP), ENCODER_CCW_CW(KC_MS_LEFT, KC_MS_RIGHT) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/handwired/snatchpad/keymaps/vial/rules.mk b/keyboards/handwired/snatchpad/keymaps/vial/rules.mk index 9885eb4393..0996bd7754 100644 --- a/keyboards/handwired/snatchpad/keymaps/vial/rules.mk +++ b/keyboards/handwired/snatchpad/keymaps/vial/rules.mk @@ -1,5 +1,5 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes LTO_ENABLE = yes KEY_OVERRIDE_ENABLE = no diff --git a/keyboards/mechwild/mercutio/keymaps/vial/config.h b/keyboards/mechwild/mercutio/keymaps/vial/config.h index eeaa272b88..a4b2e6621f 100644 --- a/keyboards/mechwild/mercutio/keymaps/vial/config.h +++ b/keyboards/mechwild/mercutio/keymaps/vial/config.h @@ -21,7 +21,6 @@ along with this program. If not, see . #define VIAL_KEYBOARD_UID {0xAA, 0xF4, 0xE4, 0x5D, 0xDA, 0x2E, 0x52, 0x2F} #define VIAL_UNLOCK_COMBO_ROWS { 1, 5 } #define VIAL_UNLOCK_COMBO_COLS { 0, 3 } -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } /* Space-saving measures */ #define LAYER_STATE_8BIT diff --git a/keyboards/mechwild/mercutio/keymaps/vial/keymap.c b/keyboards/mechwild/mercutio/keymaps/vial/keymap.c index e83dbc1293..f77bb89630 100644 --- a/keyboards/mechwild/mercutio/keymaps/vial/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/vial/keymap.c @@ -66,3 +66,10 @@ bool oled_task_user(void) { return false; } #endif + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/mechwild/mercutio/keymaps/vial/rules.mk b/keyboards/mechwild/mercutio/keymaps/vial/rules.mk index 1fb4736063..02ff9fa518 100644 --- a/keyboards/mechwild/mercutio/keymaps/vial/rules.mk +++ b/keyboards/mechwild/mercutio/keymaps/vial/rules.mk @@ -1,6 +1,6 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes LTO_ENABLE = yes KEY_OVERRIDE_ENABLE = no diff --git a/keyboards/mechwild/murphpad/keymaps/vial/config.h b/keyboards/mechwild/murphpad/keymaps/vial/config.h index 418673f081..79f6ed7362 100644 --- a/keyboards/mechwild/murphpad/keymaps/vial/config.h +++ b/keyboards/mechwild/murphpad/keymaps/vial/config.h @@ -25,5 +25,4 @@ along with this program. If not, see . /* VIAL Specific definitions */ #define VIAL_KEYBOARD_UID {0x3B, 0x87, 0xE1, 0xE7, 0x57, 0x30, 0x78, 0x13} #define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } -#define VIAL_UNLOCK_COMBO_COLS { 1, 4 } -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } \ No newline at end of file +#define VIAL_UNLOCK_COMBO_COLS { 1, 4 } \ No newline at end of file diff --git a/keyboards/mechwild/murphpad/keymaps/vial/keymap.c b/keyboards/mechwild/murphpad/keymaps/vial/keymap.c index 4648d20340..706bad8965 100644 --- a/keyboards/mechwild/murphpad/keymaps/vial/keymap.c +++ b/keyboards/mechwild/murphpad/keymaps/vial/keymap.c @@ -122,3 +122,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { return false; } #endif + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [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) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/mechwild/murphpad/keymaps/vial/rules.mk b/keyboards/mechwild/murphpad/keymaps/vial/rules.mk index 8c4ab8f5ae..bf3c77ef86 100644 --- a/keyboards/mechwild/murphpad/keymaps/vial/rules.mk +++ b/keyboards/mechwild/murphpad/keymaps/vial/rules.mk @@ -1,7 +1,7 @@ VIA_ENABLE = yes LTO_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes MOUSEKEY_ENABLE = no QMK_SETTINGS = no COMBOS_ENABLE = no diff --git a/keyboards/mechwild/obe/keymaps/vial/config.h b/keyboards/mechwild/obe/keymaps/vial/config.h index b0fe26f262..6b66c2f68d 100644 --- a/keyboards/mechwild/obe/keymaps/vial/config.h +++ b/keyboards/mechwild/obe/keymaps/vial/config.h @@ -17,5 +17,4 @@ along with this program. If not, see . /* VIAL Specific definitions */ #define VIAL_KEYBOARD_UID {0xD1, 0x5C, 0x58, 0xBE, 0xC2, 0x90, 0x5E, 0xD6} #define VIAL_UNLOCK_COMBO_ROWS { 5, 5 } -#define VIAL_UNLOCK_COMBO_COLS { 4, 3 } -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } \ No newline at end of file +#define VIAL_UNLOCK_COMBO_COLS { 4, 3 } \ No newline at end of file diff --git a/keyboards/mechwild/obe/keymaps/vial/keymap.c b/keyboards/mechwild/obe/keymaps/vial/keymap.c index 2b46f14506..007d98ccfa 100644 --- a/keyboards/mechwild/obe/keymaps/vial/keymap.c +++ b/keyboards/mechwild/obe/keymaps/vial/keymap.c @@ -54,4 +54,11 @@ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; \ No newline at end of file +}; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/mechwild/obe/keymaps/vial/rules.mk b/keyboards/mechwild/obe/keymaps/vial/rules.mk index 326bd08ddc..c6bf6798de 100644 --- a/keyboards/mechwild/obe/keymaps/vial/rules.mk +++ b/keyboards/mechwild/obe/keymaps/vial/rules.mk @@ -1,3 +1,3 @@ VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mechwild/waka60/keymaps/vial/config.h b/keyboards/mechwild/waka60/keymaps/vial/config.h index 26eede342f..a77cc4fec8 100644 --- a/keyboards/mechwild/waka60/keymaps/vial/config.h +++ b/keyboards/mechwild/waka60/keymaps/vial/config.h @@ -26,5 +26,3 @@ along with this program. If not, see . #define VIAL_UNLOCK_COMBO_ROWS { 0, 5 } #define VIAL_UNLOCK_COMBO_COLS { 0, 5 } - -#define VIAL_ENCODER_DEFAULT { KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS } diff --git a/keyboards/mechwild/waka60/keymaps/vial/keymap.c b/keyboards/mechwild/waka60/keymaps/vial/keymap.c index fc1d16f2fc..70dbc59050 100644 --- a/keyboards/mechwild/waka60/keymaps/vial/keymap.c +++ b/keyboards/mechwild/waka60/keymaps/vial/keymap.c @@ -55,3 +55,10 @@ 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, KC_TRNS, KC_TRNS, KC_TRNS ) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/mechwild/waka60/keymaps/vial/rules.mk b/keyboards/mechwild/waka60/keymaps/vial/rules.mk index 6f1cc7ed94..d7d3f90cbc 100644 --- a/keyboards/mechwild/waka60/keymaps/vial/rules.mk +++ b/keyboards/mechwild/waka60/keymaps/vial/rules.mk @@ -2,4 +2,4 @@ VIA_ENABLE = yes VIAL_ENABLE = yes AUDIO_ENABLE = yes AUDIO_DRIVER = pwm_software -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/pteron36/keymaps/vial/config.h b/keyboards/pteron36/keymaps/vial/config.h index cecb9ac69e..4d23b941e7 100644 --- a/keyboards/pteron36/keymaps/vial/config.h +++ b/keyboards/pteron36/keymaps/vial/config.h @@ -3,7 +3,3 @@ #define VIAL_KEYBOARD_UID {0xD6, 0x68, 0xF2, 0x55, 0x9B, 0x48, 0x07, 0x6E} #define VIAL_UNLOCK_COMBO_ROWS { 0, 4 } #define VIAL_UNLOCK_COMBO_COLS { 0, 0 } - -//default trans keycode. -#define VIAL_ENCODER_DEFAULT { KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS} - diff --git a/keyboards/pteron36/keymaps/vial/keymap.c b/keyboards/pteron36/keymaps/vial/keymap.c index 52863d68f6..1b61337e42 100644 --- a/keyboards/pteron36/keymaps/vial/keymap.c +++ b/keyboards/pteron36/keymaps/vial/keymap.c @@ -82,3 +82,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [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) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [6] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/pteron36/keymaps/vial/rules.mk b/keyboards/pteron36/keymaps/vial/rules.mk index be508f92a6..227d38c7f0 100644 --- a/keyboards/pteron36/keymaps/vial/rules.mk +++ b/keyboards/pteron36/keymaps/vial/rules.mk @@ -1,7 +1,7 @@ LTO_ENABLE = yes VIA_ENABLE = yes VIAL_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes +ENCODER_MAP_ENABLE = yes QMK_SETTINGS = no COMBO_ENABLE = no TAP_DANCE_ENABLE = no diff --git a/keyboards/spacey/keymaps/vial/config.h b/keyboards/spacey/keymaps/vial/config.h index 5db61605a5..fe94550bab 100644 --- a/keyboards/spacey/keymaps/vial/config.h +++ b/keyboards/spacey/keymaps/vial/config.h @@ -8,6 +8,4 @@ #define ENCODERS_PAD_A { D0 } #define ENCODERS_PAD_B { D1 } -#define ENCODER_RESOLUTION 4 -#define VIAL_ENCODER_DEFAULT {KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} -#define VIAL_ENCODER_KEYCODE_DELAY 10 \ No newline at end of file +#define ENCODER_RESOLUTION 4 \ No newline at end of file diff --git a/keyboards/spacey/keymaps/vial/keymap.c b/keyboards/spacey/keymaps/vial/keymap.c index 660f427da7..bfcd042eb6 100644 --- a/keyboards/spacey/keymaps/vial/keymap.c +++ b/keyboards/spacey/keymaps/vial/keymap.c @@ -46,3 +46,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; diff --git a/keyboards/spacey/keymaps/vial/rules.mk b/keyboards/spacey/keymaps/vial/rules.mk index 49e4f2d1cf..c3639aa46f 100644 --- a/keyboards/spacey/keymaps/vial/rules.mk +++ b/keyboards/spacey/keymaps/vial/rules.mk @@ -1,4 +1,4 @@ VIA_ENABLE = yes VIAL_ENABLE = yes LTO_ENABLE = yes -VIAL_ENCODERS_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index e4ee6da74a..953225843e 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -71,22 +71,13 @@ // Encoders are located right after the dynamic keymap #define VIAL_ENCODERS_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2)) +#define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR VIAL_ENCODERS_EEPROM_ADDR -#ifdef VIAL_ENCODERS_ENABLE -#ifdef SPLIT_KEYBOARD -#define NUMBER_OF_ENCODERS (2 * sizeof(encoders_pad_a) / sizeof(pin_t)) -#else -#define NUMBER_OF_ENCODERS (sizeof(encoders_pad_a) / sizeof(pin_t)) -#endif -static pin_t encoders_pad_a[] = ENCODERS_PAD_A; -#define VIAL_ENCODERS_SIZE (NUMBER_OF_ENCODERS * DYNAMIC_KEYMAP_LAYER_COUNT * 2 * 2) -#else -#define VIAL_ENCODERS_SIZE 0 -#endif - -#define VIAL_QMK_SETTINGS_EEPROM_ADDR (VIAL_ENCODERS_EEPROM_ADDR + VIAL_ENCODERS_SIZE) +#define VIAL_ENCODERS_SIZE (NUM_ENCODERS * DYNAMIC_KEYMAP_LAYER_COUNT * 2 * 2) // QMK settings area is just past encoders +#define VIAL_QMK_SETTINGS_EEPROM_ADDR (VIAL_ENCODERS_EEPROM_ADDR + VIAL_ENCODERS_SIZE) + #ifdef QMK_SETTINGS #include "qmk_settings.h" #define VIAL_QMK_SETTINGS_SIZE (sizeof(qmk_settings_t)) @@ -126,17 +117,6 @@ static pin_t encoders_pad_a[] = ENCODERS_PAD_A; # define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (VIAL_KEY_OVERRIDE_EEPROM_ADDR + VIAL_KEY_OVERRIDE_SIZE) #endif -// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP -#ifdef ENCODER_MAP_ENABLE -# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2)) -# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -#else // ENCODER_MAP_ENABLE -# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) -# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR -#endif // ENCODER_MAP_ENABLE - // Sanity check that dynamic keymaps fit in available EEPROM // If there's not 100 bytes available for macros, then something is wrong. // The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it, diff --git a/quantum/encoder.c b/quantum/encoder.c index 73ba47f237..105bed0147 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -79,11 +79,6 @@ __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { return encoder_update_user(index, clockwise); } -#ifdef VIAL_ENCODERS_ENABLE -#include "vial.h" -#define encoder_update_kb vial_encoder_update -#endif - void encoder_init(void) { #ifdef SPLIT_KEYBOARD thisHand = isLeftHand ? 0 : NUM_ENCODERS_LEFT; diff --git a/quantum/vial.c b/quantum/vial.c index 23d62a2fa5..84fed1ee18 100644 --- a/quantum/vial.c +++ b/quantum/vial.c @@ -44,10 +44,6 @@ _Static_assert(VIAL_UNLOCK_NUM_KEYS < 15, "Max 15 unlock keys"); _Static_assert(sizeof(vial_unlock_combo_rows) == sizeof(vial_unlock_combo_cols), "The number of unlock cols and rows should be the same"); #endif -#ifndef VIAL_ENCODER_KEYCODE_DELAY -#define VIAL_ENCODER_KEYCODE_DELAY 10 -#endif - #include "qmk_settings.h" #ifdef VIAL_TAP_DANCE_ENABLE @@ -123,7 +119,7 @@ void vial_handle_cmd(uint8_t *msg, uint8_t length) { memcpy_P(msg, &keyboard_definition[start], end - start); break; } -#ifdef VIAL_ENCODERS_ENABLE +#ifdef ENCODER_MAP_ENABLE case vial_get_encoder: { uint8_t layer = msg[2]; uint8_t idx = msg[3]; @@ -326,39 +322,6 @@ void vial_keycode_tap(uint16_t keycode) { vial_keycode_up(keycode); } -#ifdef VIAL_ENCODERS_ENABLE -static void exec_keycode(uint16_t keycode) { - vial_keycode_down(keycode); - -#if VIAL_ENCODER_KEYCODE_DELAY > 0 - wait_ms(VIAL_ENCODER_KEYCODE_DELAY); -#endif - - vial_keycode_up(keycode); -} - -bool vial_encoder_update(uint8_t index, bool clockwise) { - uint16_t code; - - layer_state_t layers = layer_state | default_layer_state; - /* check top layer first */ - for (int8_t i = MAX_LAYER - 1; i >= 0; i--) { - if (layers & (1UL << i)) { - code = dynamic_keymap_get_encoder(i, index, clockwise); - if (code != KC_TRNS) { - exec_keycode(code); - return true; - } - } - } - /* fall back to layer 0 */ - code = dynamic_keymap_get_encoder(0, index, clockwise); - exec_keycode(code); - - return true; -} -#endif - #ifdef VIAL_TAP_DANCE_ENABLE #include "process_tap_dance.h" diff --git a/quantum/vial.h b/quantum/vial.h index 76e034c0f1..e479a5ad6d 100644 --- a/quantum/vial.h +++ b/quantum/vial.h @@ -29,10 +29,6 @@ void vial_init(void); void vial_handle_cmd(uint8_t *data, uint8_t length); bool process_record_vial(uint16_t keycode, keyrecord_t *record); -#ifdef VIAL_ENCODERS_ENABLE -bool vial_encoder_update(uint8_t index, bool clockwise); -#endif - extern int vial_unlocked; extern int vial_unlock_in_progress;