From 7e0299117b389b1c7fcdfa2f20891ba2287ea771 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 26 Feb 2023 09:45:12 +1100 Subject: Move encoder config to data driven (#19923) Co-authored-by: Nick Brassel --- keyboards/takashicompany/center_enter/config.h | 4 ---- keyboards/takashicompany/center_enter/info.json | 5 +++++ keyboards/takashicompany/compacx/config.h | 4 ---- keyboards/takashicompany/compacx/info.json | 6 ++++++ keyboards/takashicompany/dogtag/config.h | 4 ---- keyboards/takashicompany/dogtag/info.json | 5 +++++ keyboards/takashicompany/qoolee/config.h | 4 ---- keyboards/takashicompany/qoolee/info.json | 5 +++++ keyboards/takashicompany/spreadwriter/config.h | 9 --------- keyboards/takashicompany/spreadwriter/info.json | 5 +++++ keyboards/takashicompany/spreadwriter/keymaps/via/config.h | 3 --- keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c | 8 ++++---- 12 files changed, 30 insertions(+), 32 deletions(-) delete mode 100644 keyboards/takashicompany/spreadwriter/config.h (limited to 'keyboards/takashicompany') diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h index 7407855ff2..f77a42f59f 100644 --- a/keyboards/takashicompany/center_enter/config.h +++ b/keyboards/takashicompany/center_enter/config.h @@ -34,10 +34,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODER_RESOLUTION 1 -#define ENCODERS_PAD_A { D2 } -#define ENCODERS_PAD_B { D1 } - #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN # define RGBLED_NUM 6 diff --git a/keyboards/takashicompany/center_enter/info.json b/keyboards/takashicompany/center_enter/info.json index edc871c317..7c268e3f63 100644 --- a/keyboards/takashicompany/center_enter/info.json +++ b/keyboards/takashicompany/center_enter/info.json @@ -8,6 +8,11 @@ "pid": "0x0012", "device_version": "0.0.1" }, + "encoder": { + "rotary": [ + {"pin_a": "D2", "pin_b": "D1", "resolution": 1} + ] + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/takashicompany/compacx/config.h b/keyboards/takashicompany/compacx/config.h index 24641f2071..3f6f011524 100644 --- a/keyboards/takashicompany/compacx/config.h +++ b/keyboards/takashicompany/compacx/config.h @@ -34,10 +34,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODER_RESOLUTION 4 -#define ENCODERS_PAD_A { E6, B6 } -#define ENCODERS_PAD_B { B4, B5 } - #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN # define RGBLED_NUM 12 diff --git a/keyboards/takashicompany/compacx/info.json b/keyboards/takashicompany/compacx/info.json index 08cd4a1010..bcd4489a98 100644 --- a/keyboards/takashicompany/compacx/info.json +++ b/keyboards/takashicompany/compacx/info.json @@ -8,6 +8,12 @@ "pid": "0x0014", "device_version": "0.0.1" }, + "encoder": { + "rotary": [ + {"pin_a": "E6", "pin_b": "B4"}, + {"pin_a": "B6", "pin_b": "B5"} + ] + }, "split": { "soft_serial_pin": "D2" }, diff --git a/keyboards/takashicompany/dogtag/config.h b/keyboards/takashicompany/dogtag/config.h index dc75fc44ab..4048cb9bf6 100644 --- a/keyboards/takashicompany/dogtag/config.h +++ b/keyboards/takashicompany/dogtag/config.h @@ -37,10 +37,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODER_RESOLUTION 4 -#define ENCODERS_PAD_A { D4 } -#define ENCODERS_PAD_B { C6 } - #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN # define RGBLED_NUM 4 * 2 diff --git a/keyboards/takashicompany/dogtag/info.json b/keyboards/takashicompany/dogtag/info.json index cf6fd67135..caa007fcc5 100644 --- a/keyboards/takashicompany/dogtag/info.json +++ b/keyboards/takashicompany/dogtag/info.json @@ -8,6 +8,11 @@ "pid": "0x0018", "device_version": "0.0.1" }, + "encoder": { + "rotary": [ + {"pin_a": "D4", "pin_b": "C6"} + ] + }, "split": { "soft_serial_pin": "D2" }, diff --git a/keyboards/takashicompany/qoolee/config.h b/keyboards/takashicompany/qoolee/config.h index 1e050f5def..726f4507c8 100644 --- a/keyboards/takashicompany/qoolee/config.h +++ b/keyboards/takashicompany/qoolee/config.h @@ -34,10 +34,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODER_RESOLUTION 1 -#define ENCODERS_PAD_A { D2 } -#define ENCODERS_PAD_B { D1 } - #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN # define RGBLED_NUM 6 diff --git a/keyboards/takashicompany/qoolee/info.json b/keyboards/takashicompany/qoolee/info.json index b7ed85676f..6f92e86c88 100644 --- a/keyboards/takashicompany/qoolee/info.json +++ b/keyboards/takashicompany/qoolee/info.json @@ -8,6 +8,11 @@ "pid": "0x0013", "device_version": "0.0.1" }, + "encoder": { + "rotary": [ + {"pin_a": "D2", "pin_b": "D1", "resolution": 1} + ] + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/takashicompany/spreadwriter/config.h b/keyboards/takashicompany/spreadwriter/config.h deleted file mode 100644 index 99bbfdf671..0000000000 --- a/keyboards/takashicompany/spreadwriter/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2022 takashicompany (@takashicompany) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - - -#define ENCODER_RESOLUTION 4 -#define ENCODERS_PAD_A { D1 } -#define ENCODERS_PAD_B { D0 } diff --git a/keyboards/takashicompany/spreadwriter/info.json b/keyboards/takashicompany/spreadwriter/info.json index 86f250966a..16450db96e 100644 --- a/keyboards/takashicompany/spreadwriter/info.json +++ b/keyboards/takashicompany/spreadwriter/info.json @@ -40,6 +40,11 @@ "pid": "0x0023", "vid": "0x7463" }, + "encoder": { + "rotary": [ + {"pin_a": "D1", "pin_b": "D0"} + ] + }, "rgblight": { "led_count": 53, "pin": "D3", diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/config.h b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h index adbbc6ce83..9587fd7b6b 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/config.h +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h @@ -12,9 +12,6 @@ // when turn knob clockwise or counterclockwise. // This is handy to assign key codes by VIA. -// Number of endoder -#define ENCODERS 1 - // Mappings of encoder rotation to key position in key matrix. #define ENCODERS_CW_KEY { { 0, 4 }} #define ENCODERS_CCW_KEY { { 6, 0 }} \ No newline at end of file diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c index 7d9a5cebf9..e04c1fea0d 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c @@ -88,12 +88,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { //------------------------------------------------------------------------------ // Rotary Encoder //------------------------------------------------------------------------------ -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; +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) { - 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], -- cgit v1.2.3