Refactor bastardkb/charybdis/3x5 (#25488)
				
					
				
			* Refactor bastardkb/charybdis/3x5 - 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 #23638 - 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) * Aliases
This commit is contained in:
		
							parent
							
								
									5ef94415aa
								
							
						
					
					
						commit
						56ad3a5f43
					
				| @ -68,6 +68,18 @@ | |||||||
|     "bakeneko80": { |     "bakeneko80": { | ||||||
|         "target": "kkatano/bakeneko80" |         "target": "kkatano/bakeneko80" | ||||||
|     }, |     }, | ||||||
|  |     "bastardkb/charybdis/3x5/v2/elitec": { | ||||||
|  |         "target": "bastardkb/charybdis/3x5/elitec" | ||||||
|  |     }, | ||||||
|  |     "bastardkb/charybdis/3x5/v2/splinky_2": { | ||||||
|  |         "target": "bastardkb/charybdis/3x5/elitec" | ||||||
|  |     }, | ||||||
|  |     "bastardkb/charybdis/3x5/v2/splinky_3": { | ||||||
|  |         "target": "bastardkb/charybdis/3x5/elitec" | ||||||
|  |     }, | ||||||
|  |     "bastardkb/charybdis/3x5/v2/stemcell": { | ||||||
|  |         "target": "bastardkb/charybdis/3x5/elitec" | ||||||
|  |     }, | ||||||
|     "bastardkb/dilemma/3x5_2/splinky": { |     "bastardkb/dilemma/3x5_2/splinky": { | ||||||
|         "target": "bastardkb/dilemma/3x5_2/promicro" |         "target": "bastardkb/dilemma/3x5_2/promicro" | ||||||
|     }, |     }, | ||||||
|  | |||||||
| @ -1,87 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) |  | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> |  | ||||||
|  * Copyright 2021 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/>.
 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include "charybdis.h" |  | ||||||
| 
 |  | ||||||
| // clang-format off
 |  | ||||||
| #ifdef RGB_MATRIX_ENABLE |  | ||||||
| /**
 |  | ||||||
|  * \brief LEDs index. |  | ||||||
|  * |  | ||||||
|  * ╭────────────────────╮                 ╭────────────────────╮ |  | ||||||
|  *    2   3   8   9  12                     30  27  26  21  20 |  | ||||||
|  * ├────────────────────┤                 ├────────────────────┤ |  | ||||||
|  *    1   4   7  10  13                     31  28  25  22  19 |  | ||||||
|  * ├────────────────────┤                 ├────────────────────┤ |  | ||||||
|  *    0   5   6  11  14                     32  29  24  23  18 |  | ||||||
|  * ╰────────────────────╯                 ╰────────────────────╯ |  | ||||||
|  *                   15  16  17     33  34  XX |  | ||||||
|  *                 ╰────────────╯ ╰────────────╯ |  | ||||||
|  * |  | ||||||
|  * Note: the LED config simulates 36 LEDs instead of the actual 35 to prevent |  | ||||||
|  * confusion when testing LEDs during assembly when handedness is not set |  | ||||||
|  * correctly.  Those fake LEDs are bound to the physical top-left corner. |  | ||||||
|  */ |  | ||||||
| led_config_t g_led_config = { { |  | ||||||
|     /* Key Matrix to LED index. */ |  | ||||||
|     // Left split.
 |  | ||||||
|     {      2,      3,      8,      9,     12 }, // Top row
 |  | ||||||
|     {      1,      4,      7,     10,     13 }, // Middle row
 |  | ||||||
|     {      0,      5,      6,     11,     14 }, // Bottom row
 |  | ||||||
|     {     17, NO_LED,     15,     16, NO_LED }, // Thumb cluster
 |  | ||||||
|     // Right split.
 |  | ||||||
|     {     20,     21,     26,     27,     30 }, // Top row
 |  | ||||||
|     {     19,     22,     25,     28,     31 }, // Middle row
 |  | ||||||
|     {     18,     23,     24,     29,     32 }, // Bottom row
 |  | ||||||
|     {     33, NO_LED,     34, NO_LED, NO_LED }, // Thumb cluster
 |  | ||||||
| }, { |  | ||||||
|     /* LED index to physical position. */ |  | ||||||
|     // Left split.
 |  | ||||||
|     /* index=0  */ {   0,  42 }, {   0,  21 }, {   0,   0 }, // col 1 (left most)
 |  | ||||||
|     /* index=3  */ {  18,   0 }, {  18,  21 }, {  18,  42 }, // col 2
 |  | ||||||
|     /* index=6  */ {  36,  42 }, {  36,  21 }, {  36,   0 }, |  | ||||||
|     /* index=9  */ {  54,   0 }, {  54,  21 }, {  54,  42 }, |  | ||||||
|     /* index=12 */ {  72,   0 }, {  72,  21 }, {  72,  42 }, |  | ||||||
|     /* index=15 */ {  72,  64 }, {  90,  64 }, { 108,  64 }, // Thumb cluster
 |  | ||||||
|     // Right split.
 |  | ||||||
|     /* index=18 */ { 224,  42 }, { 224,  21 }, { 224,   0 }, // col 10 (right most)
 |  | ||||||
|     /* index=21 */ { 206,   0 }, { 206,  21 }, { 206,  42 }, // col 9
 |  | ||||||
|     /* index=24 */ { 188,  42 }, { 188,  21 }, { 188,   0 }, |  | ||||||
|     /* index=27 */ { 170,   0 }, { 170,  21 }, { 170,  42 }, |  | ||||||
|     /* index=30 */ { 152,   0 }, { 152,  21 }, { 152,  42 }, |  | ||||||
|     /* index=33 */ { 134,  64 }, { 152,  64 }, {   0,   0 }, |  | ||||||
| }, { |  | ||||||
|     /* LED index to flag. */ |  | ||||||
|     // Left split.
 |  | ||||||
|     /* index=0  */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1
 |  | ||||||
|     /* index=3  */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2
 |  | ||||||
|     /* index=6  */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=9  */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster
 |  | ||||||
|     // Right split.
 |  | ||||||
|     /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10
 |  | ||||||
|     /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9
 |  | ||||||
|     /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, |  | ||||||
|     /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster
 |  | ||||||
| } }; |  | ||||||
| #endif |  | ||||||
| // clang-format on
 |  | ||||||
