Pārlūkot izejas kodu

maxr1998/pulse4k: Move Combo code to keymap level (#16301)

* maxr1998/pulse4k: Move Combo code to keymap level

* Reorder code
Ryan 3 gadi atpakaļ
vecāks
revīzija
2bc4a216df

+ 40 - 0
keyboards/maxr1998/pulse4k/keymaps/default/keymap.c

@@ -21,6 +21,10 @@ enum layers {
     DEFAULT
 };
 
+enum combo_events {
+    LED_ADJUST
+};
+
 const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END};
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -29,3 +33,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_LEFT, KC_DOWN, KC_RGHT
     )
 };
+
+combo_t key_combos[COMBO_COUNT] = {
+    [LED_ADJUST] = COMBO_ACTION(led_adjust_combo)
+};
+
+bool led_adjust_active = false;
+
+void process_combo_event(uint16_t combo_index, bool pressed) {
+    if (combo_index == LED_ADJUST) {
+        led_adjust_active = pressed;
+    }
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+    if (index == 0) {
+        if (led_adjust_active) {
+            if (clockwise) {
+                rgblight_increase_val();
+            } else {
+                rgblight_decrease_val();
+            }
+            return false;
+        }
+    } else if (index == 1) {
+        if (led_adjust_active) {
+            if (clockwise) {
+                rgblight_increase_hue();
+            } else {
+                rgblight_decrease_hue();
+            }
+            return false;
+        }
+    }
+
+    return true;
+}

+ 1 - 0
keyboards/maxr1998/pulse4k/keymaps/default/rules.mk

@@ -0,0 +1 @@
+COMBO_ENABLE = yes

+ 40 - 0
keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c

@@ -21,6 +21,10 @@ enum layers {
     DEFAULT
 };
 
+enum combo_events {
+    LED_ADJUST
+};
+
 const uint16_t PROGMEM led_adjust_combo[] = {KC_F22, KC_F24, COMBO_END};
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -30,6 +34,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     )
 };
 
+combo_t key_combos[COMBO_COUNT] = {
+    [LED_ADJUST] = COMBO_ACTION(led_adjust_combo)
+};
+
+bool led_adjust_active = false;
+
+void process_combo_event(uint16_t combo_index, bool pressed) {
+    if (combo_index == LED_ADJUST) {
+        led_adjust_active = pressed;
+    }
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+    if (index == 0) {
+        if (led_adjust_active) {
+            if (clockwise) {
+                rgblight_increase_val();
+            } else {
+                rgblight_decrease_val();
+            }
+            return false;
+        }
+    } else if (index == 1) {
+        if (led_adjust_active) {
+            if (clockwise) {
+                rgblight_increase_hue();
+            } else {
+                rgblight_decrease_hue();
+            }
+            return false;
+        }
+    }
+
+    return true;
+}
+
 void encoder_one_update(bool clockwise) {
     tap_code(!clockwise ? KC_F18 : KC_F19);
 }

+ 1 - 0
keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk

@@ -0,0 +1 @@
+COMBO_ENABLE = yes

+ 3 - 33
keyboards/maxr1998/pulse4k/pulse4k.c

@@ -16,44 +16,14 @@
  */
 
 #include "pulse4k.h"
-#include "rgblight.h"
-
-enum combo_events {
-    LED_ADJUST
-};
-
-extern const uint16_t PROGMEM led_adjust_combo[3];
-
-combo_t key_combos[COMBO_COUNT] = {
-    [LED_ADJUST] = COMBO_ACTION(led_adjust_combo)
-};
-
-bool led_adjust_active = false;
-
-void process_combo_event(uint16_t combo_index, bool pressed) {
-    if (combo_index == LED_ADJUST) {
-        led_adjust_active = pressed;
-    }
-}
 
 bool encoder_update_kb(uint8_t index, bool clockwise) {
     if (!encoder_update_user(index, clockwise)) return false;
+
     if (index == 0) {
-        if (led_adjust_active) {
-            if (clockwise) {
-                rgblight_increase_val();
-            } else {
-                rgblight_decrease_val();
-            }
-        } else encoder_one_update(clockwise);
+        encoder_one_update(clockwise);
     } else if (index == 1) {
-        if (led_adjust_active) {
-            if (clockwise) {
-                rgblight_increase_hue();
-            } else {
-                rgblight_decrease_hue();
-            }
-        } else encoder_two_update(clockwise);
+        encoder_two_update(clockwise);
     }
     return true;
 }

+ 0 - 1
keyboards/maxr1998/pulse4k/rules.mk

@@ -13,7 +13,6 @@ ENCODER_ENABLE = yes       # Rotary encoders
 EXTRAKEY_ENABLE = yes      # Audio control and System control
 CONSOLE_ENABLE = yes       # Console for debug
 COMMAND_ENABLE = no        # Commands for debug and configuration
-COMBO_ENABLE = yes         # Key combo feature
 NKRO_ENABLE = yes           # Enable N-Key Rollover
 BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
 AUDIO_ENABLE = no          # Audio output