summaryrefslogtreecommitdiffstats
path: root/keyboards/bastardkb/tbkmini
diff options
context:
space:
mode:
authorCharly Delay <0xcharly@users.noreply.github.com>2022-07-25 18:11:28 +0900
committerGitHub <noreply@github.com>2022-07-25 10:11:28 +0100
commit50a12c06b9c3dd4bda1fbe6dac1f692fade2d4d1 (patch)
tree5864026dbbb2c2b35cfdff17a668d448738995a9 /keyboards/bastardkb/tbkmini
parent336df3297e2853dca189e084057f59169ded5195 (diff)
[keyboard] bastardkb: restructure folder hierarchy (#16778)
* bastardkb: restructure folder hierarchy ahead of supporting other adapters/mcus Upcoming support for the following (adapter, mcu) pairs will be submitted in follow-up PRs: - `v2/elitec` - `v2/stemcell` - `blackpill` This PR contains the following changes: - Move previous implementation to an inner `v1/elitec` folder - Move keyboard USB IDs and strings to data driven - Update headers to update maintainers list - Run `qmk format-c` * bastardkb/charybdis: remove broken acceleration implementation * bastardkb/charybdis: fix debug output * bastardkb: add support for BastardKb the `v2/elitec` (adapter, mcu) pair * bastardkb: add Blackpill support * bastardkb/charybdis/3x5: add `bstiq` keymap * bastardkb/charybdis: add fake LEDs to the configuration For the Charybdis 3x5 (respectively 4x6), the LED config now simulates 36 (respectively 58) LEDs instead of the actual 35 (respectively 56) to prevent confusion when testing LEDs during assembly when handedness is not set correctly. Those fake LEDs are bound to the physical bottom-left corner. * bastardkbk/charybdis/readme.md: update build commands Merge pull request #5 from Nathancooke7/update_charybdis_readme_v2_shield. * bastardkb/charybdis: fix Via keymap with blackpill * bastardkb/charybdis: add 3x6 configuration * bastardkb/charybdis: remove unnecessary files * bastardkb/charybdis: remove obsolete code * bastardkb/charybdis/3x6: add Via keymap * bastardkb: add support for Splinky (RP2040) board * bastardkb: initial configuration for the Splinky (SPI not working yet) * bastardkb/charybdis/3x5/v2/splinky: tentative change to enable trackball * bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins * bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins * bastardkb/charybdis/4x6/v2/splinky: add SPI configuration and enable trackball * bastardkb/charybdis/3x6: add splinky config * bastardkb/*/v2/splinky: update drivers to `vendor` * bastardkb/dilemma: add new board * bastardkb/charybdis: fix infinite loop in `layer_state_set_user(…)` in the `via` keymaps * bastardkb/dilemma: add `bstiq` keymap * bastardkb: specify blackpill boards * bastardkb/charybdis: fix blackpill-specific define syntax * bastardkb: remove `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION` which are no longer valid options * bastardkb: fix `QK_BOOT` keycodes * bastardkb/dilemma: fix mouse direction on X axis * bastardkb/charybdis/3x6: adjust CS * bastardkb/dilemma: adjust trackpad configuration * charybdis: fix `PWM33XX_CS_PIN` defines This is a follow-up of https://github.com/qmk/qmk_firmware/pull/17613. * bastardkb: remove Vial mentions from `bstiq` keymaps * Cleanup unnecessary comments Co-authored-by: Nathan <nathan.cooke@compass.com> Co-authored-by: Charly Delay <0xcharly@codesink.dev>
Diffstat (limited to 'keyboards/bastardkb/tbkmini')
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/config.h58
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/halconf.h29
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/mcuconf.h61
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/rules.mk37
-rw-r--r--keyboards/bastardkb/tbkmini/config.h83
-rw-r--r--keyboards/bastardkb/tbkmini/info.json7
-rw-r--r--keyboards/bastardkb/tbkmini/keymaps/default/keymap.c91
-rw-r--r--keyboards/bastardkb/tbkmini/tbkmini.h37
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/config.h34
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/rules.mk (renamed from keyboards/bastardkb/tbkmini/rules.mk)16
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/config.h33
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/rules.mk27
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/config.h43
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/info.json6
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky/rules.mk34
18 files changed, 468 insertions, 146 deletions
diff --git a/keyboards/bastardkb/tbkmini/blackpill/config.h b/keyboards/bastardkb/tbkmini/blackpill/config.h
new file mode 100644
index 0000000000..ba0c93ff93
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/config.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Publicw License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { A2, B8, A8, B9 }
+#define MATRIX_COL_PINS \
+ { B0, B1, B10, B3, B4, B5 }
+
+/* Handedness. */
+#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
+
+/* RGB settings. */
+#define RGB_DI_PIN A1
+#define WS2812_PWM_DRIVER PWMD2
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_EXTERNAL_PULLUP
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
+#define WS2812_DMA_CHANNEL 3
+#define WS2812_PWM_TARGET_PERIOD 800000
+
+/* Serial configuration for split keyboard. */
+#define SERIAL_USART_TX_PIN A9
+
+/* CRC. */
+#define CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
+/* SPI config for EEPROM. */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_SCK_PAL_MODE 5
+#define SPI_MOSI_PIN A7
+#define SPI_MOSI_PAL_MODE 5
+#define SPI_MISO_PIN A6
+#define SPI_MISO_PAL_MODE 5
+
+/* EEPROM config. */
+#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
diff --git a/keyboards/bastardkb/tbkmini/blackpill/halconf.h b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
new file mode 100644
index 0000000000..0d4b7b5dc5
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/halconf.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+#define HAL_USE_SERIAL TRUE
+//#define HAL_USE_I2C TRUE
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#define HAL_USE_GPT TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json
new file mode 100644
index 0000000000..d4f15e44f1
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Blackpill",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
new file mode 100644
index 0000000000..e7cf3681fd
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020 Nick Brassel (tzarc)
+ * Copyright 2021 Stefan Kerkmann (@KarlK90)
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 FALSE
+
+//#undef STM32_I2C_I2C1_RX_DMA_STREAM
+//#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
+//#undef STM32_I2C_I2C1_TX_DMA_STREAM
+//#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+
+#undef STM32_PWM_USE_TIM2
+#define STM32_PWM_USE_TIM2 TRUE
+
+//#undef STM32_PWM_USE_TIM3
+//#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
+
+//#undef STM32_SPI_SPI1_RX_DMA_STREAM
+//#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
+//#undef STM32_SPI_SPI1_TX_DMA_STREAM
+//#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+//#undef STM32_SERIAL_USE_USART2
+//#define STM32_SERIAL_USE_USART2 TRUE
+
+//#undef STM32_UART_USART2_RX_DMA_STREAM
+//#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+//#undef STM32_UART_USART2_TX_DMA_STREAM
+//#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+
+#undef STM32_GPT_USE_TIM3
+#define STM32_GPT_USE_TIM3 TRUE
+
+#undef STM32_ST_USE_TIMER
+#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/tbkmini/blackpill/rules.mk b/keyboards/bastardkb/tbkmini/blackpill/rules.mk
new file mode 100644
index 0000000000..702ed34356
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/blackpill/rules.mk
@@ -0,0 +1,37 @@
+# MCU name
+MCU = STM32F411
+BOARD = BLACKPILL_STM32_F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
+
+MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint
+KEYBOARD_SHARED_EP = yes
+
+EEPROM_DRIVER = spi
+WS2812_DRIVER = pwm
+SERIAL_DRIVER = usart
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h
index 094544de9a..0624c4b4a6 100644
--- a/keyboards/bastardkb/tbkmini/config.h
+++ b/keyboards/bastardkb/tbkmini/config.h
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,90 +17,30 @@
*/
#pragma once
+
#include "config_common.h"
-#define VENDOR_ID 0xA8F8
-#define PRODUCT_ID 0x1828
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Bastard Keyboards
-#define PRODUCT TBK Mini
-#define MATRIX_ROWS 8
+/* Key matrix configuration. */
+#define MATRIX_ROWS 8 // Rows are doubled-up.
#define MATRIX_COLS 6
-#define RGBLIGHT_LIMIT_VAL 180
-#define MATRIX_ROW_PINS { B5, F7, F6, B6 }
-#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 }
#define DIODE_DIRECTION ROW2COL
-#define RGB_DI_PIN D2
-#define RGBLED_NUM 42
-#define RGBLED_SPLIT { 21, 21 }
-#define RGBLIGHT_ANIMATIONS
-
+/* Set 0 if debouncing isn't needed. */
#define DEBOUNCE 5
-#define SOFT_SERIAL_PIN D0
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-#define F_SCL 400000L
-#define MASTER_RIGHT
+/* RGB settings. */
+#define RGBLED_NUM 42
+#define RGBLED_SPLIT \
+ { 21, 21 }
-// RGB matrix support
+/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define DRIVER_LED_TOTAL 42 // Number of LEDs
-# define RGB_MATRIX_SPLIT { 21, 21 }
+# define DRIVER_LED_TOTAL RGBLED_NUM
+# define RGB_MATRIX_SPLIT RGBLED_SPLIT
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif
diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json
index d7fddeb7e6..d46ddb8dab 100644
--- a/keyboards/bastardkb/tbkmini/info.json
+++ b/keyboards/bastardkb/tbkmini/info.json
@@ -1,7 +1,8 @@
{
- "keyboard_name": "TBK Mini",
- "url": "https://www.bastardkb.com",
- "maintainer": "Quentin Lebastard",
+ "url": "https://bastardkb.com/tbk-mini",
+ "usb": {
+ "pid": "0x1828",
+ },
"layouts": {
"LAYOUT_split_3x6_3": {
"layout": [
diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
index 3aa41b6fba..551aea127f 100644
--- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -19,52 +19,51 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC , MO(1), MO(2), KC_ENT , KC_RALT
- //`--------------------------' `--------------------------'
+ [0] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, MO(1), MO(2), KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
- ),
+ ),
- [1] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- ),
+ [1] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
- [2] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- ),
+ [2] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ ),
- [3] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
- //`--------------------------' `--------------------------'
- )
-};
+ [3] = LAYOUT_split_3x6_3(
+ //,-----------------------------------------------------. ,-----------------------------------------------------.
+ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
+ //`--------------------------' `--------------------------'
+ )};
diff --git a/keyboards/bastardkb/tbkmini/tbkmini.h b/keyboards/bastardkb/tbkmini/tbkmini.h
index 66235f4f4d..f031c9fed2 100644
--- a/keyboards/bastardkb/tbkmini/tbkmini.h
+++ b/keyboards/bastardkb/tbkmini/tbkmini.h
@@ -1,5 +1,6 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly DELAY <charly@codesink.dev>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,23 +16,25 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#pragma once
+
#include "quantum.h"
-#define LAYOUT_split_3x6_3( \
- k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
- k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
- k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
- k33, k34, k31, k71, k74, k73 \
-)\
-{\
- { k00, k01, k02, k03, k04, k05 }, \
- { k10, k11, k12, k13, k14, k15 }, \
- { k20, k21, k22, k23, k24, k25 }, \
- { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
- { k40, k41, k42, k43, k44, k45 }, \
- { k50, k51, k52, k53, k54, k55 }, \
- { k60, k61, k62, k63, k64, k65 }, \
- { KC_NO, k71, KC_NO, k73, k74, KC_NO }, \
+// clang-format off
+#define LAYOUT_split_3x6_3( \
+ k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
+ k33, k34, k31, k71, k74, k73 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { KC_NO, k71, KC_NO, k73, k74, KC_NO }, \
}
+// clang-format on
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/config.h b/keyboards/bastardkb/tbkmini/v1/elitec/config.h
new file mode 100644
index 0000000000..5a9ff87efa
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/config.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { B5, F7, F6, B6 }
+#define MATRIX_COL_PINS \
+ { B4, E6, C6, B1, B3, B2 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D0
+
+/* RGB settings. */
+#define RGB_DI_PIN D2
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
new file mode 100644
index 0000000000..83a9e799e1
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Elite-C",
+ "usb": {
+ "device_version": "1.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/rules.mk b/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk
index 2892f5dd6e..380f48e73b 100644
--- a/keyboards/bastardkb/tbkmini/rules.mk
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk
@@ -12,18 +12,16 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
-RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes
-AUDIO_SUPPORTED = no
-RGB_MATRIX_SUPPORTED = yes
-RGBLIGHT_SUPPORTED = yes
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+SPLIT_KEYBOARD = yes
LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/config.h b/keyboards/bastardkb/tbkmini/v2/elitec/config.h
new file mode 100644
index 0000000000..1feeac092b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/config.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Key matrix configuration. */
+#define MATRIX_ROW_PINS \
+ { F7, C6, D4, B5 }
+#define MATRIX_COL_PINS \
+ { F6, F5, B6, D7, E6, B4 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+/* serial.c configuration (for split keyboard). */
+#define SOFT_SERIAL_PIN D2
+
+/* RGB settings. */
+#define RGB_DI_PIN D3
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
new file mode 100644
index 0000000000..50cfe860dd
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
@@ -0,0 +1,6 @@
+{
+ "keyboard_name": "TBK Mini Elite-C",
+ "usb": {
+ "device_version": "2.0.0",
+ },
+}
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk b/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk
new file mode 100644
index 0000000000..380f48e73b
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+AUDIO_SUPPORTED = no # Audio is not supported
+RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
+RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by default
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+SPLIT_KEYBOARD = yes
+LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
new file mode 100644
index 0000000000..ed0b4a6a54
--- /dev/null
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+