| @ -1,28 +1,9 @@ | |||||||
| /*
 | // Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
 | ||||||
|  * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) | // Copyright 2021 Stefan Kerkmann (@KarlK90)
 | ||||||
|  * Copyright 2021 Stefan Kerkmann (@KarlK90) | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| /* Handedness. */ |  | ||||||
| #define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
 |  | ||||||
| 
 |  | ||||||
| /* RGB settings. */ |  | ||||||
| #define WS2812_PWM_DRIVER PWMD2 | #define WS2812_PWM_DRIVER PWMD2 | ||||||
| #define WS2812_PWM_CHANNEL 2 | #define WS2812_PWM_CHANNEL 2 | ||||||
| #define WS2812_PWM_PAL_MODE 1 | #define WS2812_PWM_PAL_MODE 1 | ||||||
| @ -30,14 +11,6 @@ | |||||||
| #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 | #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 | ||||||
| #define WS2812_PWM_DMA_CHANNEL 3 | #define WS2812_PWM_DMA_CHANNEL 3 | ||||||
| 
 | 
 | ||||||
| /* Serial configuration for split keyboard. */ |  | ||||||
| #define SERIAL_USART_TX_PIN A9 |  | ||||||
| 
 |  | ||||||
| /* CRC. */ |  | ||||||
| #define CRC8_USE_TABLE |  | ||||||
| #define CRC8_OPTIMIZE_SPEED |  | ||||||
| 
 |  | ||||||
| /* SPI config for EEPROM and pmw3360 sensor. */ |  | ||||||
| #define SPI_DRIVER SPID1 | #define SPI_DRIVER SPID1 | ||||||
| #define SPI_SCK_PIN A5 | #define SPI_SCK_PIN A5 | ||||||
| #define SPI_SCK_PAL_MODE 5 | #define SPI_SCK_PAL_MODE 5 | ||||||
| @ -46,9 +19,7 @@ | |||||||
| #define SPI_MISO_PIN A6 | #define SPI_MISO_PIN A6 | ||||||
| #define SPI_MISO_PAL_MODE 5 | #define SPI_MISO_PAL_MODE 5 | ||||||
| 
 | 
 | ||||||
| /* EEPROM config. */ |  | ||||||
| #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 | #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 | ||||||
| 
 | 
 | ||||||
