summaryrefslogtreecommitdiff
path: root/keyboards/mlego/m48/keymaps/via/keymap.c
diff options
context:
space:
mode:
authorAlin Marin Elena <alin@elena.space>2022-01-13 17:16:26 +0000
committerGitHub <noreply@github.com>2022-01-13 09:16:26 -0800
commit2c8098ea8839d242a5037821d6ba0255637cd15e (patch)
tree19ad1adcaf7ce6dae1b5ab9aba8a8930ae8d5a6a /keyboards/mlego/m48/keymaps/via/keymap.c
parenta3af4b09b0786e7c228828b2b3676fb7dd9a1c2f (diff)
[Keyboard] move enum_layers in keymaps, in sync with the other mlego/m* (#15832)
Diffstat (limited to 'keyboards/mlego/m48/keymaps/via/keymap.c')
-rw-r--r--keyboards/mlego/m48/keymaps/via/keymap.c50
1 files changed, 42 insertions, 8 deletions
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 <http://www.gnu.org/licenses/>.
#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