Browse Source

Added Encoder support for Soyuz (#25279)

spacehangover 1 year ago
parent
commit
e8e3c7addb

+ 9 - 1
keyboards/handwired/wwa/soyuz/keyboard.json

@@ -8,7 +8,8 @@
         "bootmagic": true,
         "extrakey": true,
         "mousekey": true,
-        "nkro": true
+        "nkro": true,
+        "encoder" : true
     },
     "matrix_pins": {
         "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6"],
@@ -20,6 +21,13 @@
         "pid": "0x0004",
         "vid": "0x5757"
     },
+    "encoder": {
+        "rotary": [
+            {"pin_a": "GP16", "pin_b": "GP17"},
+            {"pin_a": "GP18", "pin_b": "GP19"},
+            {"pin_a": "GP20", "pin_b": "GP21"}
+        ]
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [

+ 8 - 2
keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c

@@ -3,11 +3,17 @@
 
 #include QMK_KEYBOARD_H
 
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [0] = LAYOUT(
         KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,    KC_F9,     KC_F10,
         KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,   KC_F16,    KC_F17,
         KC_F18,  KC_F19,  KC_F20,  KC_F21,  KC_F22,   KC_F23,    KC_F24 
     )
-};
+};
+
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU),  ENCODER_CCW_CW(KC_VOLD, KC_VOLU),  ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+};
+#endif

+ 1 - 0
keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk

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

+ 1 - 1
keyboards/handwired/wwa/soyuz/readme.md

@@ -2,7 +2,7 @@
 
 ![soyuz](https://i.imgur.com/KwwORGSh.jpeg)
 
-21 Key and 3 MIDI Potentiometers Macro Keyboard
+21 Key, 3 Encoder
 
 * Keyboard Maintainer: [spacehangover](https://github.com/spacehangover)
 * Hardware Supported: RP2040 Handwired