| /* PMW3360 settings. */ |  | ||||||
| #define POINTING_DEVICE_CS_PIN B14 | #define POINTING_DEVICE_CS_PIN B14 | ||||||
| #define PMW33XX_CS_DIVISOR 64 | #define PMW33XX_CS_DIVISOR 64 | ||||||
|  | |||||||
| @ -1,21 +1,6 @@ | |||||||
| /**
 | // Copyright 2020 Nick Brassel (tzarc)
 | ||||||
|  * Copyright 2020 Nick Brassel (tzarc) | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| #define HAL_USE_PWM TRUE | #define HAL_USE_PWM TRUE | ||||||
|  | |||||||
| @ -1,38 +1,23 @@ | |||||||
| { | { | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) Blackpill", |     "development_board": "blackpill_f411", | ||||||
|     "usb": { |  | ||||||
|         "device_version": "1.0.0", |  | ||||||
|         "shared_endpoint": { |  | ||||||
|             "keyboard": true |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": true, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "eeprom": { |     "eeprom": { | ||||||
|         "driver": "spi" |         "driver": "spi" | ||||||
|     }, |     }, | ||||||
|     "split": { |  | ||||||
|         "enabled": true |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "A1", |  | ||||||
|         "driver": "pwm" |  | ||||||
|     }, |  | ||||||
|     "build": { |  | ||||||
|         "debounce_type": "asym_eager_defer_pk" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |     "matrix_pins": { | ||||||
|         "cols": ["B1", "B10", "B3", "B4", "B5"], |         "cols": ["B1", "B10", "B3", "B4", "B5"], | ||||||
|         "rows": ["A2", "B8", "A8", "B9"] |         "rows": ["A2", "B8", "A8", "B9"] | ||||||
|     }, |     }, | ||||||
|     "diode_direction": "ROW2COL", |     "split": { | ||||||
|     "development_board": "blackpill_f411" |         "handedness": { | ||||||
|  |             "pin": "A3" | ||||||
|  |         }, | ||||||
|  |         "serial": { | ||||||
|  |             "driver": "usart", | ||||||
|  |             "pin": "A9" | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     "ws2812": { | ||||||
|  |         "driver": "pwm", | ||||||
|  |         "pin": "A1" | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,22 +1,7 @@ | |||||||
| /*
 | // Copyright 2020 Nick Brassel (tzarc)
 | ||||||
|  * Copyright 2020 Nick Brassel (tzarc) | // Copyright 2021 Stefan Kerkmann (@KarlK90)
 | ||||||
|  * Copyright 2021 Stefan Kerkmann (@KarlK90) | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| #include_next <mcuconf.h> | #include_next <mcuconf.h> | ||||||
| @ -30,11 +15,6 @@ | |||||||
| #undef STM32_SPI_USE_SPI1 | #undef STM32_SPI_USE_SPI1 | ||||||
| #define STM32_SPI_USE_SPI1 TRUE | #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 | #undef STM32_SERIAL_USE_USART1 | ||||||
| #define STM32_SERIAL_USE_USART1 TRUE | #define STM32_SERIAL_USE_USART1 TRUE | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,3 +0,0 @@ | |||||||
| # Charybdis Nano (3x5) BlackPill |  | ||||||
| 
 |  | ||||||
| An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod. |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint |  | ||||||
| SERIAL_DRIVER = usart |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> |  | ||||||
|  * Copyright 2021 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 |  | ||||||
| 
 |  | ||||||
| /* Trackball angle adjustment. */ |  | ||||||
| #define ROTATIONAL_TRANSFORM_ANGLE -25 |  | ||||||
							
								
								
									
										5
									
								
								keyboards/bastardkb/charybdis/3x5/elitec/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/bastardkb/charybdis/3x5/elitec/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | // Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #define POINTING_DEVICE_CS_PIN F0 | ||||||
							
								
								
									
										19
									
								
								keyboards/bastardkb/charybdis/3x5/elitec/keyboard.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/bastardkb/charybdis/3x5/elitec/keyboard.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | { | ||||||
|  |     "build": { | ||||||
|  |         "lto": true | ||||||
|  |     }, | ||||||
|  |     "development_board": "elite_c", | ||||||
|  |     "matrix_pins": { | ||||||
|  |         "cols": ["F5", "B6", "D7", "E6", "B4"], | ||||||
|  |         "rows": ["F7", "C6", "D4", "B5"] | ||||||
|  |     }, | ||||||
|  |     "pin_compatible": "elite_c", | ||||||
|  |     "split": { | ||||||
|  |         "serial": { | ||||||
|  |             "pin": "D2" | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     "ws2812": { | ||||||
|  |         "pin": "D3" | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -1,15 +1,58 @@ | |||||||
| { | { | ||||||
|     "manufacturer": "Bastard Keyboards", |     "keyboard_name": "Charybdis Nano (3x5)", | ||||||
|     "url": "https://bastardkb.com/charybdis-nano", |     "diode_direction": "ROW2COL", | ||||||
|     "usb": { |     "features": { | ||||||
|         "pid": "0x1832", |         "bootmagic": true, | ||||||
|         "vid": "0xA8F8" |         "extrakey": true, | ||||||
|  |         "mousekey": false, | ||||||
|  |         "pointing_device": true, | ||||||
|  |         "rgb_matrix": true | ||||||
|     }, |     }, | ||||||
|     "rgb_matrix": { |     "rgb_matrix": { | ||||||
|  |         "driver": "ws2812", | ||||||
|  |         "layout": [ | ||||||
|  |             {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [1, 1], "x": 18, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [2, 1], "x": 18, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [2, 2], "x": 36, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [1, 2], "x": 36, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [0, 2], "x": 36, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [0, 3], "x": 54, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [2, 3], "x": 54, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [0, 4], "x": 72, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [1, 4], "x": 72, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [2, 4], "x": 72, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [3, 2], "x": 72, "y": 64, "flags": 1}, | ||||||
|  |             {"matrix": [3, 3], "x": 90, "y": 64, "flags": 1}, | ||||||
|  |             {"matrix": [3, 0], "x": 108, "y": 64, "flags": 1}, | ||||||
|  |             {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [4, 1], "x": 206, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [5, 1], "x": 206, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [6, 1], "x": 206, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [6, 2], "x": 188, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [5, 2], "x": 188, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [4, 2], "x": 188, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [4, 3], "x": 170, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [5, 3], "x": 170, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [6, 3], "x": 170, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [4, 4], "x": 152, "y": 0, "flags": 4}, | ||||||
|  |             {"matrix": [5, 4], "x": 152, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [6, 4], "x": 152, "y": 42, "flags": 4}, | ||||||
|  |             {"matrix": [7, 0], "x": 134, "y": 64, "flags": 4}, | ||||||
|  |             {"matrix": [7, 2], "x": 152, "y": 64, "flags": 4}, | ||||||
|  |             {"x": 170, "y": 64, "flags": 4} | ||||||
|  |         ], | ||||||
|         "split_count": [18, 18] |         "split_count": [18, 18] | ||||||
|     }, |     }, | ||||||
|     "layout_aliases": { |     "usb": { | ||||||
|         "LAYOUT_charybdis_3x5": "LAYOUT" |         "device_version": "2.0.0", | ||||||
|  |         "pid": "0x1832" | ||||||
|     }, |     }, | ||||||
|     "layouts": { |     "layouts": { | ||||||
|         "LAYOUT": { |         "LAYOUT": { | ||||||
| @ -19,41 +62,34 @@ | |||||||
|                 {"matrix": [0, 2], "x": 2, "y": 0}, |                 {"matrix": [0, 2], "x": 2, "y": 0}, | ||||||
|                 {"matrix": [0, 3], "x": 3, "y": 0}, |                 {"matrix": [0, 3], "x": 3, "y": 0}, | ||||||
|                 {"matrix": [0, 4], "x": 4, "y": 0}, |                 {"matrix": [0, 4], "x": 4, "y": 0}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [4, 4], "x": 11, "y": 0}, |                 {"matrix": [4, 4], "x": 11, "y": 0}, | ||||||
|                 {"matrix": [4, 3], "x": 12, "y": 0}, |                 {"matrix": [4, 3], "x": 12, "y": 0}, | ||||||
|                 {"matrix": [4, 2], "x": 13, "y": 0}, |                 {"matrix": [4, 2], "x": 13, "y": 0}, | ||||||
|                 {"matrix": [4, 1], "x": 14, "y": 0}, |                 {"matrix": [4, 1], "x": 14, "y": 0}, | ||||||
|                 {"matrix": [4, 0], "x": 15, "y": 0}, |                 {"matrix": [4, 0], "x": 15, "y": 0}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [1, 0], "x": 0, "y": 1}, |                 {"matrix": [1, 0], "x": 0, "y": 1}, | ||||||
|                 {"matrix": [1, 1], "x": 1, "y": 1}, |                 {"matrix": [1, 1], "x": 1, "y": 1}, | ||||||
|                 {"matrix": [1, 2], "x": 2, "y": 1}, |                 {"matrix": [1, 2], "x": 2, "y": 1}, | ||||||
|                 {"matrix": [1, 3], "x": 3, "y": 1}, |                 {"matrix": [1, 3], "x": 3, "y": 1}, | ||||||
|                 {"matrix": [1, 4], "x": 4, "y": 1}, |                 {"matrix": [1, 4], "x": 4, "y": 1}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [5, 4], "x": 11, "y": 1}, |                 {"matrix": [5, 4], "x": 11, "y": 1}, | ||||||
|                 {"matrix": [5, 3], "x": 12, "y": 1}, |                 {"matrix": [5, 3], "x": 12, "y": 1}, | ||||||
|                 {"matrix": [5, 2], "x": 13, "y": 1}, |                 {"matrix": [5, 2], "x": 13, "y": 1}, | ||||||
|                 {"matrix": [5, 1], "x": 14, "y": 1}, |                 {"matrix": [5, 1], "x": 14, "y": 1}, | ||||||
|                 {"matrix": [5, 0], "x": 15, "y": 1}, |                 {"matrix": [5, 0], "x": 15, "y": 1}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [2, 0], "x": 0, "y": 2}, |                 {"matrix": [2, 0], "x": 0, "y": 2}, | ||||||
|                 {"matrix": [2, 1], "x": 1, "y": 2}, |                 {"matrix": [2, 1], "x": 1, "y": 2}, | ||||||
|                 {"matrix": [2, 2], "x": 2, "y": 2}, |                 {"matrix": [2, 2], "x": 2, "y": 2}, | ||||||
|                 {"matrix": [2, 3], "x": 3, "y": 2}, |                 {"matrix": [2, 3], "x": 3, "y": 2}, | ||||||
|                 {"matrix": [2, 4], "x": 4, "y": 2}, |                 {"matrix": [2, 4], "x": 4, "y": 2}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [6, 4], "x": 11, "y": 2}, |                 {"matrix": [6, 4], "x": 11, "y": 2}, | ||||||
|                 {"matrix": [6, 3], "x": 12, "y": 2}, |                 {"matrix": [6, 3], "x": 12, "y": 2}, | ||||||
|                 {"matrix": [6, 2], "x": 13, "y": 2}, |                 {"matrix": [6, 2], "x": 13, "y": 2}, | ||||||
|                 {"matrix": [6, 1], "x": 14, "y": 2}, |                 {"matrix": [6, 1], "x": 14, "y": 2}, | ||||||
|                 {"matrix": [6, 0], "x": 15, "y": 2}, |                 {"matrix": [6, 0], "x": 15, "y": 2}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [3, 2], "x": 4, "y": 3}, |                 {"matrix": [3, 2], "x": 4, "y": 3}, | ||||||
|                 {"matrix": [3, 3], "x": 5, "y": 3}, |                 {"matrix": [3, 3], "x": 5, "y": 3}, | ||||||
|                 {"matrix": [3, 0], "x": 6, "y": 3}, |                 {"matrix": [3, 0], "x": 6, "y": 3}, | ||||||
| 
 |  | ||||||
|                 {"matrix": [7, 0], "x": 9, "y": 3}, |                 {"matrix": [7, 0], "x": 9, "y": 3}, | ||||||
|                 {"matrix": [7, 2], "x": 10, "y": 3} |                 {"matrix": [7, 2], "x": 10, "y": 3} | ||||||
|             ] |             ] | ||||||
|  | |||||||
| @ -1,71 +0,0 @@ | |||||||
| /**
 |  | ||||||
|  * Copyright 2021 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/>.
 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include QMK_KEYBOARD_H |  | ||||||
| 
 |  | ||||||
| enum charybdis_keymap_layers { |  | ||||||
|     LAYER_BASE = 0, |  | ||||||
|     LAYER_LOWER, |  | ||||||
|     LAYER_RAISE, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #define LOWER MO(LAYER_LOWER) |  | ||||||
| #define RAISE MO(LAYER_RAISE) |  | ||||||
| 
 |  | ||||||
| #define CTL_BSP CTL_T(KC_BSPC) |  | ||||||
| #define SFT_SPC SFT_T(KC_SPC) |  | ||||||
| #define GUI_ENT GUI_T(KC_ENT) |  | ||||||
| 
 |  | ||||||
| // clang-format off
 |  | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |  | ||||||
|   [LAYER_BASE] = LAYOUT( |  | ||||||
|   // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
 |  | ||||||
|           KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|           KC_A,    KC_S,    KC_D,    KC_F,    KC_G,       KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|           KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,       KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH, |  | ||||||
|   // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
 |  | ||||||
|                          CTL_BSP, SFT_SPC,   LOWER,      RAISE, GUI_ENT |  | ||||||
|   //                   ╰───────────────────────────╯ ╰──────────────────╯
 |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   [LAYER_LOWER] = LAYOUT( |  | ||||||
|   // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
 |  | ||||||
|        RM_TOGG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX,    KC_LBRC,    KC_7,    KC_8,    KC_9, KC_RBRC, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|        KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX,    KC_PPLS,    KC_4,    KC_5,    KC_6, KC_PMNS, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|        XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR,  QK_BOOT,    KC_PAST,    KC_1,    KC_2,    KC_3, KC_PSLS, |  | ||||||
|   // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
 |  | ||||||
|                          XXXXXXX, XXXXXXX, _______,    XXXXXXX, _______ |  | ||||||
|   //                   ╰───────────────────────────╯ ╰──────────────────╯
 |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   [LAYER_RAISE] = LAYOUT( |  | ||||||
|   // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
 |  | ||||||
|        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|        KC_LEFT,   KC_UP, KC_DOWN, KC_RGHT, XXXXXXX,    XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, |  | ||||||
|   // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
 |  | ||||||
|        KC_HOME, KC_PGUP, KC_PGDN,  KC_END, XXXXXXX,    QK_BOOT, EE_CLR,  XXXXXXX, XXXXXXX, XXXXXXX, |  | ||||||
|   // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
 |  | ||||||
|                          _______, _______, XXXXXXX,    _______, XXXXXXX |  | ||||||
|   //                   ╰───────────────────────────╯ ╰──────────────────╯
 |  | ||||||
|   ), |  | ||||||
| }; |  | ||||||
| // clang-format on
 |  | ||||||
| @ -0,0 +1,26 @@ | |||||||
|  | { | ||||||
|  |     "keyboard": "bastardkb/charybdis/3x5/elitec", | ||||||
|  |     "keymap": "default", | ||||||
|  |     "layout": "LAYOUT", | ||||||
|  |     "layers": [ | ||||||
|  |         [ | ||||||
|  |             "KC_Q",    "KC_W",    "KC_E",    "KC_R",    "KC_T",          "KC_Y",    "KC_U",    "KC_I",    "KC_O",    "KC_P", | ||||||
|  |             "KC_A",    "KC_S",    "KC_D",    "KC_F",    "KC_G",          "KC_H",    "KC_J",    "KC_K",    "KC_L",    "KC_SCLN", | ||||||
|  |             "KC_Z",    "KC_X",    "KC_C",    "KC_V",    "KC_B",          "KC_N",    "KC_M",    "KC_COMM", "KC_DOT",  "KC_SLSH", | ||||||
|  |                                   "KC_LGUI", "MO(1)",   "KC_SPC",        "KC_ENT",  "MO(2)" | ||||||
|  |         ], | ||||||
|  |         [ | ||||||
|  |             "KC_1",    "KC_2",    "KC_3",    "KC_4",    "KC_5",          "KC_6",    "KC_7",    "KC_8",    "KC_9",    "KC_0", | ||||||
|  |             "KC_EXLM", "KC_AT",   "KC_HASH", "KC_DLR",  "KC_PERC",       "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", | ||||||
|  |             "_______", "_______", "_______", "_______", "_______",       "_______", "_______", "_______", "_______", "_______", | ||||||
|  |                                   "_______", "_______", "_______",       "_______", "_______" | ||||||
|  |         ], | ||||||
|  |         [ | ||||||
|  |             "QK_BOOT", "_______", "_______", "_______", "_______",       "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT",  "RM_TOGG", | ||||||
|  |             "EE_CLR",  "_______", "_______", "_______", "_______",       "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV",  "_______", | ||||||
|  |             "_______", "_______", "_______", "_______", "_______",       "_______", "_______", "_______", "_______",  "_______", | ||||||
|  |                                   "_______", "_______", "_______",       "_______", "_______" | ||||||
|  |         ] | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -1,7 +0,0 @@ | |||||||
| # Charybdis (3x5) default keymap |  | ||||||
| 
 |  | ||||||
| > :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout. |  | ||||||
| 
 |  | ||||||
| The Charydbis (3x5) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap. |  | ||||||
| 
 |  | ||||||
| This 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. |  | ||||||
| @ -1,15 +0,0 @@ | |||||||
| # Charybdis Nano (3x5) |  | ||||||
| 
 |  | ||||||
| An ergonomic keyboard with integrated trackball. |  | ||||||
| 
 |  | ||||||
| The Charybdis is available in 4x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com). |  | ||||||
| 
 |  | ||||||
| ## Keymaps |  | ||||||
| 
 |  | ||||||
| ### [`default`](keymaps/default) |  | ||||||
| 
 |  | ||||||
| A simple QWERTY layout with 4 layers. |  | ||||||
| 
 |  | ||||||
| ### [`via`](keymaps/via) |  | ||||||
| 
 |  | ||||||
| A [Miryoku-inspired](https://github.com/manna-harbour/miryoku), feature-rich, keymap with VIA support. |  | ||||||
							
								
								
									
										1
									
								
								keyboards/bastardkb/charybdis/3x5/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/bastardkb/charybdis/3x5/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | POINTING_DEVICE_DRIVER = pmw3360 | ||||||
| @ -1,25 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) |  | ||||||
|  * Copyright 2021 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 |  | ||||||
| 
 |  | ||||||
| /* Handedness. */ |  | ||||||
| #define MASTER_RIGHT |  | ||||||
| 
 |  | ||||||
| /* PMW3360 settings. */ |  | ||||||
| #define POINTING_DEVICE_CS_PIN B0 |  | ||||||
| @ -1,41 +0,0 @@ | |||||||
| { |  | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) Elite-C", |  | ||||||
|     "usb": { |  | ||||||
|         "device_version": "1.0.0" |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": false, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "build": { |  | ||||||
|         "lto": true |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "D3" |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |  | ||||||
|         "cols": ["C7", "F0", "D7", "E6", "B4"], |  | ||||||
|         "rows": ["B7", "C6", "D4", "B5"] |  | ||||||
|     }, |  | ||||||
|     "diode_direction": "ROW2COL", |  | ||||||
|     "split": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "D2" |  | ||||||
|         }, |  | ||||||
|         "matrix_pins": { |  | ||||||
|             "right": { |  | ||||||
|                 "cols": ["C7", "B7", "D7", "E6", "B4"], |  | ||||||
|                 "rows": ["F0", "C6", "D4", "B5"] |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "processor": "atmega32u4", |  | ||||||
|     "bootloader": "atmel-dfu" |  | ||||||
| } |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 |  | ||||||
| 
 |  | ||||||
| /* Handedness. */ |  | ||||||
| #define MASTER_RIGHT |  | ||||||
| 
 |  | ||||||
| /* PMW3360 settings. */ |  | ||||||
| #define POINTING_DEVICE_CS_PIN F0 |  | ||||||
| @ -1,35 +0,0 @@ | |||||||
| { |  | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) Elite-C", |  | ||||||
|     "usb": { |  | ||||||
|         "device_version": "2.0.0" |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": false, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "build": { |  | ||||||
|         "lto": true |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "D3" |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |  | ||||||
|         "cols": ["F5", "B6", "D7", "E6", "B4"], |  | ||||||
|         "rows": ["F7", "C6", "D4", "B5"] |  | ||||||
|     }, |  | ||||||
|     "diode_direction": "ROW2COL", |  | ||||||
|     "split": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "D2" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "processor": "atmega32u4", |  | ||||||
|     "bootloader": "atmel-dfu" |  | ||||||
| } |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 |  | ||||||
| 
 |  | ||||||
| /* Handedness. */ |  | ||||||
| #define MASTER_RIGHT |  | ||||||
| 
 |  | ||||||
| // To use the handedness pin, resistors need to be installed on the adapter PCB.
 |  | ||||||
| // If so, uncomment the following code, and undefine MASTER_RIGHT above.
 |  | ||||||
| // #define SPLIT_HAND_PIN GP13
 |  | ||||||
| // #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
 |  | ||||||
| 
 |  | ||||||
| /* SPI & PMW3360 settings. */ |  | ||||||
| #define SPI_DRIVER SPID0 |  | ||||||
| #define SPI_SCK_PIN GP18 |  | ||||||
| #define SPI_MISO_PIN GP20 |  | ||||||
| #define SPI_MOSI_PIN GP19 |  | ||||||
| #define POINTING_DEVICE_CS_PIN GP14 |  | ||||||
| 
 |  | ||||||
| /* Reset. */ |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| { |  | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) Splinky", |  | ||||||
|     "usb": { |  | ||||||
|         "device_version": "2.0.0" |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": false, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |  | ||||||
|         "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], |  | ||||||
|         "rows": ["GP26", "GP5", "GP4", "GP9"] |  | ||||||
|     }, |  | ||||||
|     "diode_direction": "ROW2COL", |  | ||||||
|     "split": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "GP1" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "GP0", |  | ||||||
|         "driver": "vendor" |  | ||||||
|     }, |  | ||||||
|     "processor": "RP2040", |  | ||||||
|     "bootloader": "rp2040" |  | ||||||
| } |  | ||||||
| @ -1,23 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 RP_SPI_USE_SPI0 |  | ||||||
| #define RP_SPI_USE_SPI0 TRUE |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| # Splinky controller |  | ||||||
| 
 |  | ||||||
