From a35881d96f33764b87e886f330550205ee0abf06 Mon Sep 17 00:00:00 2001 From: Charly Delay <0xcharly@users.noreply.github.com> Date: Sun, 3 Apr 2022 14:36:45 +0900 Subject: [PATCH] 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` --- keyboards/bastardkb/charybdis/3x5/config.h | 42 ++------- keyboards/bastardkb/charybdis/3x5/info.json | 7 +- .../charybdis/3x5/v1/elitec/config.h | 42 +++++++++ .../charybdis/3x5/v1/elitec/elitec.h | 20 +++++ .../charybdis/3x5/v1/elitec/info.json | 6 ++ .../charybdis/3x5/{ => v1/elitec}/rules.mk | 8 +- keyboards/bastardkb/charybdis/4x6/config.h | 45 ++-------- keyboards/bastardkb/charybdis/4x6/info.json | 7 +- .../charybdis/4x6/v1/elitec/config.h | 42 +++++++++ .../charybdis/4x6/v1/elitec/elitec.h | 20 +++++ .../charybdis/4x6/v1/elitec/info.json | 6 ++ .../charybdis/4x6/{ => v1/elitec}/rules.mk | 8 +- keyboards/bastardkb/charybdis/charybdis.c | 86 +++++++++++------- keyboards/bastardkb/charybdis/charybdis.h | 6 +- keyboards/bastardkb/charybdis/post_config.h | 48 +++++----- keyboards/bastardkb/info.json | 8 ++ keyboards/bastardkb/scylla/config.h | 89 ++++--------------- keyboards/bastardkb/scylla/info.json | 7 +- keyboards/bastardkb/scylla/scylla.h | 46 +++++----- keyboards/bastardkb/scylla/v1/elitec/config.h | 34 +++++++ .../bastardkb/scylla/v1/elitec/info.json | 6 ++ .../bastardkb/scylla/{ => v1/elitec}/rules.mk | 8 +- keyboards/bastardkb/skeletyl/config.h | 82 ++++------------- keyboards/bastardkb/skeletyl/info.json | 7 +- keyboards/bastardkb/skeletyl/skeletyl.h | 8 +- .../bastardkb/skeletyl/v1/elitec/config.h | 34 +++++++ .../bastardkb/skeletyl/v1/elitec/info.json | 6 ++ .../skeletyl/{ => v1/elitec}/rules.mk | 15 ++-- keyboards/bastardkb/skeletyl/v1/info.json | 5 ++ keyboards/bastardkb/tbkmini/config.h | 85 ++++-------------- keyboards/bastardkb/tbkmini/info.json | 7 +- keyboards/bastardkb/tbkmini/tbkmini.h | 37 ++++---- .../bastardkb/tbkmini/v1/elitec/config.h | 34 +++++++ .../bastardkb/tbkmini/v1/elitec/info.json | 6 ++ .../tbkmini/{ => v1/elitec}/rules.mk | 16 ++-- 35 files changed, 508 insertions(+), 425 deletions(-) create mode 100644 keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h create mode 100644 keyboards/bastardkb/charybdis/3x5/v1/elitec/elitec.h create mode 100644 keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json rename keyboards/bastardkb/charybdis/3x5/{ => v1/elitec}/rules.mk (100%) create mode 100644 keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h create mode 100644 keyboards/bastardkb/charybdis/4x6/v1/elitec/elitec.h create mode 100644 keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json rename keyboards/bastardkb/charybdis/4x6/{ => v1/elitec}/rules.mk (100%) create mode 100644 keyboards/bastardkb/info.json create mode 100644 keyboards/bastardkb/scylla/v1/elitec/config.h create mode 100644 keyboards/bastardkb/scylla/v1/elitec/info.json rename keyboards/bastardkb/scylla/{ => v1/elitec}/rules.mk (78%) create mode 100644 keyboards/bastardkb/skeletyl/v1/elitec/config.h create mode 100644 keyboards/bastardkb/skeletyl/v1/elitec/info.json rename keyboards/bastardkb/skeletyl/{ => v1/elitec}/rules.mk (74%) create mode 100644 keyboards/bastardkb/skeletyl/v1/info.json create mode 100644 keyboards/bastardkb/tbkmini/v1/elitec/config.h create mode 100644 keyboards/bastardkb/tbkmini/v1/elitec/info.json rename keyboards/bastardkb/tbkmini/{ => v1/elitec}/rules.mk (74%) diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h index 89b896bc35ae..2ae918f5f32b 100644 --- a/keyboards/bastardkb/charybdis/3x5/config.h +++ b/keyboards/bastardkb/charybdis/3x5/config.h @@ -18,55 +18,25 @@ #pragma once -#define VENDOR_ID 0xA8F8 -#define PRODUCT_ID 0x1832 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Bastard Keyboards -#define PRODUCT Charybdis Nano +#include "config_common.h" /* Key matrix configuration. */ - -// Rows are doubled-up. -#define MATRIX_ROWS 8 +#define MATRIX_ROWS 8 // Rows are doubled-up. #define MATRIX_COLS 5 -// Wiring configuration for each half. -#define MATRIX_ROW_PINS \ - { B7, C6, D4, B5 } -#define MATRIX_COL_PINS \ - { C7, F0, D7, E6, B4 } - -#define MATRIX_ROW_PINS_RIGHT \ - { F0, C6, D4, B5 } -#define MATRIX_COL_PINS_RIGHT \ - { C7, B7, D7, E6, B4 } - #define DIODE_DIRECTION ROW2COL -/* Handedness. */ -#define MASTER_RIGHT - -/* Bootmagic Lite configuration. */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 4 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 - -/* serial.c configuration (for split keyboard) */ -#define SOFT_SERIAL_PIN D2 +/* Disable action features. */ +#define NO_ACTION_MACRO // Disable old-style macro handling. +#define NO_ACTION_FUNCTION // Disable old-style function handling. /* Set 0 if debouncing isn't needed. */ #define DEBOUNCE 5 -/* PMW3360 settings. */ -#define PMW3360_CS_PIN B0 - -// Trackball angle adjustment. +/* Trackball angle adjustment. */ #define ROTATIONAL_TRANSFORM_ANGLE -25 /* RGB settings. */ - -#define RGB_DI_PIN D3 #define RGBLED_NUM 35 #define RGBLED_SPLIT \ { 18, 17 } diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json index 03fb05664f1b..ece533944e15 100644 --- a/keyboards/bastardkb/charybdis/3x5/info.json +++ b/keyboards/bastardkb/charybdis/3x5/info.json @@ -1,7 +1,8 @@ { - "keyboard_name": "Charybdis Nano", - "url": "https://www.bastardkb.com", - "maintainer": "Quentin Lebastard", + "url": "https://bastardkb.com/charybdis-nano", + "usb": { + "pid": "0x1832", + }, "layouts": { "LAYOUT_charybdis_3x5": { "layout": [ diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h new file mode 100644 index 000000000000..ac78f0cdf176 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h @@ -0,0 +1,42 @@ +/* + * Copyright 2020 Christopher Courtney (@drashna) + * Copyright 2021 Charly Delay (@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 . + */ + +#pragma once + +/* Key matrix configuration. */ +#define MATRIX_ROW_PINS \ + { B7, C6, D4, B5 } +#define MATRIX_COL_PINS \ + { C7, F0, D7, E6, B4 } + +#define MATRIX_ROW_PINS_RIGHT \ + { F0, C6, D4, B5 } +#define MATRIX_COL_PINS_RIGHT \ + { C7, B7, 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 + +/* PMW3360 settings. */ +#define PMW3360_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/elitec.h b/keyboards/bastardkb/charybdis/3x5/v1/elitec/elitec.h new file mode 100644 index 000000000000..44be521c4d42 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/elitec.h @@ -0,0 +1,20 @@ +/* + * Copyright 2021 Charly Delay (@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 . + */ + +#pragma once + +#include "3x5.h" diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json new file mode 100644 index 000000000000..9071212f3322 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Charybdis Nano (3x5) Elite-C", + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/charybdis/3x5/rules.mk b/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk similarity index 100% rename from keyboards/bastardkb/charybdis/3x5/rules.mk rename to keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk index c5f3f0fb8c0e..1ccd0ccaa2c9 100644 --- a/keyboards/bastardkb/charybdis/3x5/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk @@ -23,10 +23,6 @@ RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by def RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality RGB_MATRIX_DRIVER = WS2812 -# Enable link-time optimization by default. The Charybdis packs a lot of -# features (RGB, Via, trackball) in a small atmega32u4 package. -LTO_ENABLE = yes - # Charybdis nano is a split 3x5 keyboard with a maximum of 3 thumb keys (2 on # the trackball side). SPLIT_KEYBOARD = yes @@ -36,3 +32,7 @@ POINTING_DEVICE_ENABLE = yes # Enable trackball POINTING_DEVICE_DRIVER = pmw3360 # https://qmk.fm/changes/2018-11-16-use-a-single-endpoint-for-hid-reports MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint + +# Enable link-time optimization by default. The Charybdis packs a lot of +# features (RGB, Via, trackball) in a small atmega32u4 package. +LTO_ENABLE = yes diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h index 423f12fdbec1..4a448322dd32 100644 --- a/keyboards/bastardkb/charybdis/4x6/config.h +++ b/keyboards/bastardkb/charybdis/4x6/config.h @@ -18,52 +18,25 @@ #pragma once -#define VENDOR_ID 0xA8F8 -#define PRODUCT_ID 0x1833 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Bastard Keyboards -#define PRODUCT Charybdis +#include "config_common.h" /* Key matrix configuration. */ - -// Rows are doubled-up. -#define MATRIX_ROWS 10 +#define MATRIX_ROWS 10 // Rows are doubled-up. #define MATRIX_COLS 6 -// Wiring configuration for each half. -#define MATRIX_ROW_PINS \ - { F1, B7, C6, D4, B5 } -#define MATRIX_COL_PINS \ - { D5, C7, F0, D7, E6, B4 } - -#define MATRIX_ROW_PINS_RIGHT \ - { D5, F0, C6, D4, B5 } -#define MATRIX_COL_PINS_RIGHT \ - { F1, C7, B7, D7, E6, B4 } - #define DIODE_DIRECTION ROW2COL -#define ROTATIONAL_TRANSFORM_ANGLE -25 - -/* Handedness. */ -#define MASTER_RIGHT - -/* Bootmagic Lite configuration. */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 5 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 +/* Disable action features. */ +#define NO_ACTION_MACRO // Disable old-style macro handling. +#define NO_ACTION_FUNCTION // Disable old-style function handling. -/* serial.c configuration (for split keyboard) */ -#define SOFT_SERIAL_PIN D2 - -/* Set 0 if debouncing isn't needed */ +/* Set 0 if debouncing isn't needed. */ #define DEBOUNCE 5 -/* PMW3360 settings. */ -#define PMW3360_CS_PIN B0 +/* Trackball angle adjustment. */ +#define ROTATIONAL_TRANSFORM_ANGLE -25 -#define RGB_DI_PIN D3 +/* RGB settings. */ #define RGBLED_NUM 56 #define RGBLED_SPLIT \ { 29, 27 } diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json index 956dfe88f576..4bd098370917 100644 --- a/keyboards/bastardkb/charybdis/4x6/info.json +++ b/keyboards/bastardkb/charybdis/4x6/info.json @@ -1,7 +1,8 @@ { - "keyboard_name": "Charybdis", - "url": "https://www.bastardkb.com", - "maintainer": "Quentin Lebastard", + "url": "https://bastardkb.com/charybdis", + "usb": { + "pid": "0x1833", + }, "layouts": { "LAYOUT_charybdis_4x6": { "layout": [ diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h new file mode 100644 index 000000000000..414612626a7d --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h @@ -0,0 +1,42 @@ +/* + * Copyright 2020 Christopher Courtney (@drashna) + * Copyright 2021 Charly Delay (@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 . + */ + +#pragma once + +/* Key matrix configuration. */ +#define MATRIX_ROW_PINS \ + { F1, B7, C6, D4, B5 } +#define MATRIX_COL_PINS \ + { D5, C7, F0, D7, E6, B4 } + +#define MATRIX_ROW_PINS_RIGHT \ + { D5, F0, C6, D4, B5 } +#define MATRIX_COL_PINS_RIGHT \ + { F1, C7, B7, 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 + +/* PMW3360 settings. */ +#define PMW3360_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/elitec.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/elitec.h new file mode 100644 index 000000000000..7ebb9508b72b --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/elitec.h @@ -0,0 +1,20 @@ +/* + * Copyright 2021 Charly Delay (@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 . + */ + +#pragma once + +#include "4x6.h" diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json new file mode 100644 index 000000000000..4ea658a7d934 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Charybdis (4x6) Elite-C", + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/charybdis/4x6/rules.mk b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk similarity index 100% rename from keyboards/bastardkb/charybdis/4x6/rules.mk rename to keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk index e137f5d4cc09..23f3c62c026e 100644 --- a/keyboards/bastardkb/charybdis/4x6/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk @@ -23,10 +23,6 @@ RGBLIGHT_SUPPORTED = yes # RGB underglow is supported, but not enabled by def RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality RGB_MATRIX_DRIVER = WS2812 -# Enable link-time optimization by default. The Charybdis packs a lot of -# features (RGB, Via, trackball) in a small atmega32u4 package. -LTO_ENABLE = yes - # Charybdis is a split 4x6 keyboard with a maximum of 5 thumb keys (3 on the # trackball side). SPLIT_KEYBOARD = yes @@ -35,3 +31,7 @@ POINTING_DEVICE_ENABLE = yes # Enable trackball POINTING_DEVICE_DRIVER = pmw3360 # https://qmk.fm/changes/2018-11-16-use-a-single-endpoint-for-hid-reports MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint + +# Enable link-time optimization by default. The Charybdis packs a lot of +# features (RGB, Via, trackball) in a small atmega32u4 package. +LTO_ENABLE = yes diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c index f94682ba41b9..3f8d47307116 100644 --- a/keyboards/bastardkb/charybdis/charybdis.c +++ b/keyboards/bastardkb/charybdis/charybdis.c @@ -21,43 +21,43 @@ #ifdef CONSOLE_ENABLE # include "print.h" -#endif // CONSOLE_ENABLE +#endif // CONSOLE_ENABLE #ifdef POINTING_DEVICE_ENABLE # ifndef CHARYBDIS_MINIMUM_DEFAULT_DPI # define CHARYBDIS_MINIMUM_DEFAULT_DPI 400 -# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI +# endif // CHARYBDIS_MINIMUM_DEFAULT_DPI # ifndef CHARYBDIS_DEFAULT_DPI_CONFIG_STEP # define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200 -# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP +# endif // CHARYBDIS_DEFAULT_DPI_CONFIG_STEP # ifndef CHARYBDIS_MINIMUM_SNIPING_DPI # define CHARYBDIS_MINIMUM_SNIPING_DPI 200 -# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI +# endif // CHARYBDIS_MINIMUM_SNIPER_MODE_DPI # ifndef CHARYBDIS_SNIPING_DPI_CONFIG_STEP # define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 -# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP +# endif // CHARYBDIS_SNIPING_DPI_CONFIG_STEP // Fixed DPI for drag-scroll. # ifndef CHARYBDIS_DRAGSCROLL_DPI # define CHARYBDIS_DRAGSCROLL_DPI 100 -# endif // CHARYBDIS_DRAGSCROLL_DPI +# endif // CHARYBDIS_DRAGSCROLL_DPI # ifndef CHARYBDIS_DRAGSCROLL_BUFFER_SIZE # define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 6 -# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE +# endif // !CHARYBDIS_DRAGSCROLL_BUFFER_SIZE # ifndef CHARYBDIS_POINTER_ACCELERATION_FACTOR # define CHARYBDIS_POINTER_ACCELERATION_FACTOR 24 -# endif // !CHARYBDIS_POINTER_ACCELERATION_FACTOR +# endif // !CHARYBDIS_POINTER_ACCELERATION_FACTOR typedef union { uint8_t raw; struct { - uint8_t pointer_default_dpi : 4; // 16 steps available. - uint8_t pointer_sniping_dpi : 2; // 4 steps available. + uint8_t pointer_default_dpi : 4; // 16 steps available. + uint8_t pointer_sniping_dpi : 2; // 4 steps available. bool is_dragscroll_enabled : 1; bool is_sniping_enabled : 1; } __attribute__((packed)); @@ -87,13 +87,19 @@ static void read_charybdis_config_from_eeprom(charybdis_config_t* config) { * resets these 2 values to `false` since it does not make sense to persist * these across reboots of the board. */ -static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { eeconfig_update_kb(config->raw); } +static void write_charybdis_config_to_eeprom(charybdis_config_t* config) { + eeconfig_update_kb(config->raw); +} /** \brief Return the current value of the pointer's default DPI. */ -static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; } +static uint16_t get_pointer_default_dpi(charybdis_config_t* config) { + return (uint16_t)config->pointer_default_dpi * CHARYBDIS_DEFAULT_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_DEFAULT_DPI; +} /** \brief Return the current value of the pointer's sniper-mode DPI. */ -static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; } +static uint16_t get_pointer_sniping_dpi(charybdis_config_t* config) { + return (uint16_t)config->pointer_sniping_dpi * CHARYBDIS_SNIPING_DPI_CONFIG_STEP + CHARYBDIS_MINIMUM_SNIPING_DPI; +} /** \brief Set the appropriate DPI for the input config. */ static void maybe_update_pointing_device_cpi(charybdis_config_t* config) { @@ -128,43 +134,57 @@ static void step_pointer_sniping_dpi(charybdis_config_t* config, bool forward) { maybe_update_pointing_device_cpi(config); } -uint16_t charybdis_get_pointer_default_dpi(void) { return get_pointer_default_dpi(&g_charybdis_config); } +uint16_t charybdis_get_pointer_default_dpi(void) { + return get_pointer_default_dpi(&g_charybdis_config); +} -uint16_t charybdis_get_pointer_sniping_dpi(void) { return get_pointer_sniping_dpi(&g_charybdis_config); } +uint16_t charybdis_get_pointer_sniping_dpi(void) { + return get_pointer_sniping_dpi(&g_charybdis_config); +} -void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); } +void charybdis_cycle_pointer_default_dpi_noeeprom(bool forward) { + step_pointer_default_dpi(&g_charybdis_config, forward); +} void charybdis_cycle_pointer_default_dpi(bool forward) { step_pointer_default_dpi(&g_charybdis_config, forward); write_charybdis_config_to_eeprom(&g_charybdis_config); } -void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); } +void charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward) { + step_pointer_sniping_dpi(&g_charybdis_config, forward); +} void charybdis_cycle_pointer_sniping_dpi(bool forward) { step_pointer_sniping_dpi(&g_charybdis_config, forward); write_charybdis_config_to_eeprom(&g_charybdis_config); } -bool charybdis_get_pointer_sniping_enabled(void) { return g_charybdis_config.is_sniping_enabled; } +bool charybdis_get_pointer_sniping_enabled(void) { + return g_charybdis_config.is_sniping_enabled; +} void charybdis_set_pointer_sniping_enabled(bool enable) { g_charybdis_config.is_sniping_enabled = enable; maybe_update_pointing_device_cpi(&g_charybdis_config); } -bool charybdis_get_pointer_dragscroll_enabled(void) { return g_charybdis_config.is_dragscroll_enabled; } +bool charybdis_get_pointer_dragscroll_enabled(void) { + return g_charybdis_config.is_dragscroll_enabled; +} void charybdis_set_pointer_dragscroll_enabled(bool enable) { g_charybdis_config.is_dragscroll_enabled = enable; maybe_update_pointing_device_cpi(&g_charybdis_config); } -void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_charybdis_config); } +void pointing_device_init_kb(void) { + maybe_update_pointing_device_cpi(&g_charybdis_config); +} # ifndef CONSTRAIN_HID # define CONSTRAIN_HID(value) ((value) < -127 ? -127 : ((value) > 127 ? 127 : (value))) -# endif // !CONSTRAIN_HID +# endif // !CONSTRAIN_HID /** * \brief Add optional acceleration effect. @@ -176,10 +196,10 @@ void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_charybd # ifndef DISPLACEMENT_WITH_ACCELERATION # ifdef CHARYBDIS_POINTER_ACCELERATION_ENABLE # define DISPLACEMENT_WITH_ACCELERATION(d) (CONSTRAIN_HID(d > 0 ? d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d : -d * d / CHARYBDIS_POINTER_ACCELERATION_FACTOR + d)) -# else // !CHARYBDIS_POINTER_ACCELERATION_ENABLE +# else // !CHARYBDIS_POINTER_ACCELERATION_ENABLE # define DISPLACEMENT_WITH_ACCELERATION(d) (d) -# endif // CHARYBDIS_POINTER_ACCELERATION_ENABLE -# endif // !DISPLACEMENT_WITH_ACCELERATION +# endif // CHARYBDIS_POINTER_ACCELERATION_ENABLE +# endif // !DISPLACEMENT_WITH_ACCELERATION /** * \brief Augment the pointing device behavior. @@ -197,12 +217,12 @@ static void pointing_device_task_charybdis(report_mouse_t* mouse_report) { scroll_buffer_x -= mouse_report->x; # else scroll_buffer_x += mouse_report->x; -# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_X # ifdef CHARYBDIS_DRAGSCROLL_REVERSE_Y scroll_buffer_y -= mouse_report->y; # else scroll_buffer_y += mouse_report->y; -# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y +# endif // CHARYBDIS_DRAGSCROLL_REVERSE_Y mouse_report->x = 0; mouse_report->y = 0; if (abs(scroll_buffer_x) > CHARYBDIS_DRAGSCROLL_BUFFER_SIZE) { @@ -234,9 +254,9 @@ static bool has_shift_mod(void) { return mod_config(get_mods()) & MOD_MASK_SHIFT; # else return mod_config(get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT; -# endif // NO_ACTION_ONESHOT +# endif // NO_ACTION_ONESHOT } -# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES +# endif // POINTING_DEVICE_ENABLE && !NO_CHARYBDIS_KEYCODES /** * \brief Outputs the Charybdis configuration to console. @@ -261,7 +281,7 @@ static void debug_charybdis_config_to_console(charybdis_config_t* config) { "\t}\n" "}\n", config->raw, config->is_dragscroll_enabled, config->is_sniping_enabled, config->pointer_default_dpi, get_pointer_default_dpi(config), config->pointer_sniping_dpi, get_pointer_sniping_dpi(config)); -# endif // CONSOLE_ENABLE +# endif // CONSOLE_ENABLE } bool process_record_kb(uint16_t keycode, keyrecord_t* record) { @@ -313,7 +333,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { } break; } -# endif // !NO_CHARYBDIS_KEYCODES +# endif // !NO_CHARYBDIS_KEYCODES # ifndef MOUSEKEY_ENABLE // Simulate mouse keys if full support is not enabled (reduces firmware size // while maintaining support for mouse keys). @@ -323,8 +343,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { pointing_device_set_report(mouse_report); pointing_device_send(); } -# endif // !MOUSEKEY_ENABLE -# endif // POINTING_DEVICE_ENABLE +# endif // !MOUSEKEY_ENABLE +# endif // POINTING_DEVICE_ENABLE debug_charybdis_config_to_console(&g_charybdis_config); return true; } @@ -340,4 +360,4 @@ void matrix_init_kb(void) { read_charybdis_config_from_eeprom(&g_charybdis_config); matrix_init_user(); } -#endif // POINTING_DEVICE_ENABLE +#endif // POINTING_DEVICE_ENABLE diff --git a/keyboards/bastardkb/charybdis/charybdis.h b/keyboards/bastardkb/charybdis/charybdis.h index 42423c0c923f..e3b9b964baf1 100644 --- a/keyboards/bastardkb/charybdis/charybdis.h +++ b/keyboards/bastardkb/charybdis/charybdis.h @@ -37,7 +37,7 @@ enum charybdis_keycodes { POINTER_DEFAULT_DPI_FORWARD = USER00, # else POINTER_DEFAULT_DPI_FORWARD = SAFE_RANGE, -# endif // VIA_ENABLE +# endif // VIA_ENABLE POINTER_DEFAULT_DPI_REVERSE, POINTER_SNIPING_DPI_FORWARD, POINTER_SNIPING_DPI_REVERSE, @@ -56,7 +56,7 @@ enum charybdis_keycodes { # define SNP_TOG SNIPING_MODE_TOGGLE # define DRGSCRL DRAGSCROLL_MODE # define DRG_TOG DRAGSCROLL_MODE_TOGGLE -# endif // !NO_CHARYBDIS_KEYCODES +# endif // !NO_CHARYBDIS_KEYCODES /** \brief Return the current DPI value for the pointer's default mode. */ uint16_t charybdis_get_pointer_default_dpi(void); @@ -123,4 +123,4 @@ bool charybdis_get_pointer_dragscroll_enabled(void); * are translated into horizontal and vertical scroll movements. */ void charybdis_set_pointer_dragscroll_enabled(bool enable); -#endif // POINTING_DEVICE_ENABLE +#endif // POINTING_DEVICE_ENABLE diff --git a/keyboards/bastardkb/charybdis/post_config.h b/keyboards/bastardkb/charybdis/post_config.h index 540751f6c640..adca45e364d5 100644 --- a/keyboards/bastardkb/charybdis/post_config.h +++ b/keyboards/bastardkb/charybdis/post_config.h @@ -25,85 +25,85 @@ #ifndef MOUSEKEY_MOVE_DELTA # ifndef MK_KINETIC_SPEED # define MOUSEKEY_MOVE_DELTA 5 -# else // MK_KINETIC_SPEED +# else // MK_KINETIC_SPEED # define MOUSEKEY_MOVE_DELTA 25 -# endif // !MK_KINETIC_SPEED -#endif // !MOUSEKEY_MOVE_DELTA +# endif // !MK_KINETIC_SPEED +#endif // !MOUSEKEY_MOVE_DELTA #ifndef MOUSEKEY_DELAY # ifndef MK_KINETIC_SPEED # define MOUSEKEY_DELAY 300 -# else // MK_KINETIC_SPEED +# else // MK_KINETIC_SPEED # define MOUSEKEY_DELAY 8 -# endif // !MK_KINETIC_SPEED -#endif // !MOUSEKEY_DELAY +# endif // !MK_KINETIC_SPEED +#endif // !MOUSEKEY_DELAY #ifndef MOUSEKEY_INTERVAL # ifndef MK_KINETIC_SPEED # define MOUSEKEY_INTERVAL 50 -# else // MK_KINETIC_SPEED +# else // MK_KINETIC_SPEED # define MOUSEKEY_INTERVAL 20 -# endif // !MK_KINETIC_SPEED -#endif // !MOUSEKEY_INTERNAL +# endif // !MK_KINETIC_SPEED +#endif // !MOUSEKEY_INTERNAL #ifndef MOUSEKEY_MAX_SPEED # define MOUSEKEY_MAX_SPEED 7 -#endif // !MOUSEKEY_MAX_SPEED +#endif // !MOUSEKEY_MAX_SPEED #ifndef MOUSEKEY_TIME_TO_MAX # define MOUSEKEY_TIME_TO_MAX 60 -#endif // !MOUSEKEY_TIME_TO_MAX +#endif // !MOUSEKEY_TIME_TO_MAX #ifndef MOUSEKEY_INITIAL_SPEED # define MOUSEKEY_INITIAL_SPEED 100 -#endif // !MOUSEKEY_INITIAL_SPEED +#endif // !MOUSEKEY_INITIAL_SPEED #ifndef MOUSEKEY_BASE_SPEED # define MOUSEKEY_BASE_SPEED 1000 -#endif // !MOUSEKEY_BASE_SPEED +#endif // !MOUSEKEY_BASE_SPEED #ifndef MOUSEKEY_DECELERATED_SPEED # define MOUSEKEY_DECELERATED_SPEED 400 -#endif // !MOUSEKEY_DECELERATED_SPEED +#endif // !MOUSEKEY_DECELERATED_SPEED #ifndef MOUSEKEY_ACCELERATED_SPEED # define MOUSEKEY_ACCELERATED_SPEED 3000 -#endif // !MOUSEKEY_ACCELERATED_SPEED +#endif // !MOUSEKEY_ACCELERATED_SPEED /* Mouse scroll config. */ #ifndef MOUSEKEY_WHEEL_DELAY # define MOUSEKEY_WHEEL_DELAY 15 -#endif // !MOUSEKEY_WHEEL_DELAY +#endif // !MOUSEKEY_WHEEL_DELAY #ifndef MOUSEKEY_WHEEL_DELTA # define MOUSEKEY_WHEEL_DELTA 1 -#endif // !MOUSEKEY_WHEEL_DELTA +#endif // !MOUSEKEY_WHEEL_DELTA #ifndef MOUSEKEY_WHEEL_INTERVAL # define MOUSEKEY_WHEEL_INTERVAL 50 -#endif // !MOUSEKEY_WHEEL_INTERVAL +#endif // !MOUSEKEY_WHEEL_INTERVAL #ifndef MOUSEKEY_WHEEL_MAX_SPEED # define MOUSEKEY_WHEEL_MAX_SPEED 8 -#endif // !MOUSEKEY_WHEEL_MAX_SPEED +#endif // !MOUSEKEY_WHEEL_MAX_SPEED #ifndef MOUSEKEY_WHEEL_TIME_TO_MAX # define MOUSEKEY_WHEEL_TIME_TO_MAX 80 -#endif // !MOUSEKEY_WHEEL_TIME_TO_MAX +#endif // !MOUSEKEY_WHEEL_TIME_TO_MAX #ifndef MOUSEKEY_WHEEL_INITIAL_MOVEMENTS # define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 8 -#endif // !MOUSEKEY_WHEEL_INITIAL_MOVEMENTS +#endif // !MOUSEKEY_WHEEL_INITIAL_MOVEMENTS #ifndef MOUSEKEY_WHEEL_BASE_MOVEMENTS # define MOUSEKEY_WHEEL_BASE_MOVEMENTS 48 -#endif // !MOUSEKEY_WHEEL_BASE_MOVEMENTS +#endif // !MOUSEKEY_WHEEL_BASE_MOVEMENTS #ifndef MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS # define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 -#endif // !MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS +#endif // !MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS #ifndef MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS # define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 -#endif // !MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS +#endif // !MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS diff --git a/keyboards/bastardkb/info.json b/keyboards/bastardkb/info.json new file mode 100644 index 000000000000..2791a78b77eb --- /dev/null +++ b/keyboards/bastardkb/info.json @@ -0,0 +1,8 @@ +{ + "url": "https://bastardkb.com", + "manufacturer": "Bastard Keyboards", + "maintainer": "Quentin Lebastard", + "usb": { + "vid": "0xA8F8", + }, +} diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h index d876b5d0186f..41cd00d75258 100644 --- a/keyboards/bastardkb/scylla/config.h +++ b/keyboards/bastardkb/scylla/config.h @@ -1,5 +1,6 @@ /* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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,34 @@ */ #pragma once + #include "config_common.h" -#define VENDOR_ID 0xA8F8 -#define PRODUCT_ID 0x1829 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Bastard Keyboards -#define PRODUCT Scylla -#define MATRIX_ROWS 10 +/* Key matrix configuration. */ +#define MATRIX_ROWS 10 // Rows are doubled-up. #define MATRIX_COLS 6 + #define DIODE_DIRECTION ROW2COL -#define MATRIX_ROW_PINS { D7, B5, F7, F6, B6 } -#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 } -#define RGB_DI_PIN D2 -#define RGBLED_NUM 58 -#define RGBLED_SPLIT { 29, 29 } -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_ANIMATIONS +/* Disable action features. */ +#define NO_ACTION_MACRO // Disable old-style macro handling. +#define NO_ACTION_FUNCTION // Disable old-style function handling. + +/* Set 0 if debouncing isn't needed. */ #define DEBOUNCE 5 -#define SOFT_SERIAL_PIN D0 -#define MASTER_RIGHT -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 58 -# define RGBLED_SPLIT { 29, 29 } -# define RGBLIGHT_LIMIT_VAL 50 -# define RGBLIGHT_ANIMATIONS -#endif +/* RGB settings. */ +#define RGBLED_NUM 58 +#define RGBLED_SPLIT \ + { 29, 29 } -// RGB matrix support +/* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL 58 // Number of LEDs -# define RGB_MATRIX_SPLIT { 29, 29 } +# 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/scylla/info.json b/keyboards/bastardkb/scylla/info.json index 104932e47124..026b0f742eb6 100644 --- a/keyboards/bastardkb/scylla/info.json +++ b/keyboards/bastardkb/scylla/info.json @@ -1,7 +1,8 @@ { - "keyboard_name": "The Bastard Keyboard", - "url": "https://bastardkb.com/", - "maintainer": "Quentin Lebastard", + "url": "https://bastardkb.com/scylla", + "usb": { + "pid": "0x1829", + }, "layouts": { "LAYOUT_split_4x6_5": { "layout": [ diff --git a/keyboards/bastardkb/scylla/scylla.h b/keyboards/bastardkb/scylla/scylla.h index 196982952f83..4039ad3a94d4 100644 --- a/keyboards/bastardkb/scylla/scylla.h +++ b/keyboards/bastardkb/scylla/scylla.h @@ -1,5 +1,6 @@ -/* +/* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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 @@ -15,28 +16,29 @@ * along with this program. If not, see . */ - #pragma once + #include "quantum.h" -// SWITCHED 91 and 95 - check on left ? -#define LAYOUT_split_4x6_5( \ - k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \ - k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \ - k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \ - k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \ - k43, k44, k41, k91, k94, k93, \ - k45, k42, k92, k95 \ -)\ -{\ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { KC_NO, k41, k42, k43, k44, k45 }, \ - { k50, k51, k52, k53, k54, k55 }, \ - { k60, k61, k62, k63, k64, k65 }, \ - { k70, k71, k72, k73, k74, k75 }, \ - { k80, k81, k82, k83, k84, k85 }, \ - { KC_NO, k91, k92, k93, k94, k95 }, \ +// clang-format off +#define LAYOUT_split_4x6_5( \ + k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \ + k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \ + k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \ + k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \ + k43, k44, k41, k91, k94, k93, \ + k45, k42, k92, k95 \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { KC_NO, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, k61, k62, k63, k64, k65 }, \ + { k70, k71, k72, k73, k74, k75 }, \ + { k80, k81, k82, k83, k84, k85 }, \ + { KC_NO, k91, k92, k93, k94, k95 }, \ } +// clang-format on diff --git a/keyboards/bastardkb/scylla/v1/elitec/config.h b/keyboards/bastardkb/scylla/v1/elitec/config.h new file mode 100644 index 000000000000..0990e6d0682d --- /dev/null +++ b/keyboards/bastardkb/scylla/v1/elitec/config.h @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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 . + */ + +#pragma once + +/* Key matrix configuration. */ +#define MATRIX_ROW_PINS \ + { D7, 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/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json new file mode 100644 index 000000000000..57b36e1e2aab --- /dev/null +++ b/keyboards/bastardkb/scylla/v1/elitec/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Scylla Elite-C", + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/scylla/rules.mk b/keyboards/bastardkb/scylla/v1/elitec/rules.mk similarity index 78% rename from keyboards/bastardkb/scylla/rules.mk rename to keyboards/bastardkb/scylla/v1/elitec/rules.mk index fe2991040dab..0c131a2eafd0 100644 --- a/keyboards/bastardkb/scylla/rules.mk +++ b/keyboards/bastardkb/scylla/v1/elitec/rules.mk @@ -15,8 +15,12 @@ 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 -AUDIO_ENABLE = no # Audio output + SPLIT_KEYBOARD = yes -LTO_ENABLE = yes diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h index fae8e2ec0349..41fcbbdd32d4 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -1,5 +1,6 @@ /* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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,87 +17,34 @@ */ #pragma once + #include "config_common.h" -#define VENDOR_ID 0xA8F8 -#define PRODUCT_ID 0x1830 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Bastard Keyboards -#define PRODUCT Skeletyl -#define MATRIX_ROWS 8 +/* Key matrix configuration. */ +#define MATRIX_ROWS 8 // Rows are doubled-up. #define MATRIX_COLS 5 -#define RGBLIGHT_LIMIT_VAL 180 -#define MATRIX_ROW_PINS { B5, F7, F6, B6 } -#define MATRIX_COL_PINS { E6, C6, B1, B3, B2 } #define DIODE_DIRECTION ROW2COL -#define RGB_DI_PIN D2 -#define RGBLED_NUM 36 -#define RGBLED_SPLIT { 18, 18 } -#define RGBLIGHT_ANIMATIONS +/* Disable action features. */ +#define NO_ACTION_MACRO // Disable old-style macro handling. +#define NO_ACTION_FUNCTION // Disable old-style function handling. +/* Set 0 if debouncing isn't needed. */ #define DEBOUNCE 5 -#define SOFT_SERIAL_PIN D0 - -#define MASTER_RIGHT +/* RGB settings. */ +#define RGBLED_NUM 36 +#define RGBLED_SPLIT \ + { 18, 18 } -// RGB matrix support +/* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL 36 // Number of LEDs -# define RGB_MATRIX_SPLIT { 18, 18 } +# 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/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json index 54c14da330d8..bafc97294bef 100644 --- a/keyboards/bastardkb/skeletyl/info.json +++ b/keyboards/bastardkb/skeletyl/info.json @@ -1,7 +1,8 @@ { - "keyboard_name": "Skeletyl", - "url": "https://www.bastardkb.com", - "maintainer": "Quentin Lebastard", + "url": "https://bastardkb.com/skeletyl", + "usb": { + "pid": "0x1830", + }, "layouts": { "LAYOUT_split_3x5_3": { "layout": [ diff --git a/keyboards/bastardkb/skeletyl/skeletyl.h b/keyboards/bastardkb/skeletyl/skeletyl.h index 3e90abb01d51..6d8073153fc6 100644 --- a/keyboards/bastardkb/skeletyl/skeletyl.h +++ b/keyboards/bastardkb/skeletyl/skeletyl.h @@ -1,5 +1,6 @@ /* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly DELAY * * 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,6 +17,7 @@ */ #pragma once + #include "quantum.h" // clang-format off @@ -23,16 +25,16 @@ k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ - k33, k34, k31, k71, k74, k73 \ + k32, k33, k30, k70, k73, k72 \ ) \ { \ { k00, k01, k02, k03, k04 }, \ { k10, k11, k12, k13, k14 }, \ { k20, k21, k22, k23, k24 }, \ - { k31, KC_NO, k33, k34, KC_NO }, \ + { k30, KC_NO, k32, k33, KC_NO }, \ { k40, k41, k42, k43, k44 }, \ { k50, k51, k52, k53, k54 }, \ { k60, k61, k62, k63, k64 }, \ - { k71, KC_NO, k73, k74, KC_NO }, \ + { k70, KC_NO, k72, k73, KC_NO }, \ } // clang-format on diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/config.h b/keyboards/bastardkb/skeletyl/v1/elitec/config.h new file mode 100644 index 000000000000..fd2101ec55d7 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/v1/elitec/config.h @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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 . + */ + +#pragma once + +/* Key matrix configuration. */ +#define MATRIX_ROW_PINS \ + { B5, F7, F6, B6 } +#define MATRIX_COL_PINS \ + { 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/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json new file mode 100644 index 000000000000..f784c9423d08 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Skeletyl Elite-C", + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/skeletyl/rules.mk b/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk similarity index 74% rename from keyboards/bastardkb/skeletyl/rules.mk rename to keyboards/bastardkb/skeletyl/v1/elitec/rules.mk index 808b59c93df4..399e03a2a5c2 100644 --- a/keyboards/bastardkb/skeletyl/rules.mk +++ b/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk @@ -12,17 +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 -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_3x5_3 diff --git a/keyboards/bastardkb/skeletyl/v1/info.json b/keyboards/bastardkb/skeletyl/v1/info.json new file mode 100644 index 000000000000..2443086ddf53 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/v1/info.json @@ -0,0 +1,5 @@ +{ + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index 094544de9a2a..d2b9bc80e186 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -1,5 +1,6 @@ /* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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,34 @@ */ #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 +/* Disable action features. */ +#define NO_ACTION_MACRO // Disable old-style macro handling. +#define NO_ACTION_FUNCTION // Disable old-style function handling. +/* 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 d7fddeb7e61b..d46ddb8dab64 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/tbkmini.h b/keyboards/bastardkb/tbkmini/tbkmini.h index 66235f4f4d62..f031c9fed272 100644 --- a/keyboards/bastardkb/tbkmini/tbkmini.h +++ b/keyboards/bastardkb/tbkmini/tbkmini.h @@ -1,5 +1,6 @@ -/* +/* * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly DELAY * * 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 . */ - #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 000000000000..5a9ff87efacc --- /dev/null +++ b/keyboards/bastardkb/tbkmini/v1/elitec/config.h @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@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 . + */ + +#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 000000000000..83a9e799e1c7 --- /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 similarity index 74% rename from keyboards/bastardkb/tbkmini/rules.mk rename to keyboards/bastardkb/tbkmini/v1/elitec/rules.mk index 2892f5dd6e44..380f48e73bcc 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