diff --git a/keyboards/sandy/dn0020/config.h b/keyboards/sandy/dn0020/config.h index 3cd2cb3aa288..d36a640b6ccd 100644 --- a/keyboards/sandy/dn0020/config.h +++ b/keyboards/sandy/dn0020/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . // Number of encoder #define ENCODERS 2 -// Mappings of encoder rotation to key position in key matrix. -// --> {k57, k97}, {k42, k45} -#define ENCODERS_CW_KEY { { 7, 5 }, { 2, 4} } -#define ENCODERS_CCW_KEY { { 7, 9 }, { 5, 4} } - /* RGB LED */ #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/sandy/dn0020/dn0020.c b/keyboards/sandy/dn0020/dn0020.c index db8bc606b06c..aa5679607fdf 100644 --- a/keyboards/sandy/dn0020/dn0020.c +++ b/keyboards/sandy/dn0020/dn0020.c @@ -17,52 +17,6 @@ along with this program. If not, see . #include QMK_KEYBOARD_H - -#ifdef ENCODER_ENABLE -//------------------------------------------------------------------------------ -// Rotary Encoder with VIA -//------------------------------------------------------------------------------ -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; -} -#endif - //------------------------------------------------------------------------------ // Keyboard Initialization //------------------------------------------------------------------------------ diff --git a/keyboards/sandy/dn0020/info.json b/keyboards/sandy/dn0020/info.json index c1b5187ae92d..aba24823cbfd 100644 --- a/keyboards/sandy/dn0020/info.json +++ b/keyboards/sandy/dn0020/info.json @@ -106,11 +106,7 @@ {"label": "", "matrix": [9,6], "x":13, "y":4}, {"label": "", "matrix": [4,7], "x":14, "y":4}, - {"label": "", "matrix": [5,7], "x":0, "y":5.25}, - {"label": "", "matrix": [9,7], "x":1, "y":5.25}, {"label": "", "matrix": [1,7], "x":7, "y":5.25}, - {"label": "", "matrix": [4,2], "x":13, "y":5.25}, - {"label": "", "matrix": [4,5], "x":14, "y":5.25}, {"label": "", "matrix": [2,7], "x":6, "y":6.25}, {"label": "", "matrix": [8,7], "x":7, "y":6.25}, {"label": "", "matrix": [7,7], "x":8, "y":6.25}, diff --git a/keyboards/sandy/dn0020/keymaps/default/keymap.c b/keyboards/sandy/dn0020/keymaps/default/keymap.c index f89aa5f4f404..f453d4452034 100644 --- a/keyboards/sandy/dn0020/keymaps/default/keymap.c +++ b/keyboards/sandy/dn0020/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| KC_MUTE, KC_LNG2, KC_LGUI, KC_LALT, SP_LOW, KC_BSPC, _______, KC_ENT, SP_RAI, KC_RALT, KC_RALT, KC_DOWN, KC_RGHT, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_UP, KC_VOLD, KC_VOLU, + KC_UP, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_LEFT, KC_MUTE, KC_RGHT, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| diff --git a/keyboards/sandy/dn0020/keymaps/jpskenn/keymap.c b/keyboards/sandy/dn0020/keymaps/jpskenn/keymap.c index 64fb957a875e..1b0f67dd24c6 100644 --- a/keyboards/sandy/dn0020/keymaps/jpskenn/keymap.c +++ b/keyboards/sandy/dn0020/keymaps/jpskenn/keymap.c @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LWIN, ALT_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, ALT_LANG1, KC_APP, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, SP_LOW2, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -159,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -178,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, _______, KC_BTN1, KC_BTN2, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -216,7 +216,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -273,7 +273,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -282,6 +282,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/dn0020/keymaps/jpskenn/rules.mk b/keyboards/sandy/dn0020/keymaps/jpskenn/rules.mk index f1c5488e25ec..68c06be15207 100644 --- a/keyboards/sandy/dn0020/keymaps/jpskenn/rules.mk +++ b/keyboards/sandy/dn0020/keymaps/jpskenn/rules.mk @@ -1,3 +1,4 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes DYNAMIC_MACRO_ENABLE = yes # Dynamic Macros diff --git a/keyboards/sandy/dn0020/keymaps/via/keymap.c b/keyboards/sandy/dn0020/keymaps/via/keymap.c index ad8aa247518d..5a8126e2b5dc 100644 --- a/keyboards/sandy/dn0020/keymaps/via/keymap.c +++ b/keyboards/sandy/dn0020/keymaps/via/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| KC_LEFT, KC_RGHT, KC_LWIN, KC_LALT, KC_SPC, LOWER1, XXXXXXX, RAISE1, KC_SPC, KC_RALT, KC_RWIN, KC_DOWN, KC_UP, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -188,7 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -216,6 +216,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/dn0020/keymaps/via/rules.mk b/keyboards/sandy/dn0020/keymaps/via/rules.mk index 1e5b99807cb7..4253f570f0bb 100644 --- a/keyboards/sandy/dn0020/keymaps/via/rules.mk +++ b/keyboards/sandy/dn0020/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sandy/dn0030/config.h b/keyboards/sandy/dn0030/config.h index e881226d576f..ccea97fcbe4c 100644 --- a/keyboards/sandy/dn0030/config.h +++ b/keyboards/sandy/dn0030/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . // Number of encoder #define ENCODERS 2 -// Mappings of encoder rotation to key position in key matrix. -// --> {k57, k97}, {k42, k45} -#define ENCODERS_CW_KEY { { 7, 5 }, { 2, 4} } -#define ENCODERS_CCW_KEY { { 7, 9 }, { 5, 4} } - /* RGB LED */ #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/sandy/dn0030/dn0030.c b/keyboards/sandy/dn0030/dn0030.c index 5ae74ecd04cb..8e5005976069 100644 --- a/keyboards/sandy/dn0030/dn0030.c +++ b/keyboards/sandy/dn0030/dn0030.c @@ -17,51 +17,6 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#ifdef ENCODER_ENABLE -//------------------------------------------------------------------------------ -// Rotary Encoder with VIA -//------------------------------------------------------------------------------ -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; -} -#endif - //------------------------------------------------------------------------------ // Keyboard Initialization //------------------------------------------------------------------------------ diff --git a/keyboards/sandy/dn0030/info.json b/keyboards/sandy/dn0030/info.json index 913f9824bd92..14e9fb037b81 100644 --- a/keyboards/sandy/dn0030/info.json +++ b/keyboards/sandy/dn0030/info.json @@ -106,14 +106,12 @@ {"label": "", "matrix": [9,6], "x":13, "y":4}, {"label": "", "matrix": [4,7], "x":14, "y":4}, - {"label": "", "matrix": [5,7], "x":0, "y":5.25}, - {"label": "", "matrix": [9,7], "x":1, "y":5.25}, {"label": "", "matrix": [1,7], "x":7, "y":5.25}, - {"label": "", "matrix": [4,2], "x":13, "y":5.25}, - {"label": "", "matrix": [4,5], "x":14, "y":5.25}, + {"label": "", "matrix": [2,7], "x":6, "y":6.25}, {"label": "", "matrix": [8,7], "x":7, "y":6.25}, {"label": "", "matrix": [7,7], "x":8, "y":6.25}, + {"label": "", "matrix": [6,7], "x":7, "y":7.25} ] } diff --git a/keyboards/sandy/dn0030/keymaps/default/keymap.c b/keyboards/sandy/dn0030/keymaps/default/keymap.c index 4ebf6776b0a0..64cccd7de393 100644 --- a/keyboards/sandy/dn0030/keymaps/default/keymap.c +++ b/keyboards/sandy/dn0030/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, KC_LGUI, KC_LALT, SP_LOW, KC_BSPC, _______, KC_ENT, SP_RAI, KC_RALT, KC_RALT, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| diff --git a/keyboards/sandy/dn0030/keymaps/jpskenn/keymap.c b/keyboards/sandy/dn0030/keymaps/jpskenn/keymap.c index 5d9e057a715e..ce90338915a7 100644 --- a/keyboards/sandy/dn0030/keymaps/jpskenn/keymap.c +++ b/keyboards/sandy/dn0030/keymaps/jpskenn/keymap.c @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LWIN, ALT_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, ALT_LANG1, KC_APP, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, SP_LOW2, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, _______, KC_BTN1, KC_BTN2, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -275,7 +275,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -284,6 +284,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/dn0030/keymaps/jpskenn/rules.mk b/keyboards/sandy/dn0030/keymaps/jpskenn/rules.mk index f1c5488e25ec..68c06be15207 100644 --- a/keyboards/sandy/dn0030/keymaps/jpskenn/rules.mk +++ b/keyboards/sandy/dn0030/keymaps/jpskenn/rules.mk @@ -1,3 +1,4 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes DYNAMIC_MACRO_ENABLE = yes # Dynamic Macros diff --git a/keyboards/sandy/dn0030/keymaps/via/keymap.c b/keyboards/sandy/dn0030/keymaps/via/keymap.c index 93ac00da71a3..409864e38028 100644 --- a/keyboards/sandy/dn0030/keymaps/via/keymap.c +++ b/keyboards/sandy/dn0030/keymaps/via/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LWIN, KC_LALT, KC_SPC, LOWER1, XXXXXXX, RAISE1, KC_SPC, KC_RALT, KC_APP, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LWIN, KC_LALT, KC_SPC, LOWER1, XXXXXXX, RAISE1, KC_SPC, KC_RALT, KC_APP, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, _______, KC_VOLD, KC_VOLU, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -190,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -209,7 +209,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -218,6 +218,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/dn0030/keymaps/via/rules.mk b/keyboards/sandy/dn0030/keymaps/via/rules.mk index 1e5b99807cb7..f1adcab005e8 100644 --- a/keyboards/sandy/dn0030/keymaps/via/rules.mk +++ b/keyboards/sandy/dn0030/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sandy/v01/config.h b/keyboards/sandy/v01/config.h index 5c7220e2ad7f..6aa8613a3eec 100644 --- a/keyboards/sandy/v01/config.h +++ b/keyboards/sandy/v01/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . // Number of encoder #define ENCODERS 2 -// Mappings of encoder rotation to key position in key matrix. -// --> {k57, k97}, {k42, k45} -#define ENCODERS_CW_KEY { { 7, 5 }, { 2, 4} } -#define ENCODERS_CCW_KEY { { 7, 9 }, { 5, 4} } - /* RGB LED */ #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/sandy/v01/info.json b/keyboards/sandy/v01/info.json index b56913343107..a573c1bca6ce 100644 --- a/keyboards/sandy/v01/info.json +++ b/keyboards/sandy/v01/info.json @@ -106,11 +106,7 @@ {"label": "", "matrix": [9,6], "x":13, "y":4}, {"label": "", "matrix": [4,7], "x":14, "y":4}, - {"label": "", "matrix": [5,7], "x":0, "y":5.25}, - {"label": "", "matrix": [9,7], "x":1, "y":5.25}, {"label": "", "matrix": [1,7], "x":7, "y":5.25}, - {"label": "", "matrix": [4,2], "x":13, "y":5.25}, - {"label": "", "matrix": [4,5], "x":14, "y":5.25}, {"label": "", "matrix": [2,7], "x":6, "y":6.25}, {"label": "", "matrix": [8,7], "x":7, "y":6.25}, {"label": "", "matrix": [7,7], "x":8, "y":6.25}, diff --git a/keyboards/sandy/v01/keymaps/default/keymap.c b/keyboards/sandy/v01/keymaps/default/keymap.c index f89aa5f4f404..f453d4452034 100644 --- a/keyboards/sandy/v01/keymaps/default/keymap.c +++ b/keyboards/sandy/v01/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| KC_MUTE, KC_LNG2, KC_LGUI, KC_LALT, SP_LOW, KC_BSPC, _______, KC_ENT, SP_RAI, KC_RALT, KC_RALT, KC_DOWN, KC_RGHT, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_UP, KC_VOLD, KC_VOLU, + KC_UP, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_LEFT, KC_MUTE, KC_RGHT, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, SP_ADJ, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| diff --git a/keyboards/sandy/v01/keymaps/jpskenn/keymap.c b/keyboards/sandy/v01/keymaps/jpskenn/keymap.c index 1d19cb7f9579..d66e0951e841 100644 --- a/keyboards/sandy/v01/keymaps/jpskenn/keymap.c +++ b/keyboards/sandy/v01/keymaps/jpskenn/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LWIN, ALT_LANG2, SP_SFT, SP_LOW1, KC_BTN1, BS_SFT, SP_RAI1, ALT_LANG1, KC_APP, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, SP_LOW2, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| XXXXXXX, XXXXXXX, KC_LOPT, GUI_LANG2, SP_SFT, _______, KC_BTN1, KC_BTN2, SP_RAI1, GUI_LANG1, KC_ROPT, XXXXXXX, XXXXXXX, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -212,7 +212,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -269,7 +269,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -278,6 +278,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/v01/keymaps/jpskenn/rules.mk b/keyboards/sandy/v01/keymaps/jpskenn/rules.mk index f1c5488e25ec..68c06be15207 100644 --- a/keyboards/sandy/v01/keymaps/jpskenn/rules.mk +++ b/keyboards/sandy/v01/keymaps/jpskenn/rules.mk @@ -1,3 +1,4 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes DYNAMIC_MACRO_ENABLE = yes # Dynamic Macros diff --git a/keyboards/sandy/v01/keymaps/via/keymap.c b/keyboards/sandy/v01/keymaps/via/keymap.c index b427f179b7c2..015559affb58 100644 --- a/keyboards/sandy/v01/keymaps/via/keymap.c +++ b/keyboards/sandy/v01/keymaps/via/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| KC_LEFT, KC_RGHT, KC_LWIN, KC_LALT, KC_SPC, LOWER1, XXXXXXX, RAISE1, KC_SPC, KC_RALT, KC_RWIN, KC_DOWN, KC_UP, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - KC_VOLD, KC_VOLU, KC_MS_U, KC_VOLD, KC_VOLU, + KC_MS_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_MS_L, KC_BTN1, KC_MS_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -169,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, KC_WH_U, _______, _______, + KC_WH_U, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| KC_WH_L, KC_BTN2, KC_WH_R, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -188,7 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // |---------+---------+-----------+-----------+---------------+---------+---------+---------+---------------+-----------+-----------+---------+---------| - _______, _______, _______, _______, _______, + _______, // |---------+---------+-------------------------------------------------+---------+-------------------------------------------------+---------+---------| _______, _______, _______, // |-----------------------------------------------------------+---------+---------+---------+-----------------------------------------------------------| @@ -216,6 +216,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +//------------------------------------------------------------------------------ +// Rotary Encoder with VIA +//------------------------------------------------------------------------------ +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][ENCODERS][2] = { + [_BASE1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_BASE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BASE3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_LOWER2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RAISE2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + uint16_t key_timer; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/sandy/v01/keymaps/via/rules.mk b/keyboards/sandy/v01/keymaps/via/rules.mk index 1e5b99807cb7..f1adcab005e8 100644 --- a/keyboards/sandy/v01/keymaps/via/rules.mk +++ b/keyboards/sandy/v01/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sandy/v01/v01.c b/keyboards/sandy/v01/v01.c index db8bc606b06c..aa5679607fdf 100644 --- a/keyboards/sandy/v01/v01.c +++ b/keyboards/sandy/v01/v01.c @@ -17,52 +17,6 @@ along with this program. If not, see . #include QMK_KEYBOARD_H - -#ifdef ENCODER_ENABLE -//------------------------------------------------------------------------------ -// Rotary Encoder with VIA -//------------------------------------------------------------------------------ -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; -} -#endif - //------------------------------------------------------------------------------ // Keyboard Initialization //------------------------------------------------------------------------------