summaryrefslogtreecommitdiff
path: root/keyboards/rgbkb/sol3
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/rgbkb/sol3')
-rw-r--r--keyboards/rgbkb/sol3/config.h11
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json206
-rw-r--r--keyboards/rgbkb/sol3/rev1/rev1.c13
-rw-r--r--keyboards/rgbkb/sol3/rev1/rev1.h51
-rw-r--r--keyboards/rgbkb/sol3/rules.mk2
5 files changed, 115 insertions, 168 deletions
diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h
index 727947ef0b..9cc0134249 100644
--- a/keyboards/rgbkb/sol3/config.h
+++ b/keyboards/rgbkb/sol3/config.h
@@ -9,13 +9,6 @@
#pragma once
-
-// Last pins reserved for encoder / touch encoder support
-#define MATRIX_ROW_PINS { B15, A8, A15, B12, A3, NO_PIN }
-#define MATRIX_ROW_PINS_RIGHT { B15, B14, A8, A13, A7, NO_PIN }
-// Empty matrix entries used for encoder / touch encoder support
-#define MATRIX_COL_PINS { A6, A7, B0, B2, B1, B9, B3, B4 }
-#define MATRIX_COL_PINS_RIGHT { B9, B8, B4, A6, A3, B10, B12, B11 }
#define MATRIX_IO_DELAY 5
#define BUSY_WAIT
@@ -28,9 +21,6 @@
#define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster
#define TOUCH_SEGMENTS 3
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* CRC Configuration */
#define CRC8_OPTIMIZE_SPEED
#define CRC8_USE_TABLE
@@ -63,7 +53,6 @@
#define DIP_SWITCH_PINS_RIGHT { A14, B0 }
/* RGB LED Configuration */
-#define RGB_DI_PIN B5
#define RGBLED_NUM 156
#define RGBLED_SPLIT { 78, 78 }
#define RGBLIGHT_LIMIT_VAL 255
diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index 046a56f390..74af9d21fa 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -8,6 +8,18 @@
"pid": "0x3510",
"device_version": "0.0.1"
},
+ "ws2812": {
+ "pin": "B5",
+ "driver": "pwm"
+ },
+ "rgb_matrix": {
+ "driver": "WS2812"
+ },
+ "matrix_pins": {
+ "cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"],
+ "rows": ["B15", "A8", "A15", "B12", "A3", null]
+ },
+ "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "A1", "pin_b": "A2"},
@@ -25,6 +37,12 @@
{"pin_a": "B3", "pin_b": "B13"}
]
}
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["B9", "B8", "B4", "A6", "A3", "B10", "B12", "B11"],
+ "rows": ["B15", "B14", "A8", "A13", "A7", null]
+ }
}
},
"processor": "STM32F303",
@@ -32,113 +50,113 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"x":0, "y":0, "w":1.5},
- {"x":1.5, "y":0},
- {"x":2.5, "y":0},
- {"x":3.5, "y":0},
- {"x":4.5, "y":0},
- {"x":5.5, "y":0},
- {"x":6.75, "y":0},
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.75, "y": 0},
- {"x":9.25, "y":0},
- {"x":10.5, "y":0},
- {"x":11.5, "y":0},
- {"x":12.5, "y":0},
- {"x":13.5, "y":0},
- {"x":14.5, "y":0},
- {"x":15.5, "y":0, "w":1.5},
+ {"matrix": [6, 6], "x": 9.25, "y": 0},
+ {"matrix": [6, 5], "x": 10.5, "y": 0},
+ {"matrix": [6, 4], "x": 11.5, "y": 0},
+ {"matrix": [6, 3], "x": 12.5, "y": 0},
+ {"matrix": [6, 2], "x": 13.5, "y": 0},
+ {"matrix": [6, 1], "x": 14.5, "y": 0},
+ {"matrix": [6, 0], "x": 15.5, "y": 0, "w": 1.5},
- {"x":0, "y":1, "w":1.5},
- {"x":1.5, "y":1},
- {"x":2.5, "y":1},
- {"x":3.5, "y":1},
- {"x":4.5, "y":1},
- {"x":5.5, "y":1},
- {"x":6.75, "y":1},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
- {"x":9.25, "y":1},
- {"x":10.5, "y":1},
- {"x":11.5, "y":1},
- {"x":12.5, "y":1},
- {"x":13.5, "y":1},
- {"x":14.5, "y":1},
- {"x":15.5, "y":1, "w":1.5},
+ {"matrix": [7, 6], "x": 9.25, "y": 1},
+ {"matrix": [7, 5], "x": 10.5, "y": 1},
+ {"matrix": [7, 4], "x": 11.5, "y": 1},
+ {"matrix": [7, 3], "x": 12.5, "y": 1},
+ {"matrix": [7, 2], "x": 13.5, "y": 1},
+ {"matrix": [7, 1], "x": 14.5, "y": 1},
+ {"matrix": [7, 0], "x": 15.5, "y": 1, "w": 1.5},
- {"x":0, "y":2, "w":1.5},
- {"x":1.5, "y":2},
- {"x":2.5, "y":2},
- {"x":3.5, "y":2},
- {"x":4.5, "y":2},
- {"x":5.5, "y":2},
- {"x":6.75, "y":2},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
- {"x":9.25, "y":2},
- {"x":10.5, "y":2},
- {"x":11.5, "y":2},
- {"x":12.5, "y":2},
- {"x":13.5, "y":2},
- {"x":14.5, "y":2},
- {"x":15.5, "y":2, "w":1.5},
+ {"matrix": [8, 6], "x": 9.25, "y": 2},
+ {"matrix": [8, 5], "x": 10.5, "y": 2},
+ {"matrix": [8, 4], "x": 11.5, "y": 2},
+ {"matrix": [8, 3], "x": 12.5, "y": 2},
+ {"matrix": [8, 2], "x": 13.5, "y": 2},
+ {"matrix": [8, 1], "x": 14.5, "y": 2},
+ {"matrix": [8, 0], "x": 15.5, "y": 2, "w": 1.5},
- {"x":0, "y":3, "w":1.5},
- {"x":1.5, "y":3},
- {"x":2.5, "y":3},
- {"x":3.5, "y":3},
- {"x":4.5, "y":3},
- {"x":5.5, "y":3},
- {"x":6.75, "y":3},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
+ {"matrix": [3, 1], "x": 1.5, "y": 3},
+ {"matrix": [3, 2], "x": 2.5, "y": 3},
+ {"matrix": [3, 3], "x": 3.5, "y": 3},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
- {"x":9.25, "y":3},
- {"x":10.5, "y":3},
- {"x":11.5, "y":3},
- {"x":12.5, "y":3},
- {"x":13.5, "y":3},
- {"x":14.5, "y":3},
- {"x":15.5, "y":3, "w":1.5},
+ {"matrix": [9, 6], "x": 9.25, "y": 3},
+ {"matrix": [9, 5], "x": 10.5, "y": 3},
+ {"matrix": [9, 4], "x": 11.5, "y": 3},
+ {"matrix": [9, 3], "x": 12.5, "y": 3},
+ {"matrix": [9, 2], "x": 13.5, "y": 3},
+ {"matrix": [9, 1], "x": 14.5, "y": 3},
+ {"matrix": [9, 0], "x": 15.5, "y": 3, "w": 1.5},
- {"x":0, "y":4, "w":1.5},
- {"x":1.5, "y":4},
- {"x":2.5, "y":4},
- {"x":3.5, "y":4},
- {"x":4.5, "y":4},
- {"x":6, "y":4.5, "h":2},
- {"x":7, "y":4.5},
- {"x":7, "y":5.5},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4},
+ {"matrix": [4, 3], "x": 3.5, "y": 4},
+ {"matrix": [4, 4], "x": 4.5, "y": 4},
+ {"matrix": [4, 5], "x": 6, "y": 4.5, "h": 2},
+ {"matrix": [4, 6], "x": 7, "y": 4.5},
+ {"matrix": [4, 7], "x": 7, "y": 5.5},
- {"x":9, "y":5.5},
- {"x":9, "y":4.5},
- {"x":10, "y":4.5, "h":2},
- {"x":11.5, "y":4},
- {"x":12.5, "y":4},
- {"x":13.5, "y":4},
- {"x":14.5, "y":4},
- {"x":15.5, "y":4, "w":1.5},
+ {"matrix": [10, 7], "x": 9, "y": 5.5},
+ {"matrix": [10, 6], "x": 9, "y": 4.5},
+ {"matrix": [10, 5], "x": 10, "y": 4.5, "h": 2},
+ {"matrix": [10, 4], "x": 11.5, "y": 4},
+ {"matrix": [10, 3], "x": 12.5, "y": 4},
+ {"matrix": [10, 2], "x": 13.5, "y": 4},
+ {"matrix": [10, 1], "x": 14.5, "y": 4},
+ {"matrix": [10, 0], "x": 15.5, "y": 4, "w": 1.5},
- {"x":0, "y":7, "w":0.8, "h":0.8},
- {"x":0.8, "y":7, "w":0.8, "h":0.8},
- {"x":1.6, "y":7, "w":0.8, "h":0.8},
- {"x":2.4, "y":7, "w":0.8, "h":0.8},
- {"x":3.2, "y":7, "w":0.8, "h":0.8},
- {"x":4, "y":7, "w":0.8, "h":0.8},
+ {"matrix": [5, 0], "x": 0, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 1], "x": 0.8, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 2], "x": 1.6, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 3], "x": 2.4, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 4], "x": 3.2, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 5], "x": 4, "y": 7, "w": 0.8, "h": 0.8},
- {"x":12.2, "y":7, "w":0.8, "h":0.8},
- {"x":13, "y":7, "w":0.8, "h":0.8},
- {"x":13.8, "y":7, "w":0.8, "h":0.8},
- {"x":14.6, "y":7, "w":0.8, "h":0.8},
- {"x":15.4, "y":7, "w":0.8, "h":0.8},
- {"x":16.2, "y":7, "w":0.8, "h":0.8},
+ {"matrix": [11, 0], "x": 12.2, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 1], "x": 13, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 2], "x": 13.8, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 3], "x": 14.6, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 4], "x": 15.4, "y": 7, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 5], "x": 16.2, "y": 7, "w": 0.8, "h": 0.8},
- {"x":0, "y":7.8, "w":0.8, "h":0.8},
- {"x":0.8, "y":7.8, "w":0.8, "h":0.8},
- {"x":1.6, "y":7.8, "w":0.8, "h":0.8},
- {"x":2.4, "y":7.8, "w":0.8, "h":0.8},
- {"x":3.2, "y":7.8, "w":0.8, "h":0.8},
+ {"matrix": [0, 7], "x": 0, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [1, 7], "x": 0.8, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [2, 7], "x": 1.6, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 6], "x": 2.4, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [5, 7], "x": 3.2, "y": 7.8, "w": 0.8, "h": 0.8},
- {"x":13, "y":7.8, "w":0.8, "h":0.8},
- {"x":13.8, "y":7.8, "w":0.8, "h":0.8},
- {"x":14.6, "y":7.8, "w":0.8, "h":0.8},
- {"x":15.4, "y":7.8, "w":0.8, "h":0.8},
- {"x":16.2, "y":7.8, "w":0.8, "h":0.8}
+ {"matrix": [6, 7], "x": 13, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [7, 7], "x": 13.8, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [8, 7], "x": 14.6, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 6], "x": 15.4, "y": 7.8, "w": 0.8, "h": 0.8},
+ {"matrix": [11, 7], "x": 16.2, "y": 7.8, "w": 0.8, "h": 0.8}
]
}
}
diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c
index de5836e061..ff330a83d6 100644
--- a/keyboards/rgbkb/sol3/rev1/rev1.c
+++ b/keyboards/rgbkb/sol3/rev1/rev1.c
@@ -57,10 +57,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
}
case 1: {
// Handle RGB Encoder switch press
- action_exec((keyevent_t){
- .key = (keypos_t){.row = isLeftHand ? 4 : 10, .col = 6},
- .pressed = active, .time = (timer_read() | 1) /* time should not be 0 */
- });
+ action_exec(MAKE_KEYEVENT(isLeftHand ? 4 : 10, 6, active));
break;
}
}
@@ -68,15 +65,11 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
}
static void process_encoder_matrix(encodermap_t pos) {
- action_exec((keyevent_t){
- .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */
- });
+ action_exec(MAKE_KEYEVENT(pos.r, pos.c, true));
#if TAP_CODE_DELAY > 0
wait_ms(TAP_CODE_DELAY);
#endif
- action_exec((keyevent_t){
- .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */
- });
+ action_exec(MAKE_KEYEVENT(pos.r, pos.c, false));
}
bool encoder_update_kb(uint8_t index, bool clockwise) {
diff --git a/keyboards/rgbkb/sol3/rev1/rev1.h b/keyboards/rgbkb/sol3/rev1/rev1.h
index e80f8c298d..2ed720fcc3 100644
--- a/keyboards/rgbkb/sol3/rev1/rev1.h
+++ b/keyboards/rgbkb/sol3/rev1/rev1.h
@@ -11,57 +11,6 @@
#include "sol3.h"
-// clang-format off
-/* Blank ascii map to reuse, with labeled possible encoder positions, *rgb encoder only
-┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐
-│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ │ │ │ E2 │ │ E5 │ │ │ │ │ │ │
-├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤
-│ │ │ │ E1 │ E1 │ │ E0* │ │ E3* │ │ E4 │ E4 │ │ │ │
-└──────┴──────┴──────┴──────┴──────┤ ├──────┤ ├──────┤ ├──────┴──────┴──────┴──────┴──────┘
- │ │ E0 │ │ E3 │ │
- └──────┴──────┘ └──────┴──────┘
-┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐
-│ E0↑ │ E0↓ │ E1↑ │ E1↓ │ E2↑ │ E2↓ │ │ E3↑ │ E3↓ │ E4↑ │ E4↓ │ E5↑ │ E5↓ │
-└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
-┌──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┐
-│ │ │ │ │ │ │ │ │ │ │ │
-└──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┘
-*/
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
- L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47, \
- \
- E0L, E0R, E1L, E1R, E2L, E2R, E3L, E3R, E4L, E4R, E5L, E5R, \
- LT0, LT1, LT2, LSL, LSR, RT0, RT1, RT2, RSL, RSR \
-) \
-{ \
- /* Left Half */ \
- { L00, L01, L02, L03, L04, L05, L06, LT0 }, \
- { L10, L11, L12, L13, L14, L15, L16, LT1 }, \
- { L20, L21, L22, L23, L24, L25, L26, LT2 }, \
- { L30, L31, L32, L33, L34, L35, L36, KC_NO }, \
- { L40, L41, L42, L43, L44, L45, L46, L47 }, \
- { E0L, E0R, E1L, E1R, E2L, E2R, LSL, LSR }, \
- /* Right Half */ \
- { R06, R05, R04, R03, R02, R01, R00, RT0 }, \
- { R16, R15, R14, R13, R12, R11, R10, RT1 }, \
- { R26, R25, R24, R23, R22, R21, R20, RT2 }, \
- { R36, R35, R34, R33, R32, R31, R30, KC_NO }, \
- { R47, R46, R45, R44, R43, R42, R41, R40 }, \
- { E3L, E3R, E4L, E4R, E5L, E5R, RSL, RSR } \
-}
-// clang-format on
-
// weak functions overridable by the user
void render_layer_status(void);
void render_leds_status(void);
diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk
index f761d71be2..382b858f46 100644
--- a/keyboards/rgbkb/sol3/rules.mk
+++ b/keyboards/rgbkb/sol3/rules.mk
@@ -19,10 +19,8 @@ AUDIO_DRIVER = dac_additive
DYNAMIC_MACRO_ENABLE = yes
DIP_SWITCH_ENABLE = yes
-WS2812_DRIVER = pwm
RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
OLED_ENABLE = yes
OLED_DRIVER = SSD1306 # Enable the OLED Driver