diff options
Diffstat (limited to 'keyboards/rate/pistachio_mp/keymaps/via/keymap.c')
-rw-r--r-- | keyboards/rate/pistachio_mp/keymaps/via/keymap.c | 79 |
1 files changed, 14 insertions, 65 deletions
diff --git a/keyboards/rate/pistachio_mp/keymaps/via/keymap.c b/keyboards/rate/pistachio_mp/keymaps/via/keymap.c index f459a76970..fb920e628f 100644 --- a/keyboards/rate/pistachio_mp/keymaps/via/keymap.c +++ b/keyboards/rate/pistachio_mp/keymaps/via/keymap.c @@ -23,29 +23,10 @@ enum layer_names { _RESERVE_1 }; -static uint8_t encoder_state = 0; -static const keypos_t ENC_CW = {.row = 3, .col = 3}; -static const keypos_t ENC_CCW = {.row = 4, .col = 1}; - -#define LAYOUT_via( \ - ECW,ECCW, K07, \ - K00, K01, K02, K03, \ - K04, K05, K06, \ - K08, K09, K10, K11, \ - K12, K13, K14, \ - K15, K16, K17 ) { \ - { K00, K01, K02, K03 }, \ - { K04, K05, K06, K07 }, \ - { K08, K09, K10, K11 }, \ - { K12, K13, K14, ECCW }, \ - { K15, ECW, K16, K17 }, \ -} - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_MPLY, + [_BASE] = LAYOUT( + KC_MPLY, LT(_FN, KC_NUM), KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -53,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PENT ), /* Fn */ - [_FN] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_NO, + [_FN] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, @@ -62,8 +43,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO ), /* Reserve */ - [_RESERVE_0] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_TRNS, + [_RESERVE_0] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -71,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS ), /* Reserve */ - [_RESERVE_1] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_TRNS, + [_RESERVE_1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -81,43 +62,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#ifdef ENCODER_ENABLE -void encoder_action_unregister(void) { - if (encoder_state) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state >> 1 ? ENC_CW : ENC_CCW, - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = 0; - action_exec(encoder_event); - } - return; -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? ENC_CW : ENC_CCW, - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); - return; -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); - return; -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - // don't return user actions, because they are in the keymap - // encoder_update_user(index, clockwise); - return true; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, }; #endif |