| The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. |  | ||||||
| 
 |  | ||||||
| See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| 
 |  | ||||||
| SERIAL_DRIVER = vendor |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 |  | ||||||
| 
 |  | ||||||
| /* Handedness. */ |  | ||||||
| #define MASTER_RIGHT |  | ||||||
| 
 |  | ||||||
| // To use the handedness pin, resistors need to be installed on the adapter PCB.
 |  | ||||||
| // If so, uncomment the following code, and undefine MASTER_RIGHT above.
 |  | ||||||
| // #define SPLIT_HAND_PIN GP15
 |  | ||||||
| // #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
 |  | ||||||
| 
 |  | ||||||
| /* SPI & PMW3360 settings. */ |  | ||||||
| #define SPI_DRIVER SPID0 |  | ||||||
| #define SPI_SCK_PIN GP22 |  | ||||||
| #define SPI_MISO_PIN GP20 |  | ||||||
| #define SPI_MOSI_PIN GP23 |  | ||||||
| #define POINTING_DEVICE_CS_PIN GP16 |  | ||||||
| 
 |  | ||||||
| /* Reset. */ |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 |  | ||||||
| #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| { |  | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) Splinky", |  | ||||||
|     "usb": { |  | ||||||
|         "device_version": "2.0.0" |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": false, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |  | ||||||
|         "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], |  | ||||||
|         "rows": ["GP26", "GP5", "GP4", "GP9"] |  | ||||||
|     }, |  | ||||||
|     "diode_direction": "ROW2COL", |  | ||||||
|     "split": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "GP1" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "GP0", |  | ||||||
|         "driver": "vendor" |  | ||||||
|     }, |  | ||||||
|     "processor": "RP2040", |  | ||||||
|     "bootloader": "rp2040" |  | ||||||
| } |  | ||||||
| @ -1,23 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 RP_SPI_USE_SPI0 |  | ||||||
| #define RP_SPI_USE_SPI0 TRUE |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| # Splinky controller |  | ||||||
| 
 |  | ||||||
