summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Sangdahl <jack@pngu.org>2025-08-10 11:44:49 +0200
committerGitHub <noreply@github.com>2025-08-10 11:44:49 +0200
commita3ecbc53f60e2e262a0df5e34a89ca6eeb17dd48 (patch)
tree064768b7591a793724d6466bde7b20504bed72f9
parent2695344241eabc8da3101a0c2cfecf1f0381226e (diff)
Refactor `bastardkb/charybdis/4x6` (#25494)
* Refactor bastardkb/charybdis/4x6 - Update keyboard aliases accordingly - Migrate various configuration to data-driven - Use short SPDX license headers - Remove configuration that trends towards user-specific (CRC Table) - Migrate common configuration upwards - Migrate keymap to JSON - Remove likely unneeded v1 revision per #23811 - Remove revisions splinky_2, splinky_3, and stemcell where a converter should be used - Rename v2/elitec -> elitec. Specifically named elitec, as this board requires pin compatibility with an Elite-C (bottom 5 pins) * Add aliases * Replace unecessarily removed split hand pin configuration * Revert "Replace unecessarily removed split hand pin configuration" This reverts commit 0b98d1bc140a4b18c16d2b524cc8731f016372b1. After second thought, it is not necessary to configure this by default, as any user who wishes to set handedness by pin and is using an Elite-C pin compatible development board will need to manually set the pin anyway, which likely means referencing the readme.md file, which also contains the necessary SPLIT_HAND_PIN_LOW_IS_LEFT configuration.
-rw-r--r--data/mappings/keyboard_aliases.hjson12
-rw-r--r--keyboards/bastardkb/charybdis/4x6/4x6.c100
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/config.h37
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h21
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json43
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h28
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/readme.md3
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk6
-rw-r--r--keyboards/bastardkb/charybdis/4x6/config.h22
-rw-r--r--keyboards/bastardkb/charybdis/4x6/elitec/config.h5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json19
-rw-r--r--keyboards/bastardkb/charybdis/4x6/info.json90
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c75
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json31
-rw-r--r--keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md7
-rw-r--r--keyboards/bastardkb/charybdis/4x6/readme.md15
-rw-r--r--keyboards/bastardkb/charybdis/4x6/rules.mk1
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h25
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json41
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h24
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json35
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h38
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json33
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h23
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h38
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json33
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h23
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk5
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h52
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h24
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json38
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h32
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk6
38 files changed, 165 insertions, 843 deletions
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index 6b1a330bfb..cd5ce6e9ab 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -92,6 +92,18 @@
92 "bastardkb/charybdis/3x6/v2/stemcell": { 92 "bastardkb/charybdis/3x6/v2/stemcell": {
93 "target": "bastardkb/charybdis/3x6/elitec" 93 "target": "bastardkb/charybdis/3x6/elitec"
94 }, 94 },
95 "bastardkb/charybdis/4x6/v2/elitec": {
96 "target": "bastardkb/charybdis/4x6/elitec"
97 },
98 "bastardkb/charybdis/4x6/v2/splinky_2": {
99 "target": "bastardkb/charybdis/4x6/elitec"
100 },
101 "bastardkb/charybdis/4x6/v2/splinky_3": {
102 "target": "bastardkb/charybdis/4x6/elitec"
103 },
104 "bastardkb/charybdis/4x6/v2/stemcell": {
105 "target": "bastardkb/charybdis/4x6/elitec"
106 },
95 "bastardkb/dilemma/3x5_2/splinky": { 107 "bastardkb/dilemma/3x5_2/splinky": {
96 "target": "bastardkb/dilemma/3x5_2/promicro" 108 "target": "bastardkb/dilemma/3x5_2/promicro"
97 }, 109 },
diff --git a/keyboards/bastardkb/charybdis/4x6/4x6.c b/keyboards/bastardkb/charybdis/4x6/4x6.c
deleted file mode 100644
index ff1bbea470..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/4x6.c
+++ /dev/null
@@ -1,100 +0,0 @@
1/*
2 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
3 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
4 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Publicw License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include "charybdis.h"
21
22// clang-format off
23#ifdef RGB_MATRIX_ENABLE
24/**
25 * \brief LEDs index.
26 *
27 * ╭────────────────────────╮ ╭────────────────────────╮
28 * 0 7 8 15 16 20 49 45 44 37 36 29
29 * ├────────────────────────┤ ├────────────────────────┤
30 * 1 6 9 14 17 21 50 46 43 38 35 30
31 * ├────────────────────────┤ ├────────────────────────┤
32 * 2 5 10 13 18 22 51 47 42 39 34 31
33 * ├────────────────────────┤ ├────────────────────────┤
34 * 3 4 11 12 19 23 52 48 41 40 33 32
35 * ╰────────────────────────╯ ╰────────────────────────╯
36 * 26 27 28 53 54 XX
37 * 25 24 55 XX
38 * ╰────────────╯ ╰────────────╯
39 *
40 * Note: the LED config simulates 58 LEDs instead of the actual 56 to prevent
41 * confusion when testing LEDs during assembly when handedness is not set
42 * correctly. Those fake LEDs are bound to the physical bottom-left corner.
43 */
44led_config_t g_led_config = { {
45 /* Key Matrix to LED index. */
46 // Left split.
47 { 0, 7, 8, 15, 16, 20 }, // Num row
48 { 1, 6, 9, 14, 17, 21 }, // Top row
49 { 2, 5, 10, 13, 18, 22 }, // Middle row
50 { 3, 4, 11, 12, 19, 23 }, // Bottom row
51 { NO_LED, 28, 24, 26, 27, 25 }, // Thumb cluster
52 // Right split.
53 { 29, 36, 37, 44, 45, 49 }, // Num row
54 { 30, 35, 38, 43, 46, 50 }, // Top row
55 { 31, 34, 39, 42, 47, 51 }, // Middle row
56 { 32, 33, 40, 41, 48, 52 }, // Bottom row
57 { NO_LED, 53, 55, 54, NO_LED, NO_LED }, // Thumb cluster
58}, {
59 /* LED index to physical position. */
60 // Left split.
61 /* index=0 */ { 0, 0 }, { 0, 12 }, { 0, 24 }, { 0, 36 }, // col 1 (left most)
62 /* index=4 */ { 16, 36 }, { 16, 24 }, { 16, 12 }, { 16, 0 }, // col 2
63 /* index=8 */ { 32, 0 }, { 32, 12 }, { 32, 24 }, { 32, 36 },
64 /* index=12 */ { 48, 36 }, { 48, 24 }, { 48, 12 }, { 48, 0 },
65 /* index=16 */ { 64, 0 }, { 64, 12 }, { 64, 24 }, { 64, 36 },
66 /* index=20 */ { 80, 0 }, { 80, 12 }, { 80, 24 }, { 80, 36 },
67 /* index=24 */ { 112, 64 }, { 96, 64 }, { 80, 52 },
68 /* index=27 */ { 96, 52 }, { 112, 52 },
69 // Right split.
70 /* index=29 */ { 224, 0 }, { 224, 12 }, { 224, 24 }, { 224, 36 }, // col 12 (right most)
71 /* index=33 */ { 208, 36 }, { 208, 24 }, { 208, 12 }, { 208, 0 }, // col 11
72 /* index=37 */ { 192, 0 }, { 192, 12 }, { 192, 24 }, { 192, 36 },
73 /* index=41 */ { 176, 36 }, { 176, 24 }, { 176, 12 }, { 176, 0 },
74 /* index=45 */ { 160, 0 }, { 160, 12 }, { 160, 24 }, { 160, 36 },
75 /* index=49 */ { 144, 0 }, { 144, 12 }, { 144, 24 }, { 144, 36 },
76 /* index=53 */ { 112, 52 }, { 128, 64 }, { 112, 64 },
77 /* index=56 */ { 0, 0 }, { 0, 0 },
78}, {
79 /* LED index to flag. */
80 // Left split.
81 /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1
82 /* index=4 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2
83 /* index=8 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
84 /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
85 /* index=16 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
86 /* index=20 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
87 /* index=24 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster top
88 /* index=27 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster bottom
89 // Right split.
90 /* index=29 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 12
91 /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 11
92 /* index=37 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
93 /* index=41 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
94 /* index=45 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
95 /* index=49 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
96 /* index=53 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
97 /* index=55 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster fakes
98} };
99#endif
100// clang-format on
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
index bd1e0fe31e..9c01986583 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
@@ -1,28 +1,9 @@
1/* 1// Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
2 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) 2// Copyright 2021 Stefan Kerkmann (@KarlK90)
3 * Copyright 2021 Stefan Kerkmann (@KarlK90) 3// Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
4 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) 4// SPDX-License-Identifier: GPL-2.0-or-later
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Publicw License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#pragma once 5#pragma once
21 6
22/* Handedness. */
23#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
24
25/* RGB settings. */
26#define WS2812_PWM_DRIVER PWMD2 7#define WS2812_PWM_DRIVER PWMD2
27#define WS2812_PWM_CHANNEL 2 8#define WS2812_PWM_CHANNEL 2
28#define WS2812_PWM_PAL_MODE 1 9#define WS2812_PWM_PAL_MODE 1
@@ -30,14 +11,6 @@
30#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 11#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
31#define WS2812_PWM_DMA_CHANNEL 3 12#define WS2812_PWM_DMA_CHANNEL 3
32 13
33/* Serial configuration for split keyboard. */
34#define SERIAL_USART_TX_PIN A9
35
36/* CRC. */
37#define CRC8_USE_TABLE
38#define CRC8_OPTIMIZE_SPEED
39
40/* SPI config for EEPROM and pmw3360 sensor. */
41#define SPI_DRIVER SPID1 14#define SPI_DRIVER SPID1
42#define SPI_SCK_PIN A5 15#define SPI_SCK_PIN A5
43#define SPI_SCK_PAL_MODE 5 16#define SPI_SCK_PAL_MODE 5
@@ -46,9 +19,7 @@
46#define SPI_MISO_PIN A6 19#define SPI_MISO_PIN A6
47#define SPI_MISO_PAL_MODE 5 20#define SPI_MISO_PAL_MODE 5
48 21
49/* EEPROM config. */
50#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 22#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
51 23
52/* PMW3360 settings. */
53#define POINTING_DEVICE_CS_PIN B14 24#define POINTING_DEVICE_CS_PIN B14
54#define PMW33XX_CS_DIVISOR 64 25#define PMW33XX_CS_DIVISOR 64
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
index 300b0eeaed..6876cc3e00 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
@@ -1,21 +1,6 @@
1/** 1// Copyright 2020 Nick Brassel (tzarc)
2 * Copyright 2020 Nick Brassel (tzarc) 2// Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
3 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) 3// SPDX-License-Identifier: GPL-2.0-or-later
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once 4#pragma once
20 5
21#define HAL_USE_PWM TRUE 6#define HAL_USE_PWM TRUE
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json b/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json
index b55dc29445..4bef461b6b 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json
@@ -1,38 +1,23 @@
1{ 1{
2 "keyboard_name": "Charybdis (4x6) Blackpill", 2 "development_board": "blackpill_f411",
3 "usb": {
4 "device_version": "1.0.0",
5 "shared_endpoint": {
6 "keyboard": true
7 }
8 },
9 "features": {
10 "bootmagic": true,
11 "mousekey": true,
12 "extrakey": true,
13 "rgb_matrix": true,
14 "pointing_device": true
15 },
16 "eeprom": { 3 "eeprom": {
17 "driver": "spi" 4 "driver": "spi"
18 }, 5 },
19 "split": {
20 "enabled": true
21 },
22 "rgb_matrix": {
23 "driver": "ws2812"
24 },
25 "ws2812": {
26 "pin": "A1",
27 "driver": "pwm"
28 },
29 "build": {
30 "debounce_type": "asym_eager_defer_pk"
31 },
32 "matrix_pins": { 6 "matrix_pins": {
33 "cols": ["B0", "B1", "B10", "B3", "B4", "B5"], 7 "cols": ["B0", "B1", "B10", "B3", "B4", "B5"],
34 "rows": ["B15", "A2", "B8", "A8", "B9"] 8 "rows": ["B15", "A2", "B8", "A8", "B9"]
35 }, 9 },
36 "diode_direction": "ROW2COL", 10 "split": {
37 "development_board": "blackpill_f411" 11 "handedness": {
12 "pin": "A3"
13 },
14 "serial": {
15 "driver": "usart",
16 "pin": "A9"
17 }
18 },
19 "ws2812": {
20 "driver": "pwm",
21 "pin": "A1"
22 }
38} 23}
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
index 46b3b42f8b..be641fb899 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
@@ -1,22 +1,7 @@
1/* 1// Copyright 2020 Nick Brassel (tzarc)
2 * Copyright 2020 Nick Brassel (tzarc) 2// Copyright 2021 Stefan Kerkmann (@KarlK90)
3 * Copyright 2021 Stefan Kerkmann (@KarlK90) 3// Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
4 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) 4// SPDX-License-Identifier: GPL-2.0-or-later
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#pragma once 5#pragma once
21 6
22#include_next <mcuconf.h> 7#include_next <mcuconf.h>
@@ -30,11 +15,6 @@
30#undef STM32_SPI_USE_SPI1 15#undef STM32_SPI_USE_SPI1
31#define STM32_SPI_USE_SPI1 TRUE 16#define STM32_SPI_USE_SPI1 TRUE
32 17
33#undef STM32_SPI_SPI1_RX_DMA_STREAM
34#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
35#undef STM32_SPI_SPI1_TX_DMA_STREAM
36#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
37
38#undef STM32_SERIAL_USE_USART1 18#undef STM32_SERIAL_USE_USART1
39#define STM32_SERIAL_USE_USART1 TRUE 19#define STM32_SERIAL_USE_USART1 TRUE
40 20
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md b/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md
deleted file mode 100644
index bbae15bb85..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# Charybdis (4x6) BlackPill
2
3An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod.
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk
deleted file mode 100644
index 3caafdef92..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported.
2
3POINTING_DEVICE_DRIVER = pmw3360
4MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
5
6SERIAL_DRIVER = usart
diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h
deleted file mode 100644
index 1c952759a7..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21/* Trackball angle adjustment. */
22#define ROTATIONAL_TRANSFORM_ANGLE -25
diff --git a/keyboards/bastardkb/charybdis/4x6/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/elitec/config.h
new file mode 100644
index 0000000000..411ddaf6b9
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/elitec/config.h
@@ -0,0 +1,5 @@
1// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#define POINTING_DEVICE_CS_PIN F0
diff --git a/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json
new file mode 100644
index 0000000000..839598e85e
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json
@@ -0,0 +1,19 @@
1{
2 "build": {
3 "lto": true
4 },
5 "development_board": "elite_c",
6 "matrix_pins": {
7 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
8 "rows": ["F4", "F7", "C6", "D4", "B5"]
9 },
10 "pin_compatible": "elite_c",
11 "split": {
12 "serial": {
13 "pin": "D2"
14 }
15 },
16 "ws2812": {
17 "pin": "D3"
18 }
19}
diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json
index 54bb564306..17d68900df 100644
--- a/keyboards/bastardkb/charybdis/4x6/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/info.json
@@ -1,15 +1,80 @@
1{ 1{
2 "manufacturer": "Bastard Keyboards", 2 "keyboard_name": "Charybdis (4x6)",
3 "url": "https://bastardkb.com/charybdis", 3 "diode_direction": "ROW2COL",
4 "usb": { 4 "features": {
5 "pid": "0x1833", 5 "bootmagic": true,
6 "vid": "0xA8F8" 6 "extrakey": true,
7 "mousekey": false,
8 "pointing_device": true,
9 "rgb_matrix": true
7 }, 10 },
8 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "ws2812",
13 "layout": [
14 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
15 {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4},
16 {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4},
17 {"matrix": [3, 0], "x": 0, "y": 36, "flags": 4},
18 {"matrix": [3, 1], "x": 16, "y": 36, "flags": 4},
19 {"matrix": [2, 1], "x": 16, "y": 24, "flags": 4},
20 {"matrix": [1, 1], "x": 16, "y": 12, "flags": 4},
21 {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
22 {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
23 {"matrix": [1, 2], "x": 32, "y": 12, "flags": 4},
24 {"matrix": [2, 2], "x": 32, "y": 24, "flags": 4},
25 {"matrix": [3, 2], "x": 32, "y": 36, "flags": 4},
26 {"matrix": [3, 3], "x": 48, "y": 36, "flags": 4},
27 {"matrix": [2, 3], "x": 48, "y": 24, "flags": 4},
28 {"matrix": [1, 3], "x": 48, "y": 12, "flags": 4},
29 {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
30 {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
31 {"matrix": [1, 4], "x": 64, "y": 12, "flags": 4},
32 {"matrix": [2, 4], "x": 64, "y": 24, "flags": 4},
33 {"matrix": [3, 4], "x": 64, "y": 36, "flags": 4},
34 {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
35 {"matrix": [1, 5], "x": 80, "y": 12, "flags": 4},
36 {"matrix": [2, 5], "x": 80, "y": 24, "flags": 4},
37 {"matrix": [3, 5], "x": 80, "y": 36, "flags": 4},
38 {"matrix": [4, 2], "x": 112, "y": 64, "flags": 1},
39 {"matrix": [4, 5], "x": 96, "y": 64, "flags": 1},
40 {"matrix": [4, 3], "x": 80, "y": 52, "flags": 1},
41 {"matrix": [4, 4], "x": 96, "y": 52, "flags": 1},
42 {"matrix": [4, 1], "x": 112, "y": 52, "flags": 1},
43 {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4},
44 {"matrix": [6, 0], "x": 224, "y": 12, "flags": 4},
45 {"matrix": [7, 0], "x": 224, "y": 24, "flags": 4},
46 {"matrix": [8, 0], "x": 224, "y": 36, "flags": 4},
47 {"matrix": [8, 1], "x": 208, "y": 36, "flags": 4},
48 {"matrix": [7, 1], "x": 208, "y": 24, "flags": 4},
49 {"matrix": [6, 1], "x": 208, "y": 12, "flags": 4},
50 {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4},
51 {"matrix": [5, 2], "x": 192, "y": 0, "flags": 4},
52 {"matrix": [6, 2], "x": 192, "y": 12, "flags": 4},
53 {"matrix": [7, 2], "x": 192, "y": 24, "flags": 4},
54 {"matrix": [8, 2], "x": 192, "y": 36, "flags": 4},
55 {"matrix": [8, 3], "x": 176, "y": 36, "flags": 4},
56 {"matrix": [7, 3], "x": 176, "y": 24, "flags": 4},
57 {"matrix": [6, 3], "x": 176, "y": 12, "flags": 4},
58 {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4},
59 {"matrix": [5, 4], "x": 160, "y": 0, "flags": 4},
60 {"matrix": [6, 4], "x": 160, "y": 12, "flags": 4},
61 {"matrix": [7, 4], "x": 160, "y": 24, "flags": 4},
62 {"matrix": [8, 4], "x": 160, "y": 36, "flags": 4},
63 {"matrix": [5, 5], "x": 144, "y": 0, "flags": 4},
64 {"matrix": [6, 5], "x": 144, "y": 12, "flags": 4},
65 {"matrix": [7, 5], "x": 144, "y": 24, "flags": 4},
66 {"matrix": [8, 5], "x": 144, "y": 36, "flags": 4},
67 {"matrix": [9, 1], "x": 112, "y": 52, "flags": 4},
68 {"matrix": [9, 3], "x": 128, "y": 64, "flags": 4},
69 {"matrix": [9, 2], "x": 112, "y": 64, "flags": 4},
70 {"x": 128, "y": 52, "flags": 1},
71 {"x": 144, "y": 52, "flags": 1}
72 ],
9 "split_count": [29, 29] 73 "split_count": [29, 29]
10 }, 74 },
11 "layout_aliases": { 75 "usb": {
12 "LAYOUT_charybdis_4x6": "LAYOUT" 76 "device_version": "2.0.0",
77 "pid": "0x1833"
13 }, 78 },
14 "layouts": { 79 "layouts": {
15 "LAYOUT": { 80 "LAYOUT": {
@@ -20,66 +85,55 @@
20 {"matrix": [0, 3], "x": 3, "y": 0}, 85 {"matrix": [0, 3], "x": 3, "y": 0},
21 {"matrix": [0, 4], "x": 4, "y": 0}, 86 {"matrix": [0, 4], "x": 4, "y": 0},
22 {"matrix": [0, 5], "x": 5, "y": 0}, 87 {"matrix": [0, 5], "x": 5, "y": 0},
23
24 {"matrix": [5, 5], "x": 11, "y": 0}, 88 {"matrix": [5, 5], "x": 11, "y": 0},
25 {"matrix": [5, 4], "x": 12, "y": 0}, 89 {"matrix": [5, 4], "x": 12, "y": 0},
26 {"matrix": [5, 3], "x": 13, "y": 0}, 90 {"matrix": [5, 3], "x": 13, "y": 0},
27 {"matrix": [5, 2], "x": 14, "y": 0}, 91 {"matrix": [5, 2], "x": 14, "y": 0},
28 {"matrix": [5, 1], "x": 15, "y": 0}, 92 {"matrix": [5, 1], "x": 15, "y": 0},
29 {"matrix": [5, 0], "x": 16, "y": 0}, 93 {"matrix": [5, 0], "x": 16, "y": 0},
30
31 {"matrix": [1, 0], "x": 0, "y": 1}, 94 {"matrix": [1, 0], "x": 0, "y": 1},
32 {"matrix": [1, 1], "x": 1, "y": 1}, 95 {"matrix": [1, 1], "x": 1, "y": 1},
33 {"matrix": [1, 2], "x": 2, "y": 1}, 96 {"matrix": [1, 2], "x": 2, "y": 1},
34 {"matrix": [1, 3], "x": 3, "y": 1}, 97 {"matrix": [1, 3], "x": 3, "y": 1},
35 {"matrix": [1, 4], "x": 4, "y": 1}, 98 {"matrix": [1, 4], "x": 4, "y": 1},
36 {"matrix": [1, 5], "x": 5, "y": 1}, 99 {"matrix": [1, 5], "x": 5, "y": 1},
37
38 {"matrix": [6, 5], "x": 11, "y": 1}, 100 {"matrix": [6, 5], "x": 11, "y": 1},
39 {"matrix": [6, 4], "x": 12, "y": 1}, 101 {"matrix": [6, 4], "x": 12, "y": 1},
40 {"matrix": [6, 3], "x": 13, "y": 1}, 102 {"matrix": [6, 3], "x": 13, "y": 1},
41 {"matrix": [6, 2], "x": 14, "y": 1}, 103 {"matrix": [6, 2], "x": 14, "y": 1},
42 {"matrix": [6, 1], "x": 15, "y": 1}, 104 {"matrix": [6, 1], "x": 15, "y": 1},
43 {"matrix": [6, 0], "x": 16, "y": 1}, 105 {"matrix": [6, 0], "x": 16, "y": 1},
44
45 {"matrix": [2, 0], "x": 0, "y": 2}, 106 {"matrix": [2, 0], "x": 0, "y": 2},
46 {"matrix": [2, 1], "x": 1, "y": 2}, 107 {"matrix": [2, 1], "x": 1, "y": 2},
47 {"matrix": [2, 2], "x": 2, "y": 2}, 108 {"matrix": [2, 2], "x": 2, "y": 2},
48 {"matrix": [2, 3], "x": 3, "y": 2}, 109 {"matrix": [2, 3], "x": 3, "y": 2},
49 {"matrix": [2, 4], "x": 4, "y": 2}, 110 {"matrix": [2, 4], "x": 4, "y": 2},
50 {"matrix": [2, 5], "x": 5, "y": 2}, 111 {"matrix": [2, 5], "x": 5, "y": 2},
51
52 {"matrix": [7, 5], "x": 11, "y": 2}, 112 {"matrix": [7, 5], "x": 11, "y": 2},
53 {"matrix": [7, 4], "x": 12, "y": 2}, 113 {"matrix": [7, 4], "x": 12, "y": 2},
54 {"matrix": [7, 3], "x": 13, "y": 2}, 114 {"matrix": [7, 3], "x": 13, "y": 2},
55 {"matrix": [7, 2], "x": 14, "y": 2}, 115 {"matrix": [7, 2], "x": 14, "y": 2},
56 {"matrix": [7, 1], "x": 15, "y": 2}, 116 {"matrix": [7, 1], "x": 15, "y": 2},
57 {"matrix": [7, 0], "x": 16, "y": 2}, 117 {"matrix": [7, 0], "x": 16, "y": 2},
58
59 {"matrix": [3, 0], "x": 0, "y": 3}, 118 {"matrix": [3, 0], "x": 0, "y": 3},
60 {"matrix": [3, 1], "x": 1, "y": 3}, 119 {"matrix": [3, 1], "x": 1, "y": 3},
61 {"matrix": [3, 2], "x": 2, "y": 3}, 120 {"matrix": [3, 2], "x": 2, "y": 3},
62 {"matrix": [3, 3], "x": 3, "y": 3}, 121 {"matrix": [3, 3], "x": 3, "y": 3},
63 {"matrix": [3, 4], "x": 4, "y": 3}, 122 {"matrix": [3, 4], "x": 4, "y": 3},
64 {"matrix": [3, 5], "x": 5, "y": 3}, 123 {"matrix": [3, 5], "x": 5, "y": 3},
65
66 {"matrix": [8, 5], "x": 11, "y": 3}, 124 {"matrix": [8, 5], "x": 11, "y": 3},
67 {"matrix": [8, 4], "x": 12, "y": 3}, 125 {"matrix": [8, 4], "x": 12, "y": 3},
68 {"matrix": [8, 3], "x": 13, "y": 3}, 126 {"matrix": [8, 3], "x": 13, "y": 3},
69 {"matrix": [8, 2], "x": 14, "y": 3}, 127 {"matrix": [8, 2], "x": 14, "y": 3},
70 {"matrix": [8, 1], "x": 15, "y": 3}, 128 {"matrix": [8, 1], "x": 15, "y": 3},
71 {"matrix": [8, 0], "x": 16, "y": 3}, 129 {"matrix": [8, 0], "x": 16, "y": 3},
72
73 {"matrix": [4, 3], "x": 5, "y": 4}, 130 {"matrix": [4, 3], "x": 5, "y": 4},
74 {"matrix": [4, 4], "x": 6, "y": 4}, 131 {"matrix": [4, 4], "x": 6, "y": 4},
75 {"matrix": [4, 1], "x": 7, "y": 4}, 132 {"matrix": [4, 1], "x": 7, "y": 4},
76
77 {"matrix": [9, 1], "x": 9, "y": 4}, 133 {"matrix": [9, 1], "x": 9, "y": 4},
78 {"matrix": [9, 3], "x": 10, "y": 4}, 134 {"matrix": [9, 3], "x": 10, "y": 4},
79
80 {"matrix": [4, 5], "x": 6, "y": 5}, 135 {"matrix": [4, 5], "x": 6, "y": 5},
81 {"matrix": [4, 2], "x": 7, "y": 5}, 136 {"matrix": [4, 2], "x": 7, "y": 5},
82
83 {"matrix": [9, 5], "x": 9, "y": 5} 137 {"matrix": [9, 5], "x": 9, "y": 5}
84 ] 138 ]
85 } 139 }
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
deleted file mode 100644
index f440dac8cb..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
1/**
2 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17#include QMK_KEYBOARD_H
18
19enum charybdis_keymap_layers {
20 LAYER_BASE = 0,
21 LAYER_LOWER,
22 LAYER_RAISE,
23};
24
25#define LOWER MO(LAYER_LOWER)
26#define RAISE MO(LAYER_RAISE)
27
28// clang-format off
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [LAYER_BASE] = LAYOUT(
31 // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
32 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
33 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
34 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
35 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
36 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
37 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
38 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LALT,
39 // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
40 KC_LGUI, KC_SPC, LOWER, RAISE, KC_ENT,
41 KC_LALT, KC_BSPC, KC_DEL
42 // ╰───────────────────────────╯ ╰──────────────────╯
43 ),
44
45 [LAYER_LOWER] = LAYOUT(
46 // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
47 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
48 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
49 RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
50 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
51 RM_TOGG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
52 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
53 RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
54 // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
55 XXXXXXX, XXXXXXX, _______, XXXXXXX, _______,
56 XXXXXXX, XXXXXXX, KC_P0
57 // ╰───────────────────────────╯ ╰──────────────────╯
58 ),
59
60 [LAYER_RAISE] = LAYOUT(
61 // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
62 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
63 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
64 KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
65 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
66 KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
67 // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
68 KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
69 // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
70 _______, _______, XXXXXXX, _______, XXXXXXX,
71 _______, _______, XXXXXXX
72 // ╰───────────────────────────╯ ╰──────────────────╯
73 ),
74};
75// clang-format on
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json
new file mode 100644
index 0000000000..2df4f16675
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json
@@ -0,0 +1,31 @@
1{
2 "keyboard": "bastardkb/charybdis/4x6/elitec",
3 "keymap": "default",
4 "layout": "LAYOUT",
5 "layers": [
6 [
7 "KC_ESC" , "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_GRV" ,
8 "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
9 "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT",
10 "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_CAPS",
11 "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)",
12 "KC_LALT", "KC_SPC", "KC_BSPC"
13 ],
14 [
15 "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
16 "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
17 "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
18 "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
19 "_______", "_______", "_______", "_______", "_______",
20 "_______", "_______", "_______"
21 ],
22 [
23 "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
24 "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______",
25 "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", "_______",
26 "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
27 "_______", "_______", "_______", "_______", "_______",
28 "_______", "_______", "_______"
29 ]
30 ]
31}
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md b/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md
deleted file mode 100644
index 23a85e54d5..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
1# Charybdis (4x6) default keymap
2
3> :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout.
4
5The Charydbis (4x6) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap.
6
7This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
diff --git a/keyboards/bastardkb/charybdis/4x6/readme.md b/keyboards/bastardkb/charybdis/4x6/readme.md
deleted file mode 100644
index af2396cd6d..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
1# Charybdis (4x6)
2
3An ergonomic keyboard with integrated trackball.
4
5The Charybdis is available in 4x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com).
6
7## Keymaps
8
9### [`default`](keymaps/default)
10
11A simple QWERTY layout with 3 layers.
12
13### [`via`](keymaps/via)
14
15Same as the [default](keymaps/default) keymap, but with VIA support.
diff --git a/keyboards/bastardkb/charybdis/4x6/rules.mk b/keyboards/bastardkb/charybdis/4x6/rules.mk
new file mode 100644
index 0000000000..fab9162dc6
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/4x6/rules.mk
@@ -0,0 +1 @@
POINTING_DEVICE_DRIVER = pmw3360
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h
deleted file mode 100644
index dc0c6e4e03..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
1/*
2 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
3 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21/* Handedness. */
22#define MASTER_RIGHT
23
24/* PMW3360 settings. */
25#define POINTING_DEVICE_CS_PIN B0
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json
deleted file mode 100644
index 6b0caff82e..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json
+++ /dev/null
@@ -1,41 +0,0 @@
1{
2 "keyboard_name": "Charybdis (4x6) Elite-C",
3 "usb": {
4 "device_version": "1.0.0"
5 },
6 "features": {
7 "bootmagic": true,
8 "mousekey": false,
9 "extrakey": true,
10 "rgb_matrix": true,
11 "pointing_device": true
12 },
13 "build": {
14 "lto": true
15 },
16 "ws2812": {
17 "pin": "D3"
18 },
19 "rgb_matrix": {
20 "driver": "ws2812"
21 },
22 "matrix_pins": {
23 "cols": ["D5", "C7", "F0", "D7", "E6", "B4"],
24 "rows": ["F1", "B7", "C6", "D4", "B5"]
25 },
26 "diode_direction": "ROW2COL",
27 "split": {
28 "enabled": true,
29 "serial": {
30 "pin": "D2"
31 },
32 "matrix_pins": {
33 "right": {
34 "cols": ["F1", "C7", "B7", "D7", "E6", "B4"],
35 "rows": ["D5", "F0", "C6", "D4", "B5"]
36 }
37 }
38 },
39 "processor": "atmega32u4",
40 "bootloader": "atmel-dfu"
41}
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk
deleted file mode 100644
index 0e4d15d5bc..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported.
2
3POINTING_DEVICE_DRIVER = pmw3360
4MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h
deleted file mode 100644
index 3b91322247..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20/* Handedness. */
21#define MASTER_RIGHT
22
23/* PMW3360 settings. */
24#define POINTING_DEVICE_CS_PIN F0
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json
deleted file mode 100644
index 4163f9d476..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json
+++ /dev/null
@@ -1,35 +0,0 @@
1{
2 "keyboard_name": "Charybdis (4x6) Elite-C",
3 "usb": {
4 "device_version": "2.0.0"
5 },
6 "features": {
7 "bootmagic": true,
8 "mousekey": false,
9 "extrakey": true,
10 "rgb_matrix": true,
11 "pointing_device": true
12 },
13 "build": {
14 "lto": true
15 },
16 "ws2812": {
17 "pin": "D3"
18 },
19 "rgb_matrix": {
20 "driver": "ws2812"
21 },
22 "matrix_pins": {
23 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
24 "rows": ["F4", "F7", "C6", "D4", "B5"]
25 },
26 "diode_direction": "ROW2COL",
27 "split": {
28 "enabled": true,
29 "serial": {
30 "pin": "D2"
31 }
32 },
33 "processor": "atmega32u4",
34 "bootloader": "atmel-dfu"
35}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk
deleted file mode 100644
index 0e4d15d5bc..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported.
2
3POINTING_DEVICE_DRIVER = pmw3360
4MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h
deleted file mode 100644
index e6e2a4f216..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20/* Handedness. */
21#define MASTER_RIGHT
22
23// To use the handedness pin, resistors need to be installed on the adapter PCB.
24// If so, uncomment the following code, and undefine MASTER_RIGHT above.
25// #define SPLIT_HAND_PIN GP13
26// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
27
28/* SPI & PMW3360 settings. */
29#define SPI_DRIVER SPID0
30#define SPI_SCK_PIN GP18
31#define SPI_MISO_PIN GP20
32#define SPI_MOSI_PIN GP19
33#define POINTING_DEVICE_CS_PIN GP14
34
35/* Reset. */
36#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
37#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
38#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json
deleted file mode 100644
index 0da7d0b442..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json
+++ /dev/null
@@ -1,33 +0,0 @@
1{
2 "keyboard_name": "Charybdis (4x6) Splinky",
3 "usb": {
4 "device_version": "2.0.0"
5 },
6 "features": {
7 "bootmagic": true,
8 "mousekey": false,
9 "extrakey": true,
10 "rgb_matrix": true,
11 "pointing_device": true
12 },
13 "rgb_matrix": {
14 "driver": "ws2812"
15 },
16 "matrix_pins": {
17 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"],
18 "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"]
19 },
20 "diode_direction": "ROW2COL",
21 "split": {
22 "enabled": true,
23 "serial": {
24 "pin": "GP1"
25 }
26 },
27 "ws2812": {
28 "pin": "GP0",
29 "driver": "vendor"
30 },
31 "processor": "RP2040",
32 "bootloader": "rp2040"
33}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h
deleted file mode 100644
index 6aaf31428c..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h
+++ /dev/null
@@ -1,23 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include_next <mcuconf.h>
21
22#undef RP_SPI_USE_SPI0
23#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md
deleted file mode 100644
index 662eb5825c..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1# Splinky controller
2
3The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
4
5See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk
deleted file mode 100644
index db29cb6789..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported
2
3POINTING_DEVICE_DRIVER = pmw3360
4
5SERIAL_DRIVER = vendor
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h
deleted file mode 100644
index ee7745d41e..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20/* Handedness. */
21#define MASTER_RIGHT
22
23// To use the handedness pin, resistors need to be installed on the adapter PCB.
24// If so, uncomment the following code, and undefine MASTER_RIGHT above.
25// #define SPLIT_HAND_PIN GP15
26// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
27
28/* SPI & PMW3360 settings. */
29#define SPI_DRIVER SPID0
30#define SPI_SCK_PIN GP22
31#define SPI_MISO_PIN GP20
32#define SPI_MOSI_PIN GP23
33#define POINTING_DEVICE_CS_PIN GP16
34
35/* Reset. */
36#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
37#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
38#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json
deleted file mode 100644
index 026684eb92..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json
+++ /dev/null
@@ -1,33 +0,0 @@
1{
2 "keyboard_name": "Charybdis (4x6) Splinky",
3 "usb": {
4 "device_version": "2.0.0"
5 },
6 "features": {
7 "bootmagic": true,
8 "mousekey": false,
9 "extrakey": true,
10 "rgb_matrix": true,
11 "pointing_device": true
12 },
13 "rgb_matrix": {
14 "driver": "ws2812"
15 },
16 "matrix_pins": {
17 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"],
18 "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"]
19 },
20 "diode_direction": "ROW2COL",
21 "split": {
22 "enabled": true,
23 "serial": {
24 "pin": "GP1"
25 }
26 },
27 "ws2812": {
28 "pin": "GP0",
29 "driver": "vendor"
30 },
31 "processor": "RP2040",
32 "bootloader": "rp2040"
33}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h
deleted file mode 100644
index 6aaf31428c..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h
+++ /dev/null
@@ -1,23 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include_next <mcuconf.h>
21
22#undef RP_SPI_USE_SPI0
23#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md
deleted file mode 100644
index 662eb5825c..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1# Splinky controller
2
3The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040.
4
5See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3).
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk
deleted file mode 100644
index db29cb6789..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported
2
3POINTING_DEVICE_DRIVER = pmw3360
4
5SERIAL_DRIVER = vendor
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h
deleted file mode 100644
index 3efb323302..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
1/*
2 * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20/* Handedness. */
21#define MASTER_RIGHT
22
23// To use the handedness pin, resistors need to be installed on the adapter PCB.
24// If so, uncomment the following code, and undefine MASTER_RIGHT above.
25// #define A0 PAL_LINE(GPIOA, 0)
26// #define SPLIT_HAND_PIN A0
27// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
28
29/* RGB settings. */
30#define WS2812_PWM_DRIVER PWMD2
31#define WS2812_PWM_CHANNEL 4
32#define WS2812_PWM_PAL_MODE 1
33#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7
34#define WS2812_PWM_DMA_CHANNEL 3
35
36/* CRC. */
37#define CRC8_USE_TABLE
38#define CRC8_OPTIMIZE_SPEED
39
40/* SPI config for pmw3360 sensor. */
41#define SPI_DRIVER SPID1
42#define SPI_SCK_PIN A5
43#define SPI_SCK_PAL_MODE 5
44#define SPI_MOSI_PIN A7
45#define SPI_MOSI_PAL_MODE 5
46#define SPI_MISO_PIN A6
47#define SPI_MISO_PAL_MODE 5
48
49/* PMW3360 settings. */
50#define POINTING_DEVICE_CS_PIN A1
51#define PMW3360_CS_MODE 3
52#define PMW3360_CS_DIVISOR 64
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h
deleted file mode 100644
index 0397de50b7..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#define HAL_USE_PWM TRUE
21#define HAL_USE_SERIAL TRUE
22#define HAL_USE_SPI TRUE
23
24#include_next <halconf.h>
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json
deleted file mode 100644
index ed929f7fb7..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json
+++ /dev/null
@@ -1,38 +0,0 @@
1{
2 "keyboard_name": "Charybdis (4x6) STeMCell",
3 "usb": {
4 "device_version": "2.0.0",
5 "shared_endpoint": {
6 "keyboard": true
7 }
8 },
9 "features": {
10 "bootmagic": true,
11 "mousekey": true,
12 "extrakey": true,
13 "rgb_matrix": true,
14 "pointing_device": true
15 },
16 "rgb_matrix": {
17 "driver": "ws2812"
18 },
19 "ws2812": {
20 "pin": "A2",
21 "driver": "pwm"
22 },
23 "build": {
24 "debounce_type": "asym_eager_defer_pk"
25 },
26 "matrix_pins": {
27 "cols": ["B1", "B2", "A4", "B4", "B5", "B8"],
28 "rows": ["B10", "B0", "B3", "A15", "B9"]
29 },
30 "diode_direction": "ROW2COL",
31 "split": {
32 "enabled": true,
33 "serial": {
34 "pin": "A3"
35 }
36 },
37 "development_board": "stemcell"
38}
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h
deleted file mode 100644
index 17a46d8f95..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/*
2 * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include_next <mcuconf.h>
21
22#undef STM32_SPI_USE_SPI1
23#define STM32_SPI_USE_SPI1 TRUE
24
25#undef STM32_SERIAL_USE_USART1
26#define STM32_SERIAL_USE_USART1 FALSE
27
28#undef STM32_PWM_USE_TIM2
29#define STM32_PWM_USE_TIM2 TRUE
30
31#undef STM32_ST_USE_TIMER
32#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk
deleted file mode 100644
index 4373b9c33d..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
1AUDIO_SUPPORTED = no # Audio is not supported
2
3POINTING_DEVICE_DRIVER = pmw3360
4MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
5
6SERIAL_DRIVER = usart