From 2c8098ea8839d242a5037821d6ba0255637cd15e Mon Sep 17 00:00:00 2001 From: Alin Marin Elena Date: Thu, 13 Jan 2022 17:16:26 +0000 Subject: [Keyboard] move enum_layers in keymaps, in sync with the other mlego/m* (#15832) --- keyboards/mlego/m48/keymaps/via/keymap.c | 50 +++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 8 deletions(-) (limited to 'keyboards/mlego/m48/keymaps/via/keymap.c') diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c index 54ef03cd5a..af625ef207 100644 --- a/keyboards/mlego/m48/keymaps/via/keymap.c +++ b/keyboards/mlego/m48/keymaps/via/keymap.c @@ -17,6 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H +enum layer_names { + _QW = 0, + _LWR, + _RSE, + _ADJ +}; + #ifdef RGBLIGHT_ENABLE const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); @@ -103,14 +110,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } } -#ifdef ENCODER_ENABLE - -bool encoder_update_user(uint8_t index, bool clockwise) { - my_encoders(index, clockwise); - return true; -} -#endif - layer_state_t layer_state_set_user(layer_state_t state) { #ifdef RGBLIGHT_ENABLE @@ -135,3 +134,38 @@ void keyboard_post_init_user(void) { rgblight_layers = my_rgb_layers; } #endif + +#ifdef ENCODER_ENABLE + +# define MEDIA_KEY_DELAY 10 + +static inline void my_encoders(const uint8_t index, const bool clockwise) { + if (index == 0) { /* First encoder */ + if (IS_LAYER_ON(_LWR)) { + if (clockwise) { + rgblight_decrease_val_noeeprom(); + } else { + rgblight_increase_val_noeeprom(); + } + } else if (IS_LAYER_ON(_RSE)) { + if (clockwise) { + rgblight_decrease_hue_noeeprom(); + } else { + rgblight_increase_hue_noeeprom(); + } + + } else { + if (clockwise) { + tap_code_delay(KC_VOLD, MEDIA_KEY_DELAY); + } else { + tap_code_delay(KC_VOLU, MEDIA_KEY_DELAY); + } + } + } +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + my_encoders(index, clockwise); + return true; +} +#endif -- cgit v1.2.3