| The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. |  | ||||||
| 
 |  | ||||||
| See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| 
 |  | ||||||
| SERIAL_DRIVER = vendor |  | ||||||
| @ -1,52 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * 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 |  | ||||||
| 
 |  | ||||||
| /* Handedness. */ |  | ||||||
| #define MASTER_RIGHT |  | ||||||
| 
 |  | ||||||
| // To use the handedness pin, resistors need to be installed on the adapter PCB.
 |  | ||||||
| // If so, uncomment the following code, and undefine MASTER_RIGHT above.
 |  | ||||||
| // #define A0 PAL_LINE(GPIOA, 0)
 |  | ||||||
| // #define SPLIT_HAND_PIN A0
 |  | ||||||
| // #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
 |  | ||||||
| 
 |  | ||||||
| /* RGB settings. */ |  | ||||||
| #define WS2812_PWM_DRIVER PWMD2 |  | ||||||
| #define WS2812_PWM_CHANNEL 4 |  | ||||||
| #define WS2812_PWM_PAL_MODE 1 |  | ||||||
| #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 |  | ||||||
| #define WS2812_PWM_DMA_CHANNEL 3 |  | ||||||
| 
 |  | ||||||
| /* CRC. */ |  | ||||||
| #define CRC8_USE_TABLE |  | ||||||
| #define CRC8_OPTIMIZE_SPEED |  | ||||||
| 
 |  | ||||||
