summaryrefslogtreecommitdiff
path: root/keyboards/synthlabs/solo
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-02-26 09:45:12 +1100
committerGitHub <noreply@github.com>2023-02-26 09:45:12 +1100
commit7e0299117b389b1c7fcdfa2f20891ba2287ea771 (patch)
tree00bb5bb7b3b73a9de365d1839ba7d41240d439f1 /keyboards/synthlabs/solo
parent314f6c1ddba09851b33e4f3b4bd43bdbc55f9628 (diff)
Move encoder config to data driven (#19923)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'keyboards/synthlabs/solo')
-rw-r--r--keyboards/synthlabs/solo/config.h5
-rw-r--r--keyboards/synthlabs/solo/info.json5
-rw-r--r--keyboards/synthlabs/solo/keymaps/via/keymap.c15
3 files changed, 9 insertions, 16 deletions
diff --git a/keyboards/synthlabs/solo/config.h b/keyboards/synthlabs/solo/config.h
index da4499d8dd..3411aa9f68 100644
--- a/keyboards/synthlabs/solo/config.h
+++ b/keyboards/synthlabs/solo/config.h
@@ -3,11 +3,6 @@
#pragma once
-
-#define ENCODERS 1
-#define ENCODER_RESOLUTION 4
-#define ENCODERS_PAD_A { B2 }
-#define ENCODERS_PAD_B { B3 }
#define ENCODERS_CW_KEY { { 2, 1 } }
#define ENCODERS_CCW_KEY { { 0, 1 } }
diff --git a/keyboards/synthlabs/solo/info.json b/keyboards/synthlabs/solo/info.json
index 23566e9558..14d39d63cc 100644
--- a/keyboards/synthlabs/solo/info.json
+++ b/keyboards/synthlabs/solo/info.json
@@ -17,6 +17,11 @@
"pid": "0x3031",
"device_version": "0.0.1"
},
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B2", "pin_b": "B3"}
+ ]
+ },
"bootmagic": {
"matrix": [1, 1]
},
diff --git a/keyboards/synthlabs/solo/keymaps/via/keymap.c b/keyboards/synthlabs/solo/keymaps/via/keymap.c
index 7949c61375..c6634c42d4 100644
--- a/keyboards/synthlabs/solo/keymaps/via/keymap.c
+++ b/keyboards/synthlabs/solo/keymaps/via/keymap.c
@@ -27,16 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
-
-#ifdef ENCODERS
-static uint8_t encoder_state[] = {0};
-static keypos_t encoder_cw[] = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[] = ENCODERS_CCW_KEY;
-#endif
+static uint8_t encoder_state[NUM_ENCODERS] = {0};
+static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY;
+static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY;
void encoder_action_unregister(void) {
-#ifdef ENCODERS
- for (int index = 0; index < ENCODERS; ++index) {
+ for (int index = 0; index < NUM_ENCODERS; ++index) {
if (encoder_state[index]) {
keyevent_t encoder_event = (keyevent_t) {
.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
@@ -47,11 +43,9 @@ void encoder_action_unregister(void) {
action_exec(encoder_event);
}
}
-#endif
}
void encoder_action_register(uint8_t index, bool clockwise) {
-#ifdef ENCODERS
keyevent_t encoder_event = (keyevent_t) {
.key = clockwise ? encoder_cw[index] : encoder_ccw[index],
.pressed = true,
@@ -59,7 +53,6 @@ void encoder_action_register(uint8_t index, bool clockwise) {
};
encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
action_exec(encoder_event);
-#endif
}
void matrix_scan_user(void) {