| /* SPI config for pmw3360 sensor. */ |  | ||||||
| #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 |  | ||||||
| 
 |  | ||||||
| /* PMW3360 settings. */ |  | ||||||
| #define POINTING_DEVICE_CS_PIN A1 |  | ||||||
| #define PMW3360_CS_MODE 3 |  | ||||||
| #define PMW3360_CS_DIVISOR 64 |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * Copyright 2021 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_SPI TRUE |  | ||||||
| 
 |  | ||||||
| #include_next <halconf.h> |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| { |  | ||||||
|     "keyboard_name": "Charybdis Nano (3x5) STeMCell", |  | ||||||
|     "usb": { |  | ||||||
|         "device_version": "2.0.0", |  | ||||||
|         "shared_endpoint": { |  | ||||||
|             "keyboard": true |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "features": { |  | ||||||
|         "bootmagic": true, |  | ||||||
|         "mousekey": true, |  | ||||||
|         "extrakey": true, |  | ||||||
|         "rgb_matrix": true, |  | ||||||
|         "pointing_device": true |  | ||||||
|     }, |  | ||||||
|     "rgb_matrix": { |  | ||||||
|         "driver": "ws2812" |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "A2", |  | ||||||
|         "driver": "pwm" |  | ||||||
|     }, |  | ||||||
|     "build": { |  | ||||||
|         "debounce_type": "asym_eager_defer_pk" |  | ||||||
|     }, |  | ||||||
|     "matrix_pins": { |  | ||||||
|         "cols": ["B2", "A4", "B4", "B5", "B8"], |  | ||||||
|         "rows": ["B0", "B3", "A15", "B9"] |  | ||||||
|     }, |  | ||||||
|     "diode_direction": "ROW2COL", |  | ||||||
|     "split": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "A3" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "development_board": "stemcell" |  | ||||||
| } |  | ||||||
| @ -1,32 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * Copyright 2021 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_SPI_USE_SPI1 |  | ||||||
| #define STM32_SPI_USE_SPI1 TRUE |  | ||||||
| 
 |  | ||||||
| #undef STM32_SERIAL_USE_USART1 |  | ||||||
| #define STM32_SERIAL_USE_USART1 FALSE |  | ||||||
| 
 |  | ||||||
| #undef STM32_PWM_USE_TIM2 |  | ||||||
| #define STM32_PWM_USE_TIM2 TRUE |  | ||||||
| 
 |  | ||||||
| #undef STM32_ST_USE_TIMER |  | ||||||
| #define STM32_ST_USE_TIMER 5 |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| AUDIO_SUPPORTED = no        # Audio is not supported |  | ||||||
| 
 |  | ||||||
| POINTING_DEVICE_DRIVER = pmw3360 |  | ||||||
| MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint |  | ||||||
| 
 |  | ||||||
| SERIAL_DRIVER = usart |  | ||||||
| @ -1,22 +1,7 @@ | |||||||
| /*
 | // Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
 | ||||||
|  * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna) | // Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
 | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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/>.
 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include "charybdis.h" | #include "charybdis.h" | ||||||
| #include "transactions.h" | #include "transactions.h" | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  | |||||||
| @ -1,21 +1,6 @@ | |||||||
| /*
 | // Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
 | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "quantum.h" | #include "quantum.h" | ||||||
|  | |||||||
| @ -1,25 +1,8 @@ | |||||||
| /*
 | // Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
 | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| /* Pointing device configuration. */ |  | ||||||
| 
 |  | ||||||
| // Enable use of pointing device on slave split.
 | // Enable use of pointing device on slave split.
 | ||||||
| #define SPLIT_POINTING_ENABLE | #define SPLIT_POINTING_ENABLE | ||||||
| 
 | 
 | ||||||
| @ -32,46 +15,5 @@ | |||||||
| // Invert X axis on mouse reports.
 | // Invert X axis on mouse reports.
 | ||||||
| #define POINTING_DEVICE_INVERT_X | #define POINTING_DEVICE_INVERT_X | ||||||
| 
 | 
 | ||||||
| /* RGB matrix support. */ | /* Trackball angle adjustment. */ | ||||||
| #ifdef RGB_MATRIX_ENABLE | #define ROTATIONAL_TRANSFORM_ANGLE -25 | ||||||
| #        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_TYPING_HEATMAP |  | ||||||
| #        define ENABLE_RGB_MATRIX_DIGITAL_RAIN |  | ||||||
| #        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 |  | ||||||
|  | |||||||
| @ -1,7 +1,50 @@ | |||||||
| { | { | ||||||
|  |     "url": "https://github.com/Bastardkb/Charybdis", | ||||||
|     "rgb_matrix": { |     "rgb_matrix": { | ||||||
|         "animations": { |         "animations": { | ||||||
|             "cycle_left_right": true |             "alphas_mods": true, | ||||||
|  |             "gradient_up_down": true, | ||||||
|  |             "gradient_left_right": true, | ||||||
|  |             "breathing": true, | ||||||
|  |             "band_sat": true, | ||||||
|  |             "band_val": true, | ||||||
|  |             "band_pinwheel_sat": true, | ||||||
|  |             "band_pinwheel_val": true, | ||||||
|  |             "band_spiral_sat": true, | ||||||
|  |             "band_spiral_val": true, | ||||||
|  |             "cycle_all": true, | ||||||
|  |             "cycle_left_right": true, | ||||||
|  |             "cycle_up_down": true, | ||||||
|  |             "rainbow_moving_chevron": true, | ||||||
|  |             "cycle_out_in": true, | ||||||
|  |             "cycle_out_in_dual": true, | ||||||
|  |             "cycle_pinwheel": true, | ||||||
|  |             "cycle_spiral": true, | ||||||
|  |             "dual_beacon": true, | ||||||
|  |             "rainbow_beacon": true, | ||||||
|  |             "rainbow_pinwheels": true, | ||||||
|  |             "raindrops": true, | ||||||
|  |             "jellybean_raindrops": true, | ||||||
|  |             "hue_breathing": true, | ||||||
|  |             "hue_pendulum": true, | ||||||
|  |             "hue_wave": true, | ||||||
|  |             "pixel_rain": true, | ||||||
|  |             "pixel_flow": true, | ||||||
|  |             "pixel_fractal": true, | ||||||
|  |             "typing_heatmap": true, | ||||||
|  |             "digital_rain": true, | ||||||
|  |             "solid_reactive_simple": true, | ||||||
|  |             "solid_reactive": true, | ||||||
|  |             "solid_reactive_wide": true, | ||||||
|  |             "solid_reactive_multiwide": true, | ||||||
|  |             "solid_reactive_cross": true, | ||||||
|  |             "solid_reactive_multicross": true, | ||||||
|  |             "solid_reactive_nexus": true, | ||||||
|  |             "solid_reactive_multinexus": true, | ||||||
|  |             "splash": true, | ||||||
|  |             "multisplash": true, | ||||||
|  |             "solid_splash": true, | ||||||
|  |             "solid_multisplash": true | ||||||
|         }, |         }, | ||||||
|         "default": { |         "default": { | ||||||
|             "speed": 32, |             "speed": 32, | ||||||
| @ -10,10 +53,11 @@ | |||||||
|         "sleep": true |         "sleep": true | ||||||
|     }, |     }, | ||||||
|     "split": { |     "split": { | ||||||
|  |         "enabled": true, | ||||||
|         "transport": { |         "transport": { | ||||||
|             "sync": { |             "sync": { | ||||||
|                 "matrix_state": true |                 "matrix_state": true | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,23 +1,8 @@ | |||||||
| /*
 | // Copyright 2012 Jun Wako <wakojun@gmail.com>
 | ||||||
|  * Copyright 2012 Jun Wako <wakojun@gmail.com> | // Copyright 2015 Jack Humbert
 | ||||||
|  * Copyright 2015 Jack Humbert | // Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
 | ||||||
|  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com> | // Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
 | ||||||
|  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  * |  | ||||||
|  * 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 | #pragma once | ||||||
| 
 | 
 | ||||||
| // Enable syncing of charybdis config
 | // Enable syncing of charybdis config
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user