diff options
Diffstat (limited to 'keyboards')
654 files changed, 4004 insertions, 6105 deletions
diff --git a/keyboards/0xcb/1337/1337.c b/keyboards/0xcb/1337/1337.c deleted file mode 100644 index d5937540b2..0000000000 --- a/keyboards/0xcb/1337/1337.c +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 0xCB - Conor Burns - -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 "quantum.h" - -void eeconfig_init_kb(void) { -#ifdef BACKLIGHT_ENABLE - backlight_enable(); - backlight_level(5); -#endif - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json index f264d4ed06..b2ef00906b 100644 --- a/keyboards/0xcb/1337/keyboard.json +++ b/keyboards/0xcb/1337/keyboard.json @@ -9,6 +9,9 @@ "device_version": "0.0.1" }, "backlight": { + "default": { + "brightness": 5 + }, "pin": "B5", "levels": 7, "breathing": true diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c index d5675e1047..867d8c0202 100644 --- a/keyboards/40percentclub/ut47/ut47.c +++ b/keyboards/40percentclub/ut47/ut47.c @@ -19,6 +19,8 @@ void matrix_init_kb(void) { uart_init(9600); + + matrix_init_user(); } #endif diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c index 8fe47eff82..4dea24b93d 100644 --- a/keyboards/acheron/athena/alpha/alpha.c +++ b/keyboards/acheron/athena/alpha/alpha.c @@ -24,6 +24,8 @@ void board_init(void) { void keyboard_post_init_kb(void){ // Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); + + keyboard_post_init_user(); } void led_init_ports(void) { diff --git a/keyboards/acheron/austin/austin.c b/keyboards/acheron/austin/austin.c deleted file mode 100644 index 9a69d1c086..0000000000 --- a/keyboards/acheron/austin/austin.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(A0); - gpio_set_pin_output(A1); - gpio_set_pin_output(A2); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(A2, led_state.num_lock); - gpio_write_pin(A0, led_state.caps_lock); - gpio_write_pin(A1, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json index bee675472c..a3df5dd75d 100755 --- a/keyboards/acheron/austin/keyboard.json +++ b/keyboards/acheron/austin/keyboard.json @@ -33,6 +33,11 @@ "levels": 6, "breathing": true }, + "indicators": { + "caps_lock": "A0", + "num_lock": "A2", + "scroll_lock": "A1" + }, "processor": "STM32F072", "bootloader": "stm32-dfu", "layouts": { diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c index 98b60bae61..839151521a 100755 --- a/keyboards/acheron/elongate/delta/delta.c +++ b/keyboards/acheron/elongate/delta/delta.c @@ -74,4 +74,6 @@ layer_state_t layer_state_set_kb(layer_state_t state) { // Since the keyboard starts at layer 0, the init function starts LED4 as lit up. void keyboard_post_init_kb(void){ gpio_write_pin(LED4_PIN, 0); + + keyboard_post_init_user(); } diff --git a/keyboards/aeboards/ext65/rev1/keyboard.json b/keyboards/aeboards/ext65/rev1/keyboard.json index c254a67142..1d105505e5 100644 --- a/keyboards/aeboards/ext65/rev1/keyboard.json +++ b/keyboards/aeboards/ext65/rev1/keyboard.json @@ -13,6 +13,11 @@ "extrakey": true, "nkro": true }, + "indicators": { + "caps_lock": "D3", + "num_lock": "D5", + "scroll_lock": "D2" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", diff --git a/keyboards/aeboards/ext65/rev1/rev1.c b/keyboards/aeboards/ext65/rev1/rev1.c index 344a2bcb32..fc8280a5e4 100644 --- a/keyboards/aeboards/ext65/rev1/rev1.c +++ b/keyboards/aeboards/ext65/rev1/rev1.c @@ -16,23 +16,10 @@ #include "quantum.h" -void keyboard_pre_init_user(void) { - // Call the keyboard pre init code. - // Set our LED pins as output - gpio_set_pin_output(D5); - gpio_set_pin_output(D3); - gpio_set_pin_output(D2); - gpio_set_pin_output(D1); -} +void keyboard_pre_init_kb(void) { + gpio_set_pin_output(D1); -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D5, led_state.num_lock); - gpio_write_pin(D3, led_state.caps_lock); - gpio_write_pin(D2, led_state.scroll_lock); - } - return res; + keyboard_pre_init_user(); } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/aeboards/ext65/rev2/keyboard.json b/keyboards/aeboards/ext65/rev2/keyboard.json index 0ab50f9258..ab7cceeefb 100644 --- a/keyboards/aeboards/ext65/rev2/keyboard.json +++ b/keyboards/aeboards/ext65/rev2/keyboard.json @@ -22,6 +22,11 @@ "levels": 6, "breathing": true }, + "indicators": { + "caps_lock": "B3", + "num_lock": "B4", + "scroll_lock": "A15" + }, "rgblight": { "led_count": 24, "animations": { diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c index 5922b601cd..7b8ebb0087 100644 --- a/keyboards/aeboards/ext65/rev2/rev2.c +++ b/keyboards/aeboards/ext65/rev2/rev2.c @@ -69,26 +69,11 @@ bool oled_task_kb(void) { #else void keyboard_pre_init_kb(void) { - // Call the keyboard pre init code. - // Set our LED pins as output - gpio_set_pin_output(B4); - gpio_set_pin_output(B3); - gpio_set_pin_output(A15); gpio_set_pin_output(A14); keyboard_pre_init_user(); } -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(B4, led_state.num_lock); - gpio_write_pin(B3, led_state.caps_lock); - gpio_write_pin(A15, led_state.scroll_lock); - } - return res; -} - layer_state_t layer_state_set_kb(layer_state_t state) { switch (get_highest_layer(state)) { case 1: diff --git a/keyboards/aeboards/ext65/rev3/rev3.c b/keyboards/aeboards/ext65/rev3/rev3.c index f8fc2ef502..7b0f2018c2 100644 --- a/keyboards/aeboards/ext65/rev3/rev3.c +++ b/keyboards/aeboards/ext65/rev3/rev3.c @@ -19,10 +19,12 @@ // Tested and verified working on EXT65 Rev3 void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } -void keyboard_pre_init_user(void) { +void keyboard_pre_init_kb(void) { // Call the keyboard pre init code. // Set our LED pins as output gpio_set_pin_output(LED_LAYERS_PIN); + + keyboard_pre_init_user(); } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/afternoonlabs/breeze/rev0/keyboard.json b/keyboards/afternoonlabs/breeze/rev0/keyboard.json index f20f082ec9..e4288d3eda 100644 --- a/keyboards/afternoonlabs/breeze/rev0/keyboard.json +++ b/keyboards/afternoonlabs/breeze/rev0/keyboard.json @@ -21,6 +21,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B3" + }, "soft_serial_pin": "D2" }, "bootmagic": { diff --git a/keyboards/afternoonlabs/breeze/rev1/keyboard.json b/keyboards/afternoonlabs/breeze/rev1/keyboard.json index ccb13551c1..22a7edb6c0 100644 --- a/keyboards/afternoonlabs/breeze/rev1/keyboard.json +++ b/keyboards/afternoonlabs/breeze/rev1/keyboard.json @@ -21,6 +21,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B3" + }, "soft_serial_pin": "D2" }, "bootmagic": { diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json index 2a80a0bc2b..f614b93ca1 100644 --- a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json @@ -21,6 +21,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B3" + }, "soft_serial_pin": "D2" }, "bootmagic": { diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json index c4d38a7a69..2ec7b411e1 100644 --- a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json +++ b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json @@ -21,6 +21,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B3" + }, "soft_serial_pin": "D2" }, "bootmagic": { diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/config.h b/keyboards/afternoonlabs/summer_breeze/rev1/config.h deleted file mode 100644 index d6bb6df14c..0000000000 --- a/keyboards/afternoonlabs/summer_breeze/rev1/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 Afternoon Labs - * - * 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 SPLIT_HAND_PIN B3 diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json index 702a942a3c..9377f10732 100644 --- a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json +++ b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json @@ -21,6 +21,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B3" + }, "soft_serial_pin": "D2" }, "bootmagic": { diff --git a/keyboards/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json index 9626716cde..cf551ab79e 100644 --- a/keyboards/ai03/altair/keyboard.json +++ b/keyboards/ai03/altair/keyboard.json @@ -37,6 +37,9 @@ "rows": ["GP5", "GP16", "GP20", "GP28", "GP14"] } }, + "serial": { + "driver": "vendor" + }, "soft_serial_pin": "GP29" }, "url": "https://ai03.com/", diff --git a/keyboards/ai03/altair/rules.mk b/keyboards/ai03/altair/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/ai03/altair/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json index d1448ab8c2..1568f15a5a 100644 --- a/keyboards/ai03/altair_x/keyboard.json +++ b/keyboards/ai03/altair_x/keyboard.json @@ -37,6 +37,9 @@ "rows": ["GP16", "GP20", "GP28", "GP14"] } }, + "serial": { + "driver": "vendor" + }, "soft_serial_pin": "GP29" }, "url": "https://ai03.com/", diff --git a/keyboards/ai03/altair_x/rules.mk b/keyboards/ai03/altair_x/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/ai03/altair_x/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h deleted file mode 100644 index f3a4ae2db3..0000000000 --- a/keyboards/ai03/orbit/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2018 Ryota Goto - -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 SELECT_SOFT_SERIAL_SPEED 1 - -#define SPLIT_HAND_PIN D5 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/ai03/orbit/keyboard.json b/keyboards/ai03/orbit/keyboard.json index ec30802812..a5a60c12b6 100644 --- a/keyboards/ai03/orbit/keyboard.json +++ b/keyboards/ai03/orbit/keyboard.json @@ -31,6 +31,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D5" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h index 2c63852cbe..8de0482312 100644 --- a/keyboards/ai03/orbit_x/config.h +++ b/keyboards/ai03/orbit_x/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D5 #define SPLIT_USB_DETECT #define SPLIT_USB_TIMEOUT 2500 diff --git a/keyboards/ai03/orbit_x/keyboard.json b/keyboards/ai03/orbit_x/keyboard.json index edfbbb2796..7323841219 100644 --- a/keyboards/ai03/orbit_x/keyboard.json +++ b/keyboards/ai03/orbit_x/keyboard.json @@ -28,6 +28,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D5" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/ai03/vega/keyboard.json b/keyboards/ai03/vega/keyboard.json index a58fa4fcae..bc220cc7a1 100644 --- a/keyboards/ai03/vega/keyboard.json +++ b/keyboards/ai03/vega/keyboard.json @@ -22,6 +22,11 @@ "resync": true } }, + "indicators": { + "caps_lock": "B7", + "scroll_lock": "A5", + "on_state": 0 + }, "matrix_pins": { "cols": ["B5", "A3", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6"], "rows": ["A1", "A2", "B3", "A15", "A10"] diff --git a/keyboards/ai03/vega/vega.c b/keyboards/ai03/vega/vega.c deleted file mode 100644 index 44ded2c85c..0000000000 --- a/keyboards/ai03/vega/vega.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2020 ai03 - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // Initialize indicator LEDs to output - - gpio_set_pin_output(B7); // Caps - gpio_set_pin_output(A5); // Slck - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - - bool res = led_update_user(led_state); - - if(res) { - gpio_write_pin(B7, !led_state.caps_lock); - gpio_write_pin(A5, !led_state.scroll_lock); - } - return res; -}
\ No newline at end of file diff --git a/keyboards/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json index 6c62ac9bd2..c3d34ce6d7 100644 --- a/keyboards/aidansmithdotdev/sango/keyboard.json +++ b/keyboards/aidansmithdotdev/sango/keyboard.json @@ -127,6 +127,9 @@ "rows": ["GP2", "GP3", "GP4", "GP5", "GP6"] } }, + "serial": { + "driver": "vendor" + }, "soft_serial_pin": "GP1" }, "url": "https://aidansmith.dev", diff --git a/keyboards/aidansmithdotdev/sango/rules.mk b/keyboards/aidansmithdotdev/sango/rules.mk deleted file mode 100644 index 743228e94b..0000000000 --- a/keyboards/aidansmithdotdev/sango/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor
\ No newline at end of file diff --git a/keyboards/argyle/matrix.c b/keyboards/argyle/matrix.c index d435b368c2..661310ade0 100644 --- a/keyboards/argyle/matrix.c +++ b/keyboards/argyle/matrix.c @@ -24,21 +24,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -55,7 +55,7 @@ static inline uint8_t readMatrixPin(pin_t pin) { static bool select_row(uint8_t row) { pin_t pin = row_pins[row]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } return false; @@ -64,7 +64,7 @@ static bool select_row(uint8_t row) { static void unselect_row(uint8_t row) { pin_t pin = row_pins[row]; if (pin != NO_PIN) { - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); } } @@ -84,7 +84,7 @@ static void init_pins(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { if (col_pins[x] != NO_PIN) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } } diff --git a/keyboards/arrowmechanics/wings/keyboard.json b/keyboards/arrowmechanics/wings/keyboard.json index 1da4077baa..f0f0a9c442 100644 --- a/keyboards/arrowmechanics/wings/keyboard.json +++ b/keyboards/arrowmechanics/wings/keyboard.json @@ -188,6 +188,9 @@ }, "split": { "enabled": true, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "layer_state": true, diff --git a/keyboards/arrowmechanics/wings/rules.mk b/keyboards/arrowmechanics/wings/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/arrowmechanics/wings/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/atreus/astar_mirrored/config.h b/keyboards/atreus/astar_mirrored/config.h deleted file mode 100644 index 3bd163dec3..0000000000 --- a/keyboards/atreus/astar_mirrored/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 - * - * 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 PCBDOWN 1 diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h deleted file mode 100644 index 2a966b8641..0000000000 --- a/keyboards/atreus/atreus.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2019 - * - * 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 "quantum.h" -#define ___ KC_NO - -// This a shortcut to help you visually see your layout. -// The first section contains all of the arguments. -// The second converts the arguments into a two-dimensional array. -// In the PCBDOWN case we need to swap the middle two keys: k35 and k36. -#if defined(PCBDOWN) -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ -) \ -{ \ - { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \ - { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \ - { k20, k21, k22, k23, k24, k36, k25, k26, k27, k28, k29 }, \ - { k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b } \ -} -#else -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ -) \ -{ \ - { k00, k01, k02, k03, k04, ___, k05, k06, k07, k08, k09 }, \ - { k10, k11, k12, k13, k14, ___, k15, k16, k17, k18, k19 }, \ - { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \ - { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \ -} -#endif diff --git a/keyboards/atreus/feather/config.h b/keyboards/atreus/feather/config.h deleted file mode 100644 index 505296a505..0000000000 --- a/keyboards/atreus/feather/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 - * - * 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 OUTPUT_AUTO_ENABLE diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json index a0f592105f..1a33591ab5 100644 --- a/keyboards/atreus/info.json +++ b/keyboards/atreus/info.json @@ -23,58 +23,114 @@ "resync": true } }, + "layout_aliases": { + "LAYOUT": "LAYOUT_pcb_up" + }, "layouts": { - "LAYOUT": { + "LAYOUT_pcb_up": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.6}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.35}, + {"matrix": [0, 4], "x": 4, "y": 0.7}, + + {"matrix": [0, 6], "x": 8, "y": 0.7}, + {"matrix": [0, 7], "x": 9, "y": 0.35}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.35}, + {"matrix": [0, 10], "x": 12, "y": 0.6}, + + {"matrix": [1, 0], "x": 0, "y": 1.6}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.35}, + {"matrix": [1, 4], "x": 4, "y": 1.7}, + + {"matrix": [1, 6], "x": 8, "y": 1.7}, + {"matrix": [1, 7], "x": 9, "y": 1.35}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.35}, + {"matrix": [1, 10], "x": 12, "y": 1.6}, + + {"matrix": [2, 0], "x": 0, "y": 2.6}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.35}, + {"matrix": [2, 4], "x": 4, "y": 2.7}, + + {"matrix": [2, 6], "x": 8, "y": 2.7}, + {"matrix": [2, 7], "x": 9, "y": 2.35}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.35}, + {"matrix": [2, 10], "x": 12, "y": 2.6}, + + {"matrix": [3, 0], "x": 0, "y": 3.6}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3.35}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, + + {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, + {"matrix": [3, 6], "x": 8, "y": 3.7}, + {"matrix": [3, 7], "x": 9, "y": 3.35}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3.35}, + {"matrix": [3, 10], "x": 12, "y": 3.6} + ] + }, + "LAYOUT_pcb_down": { "layout": [ - {"x": 0, "y": 0.6}, - {"x": 1, "y": 0.35}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0.35}, - {"x": 4, "y": 0.7}, + {"matrix": [0, 0], "x": 0, "y": 0.6}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.35}, + {"matrix": [0, 4], "x": 4, "y": 0.7}, - {"x": 8, "y": 0.7}, - {"x": 9, "y": 0.35}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0.35}, - {"x": 12, "y": 0.6}, + {"matrix": [0, 6], "x": 8, "y": 0.7}, + {"matrix": [0, 7], "x": 9, "y": 0.35}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.35}, + {"matrix": [0, 10], "x": 12, "y": 0.6}, - {"x": 0, "y": 1.6}, - {"x": 1, "y": 1.35}, - {"x": 2, "y": 1}, - {"x": 3, "y": 1.35}, - {"x": 4, "y": 1.7}, + {"matrix": [1, 0], "x": 0, "y": 1.6}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.35}, + {"matrix": [1, 4], "x": 4, "y": 1.7}, - {"x": 8, "y": 1.7}, - {"x": 9, "y": 1.35}, - {"x": 10, "y": 1}, - {"x": 11, "y": 1.35}, - {"x": 12, "y": 1.6}, + {"matrix": [1, 6], "x": 8, "y": 1.7}, + {"matrix": [1, 7], "x": 9, "y": 1.35}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.35}, + {"matrix": [1, 10], "x": 12, "y": 1.6}, - {"x": 0, "y": 2.6}, - {"x": 1, "y": 2.35}, - {"x": 2, "y": 2}, - {"x": 3, "y": 2.35}, - {"x": 4, "y": 2.7}, + {"matrix": [2, 0], "x": 0, "y": 2.6}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.35}, + {"matrix": [2, 4], "x": 4, "y": 2.7}, - {"x": 8, "y": 2.7}, - {"x": 9, "y": 2.35}, - {"x": 10, "y": 2}, - {"x": 11, "y": 2.35}, - {"x": 12, "y": 2.6}, + {"matrix": [2, 6], "x": 8, "y": 2.7}, + {"matrix": [2, 7], "x": 9, "y": 2.35}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.35}, + {"matrix": [2, 10], "x": 12, "y": 2.6}, - {"x": 0, "y": 3.6}, - {"x": 1, "y": 3.35}, - {"x": 2, "y": 3}, - {"x": 3, "y": 3.35}, - {"x": 4, "y": 3.7}, - {"x": 5, "y": 2.95, "h": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 3.6}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3.35}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 2.95, "h": 1.5}, - {"x": 7, "y": 2.95, "h": 1.5}, - {"x": 8, "y": 3.7}, - {"x": 9, "y": 3.35}, - {"x": 10, "y": 3}, - {"x": 11, "y": 3.35}, - {"x": 12, "y": 3.6} + {"matrix": [2, 5], "x": 7, "y": 2.95, "h": 1.5}, + {"matrix": [3, 6], "x": 8, "y": 3.7}, + {"matrix": [3, 7], "x": 9, "y": 3.35}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3.35}, + {"matrix": [3, 10], "x": 12, "y": 3.6} ] } } diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index ca1333230c..e458810537 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -12,7 +12,7 @@ #define _LW 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ + [_QW] = LAYOUT_pcb_up( /* Qwerty */ 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 , @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * [ ] ( ) & || ` 1 2 3 \ * lower insert super shift bksp ctrl || alt space fn . 0 = */ - [_RS] = LAYOUT( /* [> RAISE <] */ + [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */ KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * volup reset || F1 F2 F3 F12 * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause */ - [_LW] = LAYOUT( /* [> LOWER <] */ + [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , diff --git a/keyboards/atreus/keymaps/via/keymap.c b/keyboards/atreus/keymaps/via/keymap.c index 52740c5bad..e6093d7ac1 100644 --- a/keyboards/atreus/keymaps/via/keymap.c +++ b/keyboards/atreus/keymaps/via/keymap.c @@ -27,7 +27,7 @@ enum custom_layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ + [_QW] = LAYOUT_pcb_up( /* Qwerty */ 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 , @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * [ ] ( ) & || ` 1 2 3 \ * lower insert super shift bksp ctrl || alt space fn . 0 = */ - [_RS] = LAYOUT( /* [> RAISE <] */ + [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */ KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , @@ -51,13 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * volup reset || F1 F2 F3 F12 * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause */ - [_LW] = LAYOUT( /* [> LOWER <] */ + [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS ), - [_EM] = LAYOUT( /* [> EMPTY <] */ + [_EM] = LAYOUT_pcb_up( /* [> EMPTY <] */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , diff --git a/keyboards/atreus/keymaps/workman/config.h b/keyboards/atreus/keymaps/workman/config.h index cf0b5e2ac5..f75e442456 100644 --- a/keyboards/atreus/keymaps/workman/config.h +++ b/keyboards/atreus/keymaps/workman/config.h @@ -1,3 +1,2 @@ #define TAPPING_TOGGLE 1 #define ONESHOT_TAP_TOGGLE 1 -#define PCBDOWN 1 diff --git a/keyboards/atreus/keymaps/workman/keymap.c b/keyboards/atreus/keymaps/workman/keymap.c index c0633f6362..e8b5b6b4e3 100644 --- a/keyboards/atreus/keymaps/workman/keymap.c +++ b/keyboards/atreus/keymaps/workman/keymap.c @@ -25,7 +25,7 @@ enum custom_keycodes { */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Workman */ + [_QW] = LAYOUT_pcb_down( /* Workman */ KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * menu caps < > del || _ 0 = */ - [_RS] = LAYOUT( /* [> RAISE <] */ + [_RS] = LAYOUT_pcb_down( /* [> RAISE <] */ KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOT, KC_4, KC_5, KC_6, KC_PLUS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * || – ¨ reset */ - [_LW] = LAYOUT( /* [> LOWER <] */ + [_LW] = LAYOUT_pcb_down( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12, diff --git a/keyboards/atreus/promicro/keyboard.json b/keyboards/atreus/promicro/keyboard.json index e614b4e2a0..10c0ca1b22 100644 --- a/keyboards/atreus/promicro/keyboard.json +++ b/keyboards/atreus/promicro/keyboard.json @@ -4,6 +4,5 @@ "rows": ["F4", "B2", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/aya/config.h b/keyboards/aya/config.h index 14fc201d49..1ab53d70ae 100644 --- a/keyboards/aya/config.h +++ b/keyboards/aya/config.h @@ -16,5 +16,4 @@ #pragma once -#define SPLIT_HAND_PIN B5 #define USE_I2C diff --git a/keyboards/aya/keyboard.json b/keyboards/aya/keyboard.json index 547f495ddd..6f9ad387bc 100644 --- a/keyboards/aya/keyboard.json +++ b/keyboards/aya/keyboard.json @@ -15,7 +15,10 @@ "command": true }, "split": { - "enabled": true + "enabled": true, + "handedness": { + "pin": "B5" + } }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h deleted file mode 100644 index 8515cac5ef..0000000000 --- a/keyboards/bastardkb/tbk/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD <[email protected]> - * - * 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 MASTER_RIGHT diff --git a/keyboards/bastardkb/tbk/keyboard.json b/keyboards/bastardkb/tbk/keyboard.json deleted file mode 100644 index 90e37478a1..0000000000 --- a/keyboards/bastardkb/tbk/keyboard.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "keyboard_name": "The Bastard Keyboard", - "url": "https://bastardkb.com/", - "usb": { - "device_version": "0.0.1", - "pid": "0x1828" - }, - "rgblight": { - "led_count": 38, - "split_count": [19, 19], - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, - "ws2812": { - "pin": "D2" - }, - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": false, - "rgblight": true - }, - "matrix_pins": { - "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], - "rows": ["D7", "B5", "F7", "F6", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "soft_serial_pin": "D0" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT_split_4x6_5": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 11, "y": 0}, - {"matrix": [5, 4], "x": 12, "y": 0}, - {"matrix": [5, 3], "x": 13, "y": 0}, - {"matrix": [5, 2], "x": 14, "y": 0}, - {"matrix": [5, 1], "x": 15, "y": 0}, - {"matrix": [5, 0], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [6, 5], "x": 11, "y": 1}, - {"matrix": [6, 4], "x": 12, "y": 1}, - {"matrix": [6, 3], "x": 13, "y": 1}, - {"matrix": [6, 2], "x": 14, "y": 1}, - {"matrix": [6, 1], "x": 15, "y": 1}, - {"matrix": [6, 0], "x": 16, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 11, "y": 2}, - {"matrix": [7, 4], "x": 12, "y": 2}, - {"matrix": [7, 3], "x": 13, "y": 2}, - {"matrix": [7, 2], "x": 14, "y": 2}, - {"matrix": [7, 1], "x": 15, "y": 2}, - {"matrix": [7, 0], "x": 16, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [8, 5], "x": 11, "y": 3}, - {"matrix": [8, 4], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 2], "x": 14, "y": 3}, - {"matrix": [8, 1], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 16, "y": 3}, - {"matrix": [4, 3], "x": 5, "y": 4}, - {"matrix": [4, 4], "x": 6, "y": 4}, - {"matrix": [4, 1], "x": 7, "y": 4}, - {"matrix": [9, 1], "x": 9, "y": 4}, - {"matrix": [9, 4], "x": 10, "y": 4}, - {"matrix": [9, 3], "x": 11, "y": 4}, - {"matrix": [4, 5], "x": 6, "y": 5}, - {"matrix": [4, 2], "x": 7, "y": 5}, - {"matrix": [9, 2], "x": 9, "y": 5}, - {"matrix": [9, 5], "x": 10, "y": 5} - ] - } - } -} diff --git a/keyboards/bastardkb/tbk/keymaps/default/keymap.c b/keyboards/bastardkb/tbk/keymaps/default/keymap.c deleted file mode 100644 index 3227076c07..0000000000 --- a/keyboards/bastardkb/tbk/keymaps/default/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD <[email protected]> - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, -//-------------------------------------------------//-----------------------------------------------------------// - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, -//-------------------------------------------------//-----------------------------------------------------------// - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, -//-------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, -//-------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI, - KC_HOME, KC_BSPC, KC_DEL, KC_RALT - ), - - [1] = LAYOUT_split_4x6_5( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, -//---------------------------------------------------------//-----------------------------------------------------------// - QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, -//---------------------------------------------------------//-----------------------------------------------------------// - _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, -//---------------------------------------------------------//-----------------------------------------------------------// - _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, -//---------------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI, - KC_SPC, KC_BSPC, KC_RCTL, KC_ENT - ), - - [2] = LAYOUT_split_4x6_5( - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, -//---------------------------------------------------------//--------------------------------------------------------------// - _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE, -//---------------------------------------------------------//--------------------------------------------------------------// - _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, -//---------------------------------------------------------//--------------------------------------------------------------// - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, -//---------------------------------------------------------//--------------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, - KC_SPC, KC_BSPC, KC_RCTL, KC_ENT - ), -}; diff --git a/keyboards/bastardkb/tbk/readme.md b/keyboards/bastardkb/tbk/readme.md deleted file mode 100644 index 0d552e5caf..0000000000 --- a/keyboards/bastardkb/tbk/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# The Bastard Keyboard - -A split ergonomic keyboard. - -* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -* Hardware Supported: elite-C V4 -* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/) - -Make example for this keyboard (after setting up your build environment): - - make bastardkb/tbk:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -See the [keyboard build instructions](https://docs.bastardkb.com) - - -## Important information regarding the reset - -If you modify this firmware, make sure to always have a QK_BOOT key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. - -Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json index ad12468d56..90191299d8 100644 --- a/keyboards/bear_face/info.json +++ b/keyboards/bear_face/info.json @@ -1,22 +1,18 @@ { - "keyboard_name": "bear_face", - "manufacturer": "chemicalwill", - "url": "https://github.com/chemicalwill/bear_face_pcb", - "maintainer": "chemicalwill", - "debounce": 6, + "manufacturer": "will-hedges", + "url": "https://github.com/will-hedges", + "maintainer": "will-hedges", "usb": { "vid": "0xFEED", - "pid": "0x09F5", - "force_nkro": true + "pid": "0x09F5" }, "features": { "backlight": true, - "bootmagic": false, + "bootmagic": true, "command": false, "console": false, "extrakey": true, - "mousekey": false, - "nkro": true + "mousekey": false }, "qmk": { "locking": { @@ -30,7 +26,8 @@ }, "diode_direction": "COL2ROW", "backlight": { - "driver": "timer", + "as_caps_lock": true, + "driver": "software", "pin": "F7" }, "processor": "atmega32u4", diff --git a/keyboards/bear_face/rules.mk b/keyboards/bear_face/rules.mk deleted file mode 100644 index f11303978e..0000000000 --- a/keyboards/bear_face/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = bear_face/v1 diff --git a/keyboards/bear_face/v1/keyboard.json b/keyboards/bear_face/v1/keyboard.json index 8dedc0b1c7..8c60089bbb 100644 --- a/keyboards/bear_face/v1/keyboard.json +++ b/keyboards/bear_face/v1/keyboard.json @@ -1,9 +1,13 @@ { + "keyboard_name": "bear_face v1", "usb": { "device_version": "1.0.0" }, + "backlight": { + "on_state": 0 + }, "layouts": { - "LAYOUT_83_ansi": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, {"matrix": [0, 1], "x": 1.5, "y": 0}, diff --git a/keyboards/bear_face/v1/keymaps/default/keymap.c b/keyboards/bear_face/v1/keymaps/default/keymap.c index fc92c783db..e615a3915d 100644 --- a/keyboards/bear_face/v1/keymaps/default/keymap.c +++ b/keyboards/bear_face/v1/keymaps/default/keymap.c @@ -1,19 +1,5 @@ -/* -Copyright 2020 chemicalwill <https://github.com/chemicalwill> - -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/>. -*/ +/* Copyright 2024 will-hedges */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include QMK_KEYBOARD_H @@ -28,13 +14,13 @@ enum layers { //custom keycode enums enum custom_keycodes { - BASE_QWER = SAFE_RANGE, + BASE_QWER = QK_USER, BASE_COLE, BASE_DVOR }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWER] = LAYOUT_83_ansi( + [_QWER] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, @@ -43,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_COLE] = LAYOUT_83_ansi( + [_COLE] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, @@ -52,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_DVOR] = LAYOUT_83_ansi( + [_DVOR] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP, @@ -61,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN1] = LAYOUT_83_ansi( + [_FN1] = LAYOUT( _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE, @@ -71,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* - [_BLANK] = LAYOUT_83_ansi( + [_BLANK] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; -//macros to allow the user to set whatever default layer they want, even after reboot +// macros to allow the user to set whatever default layer they want, even after reboot bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case BASE_QWER: diff --git a/keyboards/bear_face/v1/v1.c b/keyboards/bear_face/v1/v1.c deleted file mode 100644 index b64a63f0b4..0000000000 --- a/keyboards/bear_face/v1/v1.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2020 chemicalwill <https://github.com/chemicalwill> - -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 "quantum.h" - -void keyboard_pre_init_kb(void) { - //Sets LED pin as output - gpio_set_pin_output(F7); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - // Caps Lock LED indicator toggling code here - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(F7, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/bear_face/v2/keyboard.json b/keyboards/bear_face/v2/keyboard.json index 908165babb..456c920066 100644 --- a/keyboards/bear_face/v2/keyboard.json +++ b/keyboards/bear_face/v2/keyboard.json @@ -1,8 +1,106 @@ { + "keyboard_name": "bear_face v2", "usb": { - "device_version": "2.0.0" + "device_version": "2.1.0" + }, + "backlight": { + "on_state": 0 }, "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [1, 12], "x": 12, "y": 1}, + {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, "LAYOUT_83_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c index 0d536b68f3..08f193052a 100644 --- a/keyboards/bear_face/v2/keymaps/default/keymap.c +++ b/keyboards/bear_face/v2/keymaps/default/keymap.c @@ -1,19 +1,5 @@ -/* -Copyright 2020 chemicalwill <https://github.com/chemicalwill> - -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/>. -*/ +/* Copyright 2024 will-hedges */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include QMK_KEYBOARD_H @@ -28,7 +14,7 @@ enum layers { //custom keycode enums enum custom_keycodes { - BASE_QWER = SAFE_RANGE, + BASE_QWER = QK_USER, BASE_COLE, BASE_DVOR }; @@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; -//macros to allow the user to set whatever default layer they want, even after reboot +// macros to allow the user to set whatever default layer they want, even after reboot bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case BASE_QWER: diff --git a/keyboards/bear_face/v2/keymaps/default/readme.md b/keyboards/bear_face/v2/keymaps/default/readme.md index 5f9e635dfe..517baa5726 100644 --- a/keyboards/bear_face/v2/keymaps/default/readme.md +++ b/keyboards/bear_face/v2/keymaps/default/readme.md @@ -13,3 +13,7 @@ This layout replaces the stock layout on the Vortex Race 3. * 'Reset' will put the keyboard into DFU mode * 'APP' sends 'KC_APP' * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) + +- New things in v2: + * Option of ANSI or ISO layout + * Optional stepped caps (will require compatible plate) diff --git a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c index e9e6c837f4..a5e96207f6 100644 --- a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c +++ b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c @@ -1,19 +1,5 @@ -/* -Copyright 2020 chemicalwill <https://github.com/chemicalwill> - -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/>. -*/ +/* Copyright 2024 will-hedges */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include QMK_KEYBOARD_H @@ -28,7 +14,7 @@ enum layers { //custom keycode enums enum custom_keycodes { - BASE_QWER = SAFE_RANGE, + BASE_QWER = QK_USER, BASE_COLE, BASE_DVOR }; @@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; -//macros to allow the user to set whatever default layer they want, even after reboot +//macros to allow the user to set whatever default layer they want, even after reboot bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case BASE_QWER: diff --git a/keyboards/bear_face/v2/v2.c b/keyboards/bear_face/v2/v2.c deleted file mode 100644 index b64a63f0b4..0000000000 --- a/keyboards/bear_face/v2/v2.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2020 chemicalwill <https://github.com/chemicalwill> - -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 "quantum.h" - -void keyboard_pre_init_kb(void) { - //Sets LED pin as output - gpio_set_pin_output(F7); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - // Caps Lock LED indicator toggling code here - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(F7, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/bear_face/v3/keyboard.json b/keyboards/bear_face/v3/keyboard.json new file mode 100644 index 0000000000..0a0bda8df9 --- /dev/null +++ b/keyboards/bear_face/v3/keyboard.json @@ -0,0 +1,287 @@ +{ + "keyboard_name": "bear_face v3", + "usb": { + "device_version": "3.2.0" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [1, 12], "x": 12, "y": 1}, + {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, + "LAYOUT_83_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [1, 12], "x": 12, "y": 1}, + {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, + "LAYOUT_84_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [1, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [1, 12], "x": 12, "y": 1}, + {"matrix": [1, 13], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + } + } +} diff --git a/keyboards/bear_face/v3/keymaps/default/keymap.c b/keyboards/bear_face/v3/keymaps/default/keymap.c new file mode 100644 index 0000000000..f6e71f1b34 --- /dev/null +++ b/keyboards/bear_face/v3/keymaps/default/keymap.c @@ -0,0 +1,92 @@ +/* Copyright 2024 will-hedges */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +enum layers { + _QWER, + _COLE, + _DVOR, + _FN1, +}; + +#define FN1_CAPS LT(_FN1, KC_CAPS) + +//custom keycode enums +enum custom_keycodes { + BASE_QWER = QK_USER, + BASE_COLE, + BASE_DVOR +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWER] = LAYOUT_83_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_COLE] = LAYOUT_83_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_DVOR] = LAYOUT_83_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP, + FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_83_ansi( + _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, + _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + [_BLANK] = LAYOUT_83_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +*/ +}; + + +// Macros to allow the user to set whatever default layer they want, even after reboot +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case BASE_QWER: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWER); + } + break; + case BASE_COLE: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLE); + } + break; + case BASE_DVOR: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVOR); + } + break; + } + return true; +}; diff --git a/keyboards/bear_face/v3/keymaps/default/readme.md b/keyboards/bear_face/v3/keymaps/default/readme.md new file mode 100644 index 0000000000..a86b77bb19 --- /dev/null +++ b/keyboards/bear_face/v3/keymaps/default/readme.md @@ -0,0 +1,18 @@ +# default bear_face layout + +This layout replaces the stock layout on the Vortex Race 3. + +- Caps Lock indicator LED is enabled by default +- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default + +- Pn key is set to 'KC_NO' by default + * Might be a good place for a macro, or to put your PC to sleep, etc. + +- A combined function layer that mimics the sublegends on the stock caps (regardless of layout) + * 'Reset' will put the keyboard into DFU mode + * 'APP' sends 'KC_APP' + * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) + +- New things in v3: + * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases diff --git a/keyboards/bear_face/v3/keymaps/default_iso/keymap.c b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c new file mode 100644 index 0000000000..cc97d54a9b --- /dev/null +++ b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c @@ -0,0 +1,92 @@ +/* Copyright 2024 will-hedges */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +enum layers { + _QWER, + _COLE, + _DVOR, + _FN1, +}; + +#define FN1_CAPS LT(_FN1, KC_CAPS) + +//custom keycode enums +enum custom_keycodes { + BASE_QWER = QK_USER, + BASE_COLE, + BASE_DVOR +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWER] = LAYOUT_84_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_COLE] = LAYOUT_84_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP, + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_DVOR] = LAYOUT_84_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_PGUP, + FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_84_iso( + _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BASE_COLE, + _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, + _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + [_BLANK] = LAYOUT_84_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +*/ +}; + + +// Macros to allow the user to set whatever default layer they want, even after reboot +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case BASE_QWER: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWER); + } + break; + case BASE_COLE: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLE); + } + break; + case BASE_DVOR: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVOR); + } + break; + } + return true; +}; diff --git a/keyboards/bear_face/v3/keymaps/default_iso/readme.md b/keyboards/bear_face/v3/keymaps/default_iso/readme.md new file mode 100644 index 0000000000..a86b77bb19 --- /dev/null +++ b/keyboards/bear_face/v3/keymaps/default_iso/readme.md @@ -0,0 +1,18 @@ +# default bear_face layout + +This layout replaces the stock layout on the Vortex Race 3. + +- Caps Lock indicator LED is enabled by default +- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default + +- Pn key is set to 'KC_NO' by default + * Might be a good place for a macro, or to put your PC to sleep, etc. + +- A combined function layer that mimics the sublegends on the stock caps (regardless of layout) + * 'Reset' will put the keyboard into DFU mode + * 'APP' sends 'KC_APP' + * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) + +- New things in v3: + * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases diff --git a/keyboards/beekeeb/piantor/keyboard.json b/keyboards/beekeeb/piantor/keyboard.json index e4ecd4207e..77bfc3678c 100644 --- a/keyboards/beekeeb/piantor/keyboard.json +++ b/keyboards/beekeeb/piantor/keyboard.json @@ -40,6 +40,9 @@ ["GP15", "GP14", "GP16", null, null, null] ] } + }, + "serial": { + "driver": "vendor" } }, "community_layouts": [ diff --git a/keyboards/beekeeb/piantor/rules.mk b/keyboards/beekeeb/piantor/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/beekeeb/piantor/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/beekeeb/piantor_pro/keyboard.json b/keyboards/beekeeb/piantor_pro/keyboard.json index c85247550e..ad4890ae68 100644 --- a/keyboards/beekeeb/piantor_pro/keyboard.json +++ b/keyboards/beekeeb/piantor_pro/keyboard.json @@ -24,7 +24,10 @@ "vid": "0xBEEB" }, "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "vendor" + } }, "community_layouts": [ "split_3x6_3" ], "layouts": { diff --git a/keyboards/beekeeb/piantor_pro/rules.mk b/keyboards/beekeeb/piantor_pro/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/beekeeb/piantor_pro/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/bioi/g60/g60.c b/keyboards/bioi/g60/g60.c deleted file mode 100644 index 3fdfef8897..0000000000 --- a/keyboards/bioi/g60/g60.c +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]> -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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F0); - gpio_write_pin_high(F0); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F0, !led_state.caps_lock); - } - return true; -} diff --git a/keyboards/bioi/g60/keyboard.json b/keyboards/bioi/g60/keyboard.json index 8d3dd58770..b98aee8273 100644 --- a/keyboards/bioi/g60/keyboard.json +++ b/keyboards/bioi/g60/keyboard.json @@ -35,6 +35,10 @@ "pin": "B7", "levels": 12 }, + "indicators": { + "caps_lock": "F0", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/bioi/morgan65/keyboard.json b/keyboards/bioi/morgan65/keyboard.json index 8f83237f82..5606233f2a 100644 --- a/keyboards/bioi/morgan65/keyboard.json +++ b/keyboards/bioi/morgan65/keyboard.json @@ -35,6 +35,10 @@ "pin": "B6", "levels": 12 }, + "indicators": { + "caps_lock": "F0", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/bioi/morgan65/morgan65.c b/keyboards/bioi/morgan65/morgan65.c deleted file mode 100644 index 3fdfef8897..0000000000 --- a/keyboards/bioi/morgan65/morgan65.c +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]> -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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F0); - gpio_write_pin_high(F0); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F0, !led_state.caps_lock); - } - return true; -} diff --git a/keyboards/bioi/s65/keyboard.json b/keyboards/bioi/s65/keyboard.json index c55852f31c..56d53b54cf 100644 --- a/keyboards/bioi/s65/keyboard.json +++ b/keyboards/bioi/s65/keyboard.json @@ -35,6 +35,10 @@ "pin": "B6", "levels": 12 }, + "indicators": { + "caps_lock": "F0", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/bioi/s65/s65.c b/keyboards/bioi/s65/s65.c deleted file mode 100644 index e632f31eeb..0000000000 --- a/keyboards/bioi/s65/s65.c +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]> -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 "quantum.h" -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F0); - gpio_write_pin_high(F0); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F0, !led_state.caps_lock); - } - return true; -} diff --git a/keyboards/boardsource/lib/oled.c b/keyboards/boardsource/lib/oled.c new file mode 100644 index 0000000000..c0fb6ab4a6 --- /dev/null +++ b/keyboards/boardsource/lib/oled.c @@ -0,0 +1,20 @@ +// Copyright 2024 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "oled.h" + +void render_layer_state(void) { + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_raw_P(layer0_img, sizeof(layer0_img)); + break; + case 1: + oled_write_raw_P(layer1_img, sizeof(layer1_img)); + break; + case 2: + oled_write_raw_P(layer2_img, sizeof(layer2_img)); + break; + case 3: + oled_write_raw_P(layer3_img, sizeof(layer3_img)); + break; + } +} diff --git a/keyboards/boardsource/unicorne/unicorne.h b/keyboards/boardsource/lib/oled.h index 68bbeeb18a..4778be20b0 100644 --- a/keyboards/boardsource/unicorne/unicorne.h +++ b/keyboards/boardsource/lib/oled.h @@ -1,54 +1,12 @@ -// Copyright 2023 jack (@waffle87) +// Copyright 2024 jack (@waffle87) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include "quantum.h" -#ifdef OLED_ENABLE -// clang-format off -static const char PROGMEM logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xe3, 0xe7, 0xe7, 0xe3, - 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, - 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, - 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xe7, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0x00, 0x00, 0x7f, - 0xff, 0xff, 0xff, 0xe3, 0xc1, 0x81, 0x81, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x03, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, - 0xcd, 0x8c, 0x8c, 0x8c, 0x8d, 0xcf, 0xcf, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; +void render_layer_state(void); -static const char PROGMEM layer_zero[] = { +// clang-format off +static const char PROGMEM layer0_img[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -83,8 +41,7 @@ static const char PROGMEM layer_zero[] = { 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -static const char PROGMEM layer_one[] = { +static const char PROGMEM layer1_img[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -119,8 +76,7 @@ static const char PROGMEM layer_one[] = { 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -static const char PROGMEM layer_two[] = { +static const char PROGMEM layer2_img[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -155,8 +111,7 @@ static const char PROGMEM layer_two[] = { 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -static const char PROGMEM layer_three[] = { +static const char PROGMEM layer3_img[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, @@ -190,5 +145,39 @@ static const char PROGMEM layer_three[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 }; + +static const char PROGMEM bs_logo_img[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, + 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, + 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; // clang-format on -#endif diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk new file mode 100644 index 0000000000..de6a3d8afc --- /dev/null +++ b/keyboards/boardsource/lulu/avr/rules.mk @@ -0,0 +1 @@ +SRC += lib/oled.c diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c index 8d011268c4..b20228a7d7 100644 --- a/keyboards/boardsource/lulu/lulu.c +++ b/keyboards/boardsource/lulu/lulu.c @@ -1,6 +1,7 @@ // Copyright 2022 Cole Smith <[email protected]> // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" +#include "lib/oled.h" #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { @@ -24,225 +25,20 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { #ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; - } - return rotation; -} - -void render_layer1_logo(void){ - static const char PROGMEM layer_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, - 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, - 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, - 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, - 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(layer_logo, sizeof(layer_logo)); -} - -void render_layer2_logo(void){ - static const char PROGMEM layer_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, - 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, - 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, - 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, - 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(layer_logo, sizeof(layer_logo)); -} - -void render_layer3_logo(void){ - static const char PROGMEM layer_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, - 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, - 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, - 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(layer_logo, sizeof(layer_logo)); -} - -void render_layer4_logo(void){ - static const char PROGMEM layer_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, - 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, - 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, - 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(layer_logo, sizeof(layer_logo)); -} - -void render_logo(void) { - static const char PROGMEM logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, - 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, - 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, - 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, - 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, - 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(logo, sizeof(logo)); -} - -void process_layer_state(void) { - switch (get_highest_layer(layer_state)) { - case 0: - render_layer1_logo(); - break; - case 1: - render_layer2_logo(); - break; - case 2: - render_layer3_logo(); - break; - case 3: - render_layer4_logo(); - break; + if (!is_keyboard_master()) { + return OLED_ROTATION_180; } + return rotation; } bool oled_task_kb(void) { - if (!oled_task_user()) { return false; } + if (!oled_task_user()) { + return false; + } if (is_keyboard_master()) { - process_layer_state(); + render_layer_state(); } else { - render_logo(); + oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img)); } return false; } diff --git a/keyboards/boardsource/lulu/rp2040/keyboard.json b/keyboards/boardsource/lulu/rp2040/keyboard.json index a1e8db89a9..db0b7a50c6 100644 --- a/keyboards/boardsource/lulu/rp2040/keyboard.json +++ b/keyboards/boardsource/lulu/rp2040/keyboard.json @@ -10,6 +10,11 @@ {"pin_a": "GP8", "pin_b": "GP9"} ] }, + "split": { + "serial": { + "driver": "vendor" + } + }, "ws2812": { "pin": "GP29", "driver": "vendor" diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk index 161ec22b16..de6a3d8afc 100644 --- a/keyboards/boardsource/lulu/rp2040/rules.mk +++ b/keyboards/boardsource/lulu/rp2040/rules.mk @@ -1 +1 @@ -SERIAL_DRIVER = vendor +SRC += lib/oled.c diff --git a/keyboards/boardsource/the_q/keyboard.json b/keyboards/boardsource/the_q/keyboard.json new file mode 100644 index 0000000000..b48b5e080b --- /dev/null +++ b/keyboards/boardsource/the_q/keyboard.json @@ -0,0 +1,142 @@ +{ + "manufacturer": "Boardsource", + "keyboard_name": "The Q", + "maintainer": "waffle87", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "oled": true + }, + "matrix_pins": { + "rows": ["B2", "B3", "B1", "F7", "F6", "F5", "F4"], + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"] + }, + "url": "https://boardsource.xyz", + "usb": { + "device_version": "1.0.0", + "pid": "0x7552", + "vid": "0x4273" + }, + "ws2812": { + "pin": "B6" + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_val": true, + "breathing": true, + "gradient_left_right": true, + "gradient_up_down": true + }, + "default": { + "animation": "alphas_mods" + }, + "max_brightness": 150, + "driver": "ws2812", + "layout": [ + {"x": 112, "y": 10, "flags": 2}, + {"x": 181, "y": 5, "flags": 2}, + {"x": 215, "y": 53, "flags": 2}, + {"x": 112, "y": 64, "flags": 2}, + {"x": 26, "y": 53, "flags": 2}, + {"x": 43, "y": 5, "flags": 2}, + {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 17, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 17, "y": 21, "flags": 4}, + {"matrix": [2, 2], "x": 34, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 34, "y": 42, "flags": 4}, + {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 69, "y": 21, "flags": 4}, + {"matrix": [1, 4], "x": 69, "y": 42, "flags": 4}, + {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 86, "y": 42, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 21, "flags": 4}, + {"matrix": [3, 0], "x": 69, "y": 20, "flags": 1}, + {"matrix": [3, 1], "x": 86, "y": 20, "flags": 1}, + {"matrix": [3, 2], "x": 103, "y": 64, "flags": 1}, + {"matrix": [3, 3], "x": 120, "y": 64, "flags": 1}, + {"matrix": [3, 4], "x": 138, "y": 20, "flags": 1}, + {"matrix": [3, 5], "x": 155, "y": 20, "flags": 1}, + {"matrix": [4, 5], "x": 138, "y": 21, "flags": 4}, + {"matrix": [5, 5], "x": 138, "y": 42, "flags": 4}, + {"matrix": [6, 5], "x": 138, "y": 0, "flags": 4}, + {"matrix": [6, 4], "x": 155, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 155, "y": 42, "flags": 4}, + {"matrix": [4, 4], "x": 155, "y": 21, "flags": 4}, + {"matrix": [4, 3], "x": 172, "y": 21, "flags": 4}, + {"matrix": [5, 3], "x": 172, "y": 42, "flags": 4}, + {"matrix": [6, 3], "x": 172, "y": 0, "flags": 4}, + {"matrix": [6, 2], "x": 189, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 189, "y": 42, "flags": 4}, + {"matrix": [4, 2], "x": 189, "y": 21, "flags": 4}, + {"matrix": [4, 1], "x": 206, "y": 21, "flags": 4}, + {"matrix": [5, 1], "x": 206, "y": 42, "flags": 4}, + {"matrix": [6, 1], "x": 206, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 0, "flags": 1}, + {"matrix": [5, 0], "x": 224, "y": 42, "flags": 1}, + {"matrix": [4, 0], "x": 224, "y": 21, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 21, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 42, "flags": 1}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} + ] + }, + "community_layouts": ["split_3x6_3"], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [6, 5], "x": 8, "y": 0.25}, + {"matrix": [6, 4], "x": 9, "y": 0.125}, + {"matrix": [6, 3], "x": 10, "y": 0}, + {"matrix": [6, 2], "x": 11, "y": 0.125}, + {"matrix": [6, 1], "x": 12, "y": 0.25}, + {"matrix": [6, 0], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 5], "x": 8, "y": 1.25}, + {"matrix": [5, 4], "x": 9, "y": 1.125}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.125}, + {"matrix": [5, 1], "x": 12, "y": 1.25}, + {"matrix": [5, 0], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [4, 5], "x": 8, "y": 2.25}, + {"matrix": [4, 4], "x": 9, "y": 2.125}, + {"matrix": [4, 3], "x": 10, "y": 2}, + {"matrix": [4, 2], "x": 11, "y": 2.125}, + {"matrix": [4, 1], "x": 12, "y": 2.25}, + {"matrix": [4, 0], "x": 13, "y": 2.25}, + {"matrix": [3, 0], "x": 3.5, "y": 3.25}, + {"matrix": [3, 1], "x": 4.5, "y": 3.5}, + {"matrix": [3, 2], "x": 5.5, "y": 3.75}, + {"matrix": [3, 3], "x": 7.5, "y": 3.75}, + {"matrix": [3, 4], "x": 8.5, "y": 3.5}, + {"matrix": [3, 5], "x": 9.5, "y": 3.25} + ] + } + } +} diff --git a/keyboards/boardsource/the_q/keymaps/default/keymap.json b/keyboards/boardsource/the_q/keymaps/default/keymap.json new file mode 100644 index 0000000000..69aa6f8629 --- /dev/null +++ b/keyboards/boardsource/the_q/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "boardsource/the_q", + "keymap": "default", + "layout": "LAYOUT_split_3x6_3", + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "_______", "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", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/the_q/keymaps/via/keymap.json b/keyboards/boardsource/the_q/keymaps/via/keymap.json new file mode 100644 index 0000000000..40a68c3f51 --- /dev/null +++ b/keyboards/boardsource/the_q/keymaps/via/keymap.json @@ -0,0 +1,30 @@ +{ + "keyboard": "boardsource/the_q", + "keymap": "via", + "layout": "LAYOUT_split_3x6_3", + "config": { + "features": { + "via": true + } + }, + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "_______", "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", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/the_q/readme.md b/keyboards/boardsource/the_q/readme.md new file mode 100644 index 0000000000..9ec8fe8eda --- /dev/null +++ b/keyboards/boardsource/the_q/readme.md @@ -0,0 +1,23 @@ +# The Q + +* Keyboard Maintainer: [waffle87](https://github.com/waffle87) +* Hardware Supported: The Q PCB w/ Pro Micro style microcontroller +* Hardware Availability: [boardsource.xyz](https://boardsource.xyz) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/the_q:default + +Flashing example for this keyboard: + + mke boardsource/the_q:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) +* **Physical reset button**: Briefly press the button on the front of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/boardsource/the_q/rules.mk b/keyboards/boardsource/the_q/rules.mk new file mode 100644 index 0000000000..de6a3d8afc --- /dev/null +++ b/keyboards/boardsource/the_q/rules.mk @@ -0,0 +1 @@ +SRC += lib/oled.c diff --git a/keyboards/boardsource/the_q/the_q.c b/keyboards/boardsource/the_q/the_q.c new file mode 100644 index 0000000000..0929456911 --- /dev/null +++ b/keyboards/boardsource/the_q/the_q.c @@ -0,0 +1,14 @@ +// Copyright 2024 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" +#include "lib/oled.h" + +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_layer_state(); + return false; +} +#endif diff --git a/keyboards/boardsource/unicorne/keyboard.json b/keyboards/boardsource/unicorne/keyboard.json index 4fb63de9e3..f9d1a5e666 100644 --- a/keyboards/boardsource/unicorne/keyboard.json +++ b/keyboards/boardsource/unicorne/keyboard.json @@ -21,6 +21,9 @@ "split": { "enabled": true, "soft_serial_pin": "GP0", + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "layer_state": true diff --git a/keyboards/boardsource/unicorne/rules.mk b/keyboards/boardsource/unicorne/rules.mk index 48b30dcd51..53d7e1b681 100644 --- a/keyboards/boardsource/unicorne/rules.mk +++ b/keyboards/boardsource/unicorne/rules.mk @@ -1,2 +1,2 @@ -SERIAL_DRIVER = vendor POINTING_DEVICE_DRIVER = analog_joystick +SRC += lib/oled.c diff --git a/keyboards/boardsource/unicorne/unicorne.c b/keyboards/boardsource/unicorne/unicorne.c index 22cd1e4a37..f9dac8d3ef 100644 --- a/keyboards/boardsource/unicorne/unicorne.c +++ b/keyboards/boardsource/unicorne/unicorne.c @@ -1,6 +1,7 @@ -// Copyright 2023 jack (@waffle87) +// Copyright 2024 jack (@waffle87) // SPDX-License-Identifier: GPL-2.0-or-later -#include "unicorne.h" +#include "quantum.h" +#include "lib/oled.h" #ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { @@ -15,22 +16,9 @@ bool oled_task_kb(void) { return false; } if (is_keyboard_master()) { - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_raw(layer_zero, sizeof(layer_zero)); - break; - case 1: - oled_write_raw(layer_one, sizeof(layer_one)); - break; - case 2: - oled_write_raw(layer_two, sizeof(layer_two)); - break; - case 3: - oled_write_raw(layer_three, sizeof(layer_three)); - break; - } + render_layer_state(); } else { - oled_write_raw(logo, sizeof(logo)); + oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img)); } return false; } diff --git a/keyboards/budgy/keyboard.json b/keyboards/budgy/keyboard.json index 645336e8ad..0dc45c9da0 100644 --- a/keyboards/budgy/keyboard.json +++ b/keyboards/budgy/keyboard.json @@ -37,6 +37,9 @@ ["GP18", "GP17", null, null, null] ] } + }, + "serial": { + "driver": "vendor" } }, "community_layouts": ["split_3x5_2"], diff --git a/keyboards/budgy/rules.mk b/keyboards/budgy/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/budgy/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c index aab005ebd8..7e0b82e9e7 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c @@ -101,7 +101,7 @@ uint16_t handle_encoder_clockwise(void){ mapped_code = KC_MEDIA_NEXT_TRACK; break; case ENC_MODE_SCROLL: - mapped_code = KC_WH_D; + mapped_code = QK_MOUSE_WHEEL_DOWN; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: @@ -143,7 +143,7 @@ uint16_t handle_encoder_ccw(void){ mapped_code = KC_MEDIA_PREV_TRACK; break; case ENC_MODE_SCROLL: - mapped_code = KC_WH_U; + mapped_code = QK_MOUSE_WHEEL_UP; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: @@ -186,7 +186,7 @@ uint16_t handle_encoder_press(void){ mapped_code = KC_MEDIA_PLAY_PAUSE; break; case ENC_MODE_SCROLL: - mapped_code = KC_BTN3; + mapped_code = QK_MOUSE_BUTTON_3; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: diff --git a/keyboards/cantor/keyboard.json b/keyboards/cantor/keyboard.json index a9d84e6c8f..26b79c0280 100644 --- a/keyboards/cantor/keyboard.json +++ b/keyboards/cantor/keyboard.json @@ -39,6 +39,9 @@ ["A0", "A1", "A2", null, null, null] ] } + }, + "serial": { + "driver": "usart" } }, "community_layouts": ["split_3x6_3"], diff --git a/keyboards/cantor/rules.mk b/keyboards/cantor/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/cantor/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/cheshire/curiosity/curiosity.c b/keyboards/cheshire/curiosity/curiosity.c deleted file mode 100644 index 2813cff9b4..0000000000 --- a/keyboards/cheshire/curiosity/curiosity.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "quantum.h" - -void matrix_init_board(void){ - gpio_set_pin_output(A8); - gpio_set_pin_output(A9); - gpio_set_pin_output(A10); -} - -bool led_update_kb(led_t led_state) { - bool runDefault = led_update_user(led_state); - if (runDefault) { - gpio_write_pin(A8, !led_state.num_lock); - gpio_write_pin(A9, !led_state.caps_lock); - gpio_write_pin(A10, !led_state.scroll_lock); - } - return runDefault; -} diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json index 679f2a45d1..b408a5b6e9 100644 --- a/keyboards/cheshire/curiosity/keyboard.json +++ b/keyboards/cheshire/curiosity/keyboard.json @@ -7,6 +7,12 @@ "pid": "0x0FAD", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "A9", + "num_lock": "A8", + "scroll_lock": "A10", + "on_state": 0 + }, "rgblight": { "led_count": 14, "animations": { diff --git a/keyboards/chew/keyboard.json b/keyboards/chew/keyboard.json index f6ddaa627d..94617257e8 100644 --- a/keyboards/chew/keyboard.json +++ b/keyboards/chew/keyboard.json @@ -32,6 +32,9 @@ ] } }, + "serial": { + "driver": "vendor" + }, "transport": { "watchdog": true } diff --git a/keyboards/chew/rules.mk b/keyboards/chew/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/chew/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c index 2b40d5a5e6..0e23c32335 100644 --- a/keyboards/cipulot/ec_980c/ec_980c.c +++ b/keyboards/cipulot/ec_980c/ec_980c.c @@ -86,6 +86,10 @@ void keyboard_post_init_kb(void) { * Num | Caps | Scroll | */ bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (eeprom_ec_config.num.enabled) { // The rgb_matrix_set_color function needs an RGB code to work, so first the indicator color is cast to an HSV value and then translated to RGB HSV hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v}; diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c index d8e0f9236e..b899ddbb8a 100644 --- a/keyboards/cipulot/ec_typek/ec_typek.c +++ b/keyboards/cipulot/ec_typek/ec_typek.c @@ -82,12 +82,14 @@ void keyboard_post_init_kb(void) { // This function gets called when caps, num, scroll change bool led_update_kb(led_t led_state) { - indicators_callback(); + if(led_update_user(led_state)) { + indicators_callback(); + } return true; } // This function is called when layers change -layer_state_t layer_state_set_user(layer_state_t state) { +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { indicators_callback(); return state; } diff --git a/keyboards/clueboard/2x1800/2019/2019.c b/keyboards/clueboard/2x1800/2019/2019.c index 8b0ba6a71e..5910ca61e9 100644 --- a/keyboards/clueboard/2x1800/2019/2019.c +++ b/keyboards/clueboard/2x1800/2019/2019.c @@ -18,9 +18,6 @@ void matrix_init_kb(void) { // Set our LED pins as output gpio_set_pin_output(D6); - gpio_set_pin_output(B4); - gpio_set_pin_output(B5); - gpio_set_pin_output(B6); // Set our Tilt Sensor pins as input gpio_set_pin_input_high(SHAKE_PIN_A); @@ -133,22 +130,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B4, !led_state.num_lock); - gpio_write_pin(B5, !led_state.caps_lock); - gpio_write_pin(B6, !led_state.scroll_lock); - } - - return res; -} - -__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; } -__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return encoder_update_keymap(index, clockwise); } - bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { + if (encoder_update_user(index, clockwise)) { // Encoder 1, outside left if (index == 0 && clockwise) { tap_code(KC_MS_U); // turned right diff --git a/keyboards/clueboard/2x1800/2019/2019.h b/keyboards/clueboard/2x1800/2019/2019.h index c5869ff66f..d5867dacac 100644 --- a/keyboards/clueboard/2x1800/2019/2019.h +++ b/keyboards/clueboard/2x1800/2019/2019.h @@ -24,8 +24,5 @@ enum TWOx1800_keycodes { ENC_BTN4, }; -// Encoder update function that returns true/false -bool encoder_update_keymap(uint8_t index, bool clockwise); - // Encoder button combo check void check_encoder_buttons(void); diff --git a/keyboards/clueboard/2x1800/2019/keyboard.json b/keyboards/clueboard/2x1800/2019/keyboard.json index 6f33a11ca7..31ff448d17 100644 --- a/keyboards/clueboard/2x1800/2019/keyboard.json +++ b/keyboards/clueboard/2x1800/2019/keyboard.json @@ -32,6 +32,12 @@ {"pin_a": "A1", "pin_b": "A0"} ] }, + "indicators": { + "caps_lock": "B5", + "num_lock": "B4", + "scroll_lock": "B6", + "on_state": 0 + }, "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c index 2a3f1304c7..d140c1cf15 100644 --- a/keyboards/clueboard/2x1800/2021/2021.c +++ b/keyboards/clueboard/2x1800/2021/2021.c @@ -26,6 +26,8 @@ void matrix_scan_kb(void) { max7219_message_sign_task(true); led_frame_timer = timer_read(); } + + matrix_scan_user(); } #endif @@ -90,18 +92,15 @@ void matrix_init_kb(void) { #elif defined(DRAWING_TOY_MODE) max7219_set_led(0, 0, true); #endif -} -__attribute__ ((weak)) -bool encoder_update_keymap(int8_t index, bool clockwise) { - return false; + matrix_init_user(); } #define NUM_COLUMNS 8*MAX7219_CONTROLLERS uint8_t led_position[2] = {0,0}; // The location of the cursor in the matrix bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_keymap(index, clockwise)) { + if (encoder_update_user(index, clockwise)) { #if defined(DRAWING_TOY_MODE) // Encoder 1, left if (index == 0 && clockwise) { diff --git a/keyboards/controllerworks/mini36/keyboard.json b/keyboards/controllerworks/mini36/keyboard.json index a3b5365109..dc0f63638f 100644 --- a/keyboards/controllerworks/mini36/keyboard.json +++ b/keyboards/controllerworks/mini36/keyboard.json @@ -40,6 +40,9 @@ } }, "soft_serial_pin": "GP1", + "serial": { + "driver": "vendor" + }, "transport": { "protocol": "serial", "sync": { diff --git a/keyboards/controllerworks/mini36/rules.mk b/keyboards/controllerworks/mini36/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/controllerworks/mini36/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/controllerworks/mini42/keyboard.json b/keyboards/controllerworks/mini42/keyboard.json index 5d1d56db1a..a1dc0df34c 100644 --- a/keyboards/controllerworks/mini42/keyboard.json +++ b/keyboards/controllerworks/mini42/keyboard.json @@ -40,6 +40,9 @@ } }, "soft_serial_pin": "GP1", + "serial": { + "driver": "vendor" + }, "transport": { "protocol": "serial", "sync": { diff --git a/keyboards/controllerworks/mini42/rules.mk b/keyboards/controllerworks/mini42/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/controllerworks/mini42/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/converter/ibm_terminal/led.c b/keyboards/converter/ibm_terminal/led.c index 1bcde277a2..1639388ff9 100644 --- a/keyboards/converter/ibm_terminal/led.c +++ b/keyboards/converter/ibm_terminal/led.c @@ -19,16 +19,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "ps2.h" #include "led.h" - -bool led_update_kb(led_t led_state) -{ - uint8_t ps2_led = 0; - if (led_state.scroll_lock) - ps2_led |= (1<<PS2_LED_SCROLL_LOCK); - if (led_state.num_lock) - ps2_led |= (1<<PS2_LED_NUM_LOCK); - if (led_state.caps_lock) - ps2_led |= (1<<PS2_LED_CAPS_LOCK); - ps2_host_set_led(ps2_led); +bool led_update_kb(led_t led_state) { + if(led_update_user(led_state)) { + uint8_t ps2_led = 0; + if (led_state.scroll_lock) + ps2_led |= (1<<PS2_LED_SCROLL_LOCK); + if (led_state.num_lock) + ps2_led |= (1<<PS2_LED_NUM_LOCK); + if (led_state.caps_lock) + ps2_led |= (1<<PS2_LED_CAPS_LOCK); + ps2_host_set_led(ps2_led); + } return false; } diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp index ca0855a82b..e1ef695570 100644 --- a/keyboards/converter/usb_usb/custom_matrix.cpp +++ b/keyboards/converter/usb_usb/custom_matrix.cpp @@ -229,7 +229,6 @@ extern "C" { if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led); if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led); if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led); - led_set_user(usb_led); led_update_kb((led_t){.raw = usb_led}); } } diff --git a/keyboards/converter/xmk/xmk.c b/keyboards/converter/xmk/xmk.c index e0df96fc2d..8a24e5f964 100644 --- a/keyboards/converter/xmk/xmk.c +++ b/keyboards/converter/xmk/xmk.c @@ -10,5 +10,7 @@ void keyboard_post_init_kb(void) { debug_enable=true; debug_matrix=true; debug_keyboard=true; + + keyboard_post_init_user(); } #endif diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h b/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h index 3e0c8d146a..6a9ab04738 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h @@ -15,6 +15,6 @@ */ #pragma once -#define ENCODERS_PAD_A { B5, B6 } -#define ENCODERS_PAD_B { B4, B2 } +#define ENCODER_A_PINS { B5, B6 } +#define ENCODER_B_PINS { B4, B2 } #define ENCODER_RESOLUTION 4 diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c index b83f7b82e9..b92beb73cc 100755 --- a/keyboards/dichotomy/keymaps/default/keymap.c +++ b/keyboards/dichotomy/keymaps/default/keymap.c @@ -28,9 +28,9 @@ enum dichotomy_keycodes NUMKEY, SFTKEY, MOUKEY, - MS_BTN1, - MS_BTN2, - MS_BTN3 + CK_MSE1, + CK_MSE2, + CK_MSE3 }; #define CUSTOM_LONGPRESS 150 @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NUMKEY, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CK_QE, SFTKEY, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUKEY, KC_LCTL, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_RCTL, - MS_BTN3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, MS_BTN3 + CK_MSE3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, CK_MSE3 ), [_SF] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */ @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MS] = LAYOUT( /* Mouse layer, including buttons for clicking. */ _______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, CK_MSE1, CK_MSE2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______ @@ -311,7 +311,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; //mouse buttons, for 1-3, to update the mouse report: - case MS_BTN1: + case CK_MSE1: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ @@ -327,7 +327,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { pointing_device_set_report(currentReport); returnVal = false; break; - case MS_BTN2: + case CK_MSE2: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ @@ -343,7 +343,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { pointing_device_set_report(currentReport); returnVal = false; break; - case MS_BTN3: + case CK_MSE3: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ diff --git a/keyboards/dnworks/9973/config.h b/keyboards/dnworks/tkl87/config.h index 77970ce4d3..77970ce4d3 100644 --- a/keyboards/dnworks/9973/config.h +++ b/keyboards/dnworks/tkl87/config.h diff --git a/keyboards/dnworks/9973/keyboard.json b/keyboards/dnworks/tkl87/keyboard.json index 6169606026..6b56435ae3 100644 --- a/keyboards/dnworks/9973/keyboard.json +++ b/keyboards/dnworks/tkl87/keyboard.json @@ -1,5 +1,5 @@ { - "keyboard_name": "DN 997.3", + "keyboard_name": "DN TKL F12", "maintainer": "itsme-zeix", "manufacturer": "dnworks", "processor": "RP2040", diff --git a/keyboards/dnworks/9973/keymaps/default/keymap.c b/keyboards/dnworks/tkl87/keymaps/default/keymap.c index 8307bf9e76..8307bf9e76 100644 --- a/keyboards/dnworks/9973/keymaps/default/keymap.c +++ b/keyboards/dnworks/tkl87/keymaps/default/keymap.c diff --git a/keyboards/dnworks/9973/keymaps/via/keymap.c b/keyboards/dnworks/tkl87/keymaps/via/keymap.c index 8307bf9e76..8307bf9e76 100644 --- a/keyboards/dnworks/9973/keymaps/via/keymap.c +++ b/keyboards/dnworks/tkl87/keymaps/via/keymap.c diff --git a/keyboards/dnworks/9973/keymaps/via/rules.mk b/keyboards/dnworks/tkl87/keymaps/via/rules.mk index 1e5b99807c..1e5b99807c 100644 --- a/keyboards/dnworks/9973/keymaps/via/rules.mk +++ b/keyboards/dnworks/tkl87/keymaps/via/rules.mk diff --git a/keyboards/dnworks/9973/readme.md b/keyboards/dnworks/tkl87/readme.md index 790f236cb7..121cdccddf 100644 --- a/keyboards/dnworks/9973/readme.md +++ b/keyboards/dnworks/tkl87/readme.md @@ -1,20 +1,20 @@ -# 997.3 TKL +# dnworks TKL (F12) ![997.3 TKL](https://i.imgur.com/iPPLKg1h.jpeg) -PCB that supports the 997.3 TKL designed by dnworks, including its variants. +PCB that supports the F12 TKLs designed by dnworks. * Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) -* Hardware Supported: 997.3 Solder PCB rev1 -* Hardware Availability: dnworks.co +* Hardware Supported: 997.3 Solder PCB rev1, 765LT Solder PCB rev1 and Best Friend Solder PCB Rev1. +* Hardware Availability: https://dnworks.co/products Make example for this keyboard (after setting up your build environment): - make dnworks/997pt3:default + make dnworks/tkl87:default Flashing example for this keyboard: - make dnworks/997pt3:default:flash + make dnworks/tkl87:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). @@ -22,6 +22,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard -* **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard +* **Bootmagic reset**: Hold down escape and plug in the keyboard +* **Physical reset button**: Short the 'USB_BOOT' button and plug in keyboard or press the 'RESET' button twice with the keyboard plugged in. * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
\ No newline at end of file diff --git a/keyboards/doio/kb30/kb30.c b/keyboards/doio/kb30/kb30.c index 53a4546e06..671f49e8ab 100644 --- a/keyboards/doio/kb30/kb30.c +++ b/keyboards/doio/kb30/kb30.c @@ -17,34 +17,6 @@ #include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - - led_config_t g_led_config = { { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6}, - { 7, 8, 9, 10, 11, 12, 13}, - { 14, 15, 16, 17, 18, 19, NO_LED }, - { 20, 21, 22, 23, NO_LED, 24, NO_LED}, - { 25, 26, 27, 28, 29, NO_LED, NO_LED}, - { 30, 31, 32, 33, 34, 35} -}, { -{0,0}, {37,0}, {75,0}, {112,0}, {149,0}, {187,0}, {224,0}, -{0,16}, {37,16}, {75,16}, {112,16}, {149,16}, {187,16}, {224,16}, -{0,32}, {37,32}, {75,32}, {112,32}, {149,32}, {187,32}, -{0,48}, {37,48}, {75,48}, {112,48}, {187,48}, -{0,64}, {37,64}, {65,64}, {112,64}, {149,64}, -{187,64}, {173,64}, {186,64}, {198,64}, {211,64},{224,64}, -}, { - 4,4,4,4,4,4,4, - 4,4,4,4,4,4,4, - 4,4,4,4,4,4, - 4,4,4,4,4, - 4,4,4,4,4, - 4,4,4,4,4,4 -} }; -#endif - /* OLED */ #ifdef OLED_ENABLE uint16_t startup_timer = 0; diff --git a/keyboards/doio/kb30/keyboard.json b/keyboards/doio/kb30/keyboard.json index b14eab1c33..388df2d9e3 100644 --- a/keyboards/doio/kb30/keyboard.json +++ b/keyboards/doio/kb30/keyboard.json @@ -46,7 +46,50 @@ }, "driver": "ws2812", "max_brightness": 200, - "sleep": true + "sleep": true, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 37, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 187, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 75, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 149, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 224, "y": 16, "flags": 4}, + + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 37, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 75, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 112, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 149, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 187, "y": 32, "flags": 4}, + + {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, + {"matrix": [3, 1], "x": 37, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 75, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 187, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 18, "y": 64, "flags": 4}, + {"matrix": [4, 1], "x": 75, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 149, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 187, "y": 64, "flags": 4}, + {"matrix": [4, 4], "x": 224, "y": 64, "flags": 4}, + + {"x": 224, "y": 56, "flags": 2}, + {"x": 112, "y": 56, "flags": 2}, + {"x": 0, "y": 56, "flags": 2}, + {"x": 0, "y": 8, "flags": 2}, + {"x": 112, "y": 8, "flags": 2}, + {"x": 224, "y": 8, "flags": 2} + ] }, "features": { "bootmagic": true, diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h deleted file mode 100644 index 20a23ab6da..0000000000 --- a/keyboards/doppelganger/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2019 Yiancar-Designs - -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 SPLIT_HAND_PIN D4 - -// #define USE_I2C - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c index 4a62fdf45f..de0e2cc755 100644 --- a/keyboards/doppelganger/doppelganger.c +++ b/keyboards/doppelganger/doppelganger.c @@ -16,21 +16,9 @@ #include "quantum.h" void keyboard_pre_init_kb(void) { - gpio_set_pin_output(C6); gpio_set_pin_output(B0); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(C6, !led_state.caps_lock); - } - return res; + keyboard_pre_init_user(); } __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { diff --git a/keyboards/doppelganger/keyboard.json b/keyboards/doppelganger/keyboard.json index 9ea2241a80..f77597c990 100644 --- a/keyboards/doppelganger/keyboard.json +++ b/keyboards/doppelganger/keyboard.json @@ -8,6 +8,10 @@ "pid": "0x4447", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "C6", + "on_state": 0 + }, "matrix_pins": { "cols": ["F4", "F0", "B7", "B3", "B2", "B1", "D5", "D3", "D2"], "rows": ["E6", "F1", "C7", "F7", "F6"] @@ -15,6 +19,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D4" + }, "soft_serial_pin": "D1", "matrix_pins": { "right": { diff --git a/keyboards/duck/orion/v3/keyboard.json b/keyboards/duck/orion/v3/keyboard.json index 280cd8b07f..ba479aa0a2 100644 --- a/keyboards/duck/orion/v3/keyboard.json +++ b/keyboards/duck/orion/v3/keyboard.json @@ -16,6 +16,12 @@ "bootmagic": { "matrix": [4, 10] }, + "indicators": { + "caps_lock": "B0", + "num_lock": "B4", + "scroll_lock": "D7", + "on_state": 0 + }, "rgblight": { "led_count": 18, "animations": { diff --git a/keyboards/duck/orion/v3/matrix.c b/keyboards/duck/orion/v3/matrix.c index 1dd07a6567..acd4fe0349 100644 --- a/keyboards/duck/orion/v3/matrix.c +++ b/keyboards/duck/orion/v3/matrix.c @@ -53,20 +53,7 @@ __attribute__ ((weak)) void matrix_scan_user(void) { } -void indicator_init_ports(void) { - - // Num LED - gpio_set_pin_output(B4); - - // Caps Lock - gpio_set_pin_output(B0); - - // Scroll Lock - gpio_set_pin_output(D7); -} - void matrix_init(void) { - indicator_init_ports(); unselect_cols(); init_rows(); diff --git a/keyboards/duck/orion/v3/v3.c b/keyboards/duck/orion/v3/v3.c deleted file mode 100644 index c0ca9ddd06..0000000000 --- a/keyboards/duck/orion/v3/v3.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2019 MechMerlin <[email protected]> - * - * 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 "quantum.h" -#include "indicator_leds.h" - -// Alphas PB1 -// Navigation Cluster: PB2 -// Number Row, Mods: PB3 -// Function Row: PE6 - -// Other than using RGB or LED matrix, QMK cannot turn on specific zones -// of backlight LEDs. Unfortunately, Duck PCBs do not follow this design -// and instead use multiple pins connected to each of these zones. QMK is -// only able to control them ALL with the current default mechanisms. - -// Locking indicator LEDs -// The Duck Orion V3 has 3 locking indicator LEDs and are located to the right -// of the Escape key. -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(B0, !led_state.caps_lock); - gpio_write_pin(B4, !led_state.num_lock); - gpio_write_pin(D7, !led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/durgod/k310/k310.c b/keyboards/durgod/k310/k310.c index 7879b13f4e..c176587ef2 100644 --- a/keyboards/durgod/k310/k310.c +++ b/keyboards/durgod/k310/k310.c @@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) { bootloader_jump(); } #endif + + keyboard_pre_init_user(); } diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c index 0a544fe318..50b87d7241 100644 --- a/keyboards/durgod/k320/k320.c +++ b/keyboards/durgod/k320/k320.c @@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) { bootloader_jump(); } #endif + + keyboard_pre_init_user(); } diff --git a/keyboards/dztech/bocc/bocc.c b/keyboards/dztech/bocc/bocc.c deleted file mode 100644 index 646a7861f8..0000000000 --- a/keyboards/dztech/bocc/bocc.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 dztech - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(E6); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(E6, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/dztech/bocc/keyboard.json b/keyboards/dztech/bocc/keyboard.json index 7e40fde49c..a6208b2bf7 100644 --- a/keyboards/dztech/bocc/keyboard.json +++ b/keyboards/dztech/bocc/keyboard.json @@ -33,6 +33,10 @@ "pin": "B7", "levels": 5 }, + "indicators": { + "caps_lock": "E6", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/ealdin/quadrant/keyboard.json b/keyboards/ealdin/quadrant/keyboard.json index 9f7a6143d2..7a8bcf0db2 100644 --- a/keyboards/ealdin/quadrant/keyboard.json +++ b/keyboards/ealdin/quadrant/keyboard.json @@ -34,6 +34,9 @@ {"pin_a": "D5", "pin_b": "F1"} ] }, + "indicators": { + "caps_lock": "F0" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/ealdin/quadrant/quadrant.c b/keyboards/ealdin/quadrant/quadrant.c index 23be00b96f..328c92e02e 100644 --- a/keyboards/ealdin/quadrant/quadrant.c +++ b/keyboards/ealdin/quadrant/quadrant.c @@ -52,16 +52,3 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F0); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F0, led_state.caps_lock); - } - return true; -} diff --git a/keyboards/elcantorhs/keyboard.json b/keyboards/elcantorhs/keyboard.json index 6ed958463e..c0d52b915b 100644 --- a/keyboards/elcantorhs/keyboard.json +++ b/keyboards/elcantorhs/keyboard.json @@ -37,6 +37,9 @@ ["B12", "A0", "A1", "A2", null, null] ] } + }, + "serial": { + "driver": "usart" } }, "layouts": { diff --git a/keyboards/elcantorhs/rules.mk b/keyboards/elcantorhs/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/elcantorhs/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/enviousdesign/commissions/mini1800/mini1800.c b/keyboards/enviousdesign/commissions/mini1800/mini1800.c index 86757dab8a..4f4be779ca 100644 --- a/keyboards/enviousdesign/commissions/mini1800/mini1800.c +++ b/keyboards/enviousdesign/commissions/mini1800/mini1800.c @@ -1,23 +1,27 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ +// SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" -void matrix_init_user(void) { +void matrix_init_kb(void) { gpio_set_pin_output(GP9); //init gpio gpio_write_pin_low(GP9); gpio_set_pin_output(GP11); //init and turn off inverted power led gpio_write_pin_high(GP11); + + matrix_init_user(); } //layer, capslock and numlock -layer_state_t layer_state_set_user(layer_state_t state) { +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { gpio_write_pin(GP9, layer_state_cmp(state, 1)); - return state; + return state; } -bool led_update_user(led_t led_state) { +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) { led_state.num_lock = !led_state.num_lock; led_update_ports(led_state); - return false; + } + return res; } - diff --git a/keyboards/era/sirind/tomak/config.h b/keyboards/era/sirind/tomak/config.h index 7bb5610705..0f34f674df 100644 --- a/keyboards/era/sirind/tomak/config.h +++ b/keyboards/era/sirind/tomak/config.h @@ -4,7 +4,6 @@ #pragma once /* Split configuration */ -#define SPLIT_HAND_PIN GP21 #define USB_VBUS_PIN GP29 #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 diff --git a/keyboards/era/sirind/tomak/keyboard.json b/keyboards/era/sirind/tomak/keyboard.json index 1d0d5b79b2..cfd933bfe6 100644 --- a/keyboards/era/sirind/tomak/keyboard.json +++ b/keyboards/era/sirind/tomak/keyboard.json @@ -175,6 +175,9 @@ "bootmagic": { "matrix": [6, 0] }, + "handedness": { + "pin": "GP21" + }, "enabled": true, "matrix_pins": { "right": { @@ -182,6 +185,9 @@ "rows": ["GP10", "GP11", "GP12", "GP28", "GP19", "GP16"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/era/sirind/tomak/rules.mk b/keyboards/era/sirind/tomak/rules.mk deleted file mode 100644 index 743228e94b..0000000000 --- a/keyboards/era/sirind/tomak/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor
\ No newline at end of file diff --git a/keyboards/evyd13/gh80_3700/gh80_3700.c b/keyboards/evyd13/gh80_3700/gh80_3700.c index 6d903e48e1..8c4c81fe64 100644 --- a/keyboards/evyd13/gh80_3700/gh80_3700.c +++ b/keyboards/evyd13/gh80_3700/gh80_3700.c @@ -15,24 +15,16 @@ */ #include "quantum.h" -void led_init_ports(void) { - gpio_set_pin_output(E6); +void keyboard_pre_init_kb(void) { gpio_set_pin_output(B1); gpio_set_pin_output(D0); gpio_set_pin_output(D1); gpio_set_pin_output(F0); - gpio_write_pin_high(E6); gpio_write_pin_high(B1); gpio_write_pin_high(D0); gpio_write_pin_high(D1); gpio_write_pin_high(F0); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(E6, !led_state.num_lock); - } - return true; -}
\ No newline at end of file + keyboard_pre_init_user(); +} diff --git a/keyboards/evyd13/gh80_3700/keyboard.json b/keyboards/evyd13/gh80_3700/keyboard.json index fa11a482df..a647f46118 100644 --- a/keyboards/evyd13/gh80_3700/keyboard.json +++ b/keyboards/evyd13/gh80_3700/keyboard.json @@ -23,6 +23,10 @@ "resync": true } }, + "indicators": { + "num_lock": "E6", + "on_state": 0 + }, "matrix_pins": { "cols": ["B0", "D7", "D6", "D4"], "rows": ["B3", "C7", "C6", "B6", "B5", "B4"] diff --git a/keyboards/evyd13/gud70/gud70.c b/keyboards/evyd13/gud70/gud70.c index 5c40045521..118c68e566 100644 --- a/keyboards/evyd13/gud70/gud70.c +++ b/keyboards/evyd13/gud70/gud70.c @@ -19,4 +19,6 @@ void keyboard_pre_init_kb(void) { // Enable top LED gpio_set_pin_output(B3); gpio_write_pin_low(B3); + + keyboard_pre_init_user(); } diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index 19dd96a073..9a7856306b 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -168,6 +168,10 @@ led_config_t g_led_config = { { #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + if (record->event.pressed) { switch(keycode) { #if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE) diff --git a/keyboards/exclusive/e85/hotswap/hotswap.c b/keyboards/exclusive/e85/hotswap/hotswap.c deleted file mode 100644 index 18ca30b44c..0000000000 --- a/keyboards/exclusive/e85/hotswap/hotswap.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2020 MechMerlin - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(C7); - gpio_set_pin_output(B5); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(C7, led_state.caps_lock); - gpio_write_pin(B5, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/exclusive/e85/hotswap/keyboard.json b/keyboards/exclusive/e85/hotswap/keyboard.json index 4bd8e73882..7fcd61c843 100644 --- a/keyboards/exclusive/e85/hotswap/keyboard.json +++ b/keyboards/exclusive/e85/hotswap/keyboard.json @@ -18,6 +18,10 @@ "levels": 6, "breathing": true }, + "indicators": { + "caps_lock": "C7", + "scroll_lock": "B5" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/exclusive/e85/soldered/keyboard.json b/keyboards/exclusive/e85/soldered/keyboard.json index 8b4ebbfc57..dfd6d18826 100644 --- a/keyboards/exclusive/e85/soldered/keyboard.json +++ b/keyboards/exclusive/e85/soldered/keyboard.json @@ -18,6 +18,10 @@ "levels": 6, "breathing": true }, + "indicators": { + "caps_lock": "C7", + "scroll_lock": "B5" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/exclusive/e85/soldered/soldered.c b/keyboards/exclusive/e85/soldered/soldered.c deleted file mode 100644 index bdee95c26c..0000000000 --- a/keyboards/exclusive/e85/soldered/soldered.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2020 VashtaNerada - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(C7); - gpio_set_pin_output(B5); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(C7, led_state.caps_lock); - gpio_write_pin(B5, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/fjlabs/bolsa65/bolsa65.c b/keyboards/fjlabs/bolsa65/bolsa65.c deleted file mode 100644 index 669404192c..0000000000 --- a/keyboards/fjlabs/bolsa65/bolsa65.c +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2020 <[email protected]> -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 "quantum.h" - -void matrix_init_kb(void) { - // Initialize indicator LEDs to output - gpio_set_pin_output(F7); // Caps - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(F7, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/fjlabs/bolsa65/keyboard.json b/keyboards/fjlabs/bolsa65/keyboard.json index dfa47e90bb..63281ae9f6 100644 --- a/keyboards/fjlabs/bolsa65/keyboard.json +++ b/keyboards/fjlabs/bolsa65/keyboard.json @@ -8,6 +8,9 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "F7" + }, "matrix_pins": { "cols": ["C7", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], "rows": ["F1", "F0", "F6", "F5", "F4"] diff --git a/keyboards/flx/virgo/keyboard.json b/keyboards/flx/virgo/keyboard.json index 8396ce51da..996425282d 100644 --- a/keyboards/flx/virgo/keyboard.json +++ b/keyboards/flx/virgo/keyboard.json @@ -30,6 +30,11 @@ "pin": "B7", "levels": 5 }, + "indicators": { + "caps_lock": "E6", + "scroll_lock": "B2", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/flx/virgo/virgo.c b/keyboards/flx/virgo/virgo.c deleted file mode 100644 index 2f875531d0..0000000000 --- a/keyboards/flx/virgo/virgo.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2019 MechMerlin - * Edits etc 2020 Flexerm - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - gpio_set_pin_output(E6); - gpio_set_pin_output(B2); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(E6, !led_state.caps_lock); - gpio_write_pin(B2, !led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json index 22b133c8f9..96184abe6a 100644 --- a/keyboards/ghs/rar/keyboard.json +++ b/keyboards/ghs/rar/keyboard.json @@ -8,6 +8,10 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "B1", + "scroll_lock": "B3" + }, "rgblight": { "led_count": 17, "animations": { diff --git a/keyboards/ghs/rar/rar.c b/keyboards/ghs/rar/rar.c deleted file mode 100644 index 591932c99c..0000000000 --- a/keyboards/ghs/rar/rar.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2020 Gone Hacking Studio - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - // Set our LED pins as output. - gpio_set_pin_output(B1); - gpio_set_pin_output(B3); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - - if (res) { - gpio_write_pin(B1, led_state.caps_lock); - gpio_write_pin(B3, led_state.scroll_lock); - } - - return res; -} diff --git a/keyboards/gmmk/numpad/matrix.c b/keyboards/gmmk/numpad/matrix.c index 4ec41bdb73..8d6e641a77 100644 --- a/keyboards/gmmk/numpad/matrix.c +++ b/keyboards/gmmk/numpad/matrix.c @@ -19,21 +19,21 @@ static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define MATRIX_ROW_SHIFTER ((matrix_row_t)1) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -50,7 +50,7 @@ static inline uint8_t readMatrixPin(pin_t pin) { static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } return false; @@ -60,9 +60,9 @@ static void unselect_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { # ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); # else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); # endif } } @@ -78,10 +78,10 @@ __attribute__((weak)) void matrix_init_custom(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } - setPinInputHigh_atomic(B8); + gpio_atomic_set_pin_input_high(B8); } __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col, matrix_row_t row_shifter) { // Start with a clear matrix row diff --git a/keyboards/gray_studio/think65/solder/keyboard.json b/keyboards/gray_studio/think65/solder/keyboard.json index 9706e8b4b4..09096a854e 100644 --- a/keyboards/gray_studio/think65/solder/keyboard.json +++ b/keyboards/gray_studio/think65/solder/keyboard.json @@ -41,6 +41,10 @@ "nkro": false, "rgblight": true }, + "indicators": { + "caps_lock": "C7", + "on_state": 0 + }, "matrix_pins": { "cols": ["D1", "D0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "F0", "F1", "B6", "F4", "F5", "F6"], "rows": ["B0", "B1", "B2", "B3", "E6"] diff --git a/keyboards/gray_studio/think65/solder/solder.c b/keyboards/gray_studio/think65/solder/solder.c deleted file mode 100644 index 84267b9db0..0000000000 --- a/keyboards/gray_studio/think65/solder/solder.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2019 MechMerlin - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - gpio_set_pin_output(C7); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(C7, !led_state.caps_lock); - } - return true; -} diff --git a/keyboards/gregandcin/teaqueen/keyboard.json b/keyboards/gregandcin/teaqueen/keyboard.json index 841c524e62..e4903ea6c0 100644 --- a/keyboards/gregandcin/teaqueen/keyboard.json +++ b/keyboards/gregandcin/teaqueen/keyboard.json @@ -25,7 +25,10 @@ "rows": ["GP5", "GP6", "GP7", "GP8", "GP9"] } }, - "soft_serial_pin": "GP3" + "soft_serial_pin": "GP3", + "serial": { + "driver": "vendor" + } }, "url": "https://github.com/gregandcin/teaqueen", "usb": { diff --git a/keyboards/gregandcin/teaqueen/rules.mk b/keyboards/gregandcin/teaqueen/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/gregandcin/teaqueen/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/halfcliff/matrix.c b/keyboards/halfcliff/matrix.c index ad3ad6ba09..790f8c41bb 100644 --- a/keyboards/halfcliff/matrix.c +++ b/keyboards/halfcliff/matrix.c @@ -50,25 +50,25 @@ matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) {} -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } // matrix code -static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } +static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); } -static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } +static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } @@ -103,24 +103,24 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) return false; } -static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); } +static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); } -static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); } +static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); } static void unselect_cols(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } static void init_pins(void) { unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } unselect_cols(); for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } diff --git a/keyboards/handwired/aek64/aek64.c b/keyboards/handwired/aek64/aek64.c index 130d014616..21589b6910 100644 --- a/keyboards/handwired/aek64/aek64.c +++ b/keyboards/handwired/aek64/aek64.c @@ -16,21 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "quantum.h" -/* - * Hardware function pre initialisation. - * See https://docs.qmk.fm/#/custom_quantum_functions?id=example-keyboard_pre_init_user-implementation - */ -void keyboard_pre_init_user(void) { - // Call the keyboard pre init code. - +void keyboard_pre_init_kb(void) { // Set our LED pins as output gpio_set_pin_output(C3); + + keyboard_pre_init_user(); } void matrix_init_kb(void) { - // Flash the led 1 sec on startup. gpio_write_pin_high(C3); wait_ms(1000); gpio_write_pin_low(C3); + + matrix_init_user(); } diff --git a/keyboards/handwired/alcor_dactyl/keyboard.json b/keyboards/handwired/alcor_dactyl/keyboard.json index c179278c09..b38d39bfcc 100644 --- a/keyboards/handwired/alcor_dactyl/keyboard.json +++ b/keyboards/handwired/alcor_dactyl/keyboard.json @@ -19,7 +19,10 @@ "rgb_matrix": true }, "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "vendor" + } }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/handwired/alcor_dactyl/rules.mk b/keyboards/handwired/alcor_dactyl/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/handwired/alcor_dactyl/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c index cccc03a287..6bfcb17fd4 100644 --- a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c +++ b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c @@ -16,13 +16,9 @@ #include "quantum.h" -/* joystick config */ -joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { - [0] = JOYSTICK_AXIS_IN(F5, 1023, 512, 0), - [1] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023) -}; - /* joystick button code (thumbstick pressed) */ void keyboard_pre_init_kb(void) { gpio_set_pin_input_high(F6); + + keyboard_pre_init_user(); } diff --git a/keyboards/handwired/battleship_gamepad/config.h b/keyboards/handwired/battleship_gamepad/config.h deleted file mode 100644 index b785c80aad..0000000000 --- a/keyboards/handwired/battleship_gamepad/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 Andrew Braini - * - * 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 - -/* joystick configuration */ -#define JOYSTICK_BUTTON_COUNT 25 -#define JOYSTICK_AXIS_RESOLUTION 10 diff --git a/keyboards/handwired/battleship_gamepad/keyboard.json b/keyboards/handwired/battleship_gamepad/keyboard.json index 2832741875..8350f31fdd 100644 --- a/keyboards/handwired/battleship_gamepad/keyboard.json +++ b/keyboards/handwired/battleship_gamepad/keyboard.json @@ -13,6 +13,14 @@ "rows": ["B6", "B2", "B3", "B1", "F7"] }, "diode_direction": "COL2ROW", + "joystick": { + "button_count": 25, + "axis_resolution": 10, + "axes": { + "x": {"input_pin": "F5", "low": 1023, "rest": 512, "high": 0}, + "y": {"input_pin": "F4", "low": 0, "rest": 512, "high": 1023} + } + }, "processor": "atmega32u4", "bootloader": "caterina", "features": { diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk deleted file mode 100644 index c5ab560bca..0000000000 --- a/keyboards/handwired/battleship_gamepad/rules.mk +++ /dev/null @@ -1 +0,0 @@ -JOYSTICK_DRIVER = analog diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h new file mode 100644 index 0000000000..aeb48915b9 --- /dev/null +++ b/keyboards/handwired/bento/rev1/config.h @@ -0,0 +1,18 @@ +/* Copyright 2020 GhostSeven <[email protected]> + * + * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/handwired/bento/rev1/rev1.c b/keyboards/handwired/bento/rev1/rev1.c deleted file mode 100644 index 1dd5b683f1..0000000000 --- a/keyboards/handwired/bento/rev1/rev1.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 GhostSeven <[email protected]> - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness -#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default -#endif -#endif - - eeconfig_init_user(); -} diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h deleted file mode 100644 index 254bed5c74..0000000000 --- a/keyboards/handwired/chiron/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2019 Mike Hix - -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 - -// Pro Micro Pins RX1 -#define SPLIT_HAND_PIN D2 diff --git a/keyboards/handwired/chiron/keyboard.json b/keyboards/handwired/chiron/keyboard.json index f02c8cea28..efbf66335b 100644 --- a/keyboards/handwired/chiron/keyboard.json +++ b/keyboards/handwired/chiron/keyboard.json @@ -41,6 +41,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D2" + }, "soft_serial_pin": "D0" }, "processor": "atmega32u4", diff --git a/keyboards/handwired/colorlice/colorlice.c b/keyboards/handwired/colorlice/colorlice.c index ede3fba82f..92914b79bc 100644 --- a/keyboards/handwired/colorlice/colorlice.c +++ b/keyboards/handwired/colorlice/colorlice.c @@ -51,18 +51,3 @@ void suspend_wakeup_init_kb(void) suspend_wakeup_init_user(); } #endif - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(B2, !led_state.num_lock); - gpio_write_pin(C6, !led_state.caps_lock); - gpio_write_pin(B7, !led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json index 77f5ded097..4ccc10527c 100644 --- a/keyboards/handwired/colorlice/keyboard.json +++ b/keyboards/handwired/colorlice/keyboard.json @@ -65,6 +65,12 @@ "build": { "lto": true }, + "indicators": { + "caps_lock": "C6", + "num_lock": "B2", + "scroll_lock": "B7", + "on_state": 0 + }, "features": { "bootmagic": true, "command": false, diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h index 9639d4ba1d..2258a17c2e 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h @@ -19,7 +19,6 @@ // in col2row col is input, and row is output // #define SPLIT_HAND_MATRIX_GRID A10, A4 // 68kohm -#define SPLIT_HAND_PIN B10 /* connection */ #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json index 73ce0d27d5..efefb5e550 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json @@ -8,6 +8,12 @@ "enabled": true, "bootmagic": { "matrix": [7, 0] + }, + "serial": { + "driver": "usart" + }, + "handedness": { + "pin": "B10" } }, "development_board": "blackpill_f411", diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk deleted file mode 100644 index c018471cad..0000000000 --- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# split settings -# https://beta.docs.qmk.fm/developing-qmk/c-development/hardware_drivers/serial_driver -SERIAL_DRIVER = usart diff --git a/keyboards/handwired/evk/v1_3/v1_3.c b/keyboards/handwired/evk/v1_3/v1_3.c index a568ba3f86..575bf33759 100644 --- a/keyboards/handwired/evk/v1_3/v1_3.c +++ b/keyboards/handwired/evk/v1_3/v1_3.c @@ -33,12 +33,3 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { gpio_write_pin(D5, layer_state_cmp(state, 1)); return state; } - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - gpio_write_pin(D4, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/handwired/jankrp2040dactyl/keyboard.json b/keyboards/handwired/jankrp2040dactyl/keyboard.json index c4543b5d12..0d155a70bd 100644 --- a/keyboards/handwired/jankrp2040dactyl/keyboard.json +++ b/keyboards/handwired/jankrp2040dactyl/keyboard.json @@ -6,7 +6,10 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "soft_serial_pin": "GP0" + "soft_serial_pin": "GP0", + "serial": { + "driver": "vendor" + } }, "features": { diff --git a/keyboards/handwired/jankrp2040dactyl/rules.mk b/keyboards/handwired/jankrp2040dactyl/rules.mk deleted file mode 100644 index 743228e94b..0000000000 --- a/keyboards/handwired/jankrp2040dactyl/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor
\ No newline at end of file diff --git a/keyboards/handwired/jtallbean/split_65/config.h b/keyboards/handwired/jtallbean/split_65/config.h deleted file mode 100644 index 2ae835db9d..0000000000 --- a/keyboards/handwired/jtallbean/split_65/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2020 jtallbean - -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 SPLIT_HAND_PIN D5 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/jtallbean/split_65/keyboard.json b/keyboards/handwired/jtallbean/split_65/keyboard.json index c8be82da8d..7ce6d9f095 100644 --- a/keyboards/handwired/jtallbean/split_65/keyboard.json +++ b/keyboards/handwired/jtallbean/split_65/keyboard.json @@ -27,8 +27,14 @@ "rows": ["F4", "F1", "F0", "C7", "B6"] }, "diode_direction": "COL2ROW", + "indicators": { + "caps_lock": "B0" + }, "split": { "enabled": true, + "handedness": { + "pin": "D5" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/handwired/jtallbean/split_65/split_65.c b/keyboards/handwired/jtallbean/split_65/split_65.c deleted file mode 100644 index b75b12137f..0000000000 --- a/keyboards/handwired/jtallbean/split_65/split_65.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2020 jtallbean - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - // Set our LED pins as output - gpio_set_pin_output(B0); - gpio_write_pin_low(B0); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - gpio_write_pin(B0, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/handwired/prime_exl_plus/keyboard.json b/keyboards/handwired/prime_exl_plus/keyboard.json index 43825a0ad8..a234bceb02 100644 --- a/keyboards/handwired/prime_exl_plus/keyboard.json +++ b/keyboards/handwired/prime_exl_plus/keyboard.json @@ -8,6 +8,10 @@ "pid": "0x6579", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "B0", + "num_lock": "B1" + }, "rgblight": { "led_count": 10, "animations": { diff --git a/keyboards/handwired/prime_exl_plus/prime_exl_plus.c b/keyboards/handwired/prime_exl_plus/prime_exl_plus.c index 1865b6c502..164c954b8b 100644 --- a/keyboards/handwired/prime_exl_plus/prime_exl_plus.c +++ b/keyboards/handwired/prime_exl_plus/prime_exl_plus.c @@ -16,32 +16,17 @@ #include "quantum.h" void matrix_init_kb(void) { - // set CapsLock LED to output and low - gpio_set_pin_output(B0); - gpio_write_pin_low(B0); - // set NumLock LED to output and low - gpio_set_pin_output(B1); - gpio_write_pin_low(B1); - // set ScrollLock LED to output and low gpio_set_pin_output(B2); gpio_write_pin_low(B2); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B1, led_state.num_lock); - gpio_write_pin(B0, led_state.caps_lock); - //gpio_write_pin(B2, led_state.scroll_lock); - } - return res; + matrix_init_user(); } //function for layer indicator LED layer_state_t layer_state_set_kb(layer_state_t state) { if (get_highest_layer(state) == 1) { - gpio_write_pin_high(B2); + gpio_write_pin_high(B2); } else { gpio_write_pin_low(B2); } diff --git a/keyboards/handwired/retro_refit/keyboard.json b/keyboards/handwired/retro_refit/keyboard.json index 1e7812d578..7acdb48b44 100644 --- a/keyboards/handwired/retro_refit/keyboard.json +++ b/keyboards/handwired/retro_refit/keyboard.json @@ -23,6 +23,12 @@ "resync": true } }, + "indicators": { + "caps_lock": "D0", + "num_lock": "D1", + "scroll_lock": "C6", + "on_state": 0 + }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D2", "D3", "C7", "D5"], "rows": ["D4", "D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1", "F0"] diff --git a/keyboards/handwired/retro_refit/retro_refit.c b/keyboards/handwired/retro_refit/retro_refit.c index b62d94d741..08e8e1d528 100644 --- a/keyboards/handwired/retro_refit/retro_refit.c +++ b/keyboards/handwired/retro_refit/retro_refit.c @@ -1,5 +1,4 @@ #include "quantum.h" -#include "led.h" void matrix_init_kb(void) { // put your keyboard start-up code here @@ -11,14 +10,3 @@ void matrix_init_kb(void) { matrix_init_user(); }; - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D0, !led_state.caps_lock); - gpio_write_pin(D1, !led_state.num_lock); - gpio_write_pin(C6, !led_state.scroll_lock); - - } - return res; -}
\ No newline at end of file diff --git a/keyboards/handwired/riblee_split/config.h b/keyboards/handwired/riblee_split/config.h index c3b0720ba5..f0fa2b1f2f 100644 --- a/keyboards/handwired/riblee_split/config.h +++ b/keyboards/handwired/riblee_split/config.h @@ -3,9 +3,6 @@ #pragma once -// If the pin is high, then the controller assumes it is the left hand, and if it’s low, it’s assumed to be the right side. -#define SPLIT_HAND_PIN C15 - #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN B6 #define SERIAL_USART_RX_PIN B7 diff --git a/keyboards/handwired/riblee_split/keyboard.json b/keyboards/handwired/riblee_split/keyboard.json index 49b5ca3a54..f24dbe2ce6 100644 --- a/keyboards/handwired/riblee_split/keyboard.json +++ b/keyboards/handwired/riblee_split/keyboard.json @@ -25,6 +25,12 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "C15" + }, + "serial": { + "driver": "usart" + }, "transport": { "sync_matrix_state": true } diff --git a/keyboards/handwired/riblee_split/rules.mk b/keyboards/handwired/riblee_split/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/handwired/riblee_split/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/handwired/selene/keyboard.json b/keyboards/handwired/selene/keyboard.json index 592b51aaf4..34eec11664 100644 --- a/keyboards/handwired/selene/keyboard.json +++ b/keyboards/handwired/selene/keyboard.json @@ -8,6 +8,11 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "A2", + "num_lock": "A0", + "scroll_lock": "A1" + }, "rgblight": { "led_count": 50 }, diff --git a/keyboards/handwired/selene/selene.c b/keyboards/handwired/selene/selene.c index b0924c06f4..49df43314b 100644 --- a/keyboards/handwired/selene/selene.c +++ b/keyboards/handwired/selene/selene.c @@ -15,24 +15,10 @@ */ -#include "selene.h" +#include "quantum.h" -void matrix_init_kb(void){ - gpio_set_pin_output(NUM_LOCK_PIN); - gpio_set_pin_output(CAPS_LOCK_PIN); - gpio_set_pin_output(SCROLL_LOCK_PIN); -} - -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { rgblight_setrgb(0xff, 0xff, 0xff); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(NUM_LOCK_PIN, led_state.num_lock); - gpio_write_pin(CAPS_LOCK_PIN, led_state.caps_lock); - gpio_write_pin(SCROLL_LOCK_PIN, led_state.scroll_lock); - } - return res; + keyboard_post_init_user(); } diff --git a/keyboards/handwired/selene/selene.h b/keyboards/handwired/selene/selene.h deleted file mode 100644 index bcd4215e36..0000000000 --- a/keyboards/handwired/selene/selene.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Bpendragon - * - * 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 "quantum.h" - -#define NUM_LOCK_PIN A0 -#define CAPS_LOCK_PIN A2 -#define SCROLL_LOCK_PIN A1 diff --git a/keyboards/handwired/sick68/keymaps/via/config.h b/keyboards/handwired/sick68/keymaps/via/config.h index 4ce1e3e785..bf6fd3ea4f 100644 --- a/keyboards/handwired/sick68/keymaps/via/config.h +++ b/keyboards/handwired/sick68/keymaps/via/config.h @@ -15,6 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define ENCODERS_PAD_A { F0 } -#define ENCODERS_PAD_B { F1 } +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F1 } #define ENCODER_RESOLUTION 4 diff --git a/keyboards/handwired/split65/stm32/keyboard.json b/keyboards/handwired/split65/stm32/keyboard.json index 6763c5eb88..4f2d069aed 100644 --- a/keyboards/handwired/split65/stm32/keyboard.json +++ b/keyboards/handwired/split65/stm32/keyboard.json @@ -7,7 +7,10 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "soft_serial_pin": "A9" + "soft_serial_pin": "A9", + "serial": { + "driver": "usart" + } }, "development_board": "proton_c", "features": { diff --git a/keyboards/handwired/split65/stm32/rules.mk b/keyboards/handwired/split65/stm32/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/handwired/split65/stm32/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h deleted file mode 100644 index e12db37b97..0000000000 --- a/keyboards/handwired/split89/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2021 jurassic73 - -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 - -/* this will be tied to high (VCC with a 2k to 10k resistor) on the left keyboard half and tied to low (GND using a wire jumper only) on the right keyboard half. This allows a user to plug in a USB cable to either side and function correctly with or without a TRS/TRRS cable with a single hex file. */ -#define SPLIT_HAND_PIN D1 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/split89/keyboard.json b/keyboards/handwired/split89/keyboard.json index d28953ab5f..029988b0ba 100644 --- a/keyboards/handwired/split89/keyboard.json +++ b/keyboards/handwired/split89/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D1" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/handwired/splittest/bluepill/config.h b/keyboards/handwired/splittest/bluepill/config.h index d19bb3dee8..af29e34088 100644 --- a/keyboards/handwired/splittest/bluepill/config.h +++ b/keyboards/handwired/splittest/bluepill/config.h @@ -3,8 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN A7 - #if !(defined(USE_SDI1_ON_STANDARD_ROLE_PINS) || defined(USE_SDI1_ON_ALTERNATE_ROLE_PINS) || defined(USE_SDI2)) #define USE_SDI1_ON_STANDARD_ROLE_PINS #endif diff --git a/keyboards/handwired/splittest/bluepill/keyboard.json b/keyboards/handwired/splittest/bluepill/keyboard.json index 5c061a7119..42859f5ee8 100644 --- a/keyboards/handwired/splittest/bluepill/keyboard.json +++ b/keyboards/handwired/splittest/bluepill/keyboard.json @@ -3,6 +3,11 @@ "cols": ["B1"], "rows": ["B10"] }, + "split": { + "handedness": { + "pin": "A7" + } + }, "diode_direction": "COL2ROW", "development_board": "bluepill", "features": { diff --git a/keyboards/handwired/splittest/promicro/config.h b/keyboards/handwired/splittest/promicro/config.h index 4458ddaffe..2c39af2df7 100644 --- a/keyboards/handwired/splittest/promicro/config.h +++ b/keyboards/handwired/splittest/promicro/config.h @@ -16,8 +16,5 @@ #pragma once - // use I2C on AVR #define USE_I2C - -#define SPLIT_HAND_PIN F6 diff --git a/keyboards/handwired/splittest/promicro/keyboard.json b/keyboards/handwired/splittest/promicro/keyboard.json index 2f5929cc00..8aca1c3de7 100644 --- a/keyboards/handwired/splittest/promicro/keyboard.json +++ b/keyboards/handwired/splittest/promicro/keyboard.json @@ -5,6 +5,9 @@ }, "diode_direction": "COL2ROW", "split": { + "handedness": { + "pin": "F6" + }, "soft_serial_pin": "D1" }, "ws2812": { diff --git a/keyboards/handwired/splittest/teensy_2/config.h b/keyboards/handwired/splittest/teensy_2/config.h index 20672a381f..f7033863e0 100644 --- a/keyboards/handwired/splittest/teensy_2/config.h +++ b/keyboards/handwired/splittest/teensy_2/config.h @@ -16,11 +16,8 @@ #pragma once - // use I2C on AVR #define USE_I2C -#define SPLIT_HAND_PIN F0 - // teensy has vbus detection issues - use usb detection instead #define SPLIT_USB_DETECT diff --git a/keyboards/handwired/splittest/teensy_2/keyboard.json b/keyboards/handwired/splittest/teensy_2/keyboard.json index 68ab3f92c4..c10b20a173 100644 --- a/keyboards/handwired/splittest/teensy_2/keyboard.json +++ b/keyboards/handwired/splittest/teensy_2/keyboard.json @@ -5,6 +5,9 @@ }, "diode_direction": "COL2ROW", "split": { + "handedness": { + "pin": "F0" + }, "soft_serial_pin": "D1" }, "ws2812": { diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c index 786c1b4a73..fa9b6ef0fd 100644 --- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c @@ -60,14 +60,14 @@ static const uint8_t delay_sel[] = {MATRIX_IO_DELAY_MULSEL}; extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } @@ -108,13 +108,13 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) #elif defined(DIODE_DIRECTION) # if (DIODE_DIRECTION == COL2ROW) -static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } +static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); } -static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } +static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } @@ -125,7 +125,7 @@ static void init_pins(void) { # endif unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } @@ -218,20 +218,20 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) # elif (DIODE_DIRECTION == ROW2COL) -static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); } +static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); } -static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); } +static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); } static void unselect_cols(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } static void init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h index 9d283866b4..ba187a8376 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define SPLIT_TRANSPORT_MIRROR -#define SPLIT_HAND_PIN A6 // #define DEBUG_LED_PIN D6 diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json index 825c59ac72..e5730a4586 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json @@ -19,6 +19,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "A6" + }, "soft_serial_pin": "D3", "bootmagic": { "matrix": [4, 5] diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h index a2818e7176..b10fe7de74 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once // #define USB_VBUS_PIN B10 -#define SPLIT_HAND_PIN C14 // high = left, low = right // WS2812 RGB LED strip input and number of LEDs #define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json index 499390c610..a9070f2cc7 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json @@ -15,6 +15,14 @@ "audio": { "driver": "dac_additive" }, + "split": { + "handedness": { + "pin": "C14" + }, + "serial": { + "driver": "usart" + } + }, "ws2812": { "pin": "A6", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk deleted file mode 100644 index 22915ec000..0000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# KEYBOARD_SHARED_EP = yes - -SERIAL_DRIVER = usart diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 87f830e175..64169da7e5 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once // #define USB_VBUS_PIN B10 // doesn't seem to work for me on one of my controllers... */ -#define SPLIT_HAND_PIN C14 // high = left, low = right // WS2812 RGB LED strip input and number of LEDs #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json index 7182ee1701..c7d38c0daf 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json @@ -18,6 +18,14 @@ "audio": { "driver": "pwm_hardware" }, + "split": { + "handedness": { + "pin": "C14" + }, + "serial": { + "driver": "usart" + }, + }, "ws2812": { "pin": "A1", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk index f26cbbced1..4aa582e7a2 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -1,4 +1,2 @@ KEYBOARD_SHARED_EP = yes MOUSE_SHARED_EP = yes - -SERIAL_DRIVER = usart diff --git a/keyboards/handwired/z150/config.h b/keyboards/handwired/z150/config.h deleted file mode 100644 index 7a054266ea..0000000000 --- a/keyboards/handwired/z150/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2020 DmNosachev - -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 NUM_LOCK_LED_PIN B5 -#define SCROLL_LOCK_LED_PIN B4 -#define CAPS_LOCK_LED_PIN B3 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/z150/keyboard.json b/keyboards/handwired/z150/keyboard.json index 0658bb5233..38c92a6537 100644 --- a/keyboards/handwired/z150/keyboard.json +++ b/keyboards/handwired/z150/keyboard.json @@ -16,6 +16,12 @@ "mousekey": true, "nkro": false }, + "indicators": { + "caps_lock": "B3", + "num_lock": "B5", + "scroll_lock": "B4", + "on_state": 0 + }, "matrix_pins": { "cols": ["B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4"], "rows": ["B13", "B14", "B15", "A8", "A9", "A3", "A10", "A1", "A2", "A15", "A0"] diff --git a/keyboards/handwired/z150/z150.c b/keyboards/handwired/z150/z150.c deleted file mode 100644 index ab6709eed7..0000000000 --- a/keyboards/handwired/z150/z150.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2020 DmNosachev - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(NUM_LOCK_LED_PIN); - gpio_set_pin_output(CAPS_LOCK_LED_PIN); - gpio_set_pin_output(SCROLL_LOCK_LED_PIN); - - gpio_write_pin_low(NUM_LOCK_LED_PIN); - gpio_write_pin_low(CAPS_LOCK_LED_PIN); - gpio_write_pin_low(SCROLL_LOCK_LED_PIN); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(NUM_LOCK_LED_PIN, !led_state.num_lock); - gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); - gpio_write_pin(SCROLL_LOCK_LED_PIN, !led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/heliar/wm1_hotswap/keyboard.json b/keyboards/heliar/wm1_hotswap/keyboard.json index 3fa1a8e6cb..789a3c7d2b 100644 --- a/keyboards/heliar/wm1_hotswap/keyboard.json +++ b/keyboards/heliar/wm1_hotswap/keyboard.json @@ -25,6 +25,12 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "D6", + "num_lock": "D7", + "scroll_lock": "D4", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/heliar/wm1_hotswap/wm1_hotswap.c b/keyboards/heliar/wm1_hotswap/wm1_hotswap.c deleted file mode 100644 index d2d10b0b1f..0000000000 --- a/keyboards/heliar/wm1_hotswap/wm1_hotswap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2019 HELIAR MK - * - * 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 "quantum.h" - - -void keyboard_pre_init_kb(void) -{ - gpio_set_pin_output(D7); - gpio_write_pin_high(D7); - gpio_set_pin_output(D6); - gpio_write_pin_high(D6); - gpio_set_pin_output(D4); - gpio_write_pin_high(D4); -} - -bool led_update_kb(led_t led_state) { - - if (led_update_user(led_state)){ - gpio_write_pin(D7, !led_state.num_lock); - gpio_write_pin(D6, !led_state.caps_lock); - gpio_write_pin(D4, !led_state.scroll_lock); - } - - return true; -} diff --git a/keyboards/hineybush/h10/h10.c b/keyboards/hineybush/h10/h10.c deleted file mode 100644 index 2170a8b2d7..0000000000 --- a/keyboards/hineybush/h10/h10.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 hineybush - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(F7); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(F7, !led_state.num_lock); - } - return true; -} diff --git a/keyboards/hineybush/h10/keyboard.json b/keyboards/hineybush/h10/keyboard.json index 73205f85ff..63a109f484 100644 --- a/keyboards/hineybush/h10/keyboard.json +++ b/keyboards/hineybush/h10/keyboard.json @@ -32,6 +32,10 @@ "pin": "B7", "breathing": true }, + "indicators": { + "caps_lock": "F7", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["ortho_6x4", "numpad_6x4"], diff --git a/keyboards/hineybush/h60/h60.c b/keyboards/hineybush/h60/h60.c deleted file mode 100644 index 472b99d8ba..0000000000 --- a/keyboards/hineybush/h60/h60.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2020 hineybush - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(C6); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(C6, !led_state.caps_lock); - } - return true; -} - diff --git a/keyboards/hineybush/h60/keyboard.json b/keyboards/hineybush/h60/keyboard.json index 8a019d42da..ea058b6d64 100644 --- a/keyboards/hineybush/h60/keyboard.json +++ b/keyboards/hineybush/h60/keyboard.json @@ -34,6 +34,10 @@ "pin": "B7", "levels": 12 }, + "indicators": { + "caps_lock": "C6", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/afternoonlabs/breeze/rev0/config.h b/keyboards/hineybush/h660s/config.h index 3500564544..2ac1c1bae5 100644 --- a/keyboards/afternoonlabs/breeze/rev0/config.h +++ b/keyboards/hineybush/h660s/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 eithanshavit +/* Copyright 2018 Josh Hinnebusch * * 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 @@ -13,7 +13,6 @@ * 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 SPLIT_HAND_PIN B3 +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/hineybush/h660s/h660s.c b/keyboards/hineybush/h660s/h660s.c deleted file mode 100644 index 0e774b9c57..0000000000 --- a/keyboards/hineybush/h660s/h660s.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 Josh Hinnebusch - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} - diff --git a/keyboards/hineybush/h660s/keyboard.json b/keyboards/hineybush/h660s/keyboard.json index d76664080e..44e8c8c21a 100644 --- a/keyboards/hineybush/h660s/keyboard.json +++ b/keyboards/hineybush/h660s/keyboard.json @@ -35,6 +35,9 @@ "breathing": true }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 16, diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h b/keyboards/hineybush/h75_singa/config.h index d6bb6df14c..6be72d4d9f 100644 --- a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Afternoon Labs +/* Copyright 2019 hineybush * * 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 @@ -13,7 +13,6 @@ * 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 SPLIT_HAND_PIN B3 +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/hineybush/h75_singa/h75_singa.c b/keyboards/hineybush/h75_singa/h75_singa.c deleted file mode 100644 index badd12849d..0000000000 --- a/keyboards/hineybush/h75_singa/h75_singa.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2019 hineybush - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/hineybush/h75_singa/keyboard.json b/keyboards/hineybush/h75_singa/keyboard.json index 30dbd8d6a1..0c3ca31e28 100644 --- a/keyboards/hineybush/h75_singa/keyboard.json +++ b/keyboards/hineybush/h75_singa/keyboard.json @@ -34,6 +34,9 @@ "breathing": true }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 22, diff --git a/keyboards/afternoonlabs/breeze/rev1/config.h b/keyboards/hineybush/h87a/config.h index d6bb6df14c..9ff1e426bd 100644 --- a/keyboards/afternoonlabs/breeze/rev1/config.h +++ b/keyboards/hineybush/h87a/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Afternoon Labs +/* Copyright 2020 Josh Hinnebusch * * 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 @@ -13,7 +13,6 @@ * 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 SPLIT_HAND_PIN B3 +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/hineybush/h87a/h87a.c b/keyboards/hineybush/h87a/h87a.c deleted file mode 100644 index f2d0c62813..0000000000 --- a/keyboards/hineybush/h87a/h87a.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2018 Josh Hinnebusch - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(D5); - gpio_set_pin_output(E6); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(D5, !led_state.caps_lock); - gpio_write_pin(E6, !led_state.scroll_lock); - } - return true; -} - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/hineybush/h87a/keyboard.json b/keyboards/hineybush/h87a/keyboard.json index e9096201d9..42a50bf001 100644 --- a/keyboards/hineybush/h87a/keyboard.json +++ b/keyboards/hineybush/h87a/keyboard.json @@ -35,10 +35,18 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "D5", + "scroll_lock": "E6", + "on_state": 0 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 24, diff --git a/keyboards/hineybush/h88/config.h b/keyboards/hineybush/h88/config.h new file mode 100644 index 0000000000..2537b3f36c --- /dev/null +++ b/keyboards/hineybush/h88/config.h @@ -0,0 +1,18 @@ +/* Copyright 2019 Josh Hinnebusch + * + * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/hineybush/h88/h88.c b/keyboards/hineybush/h88/h88.c deleted file mode 100644 index a916609d75..0000000000 --- a/keyboards/hineybush/h88/h88.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2019 Josh Hinnebusch - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(D5); - gpio_set_pin_output(E6); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(D5, !led_state.caps_lock); - gpio_write_pin(E6, !led_state.scroll_lock); - } - return true; -} - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/hineybush/h88/keyboard.json b/keyboards/hineybush/h88/keyboard.json index e74a3f3623..6a9b3142e3 100644 --- a/keyboards/hineybush/h88/keyboard.json +++ b/keyboards/hineybush/h88/keyboard.json @@ -35,7 +35,15 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "D5", + "scroll_lock": "E6", + "on_state": 0 + }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 24, diff --git a/keyboards/hineybush/hbcp/config.h b/keyboards/hineybush/hbcp/config.h index bde356232d..d3274f8c5a 100644 --- a/keyboards/hineybush/hbcp/config.h +++ b/keyboards/hineybush/hbcp/config.h @@ -34,3 +34,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define MATRIX_ROW_PINS { B1, B6, D0, C7, C6, C5 } #define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, B5, B4, B3, B2 } + +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index e422b46fdc..a9eff65030 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -34,15 +34,6 @@ // #define HSV_custom_color H, S, V -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} - #ifdef RGBLIGHT_ENABLE bool led_update_kb(led_t led_state) { diff --git a/keyboards/hineybush/hbcp/keyboard.json b/keyboards/hineybush/hbcp/keyboard.json index f03c4d5754..e8771ea9a7 100644 --- a/keyboards/hineybush/hbcp/keyboard.json +++ b/keyboards/hineybush/hbcp/keyboard.json @@ -16,6 +16,9 @@ "pin": "B0" }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 27, diff --git a/keyboards/hineybush/physix/keyboard.json b/keyboards/hineybush/physix/keyboard.json index b7b1c05393..79a0bea7ab 100644 --- a/keyboards/hineybush/physix/keyboard.json +++ b/keyboards/hineybush/physix/keyboard.json @@ -33,6 +33,10 @@ "pin": "B7", "breathing": true }, + "indicators": { + "caps_lock": "D3", + "scroll_lock": "D5" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/hineybush/physix/physix.c b/keyboards/hineybush/physix/physix.c deleted file mode 100644 index cd920a72b3..0000000000 --- a/keyboards/hineybush/physix/physix.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2019 hineybush - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(D3); - gpio_set_pin_output(D5); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(D3, led_state.caps_lock); - gpio_write_pin(D5, led_state.scroll_lock); - } - return res; - return led_update_user(led_state); -} - - - diff --git a/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c b/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c deleted file mode 100644 index 8bdcfe070a..0000000000 --- a/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2019 ashpil - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - /* Setting status LEDs pins to output and +5V (off) */ - gpio_set_pin_output(D5); - gpio_set_pin_output(D6); - gpio_set_pin_output(D7); - gpio_write_pin_high(D5); - gpio_write_pin_high(D6); - gpio_write_pin_high(D7); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(D5, !led_state.num_lock); - gpio_write_pin(D6, !led_state.caps_lock); - gpio_write_pin(D7, !led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json index 451589017e..a43e16a04c 100644 --- a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json +++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json @@ -16,6 +16,12 @@ "mousekey": false, "nkro": false }, + "indicators": { + "caps_lock": "D6", + "num_lock": "D5", + "scroll_lock": "D7", + "on_state": 0 + }, "matrix_pins": { "cols": ["E6", "E7", "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5"], "rows": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0"] diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c index 7112ab63a5..11407d1206 100644 --- a/keyboards/ibm/model_m/mschwingen/mschwingen.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -114,6 +114,8 @@ void keyboard_pre_init_kb(void) { gpio_set_pin_output(SR_CLK_PIN); gpio_set_pin_output(SR_DOUT_PIN); // MOSI - unused gpio_write_pin_low(SR_CLK_PIN); + + keyboard_pre_init_user(); } #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 diff --git a/keyboards/ibm/model_m/teensypp/keyboard.json b/keyboards/ibm/model_m/teensypp/keyboard.json index 4464a299f6..e77c43483b 100644 --- a/keyboards/ibm/model_m/teensypp/keyboard.json +++ b/keyboards/ibm/model_m/teensypp/keyboard.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "B6", + "num_lock": "B4", + "scroll_lock": "B5", + "on_state": 0 + }, "matrix_pins": { "cols": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0", "E1", "E0", "D7", "D6", "D5", "D4", "D3", "D2"], "rows": ["F7", "F6", "F5", "F4", "F3", "F2", "F1", "F0"] diff --git a/keyboards/ibm/model_m/teensypp/teensypp.c b/keyboards/ibm/model_m/teensypp/teensypp.c deleted file mode 100644 index aac85424bf..0000000000 --- a/keyboards/ibm/model_m/teensypp/teensypp.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2019 iw0rm3r - * - * 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 "quantum.h" - -void led_init_ports(void) { - /* Setting status LEDs pins to output and +5V (off) */ - gpio_set_pin_output(B4); - gpio_set_pin_output(B5); - gpio_set_pin_output(B6); - gpio_write_pin_high(B4); - gpio_write_pin_high(B5); - gpio_write_pin_high(B6); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B4, !led_state.num_lock); - gpio_write_pin(B6, !led_state.caps_lock); - gpio_write_pin(B5, !led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/ibm/model_m/yugo_m/keyboard.json b/keyboards/ibm/model_m/yugo_m/keyboard.json index 968c637b78..10fe637f03 100644 --- a/keyboards/ibm/model_m/yugo_m/keyboard.json +++ b/keyboards/ibm/model_m/yugo_m/keyboard.json @@ -16,6 +16,12 @@ "mousekey": true, "nkro": false }, + "indicators": { + "caps_lock": "A1", + "num_lock": "A2", + "scroll_lock": "A0", + "on_state": 0 + }, "matrix_pins": { "cols": ["A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3"], "rows": ["B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"] diff --git a/keyboards/ibm/model_m/yugo_m/yugo_m.c b/keyboards/ibm/model_m/yugo_m/yugo_m.c deleted file mode 100644 index a725a3657b..0000000000 --- a/keyboards/ibm/model_m/yugo_m/yugo_m.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2020 Nidzo Tomic <[email protected]> - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - // Set our LED pins as output - gpio_set_pin_output(A2); - gpio_set_pin_output(A1); - gpio_set_pin_output(A0); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(A2, !led_state.num_lock); - gpio_write_pin(A1, !led_state.caps_lock); - gpio_write_pin(A0, !led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/idb/idb_60/idb_60.c b/keyboards/idb/idb_60/idb_60.c index 77485a4273..183892f363 100644 --- a/keyboards/idb/idb_60/idb_60.c +++ b/keyboards/idb/idb_60/idb_60.c @@ -3,6 +3,8 @@ void keyboard_pre_init_kb(void) { gpio_set_pin_output(C4); gpio_set_pin_output(C5); + + keyboard_pre_init_user(); } inline void _idb_60_caps_led_on(void) { diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json index 297b28a5f9..fa74e46fed 100644 --- a/keyboards/ilumkb/volcano660/keyboard.json +++ b/keyboards/ilumkb/volcano660/keyboard.json @@ -32,6 +32,12 @@ "pin": "B7", "levels": 5 }, + "indicators": { + "caps_lock": "D2", + "num_lock": "D0", + "scroll_lock": "D1", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": [ diff --git a/keyboards/ilumkb/volcano660/volcano660.c b/keyboards/ilumkb/volcano660/volcano660.c deleted file mode 100644 index 5e6d67c9ba..0000000000 --- a/keyboards/ilumkb/volcano660/volcano660.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 dztech - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(D0); - gpio_set_pin_output(D1); - gpio_set_pin_output(D2); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D0, !led_state.num_lock); - gpio_write_pin(D2, !led_state.caps_lock); - gpio_write_pin(D1, !led_state.scroll_lock); - - } - return res; -} diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c index 079889e727..c04d7ef02c 100644 --- a/keyboards/inett_studio/sqx/hotswap/hotswap.c +++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c @@ -165,6 +165,10 @@ bool rgb_matrix_indicators_kb(void) { #endif //RGB_MATRIX_ENABLE bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + if (record->event.pressed) { switch(keycode) { #if defined(RGB_MATRIX_DISABLE_KEYCODES) diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c index 519df57505..6c2af3a3b9 100644 --- a/keyboards/inett_studio/sqx/universal/universal.c +++ b/keyboards/inett_studio/sqx/universal/universal.c @@ -169,6 +169,10 @@ bool rgb_matrix_indicators_kb(void) { #endif //RGB_MATRIX_ENABLE bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + if (record->event.pressed) { switch(keycode) { #if defined(RGB_MATRIX_DISABLE_KEYCODES) diff --git a/keyboards/input_club/ergodox_infinity/keyboard.json b/keyboards/input_club/ergodox_infinity/keyboard.json index fd89806b00..75778c3288 100644 --- a/keyboards/input_club/ergodox_infinity/keyboard.json +++ b/keyboards/input_club/ergodox_infinity/keyboard.json @@ -39,7 +39,10 @@ }, "diode_direction": "ROW2COL", "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "usart" + } }, "processor": "MK20DX256", "bootloader": "kiibohd", diff --git a/keyboards/input_club/ergodox_infinity/rules.mk b/keyboards/input_club/ergodox_infinity/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/input_club/ergodox_infinity/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/jae/j01/j01.c b/keyboards/jae/j01/j01.c deleted file mode 100644 index 4d3f8ced46..0000000000 --- a/keyboards/jae/j01/j01.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright Evy Dekkers - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); - gpio_set_pin_output(E6); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(E6, !led_state.caps_lock); - } - - return true; -} diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json index 56a5062c94..fd16f2a46e 100644 --- a/keyboards/jae/j01/keyboard.json +++ b/keyboards/jae/j01/keyboard.json @@ -33,6 +33,10 @@ "levels": 4, "breathing": true }, + "indicators": { + "caps_lock": "E6", + "on_state": 0 + }, "bootmagic": { "matrix": [0, 2] }, diff --git a/keyboards/janus/keyboard.json b/keyboards/janus/keyboard.json index 29000b9ef2..8c4f522b86 100644 --- a/keyboards/janus/keyboard.json +++ b/keyboards/janus/keyboard.json @@ -25,7 +25,10 @@ "nkro": true }, "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "usart" + } }, "community_layouts": [ "split_3x5_2" diff --git a/keyboards/janus/rules.mk b/keyboards/janus/rules.mk deleted file mode 100644 index 59b74ac86b..0000000000 --- a/keyboards/janus/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart
\ No newline at end of file diff --git a/keyboards/jaykeeb/kamigakushi/rules.mk b/keyboards/jaykeeb/kamigakushi/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/jaykeeb/kamigakushi/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/jels/jels88/jels88.c b/keyboards/jels/jels88/jels88.c deleted file mode 100644 index ceb187ab17..0000000000 --- a/keyboards/jels/jels88/jels88.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2021 Joah Nelson (Jels) - * - * 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/>. - */ - -// not much here ... just indicator LEDs - -#include "quantum.h" - -// LED indicator pins -#define CAPS_LED D5 -#define SCROLL_LED D4 - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(CAPS_LED); - gpio_set_pin_output(SCROLL_LED); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(CAPS_LED, led_state.caps_lock); - gpio_write_pin(SCROLL_LED, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/jels/jels88/keyboard.json b/keyboards/jels/jels88/keyboard.json index ee9b64ed6a..e4d2c6e273 100644 --- a/keyboards/jels/jels88/keyboard.json +++ b/keyboards/jels/jels88/keyboard.json @@ -23,6 +23,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "D5", + "scroll_lock": "D4" + }, "matrix_pins": { "cols": ["C7", "C6", "F7", "F6", "F5", "F4", "B1", "D2", "D3"], "rows": ["B3", "B2", "D1", "D0", "E6", "B0", "F0", "F1", "B5", "B4", "D7", "D6"] diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h index 33ba0ecbc5..b236a8cbe1 100644 --- a/keyboards/jian/rev2/config.h +++ b/keyboards/jian/rev2/config.h @@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once //#define EE_HANDS -#define SPLIT_HAND_PIN E6 #define PHYSICAL_LEDS_ENABLE #define IOS_DEVICE_ENABLE diff --git a/keyboards/jian/rev2/keyboard.json b/keyboards/jian/rev2/keyboard.json index e64df224a5..757fee166d 100644 --- a/keyboards/jian/rev2/keyboard.json +++ b/keyboards/jian/rev2/keyboard.json @@ -39,6 +39,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "E6" + }, "soft_serial_pin": "D1" }, "processor": "atmega32u4", diff --git a/keyboards/jukaie/jk01/jk01.c b/keyboards/jukaie/jk01/jk01.c index 3c6daabf02..595f6bf43f 100644 --- a/keyboards/jukaie/jk01/jk01.c +++ b/keyboards/jukaie/jk01/jk01.c @@ -155,7 +155,8 @@ void housekeeping_task_kb(void) { gpio_write_pin(C15, keymap_config.no_gui); }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } switch (keycode) { @@ -166,8 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { host_consumer_send(0); } return false; /* Skip all further processing of this key */ - - default: - return true; /* Process all other keycodes normally */ } + + return true; /* Process all other keycodes normally */ };
\ No newline at end of file diff --git a/keyboards/junco/rev1/keyboard.json b/keyboards/junco/rev1/keyboard.json index 855628d3b1..936a0bf29c 100644 --- a/keyboards/junco/rev1/keyboard.json +++ b/keyboards/junco/rev1/keyboard.json @@ -39,6 +39,9 @@ {"pin_a": "GP16", "pin_b": "GP17"} ] } + }, + "serial": { + "driver": "vendor" } }, "processor": "RP2040", diff --git a/keyboards/junco/rev1/rules.mk b/keyboards/junco/rev1/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/junco/rev1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/kabedon/kabedon980/kabedon980.c b/keyboards/kabedon/kabedon980/kabedon980.c deleted file mode 100644 index 7024a2eaa9..0000000000 --- a/keyboards/kabedon/kabedon980/kabedon980.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "quantum.h" - - bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(E6, !led_state.caps_lock); - } - return true; -} diff --git a/keyboards/kabedon/kabedon980/keyboard.json b/keyboards/kabedon/kabedon980/keyboard.json index cf9def2b8f..b8e100ceac 100644 --- a/keyboards/kabedon/kabedon980/keyboard.json +++ b/keyboards/kabedon/kabedon980/keyboard.json @@ -8,6 +8,10 @@ "pid": "0x3938", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "E6", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h index ebccdcca30..23900d8ab2 100644 --- a/keyboards/kakunpc/suihankey/split/alpha/config.h +++ b/keyboards/kakunpc/suihankey/split/alpha/config.h @@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define USE_I2C -#define SPLIT_HAND_PIN D2 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/kakunpc/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json index c186263123..2e5bf1ce97 100644 --- a/keyboards/kakunpc/suihankey/split/info.json +++ b/keyboards/kakunpc/suihankey/split/info.json @@ -10,6 +10,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D2" + }, "soft_serial_pin": "D0" }, "processor": "atmega32u4", diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h index ebccdcca30..23900d8ab2 100644 --- a/keyboards/kakunpc/suihankey/split/rev1/config.h +++ b/keyboards/kakunpc/suihankey/split/rev1/config.h @@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define USE_I2C -#define SPLIT_HAND_PIN D2 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/kaly/kaly42/keyboard.json b/keyboards/kaly/kaly42/keyboard.json index 38de4ccea5..3115d051df 100644 --- a/keyboards/kaly/kaly42/keyboard.json +++ b/keyboards/kaly/kaly42/keyboard.json @@ -33,6 +33,9 @@ ["A0", "A1", "A2", "NO_PIN", "NO_PIN", "NO_PIN"] ] } + }, + "serial": { + "driver": "usart" } }, "url": "https://github.com/Dwctor/Kaly", diff --git a/keyboards/kaly/kaly42/rules.mk b/keyboards/kaly/kaly42/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/kaly/kaly42/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h index 40a7c6ec47..9d03a669c8 100644 --- a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h +++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h @@ -16,8 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once -#define ENCODERS_PAD_A { D5 } -#define ENCODERS_PAD_B { D3 } +#define ENCODER_A_PINS { D5 } +#define ENCODER_B_PINS { D3 } #define WS2812_DI_PIN D0 #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/karn/keyboard.json b/keyboards/karn/keyboard.json index b088f61425..1ddd8e5a98 100644 --- a/keyboards/karn/keyboard.json +++ b/keyboards/karn/keyboard.json @@ -21,7 +21,10 @@ "matrix": [0, 1] }, "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "usart" + } }, "layouts": { "LAYOUT": { diff --git a/keyboards/karn/rules.mk b/keyboards/karn/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/karn/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/kbdfans/bella/soldered/keyboard.json b/keyboards/kbdfans/bella/soldered/keyboard.json index 31d8e9ffb7..aa5d915980 100644 --- a/keyboards/kbdfans/bella/soldered/keyboard.json +++ b/keyboards/kbdfans/bella/soldered/keyboard.json @@ -31,6 +31,10 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "E6", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/kbdfans/bella/soldered/soldered.c b/keyboards/kbdfans/bella/soldered/soldered.c deleted file mode 100755 index bfe9f8f5d4..0000000000 --- a/keyboards/kbdfans/bella/soldered/soldered.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 dztech - * - * 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 "quantum.h" -void matrix_init_kb(void) { - gpio_set_pin_output(E6); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(E6, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/kbdfans/maja_soldered/keyboard.json b/keyboards/kbdfans/maja_soldered/keyboard.json index bf73f04d8a..f182ef97d1 100644 --- a/keyboards/kbdfans/maja_soldered/keyboard.json +++ b/keyboards/kbdfans/maja_soldered/keyboard.json @@ -31,6 +31,10 @@ "backlight": { "pin": "B5" }, + "indicators": { + "caps_lock": "D4", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "debounce": 3, diff --git a/keyboards/kbdfans/maja_soldered/maja_soldered.c b/keyboards/kbdfans/maja_soldered/maja_soldered.c deleted file mode 100755 index 41d80e2cc8..0000000000 --- a/keyboards/kbdfans/maja_soldered/maja_soldered.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2020 dztech kbdfans - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(D4); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D4, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/kbdfans/phaseone/phaseone.c b/keyboards/kbdfans/phaseone/phaseone.c index a44e501109..97cc7d2d2a 100644 --- a/keyboards/kbdfans/phaseone/phaseone.c +++ b/keyboards/kbdfans/phaseone/phaseone.c @@ -18,4 +18,6 @@ void keyboard_pre_init_kb(void) { gpio_set_pin_output(D4); + + keyboard_pre_init_user(); } diff --git a/keyboards/kc60se/kc60se.c b/keyboards/kc60se/kc60se.c deleted file mode 100644 index a7d60079b2..0000000000 --- a/keyboards/kc60se/kc60se.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2017 Blake C. Lewis - * - * 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 "quantum.h" - -void matrix_init_kb(void){ - gpio_set_pin_output(B2); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B2, !led_state.caps_lock); - } - return res; -} - diff --git a/keyboards/kc60se/keyboard.json b/keyboards/kc60se/keyboard.json index b7123b5749..c8bdf24a4b 100644 --- a/keyboards/kc60se/keyboard.json +++ b/keyboards/kc60se/keyboard.json @@ -27,6 +27,10 @@ "pin": "F5", "levels": 6 }, + "indicators": { + "caps_lock": "B2", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift"], diff --git a/keyboards/keebio/cepstrum/rev1/config.h b/keyboards/keebio/cepstrum/rev1/config.h index 7c3bb16bad..5ece396104 100644 --- a/keyboards/keebio/cepstrum/rev1/config.h +++ b/keyboards/keebio/cepstrum/rev1/config.h @@ -3,8 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN GP4 - #define USB_VBUS_PIN GP12 #define SERIAL_USART_FULL_DUPLEX diff --git a/keyboards/keebio/cepstrum/rev1/keyboard.json b/keyboards/keebio/cepstrum/rev1/keyboard.json index 0b53d12792..26289f6236 100644 --- a/keyboards/keebio/cepstrum/rev1/keyboard.json +++ b/keyboards/keebio/cepstrum/rev1/keyboard.json @@ -9,12 +9,18 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "GP4" + }, "matrix_pins": { "right": { "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP21", "GP15", "GP9", "GP10"], "rows": ["GP2", "GP3", "GP5", "GP8", "GP19"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/keebio/cepstrum/rev1/rules.mk b/keyboards/keebio/cepstrum/rev1/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/cepstrum/rev1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/chiri_ce/rev1/keyboard.json b/keyboards/keebio/chiri_ce/rev1/keyboard.json index 8b46dd7d6d..f118a4dd1e 100644 --- a/keyboards/keebio/chiri_ce/rev1/keyboard.json +++ b/keyboards/keebio/chiri_ce/rev1/keyboard.json @@ -124,6 +124,9 @@ "rows": ["GP24", "GP23", "GP21", "GP3"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync_matrix_state": true } diff --git a/keyboards/keebio/chiri_ce/rev1/rules.mk b/keyboards/keebio/chiri_ce/rev1/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/chiri_ce/rev1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/foldkb/rev1/config.h b/keyboards/keebio/foldkb/rev1/config.h index 0435a34e7f..572ff9a83a 100644 --- a/keyboards/keebio/foldkb/rev1/config.h +++ b/keyboards/keebio/foldkb/rev1/config.h @@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/foldkb/rev1/keyboard.json b/keyboards/keebio/foldkb/rev1/keyboard.json index c7055400a5..447f2ed0fd 100644 --- a/keyboards/keebio/foldkb/rev1/keyboard.json +++ b/keyboards/keebio/foldkb/rev1/keyboard.json @@ -23,6 +23,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "F7" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/keebio/fourier/config.h b/keyboards/keebio/fourier/config.h deleted file mode 100644 index 49d868c968..0000000000 --- a/keyboards/keebio/fourier/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 - -/* Split Defines */ -#define SPLIT_HAND_PIN D2 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/keebio/fourier/keyboard.json b/keyboards/keebio/fourier/keyboard.json index 189276b877..6f83ae6f53 100644 --- a/keyboards/keebio/fourier/keyboard.json +++ b/keyboards/keebio/fourier/keyboard.json @@ -36,6 +36,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D2" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/keebio/iris/keymaps/dvorak/config.h b/keyboards/keebio/iris/keymaps/dvorak/config.h deleted file mode 100644 index 0776d7e179..0000000000 --- a/keyboards/keebio/iris/keymaps/dvorak/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2017 Danny Nguyen <[email protected]> - -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 - -/* Select hand configuration */ - -#define MASTER_LEFT - -#undef RGBLIGHT_LED_COUNT -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_LED_COUNT 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json deleted file mode 100644 index 8f55ce3a4c..0000000000 --- a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "author": "", - "layers": [ - [ - "KC_ESC", - "KC_1", - "KC_2", - "KC_3", - "KC_4", - "KC_5", - "KC_6", - "KC_7", - "KC_8", - "KC_9", - "KC_0", - "KC_BSPC", - "KC_TAB", - "KC_QUOT", - "KC_COMM", - "KC_DOT", - "KC_P", - "KC_Y", - "KC_F", - "KC_G", - "KC_C", - "KC_R", - "KC_L", - "KC_SLSH", - "KC_LCTL", - "KC_A", - "KC_O", - "KC_E", - "KC_U", - "KC_I", - "KC_D", - "KC_H", - "KC_T", - "KC_N", - "KC_S", - "KC_MINS", - "KC_LSFT", - "KC_SCLN", - "KC_Q", - "KC_J", - "KC_K", - "KC_X", - "KC_HOME", - "KC_END", - "KC_B", - "KC_M", - "KC_W", - "KC_V", - "KC_Z", - "KC_RSFT", - "MO(1)", - "KC_LGUI", - "KC_ENT", - "KC_SPC", - "KC_RALT", - "MO(2)" - ], - [ - "KC_TILD", - "KC_EXLM", - "KC_AT", - "KC_HASH", - "KC_DLR", - "KC_PERC", - "KC_CIRC", - "KC_AMPR", - "KC_ASTR", - "KC_LPRN", - "KC_RPRN", - "KC_BSPC", - "QK_BOOT", - "KC_1", - "KC_2", - "KC_3", - "KC_4", - "KC_5", - "KC_6", - "KC_7", - "KC_8", - "KC_9", - "KC_0", - "KC_GRV", - "KC_DEL", - "KC_NO", - "KC_LEFT", - "KC_RGHT", - "KC_UP", - "KC_LCBR", - "KC_RCBR", - "KC_P4", - "KC_P5", - "KC_P6", - "KC_PPLS", - "KC_BSPC", - "BL_UP", - "KC_NO", - "KC_NO", - "KC_NO", - "KC_DOWN", - "KC_LBRC", - "KC_LPRN", - "KC_RPRN", - "KC_RBRC", - "KC_P1", - "KC_P2", - "KC_P3", - "KC_PMNS", - "KC_PIPE", - "KC_NO", - "KC_NO", - "KC_DEL", - "KC_DEL", - "KC_NO", - "KC_P0" - ], - [ - "KC_F12", - "KC_F1", - "KC_F2", - "KC_F3", - "KC_F4", - "KC_F5", - "KC_F6", - "KC_F7", - "KC_F8", - "KC_F9", - "KC_F10", - "KC_F11", - "RGB_TOG", - "KC_EXLM", - "KC_AT", - "KC_HASH", - "KC_DLR", - "KC_PERC", - "KC_CIRC", - "KC_AMPR", - "KC_ASTR", - "KC_LPRN", - "KC_RPRN", - "KC_NO", - "RGB_MOD", - "KC_MRWD", - "KC_MFFD", - "KC_VOLU", - "KC_PGUP", - "KC_UNDS", - "KC_PEQL", - "KC_HOME", - "RGB_HUI", - "RGB_SAI", - "RGB_VAI", - "KC_BSLS", - "KC_MUTE", - "KC_MSTP", - "KC_MPLY", - "KC_VOLD", - "KC_PGDN", - "KC_PMNS", - "KC_NO", - "KC_NO", - "KC_PPLS", - "KC_END", - "RGB_HUD", - "RGB_SAD", - "RGB_VAD", - "KC_NO", - "KC_NO", - "KC_NO", - "KC_NO", - "KC_NO", - "KC_NO", - "KC_NO" - ] - ], - "layout": "LAYOUT", - "keymap": "keebio_iris_rev2_layout_dvorak.json", - "keyboard": "keebio/iris/rev2", - "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code. - -To setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs> - -You can convert this file to a keymap.c using this command: `qmk json2c {keymap}` - -You can compile this keymap using this command: `qmk compile {keymap}`\" -", - "notes": "", - "version": 1 -} diff --git a/keyboards/keebio/iris/keymaps/dvorak/keymap.c b/keyboards/keebio/iris/keymaps/dvorak/keymap.c deleted file mode 100644 index ce99d1a563..0000000000 --- a/keyboards/keebio/iris/keymaps/dvorak/keymap.c +++ /dev/null @@ -1,73 +0,0 @@ -#include QMK_KEYBOARD_H -enum my_layers { - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DVORAK] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_HOME, KC_END, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - LOWER, KC_LGUI, KC_ENT, KC_SPC, KC_RALT, RAISE - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_LOWER] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRAVE, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, KC_PIPE, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, KC_DEL, KC_DEL, _______, KC_P0 - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, _______, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_ADJUST] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/keebio/iris/keymaps/dvorak/readme.md b/keyboards/keebio/iris/keymaps/dvorak/readme.md deleted file mode 100644 index 8397ef84ac..0000000000 --- a/keyboards/keebio/iris/keymaps/dvorak/readme.md +++ /dev/null @@ -1,16 +0,0 @@ - -![Iris Dvorak keymap](https://i.imgur.com/DXESYqV.png) - -# Dvorak - -``` -make keebio/iris/rev2:dvorak -``` -``` -make keebio/iris/rev3:dvorak -``` -``` -make keebio/iris/rev4:dvorak -``` - -Tested with Iris rev. 2 diff --git a/keyboards/keebio/iris/keymaps/dvorak/rules.mk b/keyboards/keebio/iris/keymaps/dvorak/rules.mk deleted file mode 100644 index d7463419b4..0000000000 --- a/keyboards/keebio/iris/keymaps/dvorak/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_ENABLE = yes -BACKLIGHT_ENABLE = yes diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h deleted file mode 100644 index ff730d345c..0000000000 --- a/keyboards/keebio/iris/rev3/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2017 Danny Nguyen <[email protected]> - -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 SPLIT_HAND_PIN F0 diff --git a/keyboards/keebio/iris/rev3/keyboard.json b/keyboards/keebio/iris/rev3/keyboard.json index e2353d751f..9ffafa3f89 100644 --- a/keyboards/keebio/iris/rev3/keyboard.json +++ b/keyboards/keebio/iris/rev3/keyboard.json @@ -45,6 +45,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "F0" + }, "soft_serial_pin": "D0" }, "processor": "atmega32u4", diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h deleted file mode 100644 index 246049a730..0000000000 --- a/keyboards/keebio/iris/rev4/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2019 Danny Nguyen <[email protected]> - -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 SPLIT_HAND_PIN D5 diff --git a/keyboards/keebio/iris/rev4/keyboard.json b/keyboards/keebio/iris/rev4/keyboard.json index ee06554d08..a43e7b88d2 100644 --- a/keyboards/keebio/iris/rev4/keyboard.json +++ b/keyboards/keebio/iris/rev4/keyboard.json @@ -53,6 +53,9 @@ ] } }, + "handedness": { + "pin": "D5" + }, "matrix_pins": { "right": { "cols": ["D4", "D7", "D3", "B7", "F0", "B3"], diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h index 4b67b6632f..71d2044aa6 100644 --- a/keyboards/keebio/iris/rev5/config.h +++ b/keyboards/keebio/iris/rev5/config.h @@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D5 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev5/keyboard.json b/keyboards/keebio/iris/rev5/keyboard.json index a1f97a7831..799e510cc2 100644 --- a/keyboards/keebio/iris/rev5/keyboard.json +++ b/keyboards/keebio/iris/rev5/keyboard.json @@ -70,6 +70,9 @@ ] } }, + "handedness": { + "pin": "D5" + }, "matrix_pins": { "right": { "cols": ["D4", "D7", "D3", "B7", "F0", "B3"], diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h index f52c020dee..867a96ad95 100644 --- a/keyboards/keebio/iris/rev6/config.h +++ b/keyboards/keebio/iris/rev6/config.h @@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D5 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev6/keyboard.json b/keyboards/keebio/iris/rev6/keyboard.json index 7bbaabe277..bcbacb5b22 100644 --- a/keyboards/keebio/iris/rev6/keyboard.json +++ b/keyboards/keebio/iris/rev6/keyboard.json @@ -86,6 +86,9 @@ "split": { "enabled": true, "soft_serial_pin": "D0", + "handedness": { + "pin": "D5" + }, "matrix_pins": { "right": { "cols": ["D4", "D6", "D7", "C7", "F1", "F4"], diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h index eec56a2620..b5f24925c0 100644 --- a/keyboards/keebio/iris/rev7/config.h +++ b/keyboards/keebio/iris/rev7/config.h @@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D5 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev7/keyboard.json b/keyboards/keebio/iris/rev7/keyboard.json index decb81a18e..1f7677ef4d 100644 --- a/keyboards/keebio/iris/rev7/keyboard.json +++ b/keyboards/keebio/iris/rev7/keyboard.json @@ -85,6 +85,9 @@ "split": { "enabled": true, "soft_serial_pin": "D0", + "handedness": { + "pin": "D5" + }, "matrix_pins": { "right": { "cols": ["D4", "D6", "D7", "C7", "F1", "F4"], diff --git a/keyboards/keebio/iris/rev8/config.h b/keyboards/keebio/iris/rev8/config.h index 3ea59ffcf6..e9eb512981 100644 --- a/keyboards/keebio/iris/rev8/config.h +++ b/keyboards/keebio/iris/rev8/config.h @@ -3,8 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN GP4 - #define USB_VBUS_PIN GP8 #define SERIAL_USART_FULL_DUPLEX diff --git a/keyboards/keebio/iris/rev8/keyboard.json b/keyboards/keebio/iris/rev8/keyboard.json index 85676067c0..7ff198afa7 100644 --- a/keyboards/keebio/iris/rev8/keyboard.json +++ b/keyboards/keebio/iris/rev8/keyboard.json @@ -24,12 +24,18 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "GP4" + }, "matrix_pins": { "right": { "cols": ["GP27", "GP28", "GP3", "GP6", "GP29", "GP16"], "rows": ["GP22", "GP19", "GP18", "GP17", "GP7"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync" :{ "matrix_state": true diff --git a/keyboards/keebio/iris/rev8/rules.mk b/keyboards/keebio/iris/rev8/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/iris/rev8/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/iris_ce/rev1/config.h b/keyboards/keebio/iris_ce/rev1/config.h index e5f43f001e..2a9d57b061 100644 --- a/keyboards/keebio/iris_ce/rev1/config.h +++ b/keyboards/keebio/iris_ce/rev1/config.h @@ -3,7 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN GP4 #define USB_VBUS_PIN GP0 #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP12 diff --git a/keyboards/keebio/iris_ce/rev1/keyboard.json b/keyboards/keebio/iris_ce/rev1/keyboard.json index 6086f948b1..c5cab98778 100644 --- a/keyboards/keebio/iris_ce/rev1/keyboard.json +++ b/keyboards/keebio/iris_ce/rev1/keyboard.json @@ -135,12 +135,18 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "GP4" + }, "matrix_pins": { "right": { "cols": ["GP29", "GP28", "GP2", "GP27", "GP18", "GP7"], "rows": ["GP26", "GP24", "GP23", "GP21", "GP3"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync_matrix_state": true } diff --git a/keyboards/keebio/iris_ce/rev1/rules.mk b/keyboards/keebio/iris_ce/rev1/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/iris_ce/rev1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/irispad/rev8/rules.mk b/keyboards/keebio/irispad/rev8/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/irispad/rev8/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h index edc732d668..12f7f76c87 100644 --- a/keyboards/keebio/kbo5000/rev1/config.h +++ b/keyboards/keebio/kbo5000/rev1/config.h @@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/kbo5000/rev1/keyboard.json b/keyboards/keebio/kbo5000/rev1/keyboard.json index b42b7116db..68d791bfb9 100644 --- a/keyboards/keebio/kbo5000/rev1/keyboard.json +++ b/keyboards/keebio/kbo5000/rev1/keyboard.json @@ -52,6 +52,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "D2", "D3", "B7", "B1"], diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h deleted file mode 100644 index 2c1ea67b7a..0000000000 --- a/keyboards/keebio/levinson/rev3/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert -Copyright 2018 Danny Nguyen <[email protected]> - -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 SPLIT_HAND_PIN D2 diff --git a/keyboards/keebio/levinson/rev3/keyboard.json b/keyboards/keebio/levinson/rev3/keyboard.json index 995fb8327d..36c0c5dc9b 100644 --- a/keyboards/keebio/levinson/rev3/keyboard.json +++ b/keyboards/keebio/levinson/rev3/keyboard.json @@ -2,6 +2,9 @@ "keyboard_name": "Levinson Rev. 3", "split": { "soft_serial_pin": "D0", + "handedness": { + "pin": "D2" + }, "matrix_pins": { "right": { "cols": ["F4", "F7", "D3", "B5", "B4", "E6"], diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h deleted file mode 100644 index 177b2832f5..0000000000 --- a/keyboards/keebio/nyquist/rev3/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2017 Danny Nguyen <[email protected]> - -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 SPLIT_HAND_PIN D5 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/keebio/nyquist/rev3/keyboard.json b/keyboards/keebio/nyquist/rev3/keyboard.json index 062b7ebeae..f975dde6b5 100644 --- a/keyboards/keebio/nyquist/rev3/keyboard.json +++ b/keyboards/keebio/nyquist/rev3/keyboard.json @@ -31,6 +31,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D5" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h index 37b015f821..e1e2d99458 100644 --- a/keyboards/keebio/nyquist/rev4/config.h +++ b/keyboards/keebio/nyquist/rev4/config.h @@ -3,8 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN GP23 - #define USB_VBUS_PIN GP18 #define SERIAL_USART_FULL_DUPLEX diff --git a/keyboards/keebio/nyquist/rev4/keyboard.json b/keyboards/keebio/nyquist/rev4/keyboard.json index 804d1aa5d4..cb5c3a39f9 100644 --- a/keyboards/keebio/nyquist/rev4/keyboard.json +++ b/keyboards/keebio/nyquist/rev4/keyboard.json @@ -21,12 +21,18 @@ ] } }, + "handedness": { + "pin": "GP23" + }, "matrix_pins": { "right":{ "cols": ["GP25", "GP29", "GP20", "GP11", "GP3", "GP2"], "rows": ["GP24", "GP17", "GP15", "GP14", "GP12"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync" :{ "matrix_state": true diff --git a/keyboards/keebio/nyquist/rev4/rules.mk b/keyboards/keebio/nyquist/rev4/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/nyquist/rev4/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/nyquist/rev5/keyboard.json b/keyboards/keebio/nyquist/rev5/keyboard.json index 83d88b37b8..fc03c00e29 100644 --- a/keyboards/keebio/nyquist/rev5/keyboard.json +++ b/keyboards/keebio/nyquist/rev5/keyboard.json @@ -31,6 +31,9 @@ "rows": ["GP24", "GP17", "GP15", "GP14", "GP12"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync" :{ "matrix_state": true diff --git a/keyboards/keebio/nyquist/rev5/rules.mk b/keyboards/keebio/nyquist/rev5/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/nyquist/rev5/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h deleted file mode 100644 index c62ff4fef9..0000000000 --- a/keyboards/keebio/quefrency/rev1/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 SPLIT_HAND_PIN D2 diff --git a/keyboards/keebio/quefrency/rev1/keyboard.json b/keyboards/keebio/quefrency/rev1/keyboard.json index 598fc55000..3dbee364d8 100644 --- a/keyboards/keebio/quefrency/rev1/keyboard.json +++ b/keyboards/keebio/quefrency/rev1/keyboard.json @@ -34,6 +34,9 @@ "diode_direction": "COL2ROW", "split": { "soft_serial_pin": "D0", + "handedness": { + "pin": "D2" + }, "matrix_pins": { "right": { "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", "C6"], diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h index edc732d668..12f7f76c87 100644 --- a/keyboards/keebio/quefrency/rev2/config.h +++ b/keyboards/keebio/quefrency/rev2/config.h @@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/quefrency/rev2/keyboard.json b/keyboards/keebio/quefrency/rev2/keyboard.json index 0529fa13a6..aacb72994a 100644 --- a/keyboards/keebio/quefrency/rev2/keyboard.json +++ b/keyboards/keebio/quefrency/rev2/keyboard.json @@ -50,6 +50,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], diff --git a/keyboards/keebio/quefrency/rev3/config.h b/keyboards/keebio/quefrency/rev3/config.h index edc732d668..12f7f76c87 100644 --- a/keyboards/keebio/quefrency/rev3/config.h +++ b/keyboards/keebio/quefrency/rev3/config.h @@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/quefrency/rev3/keyboard.json b/keyboards/keebio/quefrency/rev3/keyboard.json index bd8d86f884..6dd8889a2b 100644 --- a/keyboards/keebio/quefrency/rev3/keyboard.json +++ b/keyboards/keebio/quefrency/rev3/keyboard.json @@ -50,6 +50,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], diff --git a/keyboards/keebio/quefrency/rev4/config.h b/keyboards/keebio/quefrency/rev4/config.h index 0435a34e7f..572ff9a83a 100644 --- a/keyboards/keebio/quefrency/rev4/config.h +++ b/keyboards/keebio/quefrency/rev4/config.h @@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/quefrency/rev4/keyboard.json b/keyboards/keebio/quefrency/rev4/keyboard.json index 8cf21b4962..ef60302c74 100644 --- a/keyboards/keebio/quefrency/rev4/keyboard.json +++ b/keyboards/keebio/quefrency/rev4/keyboard.json @@ -47,6 +47,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], diff --git a/keyboards/keebio/quefrency/rev5/config.h b/keyboards/keebio/quefrency/rev5/config.h index 0435a34e7f..572ff9a83a 100644 --- a/keyboards/keebio/quefrency/rev5/config.h +++ b/keyboards/keebio/quefrency/rev5/config.h @@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN F7 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/quefrency/rev5/keyboard.json b/keyboards/keebio/quefrency/rev5/keyboard.json index b5f9c994af..96b4fa5d26 100644 --- a/keyboards/keebio/quefrency/rev5/keyboard.json +++ b/keyboards/keebio/quefrency/rev5/keyboard.json @@ -47,6 +47,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h index 80762574ab..572ff9a83a 100644 --- a/keyboards/keebio/sinc/rev1/config.h +++ b/keyboards/keebio/sinc/rev1/config.h @@ -16,7 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -// wiring of each half -#define SPLIT_HAND_PIN F7 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/sinc/rev1/keyboard.json b/keyboards/keebio/sinc/rev1/keyboard.json index a026aea007..929d0c0d82 100644 --- a/keyboards/keebio/sinc/rev1/keyboard.json +++ b/keyboards/keebio/sinc/rev1/keyboard.json @@ -39,6 +39,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], @@ -57,6 +60,9 @@ ] }, "backlight": { + "default": { + "brightness": 3 + }, "pin": "B5" }, "rgblight": { diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h index 80762574ab..572ff9a83a 100644 --- a/keyboards/keebio/sinc/rev2/config.h +++ b/keyboards/keebio/sinc/rev2/config.h @@ -16,7 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -// wiring of each half -#define SPLIT_HAND_PIN F7 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/sinc/rev2/keyboard.json b/keyboards/keebio/sinc/rev2/keyboard.json index 77f8f3c9ca..71d1f62279 100644 --- a/keyboards/keebio/sinc/rev2/keyboard.json +++ b/keyboards/keebio/sinc/rev2/keyboard.json @@ -39,6 +39,9 @@ ] } }, + "handedness": { + "pin": "F7" + }, "matrix_pins": { "right": { "cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"], @@ -57,6 +60,9 @@ ] }, "backlight": { + "default": { + "brightness": 3 + }, "pin": "B5" }, "rgblight": { diff --git a/keyboards/keebio/sinc/rev3/config.h b/keyboards/keebio/sinc/rev3/config.h index 89c8c0f3d8..3771f8da1d 100644 --- a/keyboards/keebio/sinc/rev3/config.h +++ b/keyboards/keebio/sinc/rev3/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN GP4 - #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/keebio/sinc/rev3/keyboard.json b/keyboards/keebio/sinc/rev3/keyboard.json index da828dbb35..9ee599dd20 100644 --- a/keyboards/keebio/sinc/rev3/keyboard.json +++ b/keyboards/keebio/sinc/rev3/keyboard.json @@ -20,12 +20,18 @@ ] } }, + "handedness": { + "pin": "GP4" + }, "matrix_pins": { "right": { "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], "rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/keebio/sinc/rev3/rules.mk b/keyboards/keebio/sinc/rev3/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/sinc/rev3/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/sinc/rev4/config.h b/keyboards/keebio/sinc/rev4/config.h index 0a9b9846eb..5042d0c924 100644 --- a/keyboards/keebio/sinc/rev4/config.h +++ b/keyboards/keebio/sinc/rev4/config.h @@ -3,8 +3,6 @@ #pragma once -#define SPLIT_HAND_PIN GP4 - #define USB_VBUS_PIN GP14 #define SERIAL_USART_FULL_DUPLEX diff --git a/keyboards/keebio/sinc/rev4/keyboard.json b/keyboards/keebio/sinc/rev4/keyboard.json index 15b28fb012..63b8994e8b 100644 --- a/keyboards/keebio/sinc/rev4/keyboard.json +++ b/keyboards/keebio/sinc/rev4/keyboard.json @@ -20,12 +20,18 @@ ] } }, + "handedness": { + "pin": "GP4" + }, "matrix_pins": { "right": { "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], "rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/keebio/sinc/rev4/rules.mk b/keyboards/keebio/sinc/rev4/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/keebio/sinc/rev4/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/sinc/sinc.c b/keyboards/keebio/sinc/sinc.c index c1ebd1a206..faa3540af9 100644 --- a/keyboards/keebio/sinc/sinc.c +++ b/keyboards/keebio/sinc/sinc.c @@ -28,15 +28,6 @@ bool led_update_kb(led_t led_state) { } #endif -void eeconfig_init_kb(void) { -#ifdef BACKLIGHT_ENABLE - backlight_enable(); - backlight_level(3); -#endif - eeconfig_update_kb(0); - eeconfig_init_user(); -} - #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h deleted file mode 100644 index 5b609ab777..0000000000 --- a/keyboards/keebio/viterbi/rev2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2017 Danny Nguyen <[email protected]> - -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 SPLIT_HAND_PIN D2 diff --git a/keyboards/keebio/viterbi/rev2/keyboard.json b/keyboards/keebio/viterbi/rev2/keyboard.json index 599529a365..58d921da94 100644 --- a/keyboards/keebio/viterbi/rev2/keyboard.json +++ b/keyboards/keebio/viterbi/rev2/keyboard.json @@ -1,6 +1,9 @@ { "keyboard_name": "Viterbi Rev. 2", "split": { + "handedness": { + "pin": "D2" + }, "soft_serial_pin": "D0" }, "usb": { diff --git a/keyboards/keycapsss/3w6_2040/keyboard.json b/keyboards/keycapsss/3w6_2040/keyboard.json index 88bc275a69..f29b3753c6 100644 --- a/keyboards/keycapsss/3w6_2040/keyboard.json +++ b/keyboards/keycapsss/3w6_2040/keyboard.json @@ -50,6 +50,9 @@ }, "split": { "enabled": true, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/keycapsss/3w6_2040/rules.mk b/keyboards/keycapsss/3w6_2040/rules.mk index 7b11b23005..0cac88f7f7 100644 --- a/keyboards/keycapsss/3w6_2040/rules.mk +++ b/keyboards/keycapsss/3w6_2040/rules.mk @@ -1,2 +1 @@ -SERIAL_DRIVER = vendor POINTING_DEVICE_DRIVER = pimoroni_trackball diff --git a/keyboards/keychron/c2_pro/matrix.c b/keyboards/keychron/c2_pro/matrix.c index 7d5b3e4e79..e05ac5e061 100644 --- a/keyboards/keychron/c2_pro/matrix.c +++ b/keyboards/keychron/c2_pro/matrix.c @@ -41,21 +41,21 @@ pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInput_high(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -106,7 +106,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (col < SHIFT_COL_START || col > SHIFT_COL_END) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == SHIFT_COL_START) { @@ -122,9 +122,9 @@ static void unselect_col(uint8_t col) { if (col < SHIFT_COL_START || col > SHIFT_COL_END) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInput_high(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { HC595_output(0x01, 1); @@ -136,9 +136,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (x < SHIFT_COL_START || x > SHIFT_COL_END) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInput_high(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == SHIFT_COL_START) HC595_output(UNSELECT_ALL_COL, 0); @@ -181,7 +181,7 @@ void matrix_init_custom(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInput_high(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } diff --git a/keyboards/keychron/q10/matrix.c b/keyboards/keychron/q10/matrix.c index b772fd7889..cd6e842e15 100644 --- a/keyboards/keychron/q10/matrix.c +++ b/keyboards/keychron/q10/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -65,35 +65,35 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOutMultiple(uint16_t dataOut) { for (uint8_t i = 0; i < 8; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftOut_single(uint8_t dataOut) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == (MATRIX_COLS - 8)) { @@ -111,16 +111,16 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - 1)) { - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } } } @@ -131,9 +131,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == (MATRIX_COLS - 1)) { @@ -148,7 +148,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q11/ansi_encoder/rules.mk b/keyboards/keychron/q11/ansi_encoder/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/keychron/q11/ansi_encoder/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json index 51a8e5937e..62d1119ebd 100755 --- a/keyboards/keychron/q11/info.json +++ b/keyboards/keychron/q11/info.json @@ -53,6 +53,9 @@ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"] } }, + "serial": { + "driver": "usart" + }, "transport": { "sync" :{ "matrix_state": true diff --git a/keyboards/keychron/q11/iso_encoder/rules.mk b/keyboards/keychron/q11/iso_encoder/rules.mk deleted file mode 100755 index c6e2988321..0000000000 --- a/keyboards/keychron/q11/iso_encoder/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/keychron/q12/matrix.c b/keyboards/keychron/q12/matrix.c index 9d5e9c4d39..bfb51703a0 100644 --- a/keyboards/keychron/q12/matrix.c +++ b/keyboards/keychron/q12/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -65,36 +65,36 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOut(uint8_t dataOut) { for (uint8_t i = 0; i < 8; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftout_single(uint8_t data) { if (data & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 10) { @@ -112,16 +112,16 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - 1)) - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } } @@ -131,9 +131,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == 10) @@ -146,7 +146,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q1v2/matrix.c b/keyboards/keychron/q1v2/matrix.c index 8e01bdb73e..5fa60c1b1d 100644 --- a/keyboards/keychron/q1v2/matrix.c +++ b/keyboards/keychron/q1v2/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -65,37 +65,37 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOut(uint8_t dataOut) { for (uint8_t i = 0; i < 8; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftout_single(uint8_t data) { if (data & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 8) { @@ -113,9 +113,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - 1)) shiftout_single(0x01); @@ -129,9 +129,9 @@ static void unselect_cols(void) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == (MATRIX_COLS - 1)) @@ -144,7 +144,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q3/matrix.c b/keyboards/keychron/q3/matrix.c index 25b3f6ed4e..5ed8d7bc4f 100644 --- a/keyboards/keychron/q3/matrix.c +++ b/keyboards/keychron/q3/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -65,37 +65,37 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOut(uint8_t dataOut) { for (uint8_t i = 0; i < 8; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftout_single(uint8_t data) { if (data & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 8) { @@ -113,9 +113,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - 1)) @@ -130,9 +130,9 @@ static void unselect_cols(void) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == (MATRIX_COLS - 1)) @@ -145,7 +145,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q5/matrix.c b/keyboards/keychron/q5/matrix.c index e7f69d9821..e38301f00f 100644 --- a/keyboards/keychron/q5/matrix.c +++ b/keyboards/keychron/q5/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -65,36 +65,36 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOut(uint8_t dataOut) { for (uint8_t i = 0; i < 8; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftout_single(uint8_t data) { if (data & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 10) { @@ -112,16 +112,16 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - 1)) - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } } @@ -131,9 +131,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == (MATRIX_COLS - 1)) @@ -146,7 +146,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q6/matrix.c b/keyboards/keychron/q6/matrix.c index 95e00405b4..c61a38ad73 100644 --- a/keyboards/keychron/q6/matrix.c +++ b/keyboards/keychron/q6/matrix.c @@ -46,21 +46,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; # define CLR_REG_VAL 0xFF #endif -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -77,36 +77,36 @@ static inline uint8_t readMatrixPin(pin_t pin) { static void shiftOut(uint16_t dataOut) { for (uint8_t i = 0; i < NO_PIN_NUM; i++) { if (dataOut & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } dataOut = dataOut >> 1; - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); } - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static void shiftout_single(uint8_t data) { if (data & 0x1) { - setPinOutput_writeHigh(DATA_PIN); + gpio_atomic_set_pin_output_high(DATA_PIN); } else { - setPinOutput_writeLow(DATA_PIN); + gpio_atomic_set_pin_output_low(DATA_PIN); } - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == NO_PIN_START) { @@ -124,16 +124,16 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (col == (MATRIX_COLS - NO_PIN_OFFSET - 1)) - setPinOutput_writeHigh(CLOCK_PIN); - setPinOutput_writeLow(CLOCK_PIN); - setPinOutput_writeHigh(LATCH_PIN); - setPinOutput_writeLow(LATCH_PIN); + gpio_atomic_set_pin_output_high(CLOCK_PIN); + gpio_atomic_set_pin_output_low(CLOCK_PIN); + gpio_atomic_set_pin_output_high(LATCH_PIN); + gpio_atomic_set_pin_output_low(LATCH_PIN); } } @@ -142,9 +142,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == (MATRIX_COLS - NO_PIN_OFFSET - 1)) @@ -157,7 +157,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/q65/matrix.c b/keyboards/keychron/q65/matrix.c index c9f9888689..4cbdd346ec 100644 --- a/keyboards/keychron/q65/matrix.c +++ b/keyboards/keychron/q65/matrix.c @@ -34,26 +34,26 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void writePinLow_atomic(pin_t pin) { +static inline void gpio_atomic_write_pin_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_write_pin_low(pin); } } -static inline void writePinHigh_atomic(pin_t pin) { +static inline void gpio_atomic_write_pin_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_write_pin_high(pin); } } -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -119,9 +119,9 @@ static bool select_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - writePinLow_atomic(pin); + gpio_atomic_write_pin_low(pin); #else - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); #endif return true; } else { @@ -138,9 +138,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - writePinHigh_atomic(pin); + gpio_atomic_write_pin_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftout_single(0x01); @@ -152,9 +152,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == 0) @@ -178,7 +178,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/v1/matrix.c b/keyboards/keychron/v1/matrix.c index 32d9cfdbb0..01875ae44e 100644 --- a/keyboards/keychron/v1/matrix.c +++ b/keyboards/keychron/v1/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND MATRIX_ROWS -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -113,7 +113,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 8) { @@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftOut_single(0x01); @@ -143,9 +143,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == 8) @@ -169,7 +169,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/v10/matrix.c b/keyboards/keychron/v10/matrix.c index bb6504fa78..ee7d0a38c6 100644 --- a/keyboards/keychron/v10/matrix.c +++ b/keyboards/keychron/v10/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -105,7 +105,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == PIN_START_74HC595) { @@ -121,9 +121,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftOut_single(0x01); @@ -137,9 +137,9 @@ static void unselect_cols(void) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == PIN_START_74HC595) @@ -162,7 +162,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/v3/matrix.c b/keyboards/keychron/v3/matrix.c index 5ee860afd2..b127465290 100644 --- a/keyboards/keychron/v3/matrix.c +++ b/keyboards/keychron/v3/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -113,7 +113,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 8) { @@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftOut_single(0x01); @@ -143,9 +143,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == 8) @@ -169,7 +169,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/v5/matrix.c b/keyboards/keychron/v5/matrix.c index 255201af12..810fdfb8e6 100644 --- a/keyboards/keychron/v5/matrix.c +++ b/keyboards/keychron/v5/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -113,7 +113,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == 10) { @@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftOut_single(0x01); @@ -143,9 +143,9 @@ static void unselect_cols(void) { pin_t pin = col_pins[x]; if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { if (x == 10) @@ -169,7 +169,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/keychron/v6/matrix.c b/keyboards/keychron/v6/matrix.c index bb6504fa78..ee7d0a38c6 100644 --- a/keyboards/keychron/v6/matrix.c +++ b/keyboards/keychron/v6/matrix.c @@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define ROWS_PER_HAND (MATRIX_ROWS) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -105,7 +105,7 @@ static bool select_col(uint8_t col) { pin_t pin = col_pins[col]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } else { if (col == PIN_START_74HC595) { @@ -121,9 +121,9 @@ static void unselect_col(uint8_t col) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } else { shiftOut_single(0x01); @@ -137,9 +137,9 @@ static void unselect_cols(void) { if (pin != NO_PIN) { #ifdef MATRIX_UNSELECT_DRIVE_HIGH - setPinOutput_writeHigh(pin); + gpio_atomic_set_pin_output_high(pin); #else - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); #endif } if (x == PIN_START_74HC595) @@ -162,7 +162,7 @@ static void matrix_init_pins(void) { unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } } diff --git a/keyboards/kkatano/wallaby/keyboard.json b/keyboards/kkatano/wallaby/keyboard.json index ee475a54bc..636fdba042 100644 --- a/keyboards/kkatano/wallaby/keyboard.json +++ b/keyboards/kkatano/wallaby/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "B6", + "scroll_lock": "B7" + }, "matrix_pins": { "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"], "rows": ["B5", "B4", "B3", "B2", "B1", "B0"] diff --git a/keyboards/kkatano/wallaby/wallaby.c b/keyboards/kkatano/wallaby/wallaby.c deleted file mode 100644 index de2583903b..0000000000 --- a/keyboards/kkatano/wallaby/wallaby.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2020 Koichi Katano - * - * 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 "quantum.h" - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(B6, led_state.caps_lock); - gpio_write_pin(B7, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/kkatano/yurei/keyboard.json b/keyboards/kkatano/yurei/keyboard.json index 7bf0895787..59084920da 100644 --- a/keyboards/kkatano/yurei/keyboard.json +++ b/keyboards/kkatano/yurei/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "B6", + "scroll_lock": "B7" + }, "matrix_pins": { "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"], "rows": ["B5", "B4", "B3", "B2", "B1", "B0"] diff --git a/keyboards/kkatano/yurei/yurei.c b/keyboards/kkatano/yurei/yurei.c deleted file mode 100644 index 283726a884..0000000000 --- a/keyboards/kkatano/yurei/yurei.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2019 Koichi Katano - * - * 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 "quantum.h" - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(B6, led_state.caps_lock); - gpio_write_pin(B7, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/kopibeng/mnk88/mnk88.c b/keyboards/kopibeng/mnk88/mnk88.c deleted file mode 100644 index efe32f8bfd..0000000000 --- a/keyboards/kopibeng/mnk88/mnk88.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2021 Samuel Lu - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - - gpio_set_pin_output(LED_CAPS_LOCK_PIN); - gpio_set_pin_output(LED_SCROLL_LOCK_PIN); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - - bool res = led_update_user(led_state); - - if(res) { - gpio_write_pin(LED_CAPS_LOCK_PIN, led_state.caps_lock); - gpio_write_pin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/kopibeng/xt8x/xt8x.c b/keyboards/kopibeng/xt8x/xt8x.c index 2c4f246b6a..03342c40af 100644 --- a/keyboards/kopibeng/xt8x/xt8x.c +++ b/keyboards/kopibeng/xt8x/xt8x.c @@ -17,26 +17,11 @@ #include "quantum.h" void matrix_init_kb(void) { - // Initialize indicator LEDs to output - - gpio_set_pin_output(LED_CAPS_LOCK_PIN); // Caps - gpio_set_pin_output(LED_SCROLL_LOCK_PIN); // Scroll lock gpio_set_pin_output(INDICATOR_PIN_0); // Layer indicator on F13 matrix_init_user(); } -bool led_update_kb(led_t led_state) { - - bool res = led_update_user(led_state); - - if(res) { - gpio_write_pin(LED_CAPS_LOCK_PIN, led_state.caps_lock); - gpio_write_pin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock); - } - return res; -} - __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { gpio_write_pin(INDICATOR_PIN_0, layer_state_cmp(state, 1)); return state; diff --git a/keyboards/kumaokobo/kudox_full/kudox_full.c b/keyboards/kumaokobo/kudox_full/kudox_full.c index d69f679822..caa2190600 100644 --- a/keyboards/kumaokobo/kudox_full/kudox_full.c +++ b/keyboards/kumaokobo/kudox_full/kudox_full.c @@ -3,12 +3,6 @@ #include "quantum.h" -#ifdef RGBLIGHT_ENABLE -void eeconfig_init_kb(void) { - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL); -}; -#endif - #ifdef OLED_ENABLE bool oled_task_kb(void) { if (!oled_task_user()) { return false; } diff --git a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json index 09d1cd152c..2919cbf086 100644 --- a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json +++ b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json @@ -29,6 +29,9 @@ "knight": true, "christmas": true, "static_gradient": true + }, + "default": { + "animation": "rainbow_swirl" } }, "ws2812": { diff --git a/keyboards/maple_computing/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h index 38cf73ae1e..22b97cfb6a 100644 --- a/keyboards/maple_computing/lets_split_eh/eh/config.h +++ b/keyboards/maple_computing/lets_split_eh/config.h @@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Split Defines */ -#define SPLIT_HAND_PIN D3 - // The 'EH' has previously forced use of I2C so this default has been kept // however users can undef to use serial #define USE_I2C diff --git a/keyboards/maple_computing/lets_split_eh/eh/rules.mk b/keyboards/maple_computing/lets_split_eh/eh/rules.mk deleted file mode 100644 index 271780b75e..0000000000 --- a/keyboards/maple_computing/lets_split_eh/eh/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Disable unsupported hardware -AUDIO_SUPPORTED = no diff --git a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json index f40b15098f..5624f12ac1 100644 --- a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json +++ b/keyboards/maple_computing/lets_split_eh/keyboard.json @@ -19,6 +19,7 @@ "rgblight": { "led_count": 12, "split_count": [6, 6], + "sleep": true, "animations": { "breathing": true, "rainbow_mood": true, @@ -37,12 +38,15 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "D3" + }, "soft_serial_pin": "D0" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "features": { - "bootmagic": false, + "bootmagic": true, "mousekey": false, "extrakey": true, "nkro": true, diff --git a/keyboards/maple_computing/lets_split_eh/eh/eh.c b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c index 37e8b3ab9b..37e8b3ab9b 100644 --- a/keyboards/maple_computing/lets_split_eh/eh/eh.c +++ b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c diff --git a/keyboards/maple_computing/lets_split_eh/readme.md b/keyboards/maple_computing/lets_split_eh/readme.md index 90ae5393d1..dc769b72c4 100644 --- a/keyboards/maple_computing/lets_split_eh/readme.md +++ b/keyboards/maple_computing/lets_split_eh/readme.md @@ -8,6 +8,6 @@ Keyboard Maintainer: [Christopher Poole (That-Canadian)](https://github.com/That Make example for this keyboard (after setting up your build environment): - make maple_computing/lets_split_eh/eh:default + make maple_computing/lets_split_eh:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/maple_computing/lets_split_eh/rules.mk b/keyboards/maple_computing/lets_split_eh/rules.mk index 9bae45fde8..271780b75e 100644 --- a/keyboards/maple_computing/lets_split_eh/rules.mk +++ b/keyboards/maple_computing/lets_split_eh/rules.mk @@ -1 +1,2 @@ -DEFAULT_FOLDER = maple_computing/lets_split_eh/eh +# Disable unsupported hardware +AUDIO_SUPPORTED = no diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json index 546b3dbdd3..ae2250a5f2 100644 --- a/keyboards/marksard/leftover30/keyboard.json +++ b/keyboards/marksard/leftover30/keyboard.json @@ -33,6 +33,10 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, + "indicators": { + "caps_lock": "D1", + "num_lock": "D2" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/marksard/leftover30/leftover30.c b/keyboards/marksard/leftover30/leftover30.c deleted file mode 100644 index cea0de703a..0000000000 --- a/keyboards/marksard/leftover30/leftover30.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2020 marksard - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void keyboard_pre_init_user(void) { - /* Set CAPSLOCK indicator pin as output */ - gpio_set_pin_output(D1); - /* Set NUMLOCK indicator pin as output */ - gpio_set_pin_output(D2); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D2, led_state.num_lock); - gpio_write_pin(D1, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/masterworks/classy_tkl/rev_a/keyboard.json b/keyboards/masterworks/classy_tkl/rev_a/keyboard.json index d3e723d413..889aa6d3f9 100644 --- a/keyboards/masterworks/classy_tkl/rev_a/keyboard.json +++ b/keyboards/masterworks/classy_tkl/rev_a/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "B5", + "scroll_lock": "B6" + }, "matrix_pins": { "cols": ["B4", "D7", "D6", "D4", "C6", "D5", "D3", "D2", "D1", "D0", "B7", "B3", "B2", "B1", "B0", "E6", "F7"], "rows": ["C7", "F0", "F1", "F4", "F5", "F6"] diff --git a/keyboards/masterworks/classy_tkl/rev_a/rev_a.c b/keyboards/masterworks/classy_tkl/rev_a/rev_a.c deleted file mode 100644 index 6e01c217d2..0000000000 --- a/keyboards/masterworks/classy_tkl/rev_a/rev_a.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2020 Mathias Andersson <[email protected]> - * - * 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 "quantum.h" - -#define CAPS_PIN B5 -#define SCROLL_PIN B6 - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - gpio_set_pin_output(CAPS_PIN); - gpio_set_pin_output(SCROLL_PIN); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(CAPS_PIN, led_state.caps_lock); - gpio_write_pin(SCROLL_PIN, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/matrix/cain_re/cain_re.c b/keyboards/matrix/cain_re/cain_re.c deleted file mode 100644 index 6dc24f2292..0000000000 --- a/keyboards/matrix/cain_re/cain_re.c +++ /dev/null @@ -1,40 +0,0 @@ -/** - * cain_re.c - * - Copyright 2020 astro <[email protected]> - - 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 "quantum.h" - -void matrix_init_kb(void) -{ - gpio_set_pin_output(NUM_PIN); - gpio_set_pin_output(CAPS_PIN); - gpio_set_pin_output(SCROLL_PIN); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) -{ - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(NUM_PIN, led_state.num_lock); - gpio_write_pin(CAPS_PIN, led_state.caps_lock); - gpio_write_pin(SCROLL_PIN, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/matrix/cain_re/config.h b/keyboards/matrix/cain_re/config.h deleted file mode 100644 index 9469d689d0..0000000000 --- a/keyboards/matrix/cain_re/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * config.h - * - Copyright 2020 astro <[email protected]> - - 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 CAPS_PIN D3 -#define NUM_PIN F7 -#define SCROLL_PIN B0 diff --git a/keyboards/matrix/cain_re/keyboard.json b/keyboards/matrix/cain_re/keyboard.json index 02c6cbbeb5..7d93e806c2 100644 --- a/keyboards/matrix/cain_re/keyboard.json +++ b/keyboards/matrix/cain_re/keyboard.json @@ -8,6 +8,11 @@ "pid": "0x0106", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "D3", + "num_lock": "F7", + "scroll_lock": "B0" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/matrix/falcon/falcon.c b/keyboards/matrix/falcon/falcon.c index 74677ab0d1..bfc878a79c 100644 --- a/keyboards/matrix/falcon/falcon.c +++ b/keyboards/matrix/falcon/falcon.c @@ -25,4 +25,5 @@ void matrix_init_kb(void) gpio_set_pin_output(LED_POWER_PIN); gpio_write_pin_high(LED_POWER_PIN); + matrix_init_user(); } diff --git a/keyboards/matrix/m12og/rev2/keyboard.json b/keyboards/matrix/m12og/rev2/keyboard.json index 42df6a75e8..45fcffe9eb 100644 --- a/keyboards/matrix/m12og/rev2/keyboard.json +++ b/keyboards/matrix/m12og/rev2/keyboard.json @@ -8,6 +8,12 @@ "pid": "0x8712", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "C6", + "num_lock": "B1", + "scroll_lock": "B2", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/matrix/m12og/rev2/rev2.c b/keyboards/matrix/m12og/rev2/rev2.c deleted file mode 100644 index e64640b2d2..0000000000 --- a/keyboards/matrix/m12og/rev2/rev2.c +++ /dev/null @@ -1,23 +0,0 @@ -/** - * rev2.c - */ - -#include "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(C6); - gpio_set_pin_output(B2); - gpio_set_pin_output(B1); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(B1, !led_state.num_lock); - gpio_write_pin(C6, !led_state.caps_lock); - gpio_write_pin(B2, !led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/mc_76k/keyboard.json b/keyboards/mc_76k/keyboard.json index 049483bed9..18aef48d01 100644 --- a/keyboards/mc_76k/keyboard.json +++ b/keyboards/mc_76k/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "D2", + "on_state": 0 + }, "matrix_pins": { "cols": ["D5", "D3", "D4", "B1", "D6", "D7", "B4", "B5", "F7", "F6", "F5", "F4", "F1", "F0"], "rows": ["C7", "C6", "B6", "B0", "D1", "D0"] diff --git a/keyboards/mc_76k/mc_76k.c b/keyboards/mc_76k/mc_76k.c deleted file mode 100644 index 44d2374b1c..0000000000 --- a/keyboards/mc_76k/mc_76k.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 Yiancar-Designs - * - * 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 "quantum.h" - -void keyboard_pre_init_kb (void) { - gpio_set_pin_output(D2); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(D2, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c index d49d16e85a..cc3853cacd 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c @@ -131,6 +131,10 @@ bool rgb_matrix_indicators_kb(void) { #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + if (record->event.pressed) { switch(keycode) { #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c index c6943cc357..3fdc571380 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c +++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c @@ -223,6 +223,10 @@ layer_state_t layer_state_set_user(layer_state_t state) { #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + if (record->event.pressed) { switch(keycode) { #ifdef RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/mechlovin/kay65/kay65.c b/keyboards/mechlovin/kay65/kay65.c index f59f23e13d..b125cf1f79 100644 --- a/keyboards/mechlovin/kay65/kay65.c +++ b/keyboards/mechlovin/kay65/kay65.c @@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "quantum.h" -void keyboard_pre_init_user(void) { - // Call the keyboard pre init code. - +void keyboard_pre_init_kb(void) { // Set our LED pins as output gpio_set_pin_output(D7); + + keyboard_pre_init_user(); } diff --git a/keyboards/mechlovin/zed1800/zed1800.c b/keyboards/mechlovin/zed1800/zed1800.c index e86b4d5a5a..975c8914dd 100644 --- a/keyboards/mechlovin/zed1800/zed1800.c +++ b/keyboards/mechlovin/zed1800/zed1800.c @@ -27,13 +27,19 @@ RGBLIGHT_LAYERS_LIST( my_numlock_layer, my_scroll_layer ); + void keyboard_post_init_kb(void) { rgblight_layers = my_rgb_layers; + + keyboard_post_init_user(); } + // Activate rgb layer for caps when capslock is enabled bool led_update_kb(led_t led_state) { - rgblight_set_layer_state(0, led_state.caps_lock); - rgblight_set_layer_state(1, led_state.num_lock); - rgblight_set_layer_state(2, led_state.scroll_lock); + if(led_update_user(led_state)) { + rgblight_set_layer_state(0, led_state.caps_lock); + rgblight_set_layer_state(1, led_state.num_lock); + rgblight_set_layer_state(2, led_state.scroll_lock); + } return true; }
\ No newline at end of file diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c index a6942a2cb8..de1c73a0e0 100644 --- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c +++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c @@ -17,8 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "quantum.h" -void keyboard_pre_init_user(void) { - // Call the keyboard pre init code. +void keyboard_pre_init_kb(void) { // Set our LED pins as output gpio_set_pin_output(B7); + + keyboard_pre_init_user(); } diff --git a/keyboards/meetlab/kafkasplit/keyboard.json b/keyboards/meetlab/kafkasplit/keyboard.json index d71d405f33..375d4f7a03 100644 --- a/keyboards/meetlab/kafkasplit/keyboard.json +++ b/keyboards/meetlab/kafkasplit/keyboard.json @@ -130,6 +130,9 @@ "rows": ["GP11", "GP13", "GP12", "GP14"] } }, + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/meetlab/kafkasplit/rules.mk b/keyboards/meetlab/kafkasplit/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/meetlab/kafkasplit/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/mixi/config.h b/keyboards/mixi/config.h index e5c829d811..cf7c89abb1 100644 --- a/keyboards/mixi/config.h +++ b/keyboards/mixi/config.h @@ -1,4 +1,6 @@ #pragma once +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) + #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYER_BLINK diff --git a/keyboards/mixi/mixi.c b/keyboards/mixi/mixi.c deleted file mode 100644 index e8da7fdac2..0000000000 --- a/keyboards/mixi/mixi.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "quantum.h" - -void eeconfig_init_kb(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); // Enable RGB underglow by default - rgblight_sethsv(0, 255, 255); -#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // Set to RGB_RAINBOW_SWIRL animation by default -#endif -#endif - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/mlego/m60_split/rev1/config.h b/keyboards/mlego/m60_split/rev1/config.h index 564add296d..9f991d0fcc 100644 --- a/keyboards/mlego/m60_split/rev1/config.h +++ b/keyboards/mlego/m60_split/rev1/config.h @@ -15,6 +15,5 @@ */ #pragma once -#define SPLIT_HAND_PIN B9 #define SERIAL_USART_TX_PIN B6 #define SERIAL_USART_SPEED 921600 diff --git a/keyboards/mlego/m60_split/rev1/keyboard.json b/keyboards/mlego/m60_split/rev1/keyboard.json index d0c6275dc9..cbd951dac9 100644 --- a/keyboards/mlego/m60_split/rev1/keyboard.json +++ b/keyboards/mlego/m60_split/rev1/keyboard.json @@ -63,12 +63,18 @@ "bootmagic": { "matrix": [5, 0] }, + "handedness": { + "pin": "B9" + }, "matrix_pins": { "right": { "cols": ["B0", "A3", "A2", "A1", "B7", "B5"], "rows": ["B1", "A4", "A5", "A6", "A7"] } }, + "serial": { + "driver": "usart" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/mlego/m60_split/rev1/rules.mk b/keyboards/mlego/m60_split/rev1/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/mlego/m60_split/rev1/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/mlego/m60_split/rev2/config.h b/keyboards/mlego/m60_split/rev2/config.h index 82ea1b37e3..49218935d7 100644 --- a/keyboards/mlego/m60_split/rev2/config.h +++ b/keyboards/mlego/m60_split/rev2/config.h @@ -15,7 +15,6 @@ */ #pragma once -#define SPLIT_HAND_PIN B9 #define SERIAL_USART_TX_PIN B6 #define SERIAL_USART_SPEED 921600 diff --git a/keyboards/mlego/m60_split/rev2/keyboard.json b/keyboards/mlego/m60_split/rev2/keyboard.json index 48d962f9cc..d8029696a8 100644 --- a/keyboards/mlego/m60_split/rev2/keyboard.json +++ b/keyboards/mlego/m60_split/rev2/keyboard.json @@ -56,12 +56,18 @@ "bootmagic": { "matrix": [5, 0] }, + "handedness": { + "pin": "B9" + }, "matrix_pins": { "right": { "cols": ["B0", "A3", "A2", "A1", "B7", "B5"], "rows": ["B1", "A4", "A5", "A6", "A7"] } }, + "serial": { + "driver": "usart" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/mlego/m60_split/rev2/rules.mk b/keyboards/mlego/m60_split/rev2/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/mlego/m60_split/rev2/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/mode/m256wh/config.h b/keyboards/mode/m256wh/config.h index 06f1658ea5..5bb3d6d1f3 100644 --- a/keyboards/mode/m256wh/config.h +++ b/keyboards/mode/m256wh/config.h @@ -23,5 +23,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_PWM_PAL_MODE 1 #define WS2812_PWM_DMA_STREAM STM32_DMA2_STREAM5 #define WS2812_PWM_DMA_CHANNEL 6 - -#define EECONFIG_KB_DATA_SIZE (1) diff --git a/keyboards/punk75/config.h b/keyboards/mode/m256wh/keymaps/via/config.h index 321865330c..31dfebf49a 100644 --- a/keyboards/punk75/config.h +++ b/keyboards/mode/m256wh/keymaps/via/config.h @@ -1,5 +1,5 @@ /* -Copyright 2020 dsanchezseco +Copyright 2022 Gondolindrim 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 @@ -17,4 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define LED A0 +#define EECONFIG_USER_DATA_SIZE (1) diff --git a/keyboards/mode/m256wh/keymaps/via/keymap.c b/keyboards/mode/m256wh/keymaps/via/keymap.c index a81d663450..6adb5cfffa 100644 --- a/keyboards/mode/m256wh/keymaps/via/keymap.c +++ b/keyboards/mode/m256wh/keymaps/via/keymap.c @@ -31,3 +31,135 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; + +bool is_second_rgb_row_active; + +enum via_secondrow_enable { + id_is_second_rgb_row_active = 0 +}; + +// Sets the second RGB row on or off; done by setting effect range. +void set_second_rgb_row(bool is_active) { + rgblight_disable_noeeprom(); + switch (is_active) + { + case true: + { + rgblight_set_effect_range(0,30); + break; + } + case false: + { + rgblight_set_effect_range(0,15); + break; + } + } + rgblight_enable_noeeprom(); +} + +// At the keyboard start, retrieves PMEM stored configs +void keyboard_post_init_user(void) { + rgblight_disable_noeeprom(); + wait_ms(20); + eeconfig_read_user_datablock(&is_second_rgb_row_active); + set_second_rgb_row(is_second_rgb_row_active); + rgblight_reload_from_eeprom(); + rgblight_set(); +} + +void eeconfig_init_user(void) { // EEPROM is getting reset! + // rgblight_disable(); // Enable RGB by default + // Define the defualt value and write it to EEPROM + is_second_rgb_row_active = true; + set_second_rgb_row(is_second_rgb_row_active); + eeconfig_update_user_datablock(&is_second_rgb_row_active); + + // Disable rgblight by default on EEPROM initialization + rgblight_disable(); +} + +void secondrow_config_set_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_is_second_rgb_row_active: + { + is_second_rgb_row_active = (bool) *value_data; + break; + } + default: + { + is_second_rgb_row_active = true; + } + } + set_second_rgb_row(is_second_rgb_row_active); +} + +void secondrow_config_get_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_is_second_rgb_row_active: + { + *value_data = is_second_rgb_row_active; + break; + } + default: + { + *value_data = false; + } + } +} + +void secondrow_config_save(void) +{ + eeconfig_update_user_datablock(&is_second_rgb_row_active); +} + +void via_custom_value_command_kb(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *channel_id = &(data[1]); + uint8_t *value_id_and_data = &(data[2]); + + if ( *channel_id == id_custom_channel ) { + switch ( *command_id ) + { + case id_custom_set_value: + { + secondrow_config_set_value(value_id_and_data); + break; + } + case id_custom_get_value: + { + secondrow_config_get_value(value_id_and_data); + break; + } + case id_custom_save: + { + secondrow_config_save(); + break; + } + default: + { + // Unhandled message. + *command_id = id_unhandled; + break; + } + } + return; + } + + // Return the unhandled state + *command_id = id_unhandled; + + // DO NOT call raw_hid_send(data,length) here, let caller do this +} diff --git a/keyboards/mode/m256wh/m256wh.c b/keyboards/mode/m256wh/m256wh.c deleted file mode 100644 index cec427f329..0000000000 --- a/keyboards/mode/m256wh/m256wh.c +++ /dev/null @@ -1,154 +0,0 @@ -/* Copyright 2022 Gondolindrim - * - * 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 "quantum.h" - -#ifdef VIA_ENABLE -bool is_second_rgb_row_active; -enum via_secondrow_enable { - id_is_second_rgb_row_active = 0 -}; - -// Sets the second RGB row on or off; done by setting effect range. -void set_second_rgb_row(bool is_active) { - rgblight_disable_noeeprom(); - switch (is_active) - { - case true: - { - rgblight_set_effect_range(0,30); - break; - } - case false: - { - rgblight_set_effect_range(0,15); - break; - } - } - rgblight_enable_noeeprom(); -} - -// At the keyboard start, retrieves PMEM stored configs -void keyboard_post_init_kb(void) { - rgblight_disable_noeeprom(); - wait_ms(20); - eeconfig_read_kb_datablock(&is_second_rgb_row_active); - set_second_rgb_row(is_second_rgb_row_active); - rgblight_reload_from_eeprom(); - rgblight_set(); -} - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - // rgblight_disable(); // Enable RGB by default - // Define the defualt value and write it to EEPROM - is_second_rgb_row_active = true; - set_second_rgb_row(is_second_rgb_row_active); - eeconfig_update_kb_datablock(&is_second_rgb_row_active); - - // Disable rgblight by default on EEPROM initialization - rgblight_disable(); - - // Run user code if any - eeconfig_init_user(); -} - -void secondrow_config_set_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_is_second_rgb_row_active: - { - is_second_rgb_row_active = (bool) *value_data; - break; - } - default: - { - is_second_rgb_row_active = true; - } - } - set_second_rgb_row(is_second_rgb_row_active); -} - -void secondrow_config_get_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_is_second_rgb_row_active: - { - *value_data = is_second_rgb_row_active; - break; - } - default: - { - *value_data = false; - } - } -} - -void secondrow_config_save(void) -{ - - eeconfig_update_kb_datablock(&is_second_rgb_row_active); -} - -void via_custom_value_command_kb(uint8_t *data, uint8_t length) { - // data = [ command_id, channel_id, value_id, value_data ] - uint8_t *command_id = &(data[0]); - uint8_t *channel_id = &(data[1]); - uint8_t *value_id_and_data = &(data[2]); - - if ( *channel_id == id_custom_channel ) { - switch ( *command_id ) - { - case id_custom_set_value: - { - secondrow_config_set_value(value_id_and_data); - break; - } - case id_custom_get_value: - { - secondrow_config_get_value(value_id_and_data); - break; - } - case id_custom_save: - { - secondrow_config_save(); - break; - } - default: - { - // Unhandled message. - *command_id = id_unhandled; - break; - } - } - return; - } - - // Return the unhandled state - *command_id = id_unhandled; - - // DO NOT call raw_hid_send(data,length) here, let caller do this -} -#endif diff --git a/keyboards/mode/m256ws/config.h b/keyboards/mode/m256ws/config.h index 06f1658ea5..5bb3d6d1f3 100644 --- a/keyboards/mode/m256ws/config.h +++ b/keyboards/mode/m256ws/config.h @@ -23,5 +23,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_PWM_PAL_MODE 1 #define WS2812_PWM_DMA_STREAM STM32_DMA2_STREAM5 #define WS2812_PWM_DMA_CHANNEL 6 - -#define EECONFIG_KB_DATA_SIZE (1) diff --git a/keyboards/recompile_keys/choco60/rev1/config.h b/keyboards/mode/m256ws/keymaps/via/config.h index ba9e3a474e..31dfebf49a 100644 --- a/keyboards/recompile_keys/choco60/rev1/config.h +++ b/keyboards/mode/m256ws/keymaps/via/config.h @@ -1,5 +1,5 @@ /* -Copyright 2019 Naoto Takai +Copyright 2022 Gondolindrim 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 @@ -17,4 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D0 +#define EECONFIG_USER_DATA_SIZE (1) diff --git a/keyboards/mode/m256ws/keymaps/via/keymap.c b/keyboards/mode/m256ws/keymaps/via/keymap.c index ab77f7af20..6766852f78 100644 --- a/keyboards/mode/m256ws/keymaps/via/keymap.c +++ b/keyboards/mode/m256ws/keymaps/via/keymap.c @@ -31,3 +31,135 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS ) }; + +bool is_second_rgb_row_active; + +enum via_secondrow_enable { + id_is_second_rgb_row_active = 0 +}; + +// Sets the second RGB row on or off; done by setting effect range. +void set_second_rgb_row(bool is_active) { + rgblight_disable_noeeprom(); + switch (is_active) + { + case true: + { + rgblight_set_effect_range(0,30); + break; + } + case false: + { + rgblight_set_effect_range(0,15); + break; + } + } + rgblight_enable_noeeprom(); +} + +// At the keyboard start, retrieves PMEM stored configs +void keyboard_post_init_user(void) { + rgblight_disable_noeeprom(); + wait_ms(20); + eeconfig_read_user_datablock(&is_second_rgb_row_active); + set_second_rgb_row(is_second_rgb_row_active); + rgblight_reload_from_eeprom(); + rgblight_set(); +} + +void eeconfig_init_user(void) { // EEPROM is getting reset! + // rgblight_disable(); // Enable RGB by default + // Define the defualt value and write it to EEPROM + is_second_rgb_row_active = true; + set_second_rgb_row(is_second_rgb_row_active); + eeconfig_update_user_datablock(&is_second_rgb_row_active); + + // Disable rgblight by default on EEPROM initialization + rgblight_disable(); +} + +void secondrow_config_set_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_is_second_rgb_row_active: + { + is_second_rgb_row_active = (bool) *value_data; + break; + } + default: + { + is_second_rgb_row_active = true; + } + } + set_second_rgb_row(is_second_rgb_row_active); +} + +void secondrow_config_get_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_is_second_rgb_row_active: + { + *value_data = is_second_rgb_row_active; + break; + } + default: + { + *value_data = false; + } + } +} + +void secondrow_config_save(void) +{ + eeconfig_update_user_datablock(&is_second_rgb_row_active); +} + +void via_custom_value_command_kb(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *channel_id = &(data[1]); + uint8_t *value_id_and_data = &(data[2]); + + if ( *channel_id == id_custom_channel ) { + switch ( *command_id ) + { + case id_custom_set_value: + { + secondrow_config_set_value(value_id_and_data); + break; + } + case id_custom_get_value: + { + secondrow_config_get_value(value_id_and_data); + break; + } + case id_custom_save: + { + secondrow_config_save(); + break; + } + default: + { + // Unhandled message. + *command_id = id_unhandled; + break; + } + } + return; + } + + // Return the unhandled state + *command_id = id_unhandled; + + // DO NOT call raw_hid_send(data,length) here, let caller do this +} diff --git a/keyboards/mode/m256ws/m256ws.c b/keyboards/mode/m256ws/m256ws.c deleted file mode 100644 index 5603de7b01..0000000000 --- a/keyboards/mode/m256ws/m256ws.c +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright 2022 Gondolindrim - * - * 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 "quantum.h" - -#ifdef VIA_ENABLE -bool is_second_rgb_row_active; -enum via_secondrow_enable { - id_is_second_rgb_row_active = 0 -}; - -// Sets the second RGB row on or off; done by setting effect range. -void set_second_rgb_row(bool is_active) { - rgblight_disable_noeeprom(); - switch (is_active) - { - case true: - { - rgblight_set_effect_range(0,30); - break; - } - case false: - { - rgblight_set_effect_range(0,15); - break; - } - } - rgblight_enable_noeeprom(); -} - -// At the keyboard start, retrieves PMEM stored configs -void keyboard_post_init_kb(void) { - rgblight_disable_noeeprom(); - wait_ms(20); - eeconfig_read_kb_datablock(&is_second_rgb_row_active); - set_second_rgb_row(is_second_rgb_row_active); - rgblight_reload_from_eeprom(); - rgblight_set(); -} - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - // rgblight_disable(); // Enable RGB by default - // Define the defualt value and write it to EEPROM - is_second_rgb_row_active = true; - set_second_rgb_row(is_second_rgb_row_active); - eeconfig_update_kb_datablock(&is_second_rgb_row_active); - - // Disable rgblight by default on EEPROM initialization - rgblight_disable(); - - // Run user code, if any - eeconfig_init_user(); -} - -void secondrow_config_set_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_is_second_rgb_row_active: - { - is_second_rgb_row_active = (bool) *value_data; - break; - } - default: - { - is_second_rgb_row_active = true; - } - } - set_second_rgb_row(is_second_rgb_row_active); -} - -void secondrow_config_get_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_is_second_rgb_row_active: - { - *value_data = is_second_rgb_row_active; - break; - } - default: - { - *value_data = false; - } - } -} - -void secondrow_config_save(void) -{ - - eeconfig_update_kb_datablock(&is_second_rgb_row_active); -} - -void via_custom_value_command_kb(uint8_t *data, uint8_t length) { - // data = [ command_id, channel_id, value_id, value_data ] - uint8_t *command_id = &(data[0]); - uint8_t *channel_id = &(data[1]); - uint8_t *value_id_and_data = &(data[2]); - - if ( *channel_id == id_custom_channel ) { - switch ( *command_id ) - { - case id_custom_set_value: - { - secondrow_config_set_value(value_id_and_data); - break; - } - case id_custom_get_value: - { - secondrow_config_get_value(value_id_and_data); - break; - } - case id_custom_save: - { - secondrow_config_save(); - break; - } - default: - { - // Unhandled message. - *command_id = id_unhandled; - break; - } - } - return; - } - - // Return the unhandled state - *command_id = id_unhandled; - -} -#endif // VIA ENABLE diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index 04a9f0ca96..1752ddc3b3 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -140,6 +140,8 @@ void matrix_init_kb(void) { gpio_write_pin_low(LED_MAC_OS_PIN); gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock gpio_write_pin_low(LED_WIN_LOCK_PIN); + + matrix_init_user(); } void housekeeping_task_kb(void){ diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h index e2b30400a9..99449b14cc 100644 --- a/keyboards/mt/mt84/config.h +++ b/keyboards/mt/mt84/config.h @@ -1,18 +1,6 @@ - /* Copyright 2020 MT <[email protected]> - * - * 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/>. - */ +// Copyright 2020 MaiKong<[email protected]> +// SPDX-License-Identifier: GPL-2.0+ + #pragma once #define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json index fd03c2cf71..26f66b31db 100644 --- a/keyboards/mt/mt84/keyboard.json +++ b/keyboards/mt/mt84/keyboard.json @@ -43,7 +43,6 @@ "hue_wave": true, "pixel_rain": true, "pixel_flow": true, - "pixel_fractal": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, diff --git a/keyboards/mt/mt84/keymaps/default/keymap.c b/keyboards/mt/mt84/keymaps/default/keymap.c index e3c7fa8b87..2b3371257c 100644 --- a/keyboards/mt/mt84/keymaps/default/keymap.c +++ b/keyboards/mt/mt84/keymaps/default/keymap.c @@ -1,18 +1,6 @@ - /* Copyright 2020 mt<[email protected]> - * - * 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/>. - */ +// Copyright 2020 MaiKong<[email protected]> +// SPDX-License-Identifier: GPL-2.0 + #include QMK_KEYBOARD_H diff --git a/keyboards/mt/mt84/keymaps/via/keymap.c b/keyboards/mt/mt84/keymaps/via/keymap.c index 6906ddf9fe..906ed635ad 100644 --- a/keyboards/mt/mt84/keymaps/via/keymap.c +++ b/keyboards/mt/mt84/keymaps/via/keymap.c @@ -1,18 +1,6 @@ - /* Copyright 2020 MaiKong<[email protected]> - * - * 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/>. - */ +// Copyright 2020 MaiKong<[email protected]> +// SPDX-License-Identifier: GPL-2.0+ + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c index 1ac61e87c0..230559af4c 100644 --- a/keyboards/mt/mt84/mt84.c +++ b/keyboards/mt/mt84/mt84.c @@ -1,18 +1,6 @@ - /* Copyright 2020 MT<[email protected]> - * - * 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/>. - */ +// Copyright 2020 MaiKong<[email protected]> +// SPDX-License-Identifier: GPL-2.0+ + #include "quantum.h" #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/nacly/sodium42/config.h b/keyboards/nacly/sodium42/config.h deleted file mode 100644 index fe3f0e0cc9..0000000000 --- a/keyboards/nacly/sodium42/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2022 NaCly - * - * 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 SPLIT_HAND_PIN F4 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/nacly/sodium42/keyboard.json b/keyboards/nacly/sodium42/keyboard.json index 491a2cf955..ba4f386ca1 100644 --- a/keyboards/nacly/sodium42/keyboard.json +++ b/keyboards/nacly/sodium42/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "F4" + }, "soft_serial_pin": "D3" }, "processor": "atmega32u4", diff --git a/keyboards/nacly/sodium50/config.h b/keyboards/nacly/sodium50/config.h deleted file mode 100644 index fe3f0e0cc9..0000000000 --- a/keyboards/nacly/sodium50/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2022 NaCly - * - * 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 SPLIT_HAND_PIN F4 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/nacly/sodium50/keyboard.json b/keyboards/nacly/sodium50/keyboard.json index ec0edbfd9a..4144b6a473 100644 --- a/keyboards/nacly/sodium50/keyboard.json +++ b/keyboards/nacly/sodium50/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "F4" + }, "soft_serial_pin": "D3" }, "processor": "atmega32u4", diff --git a/keyboards/nacly/sodium62/config.h b/keyboards/nacly/sodium62/config.h index 341e0e0d89..09240d0b50 100644 --- a/keyboards/nacly/sodium62/config.h +++ b/keyboards/nacly/sodium62/config.h @@ -16,8 +16,6 @@ #pragma once -#define SPLIT_HAND_PIN F4 - #define OLED_BRIGHTNESS 128 /* diff --git a/keyboards/nacly/sodium62/keyboard.json b/keyboards/nacly/sodium62/keyboard.json index 2d9f01e801..1e181eebab 100644 --- a/keyboards/nacly/sodium62/keyboard.json +++ b/keyboards/nacly/sodium62/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "F4" + }, "soft_serial_pin": "D3" }, "processor": "atmega32u4", diff --git a/keyboards/nacly/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h deleted file mode 100644 index b4f9d582ce..0000000000 --- a/keyboards/nacly/splitreus62/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 SPLIT_HAND_PIN F4 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/nacly/splitreus62/keyboard.json b/keyboards/nacly/splitreus62/keyboard.json index 08a8010483..e46d4be668 100644 --- a/keyboards/nacly/splitreus62/keyboard.json +++ b/keyboards/nacly/splitreus62/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, + "handedness": { + "pin": "F4" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/config.h b/keyboards/nix_studio/oxalys80/config.h index d6bb6df14c..7943ea4a25 100644 --- a/keyboards/afternoonlabs/southern_breeze/rev1/config.h +++ b/keyboards/nix_studio/oxalys80/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Afternoon Labs +/* Copyright 2021 Nix Studio * * 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 @@ -13,7 +13,6 @@ * 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 SPLIT_HAND_PIN B3 +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/nix_studio/oxalys80/keyboard.json b/keyboards/nix_studio/oxalys80/keyboard.json index 5fa489f72b..470c43ea2f 100644 --- a/keyboards/nix_studio/oxalys80/keyboard.json +++ b/keyboards/nix_studio/oxalys80/keyboard.json @@ -39,6 +39,9 @@ "pin": "B3" }, "rgblight": { + "default": { + "val": 128 + }, "saturation_steps": 8, "brightness_steps": 8, "led_count": 24, diff --git a/keyboards/nix_studio/oxalys80/oxalys80.c b/keyboards/nix_studio/oxalys80/oxalys80.c deleted file mode 100644 index cfebb71043..0000000000 --- a/keyboards/nix_studio/oxalys80/oxalys80.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2021 Nix Studio - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/noxary/220/220.c b/keyboards/noxary/220/220.c deleted file mode 100644 index c5affa4344..0000000000 --- a/keyboards/noxary/220/220.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 Rozakiin - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(C6); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(C6, led_state.num_lock); - } - return true; -}
\ No newline at end of file diff --git a/keyboards/noxary/220/keyboard.json b/keyboards/noxary/220/keyboard.json index 75d71aac8a..3565316999 100644 --- a/keyboards/noxary/220/keyboard.json +++ b/keyboards/noxary/220/keyboard.json @@ -32,6 +32,9 @@ "pin": "B7", "breathing": true }, + "indicators": { + "num_lock": "C6" + }, "processor": "atmega32u2", "bootloader": "atmel-dfu", "community_layouts": ["ortho_6x4"], diff --git a/keyboards/noxary/268_2/268_2.c b/keyboards/noxary/268_2/268_2.c deleted file mode 100644 index 56b42d2343..0000000000 --- a/keyboards/noxary/268_2/268_2.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2018 Rozakiin - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(B0); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(B0, led_state.caps_lock); - } - return true; -} diff --git a/keyboards/noxary/268_2/keyboard.json b/keyboards/noxary/268_2/keyboard.json index c724d07a49..08daee6d63 100644 --- a/keyboards/noxary/268_2/keyboard.json +++ b/keyboards/noxary/268_2/keyboard.json @@ -31,6 +31,9 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "B0" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], diff --git a/keyboards/noxary/280/280.c b/keyboards/noxary/280/280.c deleted file mode 100644 index 0f29df178f..0000000000 --- a/keyboards/noxary/280/280.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2019 %YOUR_NAME% - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(D5); - gpio_set_pin_output(D0); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(D5, led_state.caps_lock); - gpio_write_pin(D0, led_state.scroll_lock); - } - return true; -}
\ No newline at end of file diff --git a/keyboards/noxary/280/keyboard.json b/keyboards/noxary/280/keyboard.json index 17acb96cdf..4bd9257152 100644 --- a/keyboards/noxary/280/keyboard.json +++ b/keyboards/noxary/280/keyboard.json @@ -32,6 +32,10 @@ "pin": "B7", "breathing": true }, + "indicators": { + "caps_lock": "D5", + "scroll_lock": "D0" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/noxary/x268/keyboard.json b/keyboards/noxary/x268/keyboard.json index f5a991deff..7ca5799de2 100644 --- a/keyboards/noxary/x268/keyboard.json +++ b/keyboards/noxary/x268/keyboard.json @@ -32,6 +32,9 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "B0" + }, "rgblight": { "hue_steps": 16, "saturation_steps": 16, diff --git a/keyboards/noxary/x268/x268.c b/keyboards/noxary/x268/x268.c deleted file mode 100644 index 67d6dff89d..0000000000 --- a/keyboards/noxary/x268/x268.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 Rozakiin - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - gpio_set_pin_output(B0); - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(B0, led_state.caps_lock); - } - return true; -} diff --git a/keyboards/nullbitsco/snap/snap.c b/keyboards/nullbitsco/snap/snap.c index 7308572f95..bd0ea5b731 100644 --- a/keyboards/nullbitsco/snap/snap.c +++ b/keyboards/nullbitsco/snap/snap.c @@ -15,11 +15,6 @@ */ #include "snap.h" -// Macro variables -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; -bool muted = false; - void matrix_init_kb(void) { set_bitc_LED(LED_OFF); matrix_init_remote_kb(); @@ -27,23 +22,16 @@ void matrix_init_kb(void) { } void keyboard_post_init_kb(void) { - #ifdef CONSOLE_ENABLE +#ifdef CONSOLE_ENABLE debug_enable = true; debug_matrix = true; - #endif +#endif keyboard_post_init_user(); } void matrix_scan_kb(void) { matrix_scan_remote_kb(); matrix_scan_user(); - - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > 1000) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } } // Use Bit-C LED to show CAPS LOCK and NUM LOCK status @@ -51,63 +39,29 @@ void led_update_ports(led_t led_state) { set_bitc_LED(led_state.caps_lock ? LED_DIM : LED_OFF); } +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } + + set_bitc_LED(LED_DIM); +#ifdef RGBLIGHT_ENABLE + rgblight_disable_noeeprom(); +#endif +#ifdef OLED_ENABLE + oled_off(); +#endif + return true; +} + bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // If console is enabled, it will print the matrix position and status of each key pressed - #ifdef CONSOLE_ENABLE +#ifdef CONSOLE_ENABLE dprintf("kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time); - #endif +#endif process_record_remote_kb(keycode, record); if (!process_record_user(keycode, record)) return false; - switch (keycode) { - case QK_BOOT: - if (record->event.pressed) { - set_bitc_LED(LED_DIM); - #ifdef RGBLIGHT_ENABLE - rgblight_disable_noeeprom(); - #endif - #ifdef OLED_ENABLE - oled_off(); - #endif - bootloader_jump(); // jump to bootloader - } - return false; - - case DISC_MUTE: - if (record->event.pressed) { - tap_code(KC_F23); - #ifdef RGBLIGHT_ENABLE - if (!rgblight_is_enabled()) break; - - if (muted) { - rgblight_enable_noeeprom(); - } else { - rgblight_timer_disable(); - uint8_t val = rgblight_get_val(); - rgblight_sethsv_range(255, 255, val, 1, 5); - } - #endif - muted = !muted; - } - break; - - case SUPER_ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - break; - - default: - break; - } - return true; } diff --git a/keyboards/nullbitsco/snap/snap.h b/keyboards/nullbitsco/snap/snap.h index e593257368..c1fa22e0c1 100644 --- a/keyboards/nullbitsco/snap/snap.h +++ b/keyboards/nullbitsco/snap/snap.h @@ -18,15 +18,3 @@ #include "quantum.h" #include "common/remote_kb.h" #include "common/bitc_led.h" - -#ifdef VIA_ENABLE -enum custom_keycodes { - DISC_MUTE = QK_USER_0, - SUPER_ALT_TAB -}; -#else -enum custom_keycodes { - DISC_MUTE = SAFE_RANGE, - SUPER_ALT_TAB -}; -#endif diff --git a/keyboards/ogre/ergo_split/config.h b/keyboards/ogre/ergo_split/config.h deleted file mode 100644 index 9c0eb3b7a9..0000000000 --- a/keyboards/ogre/ergo_split/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 ctrlshiftba - -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 SPLIT_HAND_PIN D1 diff --git a/keyboards/ogre/ergo_split/keyboard.json b/keyboards/ogre/ergo_split/keyboard.json index 765bebc2fb..ff06b079c0 100644 --- a/keyboards/ogre/ergo_split/keyboard.json +++ b/keyboards/ogre/ergo_split/keyboard.json @@ -24,6 +24,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D1" + }, "soft_serial_pin": "D3" }, "rgblight": { diff --git a/keyboards/omnikeyish/omnikeyish.c b/keyboards/omnikeyish/omnikeyish.c index 4a8a7fa4d6..8e7e316524 100644 --- a/keyboards/omnikeyish/omnikeyish.c +++ b/keyboards/omnikeyish/omnikeyish.c @@ -1,10 +1,12 @@ #include "omnikeyish.h" -void keyboard_pre_init_user(void) { +void keyboard_pre_init_kb(void) { dynamic_macro_init(); + + keyboard_pre_init_user(); } -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { /* Customise these values to desired behaviour */ //debug_enable = true; //debug_matrix=true; @@ -19,6 +21,8 @@ void keyboard_post_init_user(void) { /* Send numlock keycode to attempt to force numlock back on. */ register_code(KC_NUM_LOCK); unregister_code(KC_NUM_LOCK); + + keyboard_post_init_user(); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/ortho5by12/keyboard.json b/keyboards/ortho5by12/keyboard.json index 49ce494417..5bcd1e00fc 100644 --- a/keyboards/ortho5by12/keyboard.json +++ b/keyboards/ortho5by12/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "C5", + "num_lock": "C4" + }, "matrix_pins": { "cols": ["C2", "D0", "D1", "D4", "C3", "C1"], "rows": ["B5", "B1", "B2", "B3", "B4", "C0", "D5", "D6", "D7", "B0"] diff --git a/keyboards/ortho5by12/ortho5by12.c b/keyboards/ortho5by12/ortho5by12.c deleted file mode 100644 index d0d9ce9102..0000000000 --- a/keyboards/ortho5by12/ortho5by12.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2019 Takuya Urakawa (dm9records.com) - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(C4); - gpio_set_pin_output(C5); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(C4, led_state.num_lock); - gpio_write_pin(C5, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/percent/canoe_gen2/canoe_gen2.c b/keyboards/percent/canoe_gen2/canoe_gen2.c index ea091c3474..435083a269 100644 --- a/keyboards/percent/canoe_gen2/canoe_gen2.c +++ b/keyboards/percent/canoe_gen2/canoe_gen2.c @@ -17,21 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "quantum.h" -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(E6); - gpio_write_pin_high(E6); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(E6, !led_state.caps_lock); - } - - return true; -} - #ifdef RGB_MATRIX_ENABLE void suspend_power_down_kb(void) { rgb_matrix_set_suspend_state(true); diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json index 0b6ece2613..85fbfd28b9 100644 --- a/keyboards/percent/canoe_gen2/keyboard.json +++ b/keyboards/percent/canoe_gen2/keyboard.json @@ -22,6 +22,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "E6", + "on_state": 0 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/phoenix/config.h b/keyboards/phoenix/config.h index 4903f19f7f..732d906419 100644 --- a/keyboards/phoenix/config.h +++ b/keyboards/phoenix/config.h @@ -23,6 +23,5 @@ #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define SPLIT_HAND_PIN B9 #define SERIAL_USART_DRIVER SD1 #define SERIAL_USART_TX_PAL_MODE 7 diff --git a/keyboards/phoenix/keyboard.json b/keyboards/phoenix/keyboard.json index 51be9790fb..ff13389245 100644 --- a/keyboards/phoenix/keyboard.json +++ b/keyboards/phoenix/keyboard.json @@ -30,6 +30,12 @@ "diode_direction": "ROW2COL", "split": { "enabled": true, + "handedness": { + "pin": "B9" + }, + "serial": { + "driver": "usart" + }, "soft_serial_pin": "A9" }, "processor": "STM32F401", diff --git a/keyboards/phoenix/rules.mk b/keyboards/phoenix/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/phoenix/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/pica40/rev2/keyboard.json b/keyboards/pica40/rev2/keyboard.json index 630d6da467..f4cc4c2697 100644 --- a/keyboards/pica40/rev2/keyboard.json +++ b/keyboards/pica40/rev2/keyboard.json @@ -40,6 +40,9 @@ "right": { "rotary": [] } + }, + "serial": { + "driver": "vendor" } }, "encoder": { diff --git a/keyboards/pica40/rev2/rev2.c b/keyboards/pica40/rev2/rev2.c index 0ba9a53734..b5d79508fc 100644 --- a/keyboards/pica40/rev2/rev2.c +++ b/keyboards/pica40/rev2/rev2.c @@ -6,8 +6,8 @@ #ifdef ENCODER_ENABLE // code based on encoder.c -#define ENCODER_PIN_A (((pin_t[])ENCODERS_PAD_A)[0]) -#define ENCODER_PIN_B (((pin_t[])ENCODERS_PAD_B)[0]) +#define ENCODER_PIN_A (((pin_t[])ENCODER_A_PINS)[0]) +#define ENCODER_PIN_B (((pin_t[])ENCODER_B_PINS)[0]) // custom handler that returns encoder B pin status from slave side void encoder_sync_slave_handler(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) { diff --git a/keyboards/pica40/rev2/rules.mk b/keyboards/pica40/rev2/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/pica40/rev2/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/planck/rev7/keymaps/default/config.h b/keyboards/planck/rev7/keymaps/default/config.h index fbbab996e1..937d6a5e41 100644 --- a/keyboards/planck/rev7/keymaps/default/config.h +++ b/keyboards/planck/rev7/keymaps/default/config.h @@ -41,3 +41,10 @@ - etc. */ // #define MIDI_ADVANCED + +/* + * Encoder options + */ +// #define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 20 +// #define ENCODER_MAP_KEY_DELAY 10 +// #define ENCODER_RESOLUTION 4 diff --git a/keyboards/planck/rev7/keymaps/default/keymap.c b/keyboards/planck/rev7/keymaps/default/keymap.c index 4ac4c0de4f..85f5097332 100644 --- a/keyboards/planck/rev7/keymaps/default/keymap.c +++ b/keyboards/planck/rev7/keymaps/default/keymap.c @@ -147,13 +147,69 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DB_TOGG, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_SPDU, UG_SPDD, KC_DEL , _______, EE_CLR, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; + +#ifdef ENCODER_MAP_ENABLE +/* Rotary Encoders + */ +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + /* Qwerty + * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise + * ,---------------------------------------------------------------------------------------. + * | (0) Vol- / Vol+ | | | | | | | | | | | (4) Vol- / Vol+ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (1) KC_MNXT / KC_MPRV | | | | | | | | | | | (5) KC_MNXT / KC_MPRV | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (2) KC_WBAK / KC_WFWD | | | | | | | | | | | (6) KC_SPC / KC_ENT | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (3) KC_LEFT / KC_RGHT | | | | | | | | | | (7) KC_DOWN / KC_UP | + * `---------------------------------------------------------------------------------------' + */ + [_QWERTY] = { + // LEFT SIDE (index 0 to 3) + ENCODER_CCW_CW(KC_VOLU, KC_VOLD), + ENCODER_CCW_CW(KC_MNXT, KC_MPRV), + ENCODER_CCW_CW(KC_WBAK, KC_WFWD), + ENCODER_CCW_CW(KC_LEFT, KC_RGHT), + // RIGHT SIDE (index 4 to 7) + ENCODER_CCW_CW(KC_VOLU, KC_VOLD), + ENCODER_CCW_CW(KC_MNXT, KC_MPRV), + ENCODER_CCW_CW(KC_SPC, KC_ENT), + ENCODER_CCW_CW(KC_DOWN, KC_UP) + }, + + /* Adjust (Lower + Raise) + * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise + * ,---------------------------------------------------------------------------------------. + * | (0) _______ / _______ | | | | | | | | | | | (4) _______ / _______ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (1) _______ / _______ | | | | | | | | | | | (5) _______ / _______ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (2) UG_NEXT / UG_PREV | | | | | | | | | | | (6) SAT- / SAT+ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (3) UG_VALD / UG_VALU | | | | | | | | | | (7) HUE- / HUE+ | + * `---------------------------------------------------------------------------------------' + */ + [_ADJUST] = { + // LEFT SIDE (index 0 to 3) + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(UG_NEXT, UG_PREV), + ENCODER_CCW_CW(UG_VALD, UG_VALU), + // RIGHT SIDE (index 4 to 7) + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(UG_SATD, UG_SATU), + ENCODER_CCW_CW(UG_HUEU, UG_HUED) + } +}; +#endif /* clang-format on */ #ifdef AUDIO_ENABLE @@ -161,11 +217,18 @@ float plover_song[][2] = SONG(PLOVER_SOUND); float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); #endif +bool play_encoder_melody(uint8_t index, bool clockwise); + layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { +#ifdef ENCODER_MAP_ENABLE + if (IS_ENCODEREVENT(record->event) && record->event.pressed) { + play_encoder_melody(record->event.key.col, record->event.type == ENCODER_CCW_EVENT); + } +#endif switch (keycode) { case QWERTY: if (record->event.pressed) { @@ -228,13 +291,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { /* clang-format off */ float melody[8][2][2] = { - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, {{440.0f, 8}, {440.0f, 24}}, }; /* clang-format on */ @@ -251,7 +314,7 @@ float melody[8][2][2] = { #define ET12_MAJOR_THIRD 1.259921 #define ET12_PERFECT_FOURTH 1.33484 #define ET12_TRITONE 1.414214 -#define ET12_PERFECT_FIFTH 1.498307 +#define ET12_PERFECT_FIFTH 1.498307 deferred_token tokens[8]; @@ -260,7 +323,7 @@ uint32_t reset_note(uint32_t trigger_time, void *note) { return 0; } -bool encoder_update_user(uint8_t index, bool clockwise) { +bool play_encoder_melody(uint8_t index, bool clockwise) { cancel_deferred_exec(tokens[index]); if (clockwise) { melody[index][1][0] = melody[index][1][0] * ET12_MINOR_SECOND; @@ -275,6 +338,10 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return false; } +bool encoder_update_user(uint8_t index, bool clockwise) { + return play_encoder_melody(index, clockwise); +} + bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: { @@ -303,4 +370,4 @@ bool dip_switch_update_user(uint8_t index, bool active) { } } return true; -}
\ No newline at end of file +} diff --git a/keyboards/planck/rev7/matrix.c b/keyboards/planck/rev7/matrix.c index 777bd6a7fe..44f532db65 100644 --- a/keyboards/planck/rev7/matrix.c +++ b/keyboards/planck/rev7/matrix.c @@ -111,13 +111,21 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { return changed; } +#if defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE) +#if !defined(PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY) +# define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 10 +#endif + +void encoder_quadrature_init_pin(uint8_t index, bool pad_b) { +} + uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) { - pin_t pin = pad_b ? B13: B12; - gpio_set_pin_input_high(pin); - gpio_write_pin_low(matrix_row_pins[index]); - wait_us(10); - uint8_t ret = gpio_read_pin(pin) ? 1 : 0; - gpio_set_pin_input_low(matrix_row_pins[index]); - gpio_set_pin_input_low(pin); + pin_t col_pin = pad_b ? B13 : B12; + gpio_set_pin_output(col_pin); + gpio_write_pin_high(col_pin); + wait_us(PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY); + uint8_t ret = gpio_read_pin(matrix_row_pins[index]) ? 0 : 1; + gpio_set_pin_input_low(col_pin); return ret; } +#endif // ENCODER_ENABLE || ENCODER_MAP_ENABLE diff --git a/keyboards/planck/rev7/readme.md b/keyboards/planck/rev7/readme.md index 6a4df37704..940976bfce 100644 --- a/keyboards/planck/rev7/readme.md +++ b/keyboards/planck/rev7/readme.md @@ -14,7 +14,8 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Encoders -Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time, and are zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function: +Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time. +If an encoder has a switch built-in, it's connected to the key at that location with index number: ``` ,-----------------------------------------------------------------------------------. @@ -28,7 +29,35 @@ Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scan `-----------------------------------------------------------------------------------' ``` -If an encoder has a switch built-in, it's connected to the key at that location. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity. The encoder map feature is not currently supported. +Planck rev7 supports `ENCODER_ENABLE` and `ENCODER_MAP_ENABLE`. If both `ENCODER_MAP_ENABLE` and `ENCODER_ENABLE` are defined, `ENCODER_MAP_ENABLE` takes precedence. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity. + +### With ENCODER_ENABLE + +Define it as follows in `rules.mk`: + +``` +ENCODER_ENABLE = yes +``` + +Zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function. + +### With ENCODER_MAP_ENABLE + +Define it as follows in `rules.mk`: + +``` +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +``` + +If you enable `ENCODER_MAP_ENABLE`, define `const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS]` and configure your keycodes. If you enable `ENCODER_MAP_ENABLE`, `encoder_update_user` is not used directly. + +Additionally, you can use the following `config.h` options: + +```c +#define ENCODER_MAP_KEY_DELAY 10 +#define ENCODER_RESOLUTION 4 +``` ## Some Planck-specific config.h options: @@ -37,6 +66,6 @@ If an encoder has a switch built-in, it's connected to the key at that location. #define PLANCK_WATCHDOG_TIMEOUT 1.0 // disables the watchdog timer - you may want to disable the watchdog timer if you use longer macros #define PLANCK_WATCHDOG_DISABLE -// the resolution of the encoders used in the encoder matrix -#define PLANCK_ENCODER_RESOLUTION 4 +// Sets the time to wait for the rotary encoder pin state to stabilize while scanning (Default is 20(us)) +#define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 20 ``` diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h index 0375a8875a..0f8774dcd7 100644 --- a/keyboards/ploopyco/mouse/config.h +++ b/keyboards/ploopyco/mouse/config.h @@ -38,5 +38,5 @@ /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 -#define ENCODERS_PAD_A { F0 } -#define ENCODERS_PAD_B { F4 } +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/ploopyco.c b/keyboards/ploopyco/ploopyco.c index e4726238f2..a6f76203d6 100644 --- a/keyboards/ploopyco/ploopyco.c +++ b/keyboards/ploopyco/ploopyco.c @@ -71,8 +71,8 @@ float scroll_accumulated_v = 0; #ifdef ENCODER_ENABLE uint16_t lastScroll = 0; // Previous confirmed wheel event uint16_t lastMidClick = 0; // Stops scrollwheel from being read if it was pressed -pin_t encoder_pins_a[1] = ENCODERS_PAD_A; -pin_t encoder_pins_b[1] = ENCODERS_PAD_B; +pin_t encoder_pins_a[1] = ENCODER_A_PINS; +pin_t encoder_pins_b[1] = ENCODER_B_PINS; bool debug_encoder = false; bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h index 80457d062a..2aac27437a 100644 --- a/keyboards/ploopyco/trackball/config.h +++ b/keyboards/ploopyco/trackball/config.h @@ -38,5 +38,5 @@ /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 -#define ENCODERS_PAD_A { F0 } -#define ENCODERS_PAD_B { F4 } +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h index c5d2d5694e..2e0b570bba 100644 --- a/keyboards/ploopyco/trackball_mini/config.h +++ b/keyboards/ploopyco/trackball_mini/config.h @@ -38,5 +38,5 @@ /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 -#define ENCODERS_PAD_A { F0 } -#define ENCODERS_PAD_B { F4 } +#define ENCODER_A_PINS { F0 } +#define ENCODER_B_PINS { F4 } diff --git a/keyboards/ploopyco/trackball_thumb/config.h b/keyboards/ploopyco/trackball_thumb/config.h index 631456d9d3..f03ffc7699 100644 --- a/keyboards/ploopyco/trackball_thumb/config.h +++ b/keyboards/ploopyco/trackball_thumb/config.h @@ -42,5 +42,5 @@ /* Custom encoder needs to specify just how many encoders we have */ #define NUM_ENCODERS 1 -#define ENCODERS_PAD_A { F4 } -#define ENCODERS_PAD_B { F0 } +#define ENCODER_A_PINS { F4 } +#define ENCODER_B_PINS { F0 } diff --git a/keyboards/pmk/posey_split/v4/keyboard.json b/keyboards/pmk/posey_split/v4/keyboard.json index 016c4d7122..e27991783d 100644 --- a/keyboards/pmk/posey_split/v4/keyboard.json +++ b/keyboards/pmk/posey_split/v4/keyboard.json @@ -42,6 +42,9 @@ "enabled": true, "handedness": { "pin": "GP18" + }, + "serial": { + "driver": "vendor" } }, "tags": ["split"], diff --git a/keyboards/pmk/posey_split/v4/rules.mk b/keyboards/pmk/posey_split/v4/rules.mk deleted file mode 100644 index 743228e94b..0000000000 --- a/keyboards/pmk/posey_split/v4/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor
\ No newline at end of file diff --git a/keyboards/pmk/posey_split/v5/keyboard.json b/keyboards/pmk/posey_split/v5/keyboard.json index 9ef7d0af02..02c04dbba2 100644 --- a/keyboards/pmk/posey_split/v5/keyboard.json +++ b/keyboards/pmk/posey_split/v5/keyboard.json @@ -42,6 +42,9 @@ "enabled": true, "handedness": { "pin": "GP18" + }, + "serial": { + "driver": "vendor" } }, "tags": ["split"], diff --git a/keyboards/pmk/posey_split/v5/rules.mk b/keyboards/pmk/posey_split/v5/rules.mk deleted file mode 100644 index 743228e94b..0000000000 --- a/keyboards/pmk/posey_split/v5/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor
\ No newline at end of file diff --git a/keyboards/pmk/recore/v3/keyboard.json b/keyboards/pmk/recore/v3/keyboard.json index 6bc095daa5..f21708adc5 100644 --- a/keyboards/pmk/recore/v3/keyboard.json +++ b/keyboards/pmk/recore/v3/keyboard.json @@ -40,6 +40,9 @@ "enabled": true, "handedness": { "pin": "GP18" + }, + "serial": { + "driver": "vendor" } }, "tags": ["ortho", "split"], diff --git a/keyboards/pmk/recore/v3/rules.mk b/keyboards/pmk/recore/v3/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/pmk/recore/v3/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/pom_keyboards/tnln95/keyboard.json b/keyboards/pom_keyboards/tnln95/keyboard.json index c92ac5b38f..09b3f71f7c 100644 --- a/keyboards/pom_keyboards/tnln95/keyboard.json +++ b/keyboards/pom_keyboards/tnln95/keyboard.json @@ -37,6 +37,10 @@ "levels": 10, "breathing": true }, + "indicators": { + "caps_lock": "B2", + "num_lock": "B1" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/pom_keyboards/tnln95/tnln95.c b/keyboards/pom_keyboards/tnln95/tnln95.c deleted file mode 100644 index b8ab8ff7a7..0000000000 --- a/keyboards/pom_keyboards/tnln95/tnln95.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2020 Nguyen Minh Hoang - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(B1); - gpio_set_pin_output(B2); - /* I will add function to these later */ - // gpio_set_pin_output(B3); - // gpio_set_pin_output(E2); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B1, led_state.num_lock); - gpio_write_pin(B2, led_state.caps_lock); - } - return res; -} diff --git a/keyboards/projectd/75/ansi/ansi.c b/keyboards/projectd/75/ansi/ansi.c index 8257cf39c2..3bb695b559 100644 --- a/keyboards/projectd/75/ansi/ansi.c +++ b/keyboards/projectd/75/ansi/ansi.c @@ -162,6 +162,9 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } switch (keycode) { diff --git a/keyboards/projectkb/alice/alice.c b/keyboards/projectkb/alice/alice.c deleted file mode 100644 index 8ec5f16736..0000000000 --- a/keyboards/projectkb/alice/alice.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(INDICATOR_PIN_0); - gpio_set_pin_output(INDICATOR_PIN_1); - gpio_set_pin_output(INDICATOR_PIN_2); - - keyboard_pre_init_user(); -} - - -bool led_update_kb(led_t led_state) { - bool runDefault = led_update_user(led_state); - if (runDefault) { - gpio_write_pin(INDICATOR_PIN_0, !led_state.num_lock); - gpio_write_pin(INDICATOR_PIN_1, !led_state.caps_lock); - gpio_write_pin(INDICATOR_PIN_2, !led_state.scroll_lock); - } - return runDefault; -} diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h index 66d3b75731..b8c68bc65d 100644 --- a/keyboards/projectkb/alice/rev1/config.h +++ b/keyboards/projectkb/alice/rev1/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 -#define INDICATOR_PIN_0 A0 -#define INDICATOR_PIN_1 A1 -#define INDICATOR_PIN_2 A2 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/projectkb/alice/rev1/keyboard.json b/keyboards/projectkb/alice/rev1/keyboard.json index 7e957d7ff4..01eee1300b 100644 --- a/keyboards/projectkb/alice/rev1/keyboard.json +++ b/keyboards/projectkb/alice/rev1/keyboard.json @@ -15,6 +15,11 @@ "resync": true } }, + "indicators": { + "caps_lock": "A1", + "num_lock": "A0", + "scroll_lock": "A2" + }, "rgblight": { "led_count": 14, "animations": { diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h index 3e786c1805..b8c68bc65d 100644 --- a/keyboards/projectkb/alice/rev2/config.h +++ b/keyboards/projectkb/alice/rev2/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 -#define INDICATOR_PIN_0 A9 -#define INDICATOR_PIN_1 A8 -#define INDICATOR_PIN_2 B12 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/projectkb/alice/rev2/keyboard.json b/keyboards/projectkb/alice/rev2/keyboard.json index 639fc26877..0e34b7104f 100644 --- a/keyboards/projectkb/alice/rev2/keyboard.json +++ b/keyboards/projectkb/alice/rev2/keyboard.json @@ -15,6 +15,11 @@ "resync": true } }, + "indicators": { + "caps_lock": "A8", + "num_lock": "A9", + "scroll_lock": "B12" + }, "rgblight": { "led_count": 14, "animations": { diff --git a/keyboards/punk75/keyboard.json b/keyboards/punk75/keyboard.json index dd084a147c..c7082e564f 100644 --- a/keyboards/punk75/keyboard.json +++ b/keyboards/punk75/keyboard.json @@ -32,6 +32,10 @@ {"pin_a": "B1", "pin_b": "B0"} ] }, + "indicators": { + "caps_lock": "A0", + "on_state": 0 + }, "processor": "atmega32a", "bootloader": "usbasploader", "community_layouts": ["ortho_5x15"], diff --git a/keyboards/punk75/keymaps/default/keymap.c b/keyboards/punk75/keymaps/default/keymap.c index 9a6ef29307..57f00e1e61 100644 --- a/keyboards/punk75/keymaps/default/keymap.c +++ b/keyboards/punk75/keymaps/default/keymap.c @@ -74,7 +74,7 @@ void led_keypress_update(pin_t led_pin, uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Update LED state - led_keypress_update(LED, keycode, record); + led_keypress_update(LED_CAPS_LOCK_PIN, keycode, record); return true; } diff --git a/keyboards/punk75/keymaps/via/keymap.c b/keyboards/punk75/keymaps/via/keymap.c index 72ef91fd37..214135b55d 100644 --- a/keyboards/punk75/keymaps/via/keymap.c +++ b/keyboards/punk75/keymaps/via/keymap.c @@ -69,7 +69,7 @@ void led_keypress_update(pin_t led_pin, uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Update LED state - led_keypress_update(LED, keycode, record); + led_keypress_update(LED_CAPS_LOCK_PIN, keycode, record); return true; } diff --git a/keyboards/punk75/punk75.c b/keyboards/punk75/punk75.c deleted file mode 100644 index 8d9d09d43c..0000000000 --- a/keyboards/punk75/punk75.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2020 dsanchezseco - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - // Set our LED pin as output - gpio_set_pin_output(LED); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(LED, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/quad_h/lb75/keyboard.json b/keyboards/quad_h/lb75/keyboard.json index 0a51d4f47f..e88ba4b3a4 100644 --- a/keyboards/quad_h/lb75/keyboard.json +++ b/keyboards/quad_h/lb75/keyboard.json @@ -33,6 +33,11 @@ "pin": "B7", "levels": 5 }, + "indicators": { + "caps_lock": "B1", + "scroll_lock": "B2", + "on_state": 0 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/quad_h/lb75/lb75.c b/keyboards/quad_h/lb75/lb75.c deleted file mode 100644 index ef716092b9..0000000000 --- a/keyboards/quad_h/lb75/lb75.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2019 Ryota Goto - * - * 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 "quantum.h" - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - gpio_set_pin_output(B1); - gpio_set_pin_output(B2); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - - if(res) { - gpio_write_pin(B1, !led_state.caps_lock); - gpio_write_pin(B2, !led_state.scroll_lock); - } - - return res; -} - diff --git a/keyboards/quokka/keyboard.json b/keyboards/quokka/keyboard.json index 094e3e496e..a92a113f3e 100644 --- a/keyboards/quokka/keyboard.json +++ b/keyboards/quokka/keyboard.json @@ -66,7 +66,10 @@ }, "split": { "enabled": true, - "soft_serial_pin": "GP0" + "soft_serial_pin": "GP0", + "serial": { + "driver": "vendor" + } }, "url": "https://github.com/dlford/quokka", "usb": { diff --git a/keyboards/quokka/rules.mk b/keyboards/quokka/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/quokka/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/rate/pistachio_pro/matrix.c b/keyboards/rate/pistachio_pro/matrix.c index f235c65f56..e40d3edd81 100644 --- a/keyboards/rate/pistachio_pro/matrix.c +++ b/keyboards/rate/pistachio_pro/matrix.c @@ -20,53 +20,53 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } static void select_row(uint8_t row) { - setPinOutput_writeLow(row_pins[row]); + gpio_atomic_set_pin_output_low(row_pins[row]); } static void unselect_row(uint8_t row) { - setPinInputHigh_atomic(row_pins[row]); + gpio_atomic_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } static void select_col(uint8_t col) { - setPinOutput_writeLow(col_pins[col]); + gpio_atomic_set_pin_output_low(col_pins[col]); } static void unselect_col(uint8_t col) { - setPinInputHigh_atomic(col_pins[col]); + gpio_atomic_set_pin_input_high(col_pins[col]); } static void unselect_cols(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } static void init_pins(void) { unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } unselect_cols(); for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh_atomic(row_pins[x]); + gpio_atomic_set_pin_input_high(row_pins[x]); } } diff --git a/keyboards/recompile_keys/choco60/rev1/keyboard.json b/keyboards/recompile_keys/choco60/rev1/keyboard.json index 916c3de8d0..150037acee 100644 --- a/keyboards/recompile_keys/choco60/rev1/keyboard.json +++ b/keyboards/recompile_keys/choco60/rev1/keyboard.json @@ -12,6 +12,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D0" + }, "soft_serial_pin": "D3" }, "processor": "atmega32u4", diff --git a/keyboards/recompile_keys/choco60/rev2/config.h b/keyboards/recompile_keys/choco60/rev2/config.h index e081d748ce..35a347ee91 100644 --- a/keyboards/recompile_keys/choco60/rev2/config.h +++ b/keyboards/recompile_keys/choco60/rev2/config.h @@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN D1 - #define SPLIT_USB_DETECT diff --git a/keyboards/recompile_keys/choco60/rev2/keyboard.json b/keyboards/recompile_keys/choco60/rev2/keyboard.json index fbc947a9f0..47c5a0beb9 100644 --- a/keyboards/recompile_keys/choco60/rev2/keyboard.json +++ b/keyboards/recompile_keys/choco60/rev2/keyboard.json @@ -12,6 +12,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D1" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/recompile_keys/cocoa40/config.h b/keyboards/recompile_keys/cocoa40/config.h deleted file mode 100644 index 976a698c5d..0000000000 --- a/keyboards/recompile_keys/cocoa40/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2019 'Naoto Takai' - -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 SPLIT_HAND_PIN D3 diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json index f964ff6621..465cd395c7 100644 --- a/keyboards/recompile_keys/cocoa40/keyboard.json +++ b/keyboards/recompile_keys/cocoa40/keyboard.json @@ -23,6 +23,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D3" + }, "soft_serial_pin": "D2" }, "processor": "atmega32u4", diff --git a/keyboards/redox/rev1/proton_c/keyboard.json b/keyboards/redox/rev1/proton_c/keyboard.json index 48bec82627..9554630375 100644 --- a/keyboards/redox/rev1/proton_c/keyboard.json +++ b/keyboards/redox/rev1/proton_c/keyboard.json @@ -2,6 +2,11 @@ "usb": { "device_version": "1.0.1" }, + "split": { + "serial": { + "driver": "usart" + } + }, "ws2812": { "pin": "A9" }, diff --git a/keyboards/redox/rev1/proton_c/rules.mk b/keyboards/redox/rev1/proton_c/rules.mk deleted file mode 100644 index d45b778a1a..0000000000 --- a/keyboards/redox/rev1/proton_c/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# specific to using the serial serial driver -SERIAL_DRIVER = usart diff --git a/keyboards/redscarf_i/keyboard.json b/keyboards/redscarf_i/keyboard.json index 0a268169ef..6a186dff0b 100644 --- a/keyboards/redscarf_i/keyboard.json +++ b/keyboards/redscarf_i/keyboard.json @@ -25,6 +25,10 @@ "backlight": { "pin": "B5" }, + "indicators": { + "num_lock": "F7", + "on_state": 0 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["ortho_5x4", "ortho_6x4", "numpad_5x4", "numpad_6x4"], diff --git a/keyboards/redscarf_i/redscarf_i.c b/keyboards/redscarf_i/redscarf_i.c index 949bc362ad..7544b89d17 100644 --- a/keyboards/redscarf_i/redscarf_i.c +++ b/keyboards/redscarf_i/redscarf_i.c @@ -18,21 +18,13 @@ void keyboard_pre_init_kb(void) { // initialize top row leds - gpio_set_pin_output(F7); gpio_set_pin_output(F6); gpio_set_pin_output(F5); // and then turn them off - gpio_write_pin_high(F7); gpio_write_pin_high(F6); gpio_write_pin_high(F5); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(F7, !led_state.num_lock); - } - return res; + keyboard_pre_init_user(); } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/rgbkb/mun/rev1/keyboard.json b/keyboards/rgbkb/mun/rev1/keyboard.json index cf988d8f95..7eae34c18f 100644 --- a/keyboards/rgbkb/mun/rev1/keyboard.json +++ b/keyboards/rgbkb/mun/rev1/keyboard.json @@ -122,6 +122,9 @@ "layer_state": true, "matrix_state": true } + }, + "serial": { + "driver": "usart" } }, "processor": "STM32F303", diff --git a/keyboards/rgbkb/mun/rev1/rules.mk b/keyboards/rgbkb/mun/rev1/rules.mk index dad85ac483..da4bbf0a63 100644 --- a/keyboards/rgbkb/mun/rev1/rules.mk +++ b/keyboards/rgbkb/mun/rev1/rules.mk @@ -4,5 +4,4 @@ SRC += touch_encoder.c SRC += common_oled.c I2C_DRIVER_REQUIRED = yes -SERIAL_DRIVER = usart OPT = 3 diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index 4a6511cbfc..8997e9a582 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -201,7 +201,7 @@ const rgb_matrix_f rgb_matrix_functions[6][2] = { #ifdef ENCODER_ENABLE -static pin_t encoders_pad_a[] = ENCODERS_PAD_A; +static pin_t encoders_pad_a[] = ENCODER_A_PINS; #define NUMBER_OF_ENCODERS ARRAY_SIZE(encoders_pad_a) const uint16_t PROGMEM encoders[][NUMBER_OF_ENCODERS * 2][2] = { diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h index ab5150051a..5867c6dfe3 100644 --- a/keyboards/rgbkb/sol/rev2/config.h +++ b/keyboards/rgbkb/sol/rev2/config.h @@ -49,12 +49,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // Encoder support #ifndef EXTRA_ENCODERS_ENABLE -#define ENCODERS_PAD_A { D2 } -#define ENCODERS_PAD_B { D6 } +#define ENCODER_A_PINS { D2 } +#define ENCODER_B_PINS { D6 } #else #ifdef OLED_ENABLE #error Extra encoders cannot be enabled at the same time as the OLED Driver as they use the same pins. #endif -#define ENCODERS_PAD_A { D2, D1, B0 } -#define ENCODERS_PAD_B { D6, B1, D0 } +#define ENCODER_A_PINS { D2, D1, B0 } +#define ENCODER_B_PINS { D6, B1, D0 } #endif diff --git a/keyboards/rgbkb/sol3/rev1/config.h b/keyboards/rgbkb/sol3/rev1/config.h index a99cbd5fff..9e28ef25fb 100644 --- a/keyboards/rgbkb/sol3/rev1/config.h +++ b/keyboards/rgbkb/sol3/rev1/config.h @@ -24,7 +24,6 @@ #define CRC8_USE_TABLE /* Split Keyboard Configuration */ -#define SPLIT_HAND_PIN C13 #define SPLIT_USB_DETECT #define SERIAL_USART_TX_PAL_MODE 7 #define SERIAL_USART_TIMEOUT 5 diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json index 54e57e3f8f..edf70636e7 100644 --- a/keyboards/rgbkb/sol3/rev1/keyboard.json +++ b/keyboards/rgbkb/sol3/rev1/keyboard.json @@ -140,12 +140,18 @@ ] } }, + "handedness": { + "pin": "C13" + }, "matrix_pins": { "right": { "cols": ["B9", "B8", "B4", "A6", "A3", "B10", "B12", "B11"], "rows": ["B15", "B14", "A8", "A13", "A7", null] } }, + "serial": { + "driver": "usart" + }, "transport": { "sync": { "indicators": true, diff --git a/keyboards/rgbkb/sol3/rev1/rules.mk b/keyboards/rgbkb/sol3/rev1/rules.mk index dad85ac483..da4bbf0a63 100644 --- a/keyboards/rgbkb/sol3/rev1/rules.mk +++ b/keyboards/rgbkb/sol3/rev1/rules.mk @@ -4,5 +4,4 @@ SRC += touch_encoder.c SRC += common_oled.c I2C_DRIVER_REQUIRED = yes -SERIAL_DRIVER = usart OPT = 3 diff --git a/keyboards/rmi_kb/wete/v1/keyboard.json b/keyboards/rmi_kb/wete/v1/keyboard.json index 8e8059c103..c9a54f76c2 100644 --- a/keyboards/rmi_kb/wete/v1/keyboard.json +++ b/keyboards/rmi_kb/wete/v1/keyboard.json @@ -35,6 +35,12 @@ "levels": 24, "breathing": true }, + "indicators": { + "caps_lock": "B3", + "num_lock": "A14", + "scroll_lock": "A15", + "on_state": 0 + }, "rgblight": { "led_count": 24, "animations": { diff --git a/keyboards/rmi_kb/wete/v1/v1.c b/keyboards/rmi_kb/wete/v1/v1.c deleted file mode 100644 index 34a0917468..0000000000 --- a/keyboards/rmi_kb/wete/v1/v1.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2020 Ramon Imbao - * - * 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 "quantum.h" - -void keyboard_pre_init_user(void) { - // Initialize indicator LED pins - gpio_set_pin_output(A14); // Num Lock - gpio_set_pin_output(A15); // Scroll Lock - gpio_set_pin_output(B3); // Caps Lock -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(A14, !led_state.num_lock); - gpio_write_pin(A15, !led_state.scroll_lock); - gpio_write_pin(B3, !led_state.caps_lock); - } - - return res; -} diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json index cb94b58615..555376b533 100644 --- a/keyboards/rubi/keyboard.json +++ b/keyboards/rubi/keyboard.json @@ -22,6 +22,9 @@ "resync": true } }, + "indicators": { + "caps_lock": "C6" + }, "matrix_pins": { "cols": ["B3", "B2", "B1", "F7"], "rows": ["F0", "F1", "F4", "F5", "F6"] diff --git a/keyboards/rubi/rubi.c b/keyboards/rubi/rubi.c index 89bf9caa6d..4f0536397f 100644 --- a/keyboards/rubi/rubi.c +++ b/keyboards/rubi/rubi.c @@ -63,12 +63,3 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user_oled(keycode, record); } - - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(C6, led_state.num_lock); - } - return true; -} diff --git a/keyboards/salicylic_acid3/7skb/rev1/config.h b/keyboards/salicylic_acid3/7skb/rev1/config.h index c1a6005b58..b2fb659185 100644 --- a/keyboards/salicylic_acid3/7skb/rev1/config.h +++ b/keyboards/salicylic_acid3/7skb/rev1/config.h @@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json index 73b3c0bec7..864e1835fd 100644 --- a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D2" }, "rgblight": { diff --git a/keyboards/salicylic_acid3/7splus/config.h b/keyboards/salicylic_acid3/7splus/config.h index 1139de696f..c3e6b774cc 100644 --- a/keyboards/salicylic_acid3/7splus/config.h +++ b/keyboards/salicylic_acid3/7splus/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/7splus/keyboard.json b/keyboards/salicylic_acid3/7splus/keyboard.json index c33e79b52f..c33d00d867 100644 --- a/keyboards/salicylic_acid3/7splus/keyboard.json +++ b/keyboards/salicylic_acid3/7splus/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D2" }, "rgblight": { diff --git a/keyboards/salicylic_acid3/ajisai74/config.h b/keyboards/salicylic_acid3/ajisai74/config.h deleted file mode 100644 index 9e47a9c2b4..0000000000 --- a/keyboards/salicylic_acid3/ajisai74/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 Salicylic_Acid - -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 SPLIT_HAND_PIN B6 diff --git a/keyboards/salicylic_acid3/ajisai74/keyboard.json b/keyboards/salicylic_acid3/ajisai74/keyboard.json index fd00800715..41abc9c623 100644 --- a/keyboards/salicylic_acid3/ajisai74/keyboard.json +++ b/keyboards/salicylic_acid3/ajisai74/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D2" }, "processor": "atmega32u4", diff --git a/keyboards/salicylic_acid3/ergoarrows/config.h b/keyboards/salicylic_acid3/ergoarrows/config.h index 3b5e630f48..fd6b0e51b5 100644 --- a/keyboards/salicylic_acid3/ergoarrows/config.h +++ b/keyboards/salicylic_acid3/ergoarrows/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 90 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/ergoarrows/keyboard.json b/keyboards/salicylic_acid3/ergoarrows/keyboard.json index 0993eb1b9b..41cb0da90f 100644 --- a/keyboards/salicylic_acid3/ergoarrows/keyboard.json +++ b/keyboards/salicylic_acid3/ergoarrows/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/salicylic_acid3/guide68/config.h b/keyboards/salicylic_acid3/guide68/config.h deleted file mode 100644 index 5e88a02bce..0000000000 --- a/keyboards/salicylic_acid3/guide68/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2022 Salicylic-acid3 (@Salicylic-acid3) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define SPLIT_HAND_PIN B6 diff --git a/keyboards/salicylic_acid3/guide68/keyboard.json b/keyboards/salicylic_acid3/guide68/keyboard.json index 09993a1138..629afac8f7 100644 --- a/keyboards/salicylic_acid3/guide68/keyboard.json +++ b/keyboards/salicylic_acid3/guide68/keyboard.json @@ -48,6 +48,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "transport": { "protocol": "serial" }, diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/config.h b/keyboards/salicylic_acid3/jisplit89/rev1/config.h index fb6c21aec8..25ba2f576b 100644 --- a/keyboards/salicylic_acid3/jisplit89/rev1/config.h +++ b/keyboards/salicylic_acid3/jisplit89/rev1/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json index e36b27bd2f..d17e0fd3bc 100644 --- a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D2" }, "rgblight": { diff --git a/keyboards/salicylic_acid3/nknl7en/config.h b/keyboards/salicylic_acid3/nknl7en/config.h index 5b4a4a25f3..8e18bdb850 100644 --- a/keyboards/salicylic_acid3/nknl7en/config.h +++ b/keyboards/salicylic_acid3/nknl7en/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/nknl7en/keyboard.json b/keyboards/salicylic_acid3/nknl7en/keyboard.json index 25165663f5..c41be45376 100644 --- a/keyboards/salicylic_acid3/nknl7en/keyboard.json +++ b/keyboards/salicylic_acid3/nknl7en/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/salicylic_acid3/nknl7jp/config.h b/keyboards/salicylic_acid3/nknl7jp/config.h index 5b4a4a25f3..8e18bdb850 100644 --- a/keyboards/salicylic_acid3/nknl7jp/config.h +++ b/keyboards/salicylic_acid3/nknl7jp/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define SPLIT_HAND_PIN B6 - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/salicylic_acid3/nknl7jp/keyboard.json b/keyboards/salicylic_acid3/nknl7jp/keyboard.json index 179860ea29..2fab8e8f7e 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keyboard.json +++ b/keyboards/salicylic_acid3/nknl7jp/keyboard.json @@ -30,6 +30,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "B6" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/senselessclay/gos65/config.h b/keyboards/senselessclay/gos65/config.h new file mode 100644 index 0000000000..ef2b83ef3e --- /dev/null +++ b/keyboards/senselessclay/gos65/config.h @@ -0,0 +1,18 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) diff --git a/keyboards/senselessclay/gos65/gos65.c b/keyboards/senselessclay/gos65/gos65.c deleted file mode 100644 index e769608c89..0000000000 --- a/keyboards/senselessclay/gos65/gos65.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2020 Hadi Iskandarani - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(0, 255, 125); // Set default HSV - red hue, full saturation, medium brightness - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // set to RGB_RAINBOW_SWIRL by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -}
\ No newline at end of file diff --git a/keyboards/senselessclay/gos65/keyboard.json b/keyboards/senselessclay/gos65/keyboard.json index b869d91301..ee6bb5727a 100644 --- a/keyboards/senselessclay/gos65/keyboard.json +++ b/keyboards/senselessclay/gos65/keyboard.json @@ -12,6 +12,9 @@ "pin": "B0" }, "rgblight": { + "default": { + "val": 125 + }, "led_count": 68, "max_brightness": 125, "sleep": true, diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp index 25648a5f78..879a0e7c15 100644 --- a/keyboards/sirius/unigo66/custom_matrix.cpp +++ b/keyboards/sirius/unigo66/custom_matrix.cpp @@ -216,7 +216,6 @@ extern "C" kbd2.SetReport(0, 0, 2, 0, 1, &usb_led); kbd3.SetReport(0, 0, 2, 0, 1, &usb_led); kbd4.SetReport(0, 0, 2, 0, 1, &usb_led); - led_set_user(usb_led); led_update_kb((led_t){.raw = usb_led}); } diff --git a/keyboards/sneakbox/aliceclone/aliceclone.c b/keyboards/sneakbox/aliceclone/aliceclone.c deleted file mode 100644 index 74d19e515c..0000000000 --- a/keyboards/sneakbox/aliceclone/aliceclone.c +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2020 Bryan Ong - -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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(D7); - gpio_set_pin_output(D6); - gpio_set_pin_output(D4); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D7, led_state.num_lock); - gpio_write_pin(D6, led_state.caps_lock); - gpio_write_pin(D4, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/sneakbox/aliceclone/keyboard.json b/keyboards/sneakbox/aliceclone/keyboard.json index 869b8bd20b..bb0cd8e4b8 100644 --- a/keyboards/sneakbox/aliceclone/keyboard.json +++ b/keyboards/sneakbox/aliceclone/keyboard.json @@ -36,6 +36,11 @@ "bootmagic": { "matrix": [2, 0] }, + "indicators": { + "caps_lock": "D6", + "num_lock": "D7", + "scroll_lock": "D4" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["alice", "alice_split_bs"], diff --git a/keyboards/sparrow62/config.h b/keyboards/sparrow62/config.h deleted file mode 100644 index 2b9669e938..0000000000 --- a/keyboards/sparrow62/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 Atsushi Morimoto @74th - -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 SPLIT_HAND_PIN F4 diff --git a/keyboards/sparrow62/keyboard.json b/keyboards/sparrow62/keyboard.json index 796d18b9bb..6f5ebd540f 100644 --- a/keyboards/sparrow62/keyboard.json +++ b/keyboards/sparrow62/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "F4" + }, "soft_serial_pin": "D2" }, "processor": "atmega32u4", diff --git a/keyboards/spleeb/keyboard.json b/keyboards/spleeb/keyboard.json index 7b92316de2..4d137ef10d 100644 --- a/keyboards/spleeb/keyboard.json +++ b/keyboards/spleeb/keyboard.json @@ -43,6 +43,9 @@ "layer_state": true, "modifiers": true } + }, + "serial": { + "driver": "vendor" } }, "url": "https://github.com/chrishoage/spleeb", diff --git a/keyboards/spleeb/rules.mk b/keyboards/spleeb/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/spleeb/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/splitkb/aurora/corne/rev1/config.h b/keyboards/splitkb/aurora/corne/rev1/config.h index f37b59a952..5a5910d81c 100644 --- a/keyboards/splitkb/aurora/corne/rev1/config.h +++ b/keyboards/splitkb/aurora/corne/rev1/config.h @@ -16,10 +16,6 @@ #pragma once -// `SPLIT_HAND_PIN` can currently be defined in `info.json`, -// but can't yet be given a value -#define SPLIT_HAND_PIN F4 - // Not yet available in `info.json` #ifdef OLED_ENABLE # define OLED_DISPLAY_128X32 diff --git a/keyboards/splitkb/aurora/corne/rev1/keyboard.json b/keyboards/splitkb/aurora/corne/rev1/keyboard.json index 2e0b74b5a8..cf3516f34f 100644 --- a/keyboards/splitkb/aurora/corne/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/corne/rev1/keyboard.json @@ -96,6 +96,9 @@ ] } }, + "handedness": { + "pin": "F4" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/splitkb/aurora/helix/rev1/config.h b/keyboards/splitkb/aurora/helix/rev1/config.h index f8b8a190fe..522bea4d5e 100644 --- a/keyboards/splitkb/aurora/helix/rev1/config.h +++ b/keyboards/splitkb/aurora/helix/rev1/config.h @@ -16,7 +16,5 @@ #pragma once -#define SPLIT_HAND_PIN D3 - #define OLED_DISPLAY_128X32 #define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/aurora/helix/rev1/keyboard.json b/keyboards/splitkb/aurora/helix/rev1/keyboard.json index b3fcf8969c..1844e5951e 100644 --- a/keyboards/splitkb/aurora/helix/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/helix/rev1/keyboard.json @@ -118,6 +118,9 @@ ] } }, + "handedness": { + "pin": "D3" + }, "matrix_pins": { "right": { "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "B6"], diff --git a/keyboards/splitkb/aurora/lily58/rev1/config.h b/keyboards/splitkb/aurora/lily58/rev1/config.h index 08a61a2978..5a5910d81c 100644 --- a/keyboards/splitkb/aurora/lily58/rev1/config.h +++ b/keyboards/splitkb/aurora/lily58/rev1/config.h @@ -16,10 +16,6 @@ #pragma once -// `SPLIT_HAND_PIN` can currently be defined in `info.json`, -// but can't yet be given a value -#define SPLIT_HAND_PIN F5 - // Not yet available in `info.json` #ifdef OLED_ENABLE # define OLED_DISPLAY_128X32 diff --git a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json index f81da08464..1284fc2319 100644 --- a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json @@ -107,6 +107,9 @@ ] } }, + "handedness": { + "pin": "F5" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 7292b3d8b0..522bea4d5e 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -16,7 +16,5 @@ #pragma once -#define SPLIT_HAND_PIN F4 - #define OLED_DISPLAY_128X32 #define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json index 266ea72148..8b702c4001 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json @@ -112,6 +112,9 @@ ] } }, + "handedness": { + "pin": "F4" + }, "matrix_pins": { "right": { "cols": ["D7", "E6", "B4", "B5", "D4", "C6"], diff --git a/keyboards/splitkb/aurora/sweep/rev1/config.h b/keyboards/splitkb/aurora/sweep/rev1/config.h index f37b59a952..5a5910d81c 100644 --- a/keyboards/splitkb/aurora/sweep/rev1/config.h +++ b/keyboards/splitkb/aurora/sweep/rev1/config.h @@ -16,10 +16,6 @@ #pragma once -// `SPLIT_HAND_PIN` can currently be defined in `info.json`, -// but can't yet be given a value -#define SPLIT_HAND_PIN F4 - // Not yet available in `info.json` #ifdef OLED_ENABLE # define OLED_DISPLAY_128X32 diff --git a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json index 0d235cd5b2..eb62369603 100644 --- a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json @@ -93,6 +93,9 @@ ] } }, + "handedness": { + "pin": "F4" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/splitkb/kyria/info.json b/keyboards/splitkb/kyria/info.json index f70e8e3bb2..050e12f2ff 100644 --- a/keyboards/splitkb/kyria/info.json +++ b/keyboards/splitkb/kyria/info.json @@ -6,7 +6,6 @@ "vid": "0x8D1D", "device_version": "1.0.0" }, - "development_board": "elite_c", "split": { "enabled": true }, diff --git a/keyboards/splitkb/kyria/rev1/base/keyboard.json b/keyboards/splitkb/kyria/rev1/base/keyboard.json index 9f75b9c218..df92d71ad1 100644 --- a/keyboards/splitkb/kyria/rev1/base/keyboard.json +++ b/keyboards/splitkb/kyria/rev1/base/keyboard.json @@ -1,5 +1,26 @@ { - "build": { - "lto": true + "development_board": "elite_c", + "matrix_pins": { + "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], + "rows": ["B4", "E6", "D7", "D4"] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "C6", "pin_b": "B5"} + ] + }, + "split": { + "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B5", "pin_b": "C6"} + ] + } + } + }, + "ws2812": { + "pin": "D3" } } diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index 4f130293e2..615d93496d 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -17,31 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ - -#if defined(CONVERT_TO_PROTON_C) -# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -# define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. -# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 -# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 -# define SERIAL_USART_TX_PIN D3 -# define SERIAL_USART_RX_PIN D2 - -# define WS2812_DI_PIN PAL_LINE(GPIOA, 3) -# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 -# define WS2812_PWM_CHANNEL 4 // default: 2 -# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 -# define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. -#else -# define WS2812_DI_PIN D3 -# define SOFT_SERIAL_PIN D2 -#endif - -#ifdef OLED_ENABLE -# define OLED_DISPLAY_128X64 -# define SPLIT_OLED_ENABLE -#endif +#define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json index 3d84b37b31..1e21c60978 100644 --- a/keyboards/splitkb/kyria/rev1/info.json +++ b/keyboards/splitkb/kyria/rev1/info.json @@ -23,24 +23,7 @@ "sleep": true, "split_count": [10, 10] }, - "matrix_pins": { - "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], - "rows": ["B4", "E6", "D7", "D4"] - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "C6", "pin_b": "B5"} - ] - }, "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "B5", "pin_b": "C6"} - ] - } - }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/splitkb/kyria/rev1/proton_c/config.h b/keyboards/splitkb/kyria/rev1/proton_c/config.h new file mode 100644 index 0000000000..df2eb96ae2 --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/proton_c/config.h @@ -0,0 +1,17 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. +#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 +#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_TX_PIN A9 +#define SERIAL_USART_RX_PIN A10 + +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. diff --git a/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json b/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json index 6cc38d4a21..e1308bb9ec 100644 --- a/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json +++ b/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json @@ -1,5 +1,29 @@ { + "development_board": "proton_c", + "matrix_pins": { + "cols": ["B9", "B15", "B14", "B13", "B8", "A0", "A1", "A2"], + "rows": ["B1", "B2", "B3", "B5"] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B4", "pin_b": "B0"} + ] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B0", "pin_b": "B4"} + ] + } + }, + "serial": { + "driver": "usart" + } + }, "ws2812": { - "driver": "pwm" + "driver": "pwm", + "pin": "A3" } } diff --git a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk deleted file mode 100644 index a58b20c575..0000000000 --- a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -SERIAL_DRIVER = usart -CONVERT_TO = proton_c diff --git a/keyboards/splitkb/kyria/rev2/base/keyboard.json b/keyboards/splitkb/kyria/rev2/base/keyboard.json index 9f75b9c218..8de0f335cc 100644 --- a/keyboards/splitkb/kyria/rev2/base/keyboard.json +++ b/keyboards/splitkb/kyria/rev2/base/keyboard.json @@ -1,5 +1,35 @@ { - "build": { - "lto": true + "development_board": "elite_c", + "matrix_pins": { + "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"], + "rows": ["F6", "F7", "B1", "B3"] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + }, + "split": { + "handedness": { + "matrix_grid": ["E6", "B3"] + }, + "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6"] + } + } + }, + "ws2812": { + "pin": "D3" } } diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h index 54d8f0985a..fb9e7bb959 100644 --- a/keyboards/splitkb/kyria/rev2/config.h +++ b/keyboards/splitkb/kyria/rev2/config.h @@ -19,34 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // Side detection // col 4 row 3 on right-hand-side -#define SPLIT_HAND_MATRIX_GRID E6, B3 // row first because the board is col2row #define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `rev2.c` -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ - -#if defined(CONVERT_TO_PROTON_C) -# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -# define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. -# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 -# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 -# define SERIAL_USART_TX_PIN D3 -# define SERIAL_USART_RX_PIN D2 - -# define WS2812_DI_PIN PAL_LINE(GPIOA, 3) -# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 -# define WS2812_PWM_CHANNEL 4 // default: 2 -# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 -# define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -# define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. -#else -# define WS2812_DI_PIN D3 -# define SOFT_SERIAL_PIN D2 -#endif - -#ifdef OLED_ENABLE -# define OLED_DISPLAY_128X64 -# define SPLIT_OLED_ENABLE -#endif +#define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json index 80f801e3d1..d1507a26b0 100644 --- a/keyboards/splitkb/kyria/rev2/info.json +++ b/keyboards/splitkb/kyria/rev2/info.json @@ -23,30 +23,7 @@ "sleep": true, "split_count": [10, 10] }, - "matrix_pins": { - "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"], - "rows": ["F6", "F7", "B1", "B3"] - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "F4", "pin_b": "F5"} - ] - }, "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4"} - ] - } - }, - "matrix_pins": { - "right": { - "cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6"] - } - }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/splitkb/kyria/rev2/proton_c/config.h b/keyboards/splitkb/kyria/rev2/proton_c/config.h new file mode 100644 index 0000000000..df2eb96ae2 --- /dev/null +++ b/keyboards/splitkb/kyria/rev2/proton_c/config.h @@ -0,0 +1,17 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. +#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 +#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_TX_PIN A9 +#define SERIAL_USART_RX_PIN A10 + +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. diff --git a/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json b/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json index 6cc38d4a21..94cb7993d2 100644 --- a/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json +++ b/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json @@ -1,5 +1,38 @@ { + "development_board": "proton_c", + "matrix_pins": { + "cols": ["B15", "B9", "B0", "B1", "B2", "B3", "B4", "B5"], + "rows": ["A0", "B8", "B13", "B14"] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1"} + ] + }, + "split": { + "handedness": { + "matrix_grid": ["B2", "B14"] + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "A1", "pin_b": "A2"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["B1", "B0", "B9", "B15", "B14", "B13", "B8", "A0"], + "rows": ["B5", "B4", "B3", "B2"] + } + }, + "serial": { + "driver": "usart" + } + }, "ws2812": { - "driver": "pwm" + "driver": "pwm", + "pin": "A3" } } diff --git a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk b/keyboards/splitkb/kyria/rev2/proton_c/rules.mk deleted file mode 100644 index a58b20c575..0000000000 --- a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -SERIAL_DRIVER = usart -CONVERT_TO = proton_c diff --git a/keyboards/splitkb/kyria/rev3/config.h b/keyboards/splitkb/kyria/rev3/config.h index b0a64320c6..3f731859fc 100644 --- a/keyboards/splitkb/kyria/rev3/config.h +++ b/keyboards/splitkb/kyria/rev3/config.h @@ -16,12 +16,5 @@ #pragma once -// `SPLIT_HAND_PIN` can currently be defined in `info.json`, -// but can't yet be given a value -#define SPLIT_HAND_PIN B5 - -// Not yet available in `info.json` -#ifdef OLED_ENABLE -# define OLED_DISPLAY_128X64 -# define SPLIT_OLED_ENABLE -#endif +#define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev3/keyboard.json b/keyboards/splitkb/kyria/rev3/keyboard.json index 4a426cb206..a2f21826e8 100644 --- a/keyboards/splitkb/kyria/rev3/keyboard.json +++ b/keyboards/splitkb/kyria/rev3/keyboard.json @@ -1,14 +1,12 @@ { "keyboard_name": "Kyria rev3", + "development_board": "elite_c", "usb": { "pid": "0xCF44" }, "bootmagic": { "matrix": [0, 6] }, - "build": { - "lto": true - }, "features": { "mousekey": true, "bootmagic": true, @@ -111,6 +109,9 @@ ] } }, + "handedness": { + "pin": "B5" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/stront/keyboard.json b/keyboards/stront/keyboard.json index 5055a4fb30..573730a12b 100644 --- a/keyboards/stront/keyboard.json +++ b/keyboards/stront/keyboard.json @@ -68,6 +68,9 @@ "matrix_state": true, "modifiers": true } + }, + "serial": { + "driver": "vendor" } }, "encoder": { diff --git a/keyboards/stront/rules.mk b/keyboards/stront/rules.mk index 61d59017cb..5c88bf132a 100644 --- a/keyboards/stront/rules.mk +++ b/keyboards/stront/rules.mk @@ -1,5 +1,3 @@ -SERIAL_DRIVER = vendor - POINTING_DEVICE_DRIVER = cirque_pinnacle_spi QUANTUM_PAINTER_DRIVERS += st7789_spi diff --git a/keyboards/supersplit/rules.mk b/keyboards/supersplit/rules.mk deleted file mode 100644 index a4f16a0b6b..0000000000 --- a/keyboards/supersplit/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = bitbang diff --git a/keyboards/switchplate/southpaw_65/keyboard.json b/keyboards/switchplate/southpaw_65/keyboard.json index e4090e49c7..72c4c71097 100644 --- a/keyboards/switchplate/southpaw_65/keyboard.json +++ b/keyboards/switchplate/southpaw_65/keyboard.json @@ -29,6 +29,10 @@ "pin": "B5", "levels": 10 }, + "indicators": { + "caps_lock": "B6", + "on_state": 0 + }, "rgblight": { "led_count": 9, "animations": { diff --git a/keyboards/switchplate/southpaw_65/southpaw_65.c b/keyboards/switchplate/southpaw_65/southpaw_65.c deleted file mode 100644 index dfe3665928..0000000000 --- a/keyboards/switchplate/southpaw_65/southpaw_65.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2019 - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(B6); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B6, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/switchplate/southpaw_fullsize/keyboard.json b/keyboards/switchplate/southpaw_fullsize/keyboard.json index ad897821c3..84942ccfa4 100644 --- a/keyboards/switchplate/southpaw_fullsize/keyboard.json +++ b/keyboards/switchplate/southpaw_fullsize/keyboard.json @@ -31,6 +31,12 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "D4", + "num_lock": "D3", + "scroll_lock": "D5", + "on_state": 0 + }, "processor": "at90usb1286", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c b/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c deleted file mode 100644 index 3d77e8722e..0000000000 --- a/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2020 Ryota Goto - * - * 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 "quantum.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -#define INDICATOR_NUM D3 -#define INDICATOR_CAPS D4 -#define INDICATOR_SCR D5 - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - // D3 Numlock, D4 Capslock, D5 Scrlock - gpio_set_pin_output(INDICATOR_NUM); - gpio_set_pin_output(INDICATOR_CAPS); - gpio_set_pin_output(INDICATOR_SCR); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - bool res = led_update_user(led_state); - if (res) - { - gpio_write_pin(INDICATOR_NUM, !led_state.num_lock); - gpio_write_pin(INDICATOR_CAPS, !led_state.caps_lock); - gpio_write_pin(INDICATOR_SCR, !led_state.scroll_lock); - } - return res; -} - diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c index 7a5000d9ba..630305194e 100644 --- a/keyboards/system76/launch_1/launch_1.c +++ b/keyboards/system76/launch_1/launch_1.c @@ -139,6 +139,8 @@ void matrix_init_kb(void) { } system76_ec_rgb_layer(layer_state); + + matrix_init_user(); } void matrix_scan_kb(void) { @@ -238,9 +240,11 @@ layer_state_t layer_state_set_kb(layer_state_t layer_state) { } #ifdef CONSOLE_ENABLE -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { debug_enable = true; debug_matrix = false; debug_keyboard = false; + + keyboard_post_init_user(); } #endif // CONSOLE_ENABLE diff --git a/keyboards/takashicompany/dogtag/keyboard.json b/keyboards/takashicompany/dogtag/keyboard.json index d65092ecca..675b8e6bd2 100644 --- a/keyboards/takashicompany/dogtag/keyboard.json +++ b/keyboards/takashicompany/dogtag/keyboard.json @@ -19,7 +19,7 @@ }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1"], - "rows": ["B2", "B6", "B3"] + "rows": ["B2", "B6"] }, "diode_direction": "COL2ROW", "encoder": { @@ -34,7 +34,7 @@ "matrix_pins": { "right": { "cols": ["B1", "F7", "F6", "F5", "F4"], - "rows": ["B2", "B6", "B3"] + "rows": ["B2", "B6"] } } }, @@ -65,10 +65,10 @@ {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [3, 1], "x": 8, "y": 0}, - {"matrix": [3, 2], "x": 9, "y": 0}, - {"matrix": [3, 3], "x": 10, "y": 0}, - {"matrix": [3, 4], "x": 11, "y": 0}, + {"matrix": [2, 1], "x": 8, "y": 0}, + {"matrix": [2, 2], "x": 9, "y": 0}, + {"matrix": [2, 3], "x": 10, "y": 0}, + {"matrix": [2, 4], "x": 11, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, @@ -76,11 +76,11 @@ {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 2}, - {"matrix": [4, 0], "x": 7, "y": 2}, - {"matrix": [4, 1], "x": 8, "y": 1}, - {"matrix": [4, 2], "x": 9, "y": 1}, - {"matrix": [4, 3], "x": 10, "y": 1}, - {"matrix": [4, 4], "x": 11, "y": 1} + {"matrix": [3, 0], "x": 7, "y": 2}, + {"matrix": [3, 1], "x": 8, "y": 1}, + {"matrix": [3, 2], "x": 9, "y": 1}, + {"matrix": [3, 3], "x": 10, "y": 1}, + {"matrix": [3, 4], "x": 11, "y": 1} ] } } diff --git a/keyboards/takashiski/otaku_split/rev1/config.h b/keyboards/takashiski/otaku_split/rev1/config.h deleted file mode 100644 index 8bede1c421..0000000000 --- a/keyboards/takashiski/otaku_split/rev1/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2019 takashiski - -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 SPLIT_HAND_PIN D2 //fix pin. HIGH is left, LOW is right - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/takashiski/otaku_split/rev1/keyboard.json b/keyboards/takashiski/otaku_split/rev1/keyboard.json index 039838144f..d4195b5a90 100644 --- a/keyboards/takashiski/otaku_split/rev1/keyboard.json +++ b/keyboards/takashiski/otaku_split/rev1/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, + "handedness": { + "pin": "D2" + }, "soft_serial_pin": "D0", "matrix_pins": { "right": { diff --git a/keyboards/team0110/p1800fl/keyboard.json b/keyboards/team0110/p1800fl/keyboard.json index a56864cd36..681482db5b 100644 --- a/keyboards/team0110/p1800fl/keyboard.json +++ b/keyboards/team0110/p1800fl/keyboard.json @@ -34,6 +34,11 @@ "levels": 5, "breathing": true }, + "indicators": { + "caps_lock": "D5", + "num_lock": "D3", + "scroll_lock": "C6" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/team0110/p1800fl/p1800fl.c b/keyboards/team0110/p1800fl/p1800fl.c deleted file mode 100644 index 9f47b8a5c4..0000000000 --- a/keyboards/team0110/p1800fl/p1800fl.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 marhalloweenvt - * - * 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 "quantum.h" - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D3, led_state.num_lock); - gpio_write_pin(D5, led_state.caps_lock); - gpio_write_pin(C6, led_state.scroll_lock); - } - return res; -} - diff --git a/keyboards/terrazzo/readme.md b/keyboards/terrazzo/readme.md index e0f4f3457f..828819f7b4 100644 --- a/keyboards/terrazzo/readme.md +++ b/keyboards/terrazzo/readme.md @@ -82,8 +82,8 @@ Change pinouts, Pro Micro does not have the "F0" pin. Set encoder to just top or bottom position. ``` -#define ENCODERS_PAD_A { C6 } -#define ENCODERS_PAD_B { D4 } +#define ENCODER_A_PINS { C6 } +#define ENCODER_B_PINS { D4 } ``` ## Encoder Setup diff --git a/keyboards/tkc/osav2/keyboard.json b/keyboards/tkc/osav2/keyboard.json index 118eedfc85..ef4c789797 100644 --- a/keyboards/tkc/osav2/keyboard.json +++ b/keyboards/tkc/osav2/keyboard.json @@ -50,6 +50,11 @@ "pin": "D6", "breathing": true }, + "indicators": { + "caps_lock": "C6", + "num_lock": "C7", + "scroll_lock": "B6" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["alice", "alice_split_bs"], diff --git a/keyboards/tkc/osav2/osav2.c b/keyboards/tkc/osav2/osav2.c deleted file mode 100644 index 9966046486..0000000000 --- a/keyboards/tkc/osav2/osav2.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2019 jrfhoutx - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(C7); - gpio_set_pin_output(C6); - gpio_set_pin_output(B6); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(C7, led_state.num_lock); - gpio_write_pin(C6, led_state.caps_lock); - gpio_write_pin(B6, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json index 13bc1e7acf..c2a198835f 100644 --- a/keyboards/tkw/grandiceps/info.json +++ b/keyboards/tkw/grandiceps/info.json @@ -58,6 +58,9 @@ "cols": ["B0", "A7", "A3", "A5", "A4", "A2"], "rows": ["B12", "A6", "B13", "B9", "B8"] } + }, + "serial": { + "driver": "usart" } }, "qmk": { diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk index 01fa521763..ab8aeff268 100644 --- a/keyboards/tkw/grandiceps/rules.mk +++ b/keyboards/tkw/grandiceps/rules.mk @@ -1,3 +1 @@ -SERIAL_DRIVER = usart - DEFAULT_FOLDER = tkw/grandiceps/rev1 diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json index 60c01bdcfc..dc71e3ad7a 100644 --- a/keyboards/tr60w/keyboard.json +++ b/keyboards/tr60w/keyboard.json @@ -32,6 +32,12 @@ "backlight": { "pin": "B7" }, + "indicators": { + "caps_lock": "B2", + "num_lock": "B1", + "scroll_lock": "B3", + "on_state": 0 + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/tr60w/tr60w.c b/keyboards/tr60w/tr60w.c deleted file mode 100644 index ebf48cb1c7..0000000000 --- a/keyboards/tr60w/tr60w.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "quantum.h" - -bool led_update_kb(led_t led_state) { - bool runDefault = led_update_user(led_state); - if (runDefault) { - gpio_write_pin(B1, !led_state.num_lock); - gpio_write_pin(B2, !led_state.caps_lock); - gpio_write_pin(B3, !led_state.scroll_lock); - } - return runDefault; -} diff --git a/keyboards/trkeyboards/trk1/keyboard.json b/keyboards/trkeyboards/trk1/keyboard.json new file mode 100644 index 0000000000..c3190a5eee --- /dev/null +++ b/keyboards/trkeyboards/trk1/keyboard.json @@ -0,0 +1,107 @@ +{ + "manufacturer": "Tvrd Rad Keyboards", + "keyboard_name": "Tvrd Rad Keyboards TRK1", + "maintainer": "tvrdrad-keyboards", + "bootloader": "halfkay", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B0", "pin_b": "B1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3", "B2", "D2", "D3", "C6", "C7", "D5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["F5", "F4", "F1", "F0", "B7"] + }, + "processor": "atmega32u4", + "url": "https://www.trkeyboards.com/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0001", + "vid": "0x5452" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 8.75, "y": 0}, + {"matrix": [0, 8], "x": 9.75, "y": 0}, + {"matrix": [0, 9], "x": 10.75, "y": 0}, + {"matrix": [0, 10], "x": 11.75, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [0, 14], "x": 16, "y": 0}, + {"matrix": [2, 10], "x": 17, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 8.25, "y": 1}, + {"matrix": [1, 7], "x": 9.25, "y": 1}, + {"matrix": [1, 8], "x": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.5, "y": 1}, + {"matrix": [1, 11], "x": 13.5, "y": 1}, + {"matrix": [1, 12], "x": 14.5, "y": 1}, + {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 17, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 8.5, "y": 2}, + {"matrix": [2, 7], "x": 9.5, "y": 2}, + {"matrix": [2, 8], "x": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 11], "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 13.75, "y": 2}, + {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 17, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, + {"matrix": [3, 1], "x": 2, "y": 3}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 9, "y": 3}, + {"matrix": [3, 7], "x": 10, "y": 3}, + {"matrix": [3, 8], "x": 11, "y": 3}, + {"matrix": [3, 9], "x": 12.5, "y": 3}, + {"matrix": [3, 11], "x": 13.5, "y": 3}, + {"matrix": [3, 12], "x": 14.5, "y": 3, "w": 1.5}, + {"matrix": [3, 13], "x": 16, "y": 3}, + {"matrix": [3, 14], "x": 17, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 5.25, "y": 4, "w": 2.75}, + {"matrix": [4, 4], "x": 8.25, "y": 4, "w": 2}, + {"matrix": [4, 6], "x": 10.25, "y": 4}, + {"matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 15, "y": 4}, + {"matrix": [4, 11], "x": 16, "y": 4}, + {"matrix": [4, 12], "x": 17, "y": 4} + ] + } + } +} diff --git a/keyboards/trkeyboards/trk1/keymaps/default/keymap.c b/keyboards/trkeyboards/trk1/keymaps/default/keymap.c new file mode 100644 index 0000000000..ecbee43624 --- /dev/null +++ b/keyboards/trkeyboards/trk1/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Tvrd Rad Keyboards + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_KP_SLASH, KC_KP_ASTERISK, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MUTE, KC_SCLN, KC_QUOTE, KC_ENTER, KC_END, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_DELETE, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_BSPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_PPLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/trkeyboards/trk1/keymaps/default/rules.mk b/keyboards/trkeyboards/trk1/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/trkeyboards/trk1/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/trkeyboards/trk1/keymaps/via/keymap.c b/keyboards/trkeyboards/trk1/keymaps/via/keymap.c new file mode 100644 index 0000000000..ecbee43624 --- /dev/null +++ b/keyboards/trkeyboards/trk1/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Tvrd Rad Keyboards + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_KP_SLASH, KC_KP_ASTERISK, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MUTE, KC_SCLN, KC_QUOTE, KC_ENTER, KC_END, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_DELETE, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_BSPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_PPLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/trkeyboards/trk1/keymaps/via/rules.mk b/keyboards/trkeyboards/trk1/keymaps/via/rules.mk new file mode 100644 index 0000000000..f1adcab005 --- /dev/null +++ b/keyboards/trkeyboards/trk1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/trkeyboards/trk1/readme.md b/keyboards/trkeyboards/trk1/readme.md new file mode 100644 index 0000000000..b411863321 --- /dev/null +++ b/keyboards/trkeyboards/trk1/readme.md @@ -0,0 +1,22 @@ +# Tvrd Rad Keyboards TRK1 + +![TRK1](https://i.imgur.com/dbxoTah.jpg) + +Custom keyboard designed by Tvrd Rad Keyboards aka TRK1 + +* Keyboard Maintainer: [Tvrd Rad Keyboards](https://www.trkeyboards.com) +* Hardware Supported: TRK1 PCB +* Hardware Availability: https://www.trkeyboards.com/en/keyboards/1-trk1/ + +Getting the board into bootloader mode: +To be able to flash firmware onto this board and put keyboard into bootloader mode, you need to press the "Fn" and "Esc" keys on the keyboard at the same time. + +Make example for this keyboard (after setting up your build environment): + + make trkeyboards/trk1:default + +Flashing example for this keyboard: + + make trkeyboards/trk1:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json index c8bf711747..24f27c276a 100644 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json @@ -17,6 +17,9 @@ ] } }, + "serial": { + "driver": "vendor" + }, "soft_serial_pin": "GP1", "handedness": { "pin": "GP9" diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk b/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json index b173a18de1..8f0c0bc75f 100644 --- a/keyboards/tzarc/djinn/info.json +++ b/keyboards/tzarc/djinn/info.json @@ -54,6 +54,9 @@ ] } }, + "serial": { + "driver": "usart" + }, "transport": { "sync": { "activity": true, diff --git a/keyboards/tzarc/djinn/rev1/config.h b/keyboards/tzarc/djinn/rev1/config.h index 7c8dc042f3..9eb275fc5b 100644 --- a/keyboards/tzarc/djinn/rev1/config.h +++ b/keyboards/tzarc/djinn/rev1/config.h @@ -3,7 +3,6 @@ #pragma once // Split configuration -#define SPLIT_HAND_PIN B11 #ifdef USE_PLUG_DETECT_PIN # define USB_VBUS_PIN B12 #endif diff --git a/keyboards/tzarc/djinn/rev1/keyboard.json b/keyboards/tzarc/djinn/rev1/keyboard.json index a0422dea93..b6ee5acba1 100644 --- a/keyboards/tzarc/djinn/rev1/keyboard.json +++ b/keyboards/tzarc/djinn/rev1/keyboard.json @@ -7,6 +7,9 @@ }, "split": { "soft_serial_pin": "B9", + "handedness": { + "pin": "B11" + }, "usb_detect": { "enabled": true } diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h index bc7fcb3712..b52c3c2c3d 100644 --- a/keyboards/tzarc/djinn/rev2/config.h +++ b/keyboards/tzarc/djinn/rev2/config.h @@ -3,7 +3,6 @@ #pragma once // Split configuration -#define SPLIT_HAND_PIN B9 #define USB_VBUS_PIN B12 #define SERIAL_USART_DRIVER SD3 #define SERIAL_USART_PIN_SWAP diff --git a/keyboards/tzarc/djinn/rev2/keyboard.json b/keyboards/tzarc/djinn/rev2/keyboard.json index 33db91971e..e0f39d1f91 100644 --- a/keyboards/tzarc/djinn/rev2/keyboard.json +++ b/keyboards/tzarc/djinn/rev2/keyboard.json @@ -6,6 +6,9 @@ "max_brightness": 144 }, "split": { + "handedness": { + "pin": "B9" + }, "usb_detect": { "enabled": false } diff --git a/keyboards/tzarc/djinn/rules.mk b/keyboards/tzarc/djinn/rules.mk index 78912d16d0..d5060d9814 100644 --- a/keyboards/tzarc/djinn/rules.mk +++ b/keyboards/tzarc/djinn/rules.mk @@ -1,7 +1,5 @@ CUSTOM_MATRIX = lite -SERIAL_DRIVER = usart - CIE1931_CURVE = yes QUANTUM_PAINTER_DRIVERS = ili9341_spi diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c index f441285c9a..488ace3f91 100644 --- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c +++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c @@ -23,6 +23,8 @@ void keyboard_post_init_kb(void) gpio_set_pin_output(C11); // middle led, always off on Spacesaver M gpio_write_pin(C11, 0); gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer + + keyboard_post_init_user(); } diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c index bad0c76e43..9f5f592ff6 100644 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c +++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c @@ -23,6 +23,8 @@ void keyboard_post_init_kb(void) gpio_set_pin_output(C11); // middle led, always off on Spacesaver M gpio_write_pin(C11, 0); gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer + + keyboard_post_init_user(); } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/viktus/sp111/keyboard.json b/keyboards/viktus/sp111/keyboard.json index 8cf65a5522..91a70c284b 100644 --- a/keyboards/viktus/sp111/keyboard.json +++ b/keyboards/viktus/sp111/keyboard.json @@ -17,6 +17,11 @@ "mousekey": true, "nkro": true }, + "indicators": { + "caps_lock": "F1", + "num_lock": "F0", + "scroll_lock": "F4" + }, "qmk": { "locking": { "enabled": true, diff --git a/keyboards/viktus/sp111/sp111.c b/keyboards/viktus/sp111/sp111.c index 1626683804..c2162429c1 100644 --- a/keyboards/viktus/sp111/sp111.c +++ b/keyboards/viktus/sp111/sp111.c @@ -22,21 +22,3 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } - -void matrix_init_kb(void) { - gpio_set_pin_output(F0); - gpio_set_pin_output(F1); - gpio_set_pin_output(F4); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - gpio_write_pin(F0, led_state.num_lock); - gpio_write_pin(F1, led_state.caps_lock); - gpio_write_pin(F4, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h index 519af227a4..e88e6bac2c 100644 --- a/keyboards/vitamins_included/rev2/config.h +++ b/keyboards/vitamins_included/rev2/config.h @@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define SPLIT_HAND_PIN B4 - /* Audio settings */ #ifdef AUDIO_ENABLE # define AUDIO_PIN C6 // Define this to enable the buzzer diff --git a/keyboards/vitamins_included/rev2/keyboard.json b/keyboards/vitamins_included/rev2/keyboard.json index 4418b86909..bead425252 100644 --- a/keyboards/vitamins_included/rev2/keyboard.json +++ b/keyboards/vitamins_included/rev2/keyboard.json @@ -15,6 +15,9 @@ }, "split": { "enabled": true, + "handedness": { + "pin": "B4" + }, "soft_serial_pin": "D0" }, "rgblight": { diff --git a/keyboards/westfoxtrot/cypher/rev1/keyboard.json b/keyboards/westfoxtrot/cypher/rev1/keyboard.json index 09294d169c..30dcc625de 100644 --- a/keyboards/westfoxtrot/cypher/rev1/keyboard.json +++ b/keyboards/westfoxtrot/cypher/rev1/keyboard.json @@ -31,6 +31,11 @@ "levels": 5, "breathing": true }, + "indicators": { + "caps_lock": "F1", + "num_lock": "F4", + "scroll_lock": "F5" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/westfoxtrot/cypher/rev1/rev1.c b/keyboards/westfoxtrot/cypher/rev1/rev1.c deleted file mode 100644 index eeaa7b4a4c..0000000000 --- a/keyboards/westfoxtrot/cypher/rev1/rev1.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2019 westfoxtrot - * - * 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 "quantum.h" - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(F4, led_state.num_lock); - gpio_write_pin(F1, led_state.caps_lock); - gpio_write_pin(F5, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/westfoxtrot/cypher/rev5/keyboard.json b/keyboards/westfoxtrot/cypher/rev5/keyboard.json index fbb487534d..278ff94b06 100644 --- a/keyboards/westfoxtrot/cypher/rev5/keyboard.json +++ b/keyboards/westfoxtrot/cypher/rev5/keyboard.json @@ -33,6 +33,11 @@ "levels": 5, "breathing": true }, + "indicators": { + "caps_lock": "D5", + "num_lock": "D3", + "scroll_lock": "D2" + }, "rgblight": { "hue_steps": 12, "saturation_steps": 25, diff --git a/keyboards/westfoxtrot/cypher/rev5/rev5.c b/keyboards/westfoxtrot/cypher/rev5/rev5.c deleted file mode 100644 index 37ca9cf3c1..0000000000 --- a/keyboards/westfoxtrot/cypher/rev5/rev5.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2019 westfoxtrot - * - * 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 "quantum.h" - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(D3, led_state.num_lock); - gpio_write_pin(D5, led_state.caps_lock); - gpio_write_pin(D2, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/westfoxtrot/prophet/keyboard.json b/keyboards/westfoxtrot/prophet/keyboard.json index 049f5cd7fc..f82c6da14d 100644 --- a/keyboards/westfoxtrot/prophet/keyboard.json +++ b/keyboards/westfoxtrot/prophet/keyboard.json @@ -17,6 +17,9 @@ "nkro": true, "sleep_led": true }, + "indicators": { + "caps_lock": "B13" + }, "qmk": { "locking": { "enabled": true, diff --git a/keyboards/westfoxtrot/prophet/prophet.c b/keyboards/westfoxtrot/prophet/prophet.c index 3ef0a3f928..b33ecf90b4 100644 --- a/keyboards/westfoxtrot/prophet/prophet.c +++ b/keyboards/westfoxtrot/prophet/prophet.c @@ -1,16 +1,9 @@ #include "quantum.h" -void keyboard_pre_init_kb (void) { +void keyboard_pre_init_kb(void) { gpio_set_pin_output(B12); - gpio_set_pin_output(B13); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(B13, led_state.caps_lock); - } - return res; + keyboard_pre_init_user(); } __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { diff --git a/keyboards/whitefacemountain/ampersand/keyboard.json b/keyboards/whitefacemountain/ampersand/keyboard.json new file mode 100644 index 0000000000..04840d05bc --- /dev/null +++ b/keyboards/whitefacemountain/ampersand/keyboard.json @@ -0,0 +1,127 @@ +{ + "manufacturer": "Whitefacemountain", + "keyboard_name": "Ampersand", + "maintainer": "roarmstrong", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "cols": ["F4", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0", "F1"], + "rows": ["F5", "F0", "C7", "F6"] + }, + "processor": "atmega32u4", + "url": "https://www.cbkbd.com/product/ampersand", + "usb": { + "device_version": "1.0.0", + "pid": "0x2626", + "vid": "0xFEED" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_split_bars" + }, + "layouts": { + "LAYOUT_single_bar": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "W", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "E", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "R", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "T", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "U", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "I", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "O", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "P", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "Bksp", "matrix": [0, 12], "x": 12, "y": 0, "w": 1.5}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"label": "A", "matrix": [1, 1], "x": 1.25, "y": 1}, + {"label": "S", "matrix": [1, 2], "x": 2.25, "y": 1}, + {"label": "D", "matrix": [1, 3], "x": 3.25, "y": 1}, + {"label": "F", "matrix": [1, 4], "x": 4.25, "y": 1}, + {"label": "G", "matrix": [1, 5], "x": 5.25, "y": 1}, + {"label": "H", "matrix": [1, 6], "x": 6.25, "y": 1}, + {"label": "J", "matrix": [1, 7], "x": 7.25, "y": 1}, + {"label": "K", "matrix": [1, 8], "x": 8.25, "y": 1}, + {"label": "L", "matrix": [1, 9], "x": 9.25, "y": 1}, + {"label": ";", "matrix": [1, 10], "x": 10.25, "y": 1}, + {"label": "'", "matrix": [1, 11], "x": 11.25, "y": 1}, + {"label": "Enter", "matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "Z", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "X", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "C", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "V", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "B", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "N", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "M", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": ",", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1}, + {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1}, + {"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3, "w": 1}, + {"label": "Space", "matrix": [3, 5], "x": 3.75, "y": 3, "w": 6}, + {"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3, "w": 1}, + {"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3, "w": 1}, + {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1} + ] + }, + "LAYOUT_split_bars": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "W", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "E", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "R", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "T", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "U", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "I", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "O", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "P", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "Bksp", "matrix": [0, 12], "x": 12, "y": 0, "w": 1.5}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"label": "A", "matrix": [1, 1], "x": 1.25, "y": 1}, + {"label": "S", "matrix": [1, 2], "x": 2.25, "y": 1}, + {"label": "D", "matrix": [1, 3], "x": 3.25, "y": 1}, + {"label": "F", "matrix": [1, 4], "x": 4.25, "y": 1}, + {"label": "G", "matrix": [1, 5], "x": 5.25, "y": 1}, + {"label": "H", "matrix": [1, 6], "x": 6.25, "y": 1}, + {"label": "J", "matrix": [1, 7], "x": 7.25, "y": 1}, + {"label": "K", "matrix": [1, 8], "x": 8.25, "y": 1}, + {"label": "L", "matrix": [1, 9], "x": 9.25, "y": 1}, + {"label": ";", "matrix": [1, 10], "x": 10.25, "y": 1}, + {"label": "'", "matrix": [1, 11], "x": 11.25, "y": 1}, + {"label": "Enter", "matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "Z", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "X", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "C", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "V", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "B", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "N", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "M", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": ",", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1}, + {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1.5}, + {"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3, "w": 1}, + {"label": "Space", "matrix": [3, 3], "x": 4.25, "y": 3, "w": 2.25}, + {"label": "Space", "matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.75}, + {"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3, "w": 1}, + {"label": "RAlt", "matrix": [3, 9], "x": 10.25, "y": 3, "w": 1.5}, + {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1} + ] + } + } +} diff --git a/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c new file mode 100644 index 0000000000..d380e64fa7 --- /dev/null +++ b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// Copyright 2024 @roarmstrong +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL) +};
\ No newline at end of file diff --git a/keyboards/whitefacemountain/ampersand/readme.md b/keyboards/whitefacemountain/ampersand/readme.md new file mode 100644 index 0000000000..d85f82d6fb --- /dev/null +++ b/keyboards/whitefacemountain/ampersand/readme.md @@ -0,0 +1,28 @@ +# Ampersand + +![Ampersand](https://i.imgur.com/jbr7Bld.png) + +Ampersand is a gummyworm mounted 13.5u keyboard with minimum 40s support needed. +Its frosted polycarbonate case and blasted brass weight will pair well with most keysets, with greater compatibility than most 40s. + +* Keyboard Maintainer: [roarmstrong](https://github.com/roarmstrong) +* Hardware Supported: Ampersand custom PCB, using Atmega32u4 +* Hardware Availability: [Coffee Break Keyboards](https://www.cbkbd.com/product/ampersand), [Keeb Supply](https://keeb.supply/products/ampersand) + +Make example for this keyboard (after setting up your build environment): + + make whitefacemountain/ampersand:default + +Flashing example for this keyboard: + + make whitefacemountain/ampersand:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard +* **Physical reset button**: Briefly press the button labelled SW1 on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/wilba_tech/wt60_xt/keyboard.json b/keyboards/wilba_tech/wt60_xt/keyboard.json index 8afafd9314..ba8e8000db 100644 --- a/keyboards/wilba_tech/wt60_xt/keyboard.json +++ b/keyboards/wilba_tech/wt60_xt/keyboard.json @@ -23,6 +23,11 @@ "resync": true } }, + "audio": { + "default": { + "clicky": false + } + }, "matrix_pins": { "cols": ["B7", "B0", "F5", "D5", "B1", "B2", "B3", "D3", "D2", "C7", "B6", "B5", "B4", "D7", "D6", "D4"], "rows": ["F0", "E6", "F4", "F6", "F7"] diff --git a/keyboards/wilba_tech/wt60_xt/wt60_xt.c b/keyboards/wilba_tech/wt60_xt/wt60_xt.c index 7c6a2fafc4..53b822e58f 100644 --- a/keyboards/wilba_tech/wt60_xt/wt60_xt.c +++ b/keyboards/wilba_tech/wt60_xt/wt60_xt.c @@ -30,26 +30,6 @@ float tone_device_indication[][2] = SONG(FANTASIE_IMPROMPTU); #endif -// We want to enable audio clicky (i.e. compile it into firmware), -// but not have it "turned on" by default. -#ifdef AUDIO_CLICKY - -#include "process_clicky.h" -extern audio_config_t audio_config; - -void eeconfig_init_kb(void) { - // Reset Keyboard EEPROM value to blank, rather than to a set value - eeconfig_update_kb(0); - - // Need to read here because this isn't done before calling eeconfig_init_kb() - audio_config.raw = eeconfig_read_audio(); - // ...and this call needs audio_config initialized. - clicky_off(); - - eeconfig_init_user(); -} -#endif // AUDIO_CLICKY - void keyboard_pre_init_kb(void) { gpio_set_pin_output(F1); diff --git a/keyboards/wilba_tech/wt69_a/keyboard.json b/keyboards/wilba_tech/wt69_a/keyboard.json index bbe6517850..d41f8fc90e 100644 --- a/keyboards/wilba_tech/wt69_a/keyboard.json +++ b/keyboards/wilba_tech/wt69_a/keyboard.json @@ -20,6 +20,9 @@ "resync": true } }, + "indicators": { + "caps_lock": "F1" + }, "matrix_pins": { "cols": ["B7", "B0", "F5", "D5", "B1", "B2", "B3", "D3", "D2", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], "rows": ["F0", "E6", "F4", "F6", "F7"] diff --git a/keyboards/wilba_tech/wt69_a/wt69_a.c b/keyboards/wilba_tech/wt69_a/wt69_a.c deleted file mode 100644 index 842b62a4d1..0000000000 --- a/keyboards/wilba_tech/wt69_a/wt69_a.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2018 Jason Williams (Wilba) - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F1); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F1, led_state.caps_lock); - } - return true; -} diff --git a/keyboards/wilba_tech/wt70_jb/keyboard.json b/keyboards/wilba_tech/wt70_jb/keyboard.json index bfa27f225b..f922810600 100644 --- a/keyboards/wilba_tech/wt70_jb/keyboard.json +++ b/keyboards/wilba_tech/wt70_jb/keyboard.json @@ -8,6 +8,9 @@ "pid": "0x001F", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "F1" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/wilba_tech/wt70_jb/wt70_jb.c b/keyboards/wilba_tech/wt70_jb/wt70_jb.c index ae9b5dcbec..e4d0efc5e4 100644 --- a/keyboards/wilba_tech/wt70_jb/wt70_jb.c +++ b/keyboards/wilba_tech/wt70_jb/wt70_jb.c @@ -17,19 +17,6 @@ bool g_first_execution = false; -void keyboard_pre_init_kb(void) { - gpio_set_pin_output(F1); - - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - gpio_write_pin(F1, led_state.caps_lock); - } - return true; -} - // This is some magic so that PCBs flashed with VIA firmware at the factory // will start with an RGB test pattern. Not relevant for non-VIA firmware. #ifdef VIA_ENABLE @@ -55,6 +42,8 @@ void keyboard_post_init_kb(void) { if ( g_first_execution ) { rgblight_mode(RGBLIGHT_MODE_RGB_TEST); } + + keyboard_post_init_user(); } #endif // VIA_ENABLE diff --git a/keyboards/winry/winry315/keymaps/via/keymap.c b/keyboards/winry/winry315/keymaps/via/keymap.c index 0641fbfd03..4585f46fb6 100644 --- a/keyboards/winry/winry315/keymaps/via/keymap.c +++ b/keyboards/winry/winry315/keymaps/via/keymap.c @@ -37,3 +37,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [2 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; #endif + +// The enum values are assumed to match the layout option values used by VIA. +void via_set_layout_options_kb(uint32_t value) { + winry315_set_orientation(value & 0x03); +} diff --git a/keyboards/winry/winry315/winry315.c b/keyboards/winry/winry315/winry315.c index e7901a2e00..03621d3e3f 100644 --- a/keyboards/winry/winry315/winry315.c +++ b/keyboards/winry/winry315/winry315.c @@ -3,13 +3,11 @@ #include "winry315.h" -#include "via.h" - #if !defined(WINRY315_DEFAULT_ORIENTATION) # define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_TOP #endif -#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE) +#if defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE) # ifndef MEDIA_KEY_DELAY # define MEDIA_KEY_DELAY 10 # endif @@ -41,7 +39,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif // !defined(VIA_ENABLE) && defined(ENCODER_ENABLE) +#endif // defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE) #if defined(RGB_MATRIX_ENABLE) @@ -200,9 +198,3 @@ void winry315_set_orientation(uint8_t orientation) { } #endif // defined(RGB_MATRIX_ENABLE) } - -#if defined(VIA_ENABLE) -void via_set_layout_options_kb(uint32_t value) { - winry315_set_orientation(value & 0x03); -} -#endif // defined(VIA_ENABLE) diff --git a/keyboards/winry/winry315/winry315.h b/keyboards/winry/winry315/winry315.h index 8129c9d6e0..ea7b4120e2 100644 --- a/keyboards/winry/winry315/winry315.h +++ b/keyboards/winry/winry315/winry315.h @@ -5,8 +5,7 @@ #include "quantum.h" -// Supported orientations of the board. The enum values must match the layout -// option values used by VIA. +// Supported orientations of the board. enum winry315_orientation { WINRY315_ORIENTATION_TOP, // Encoders at the top side (default) WINRY315_ORIENTATION_LEFT, // Encoders at the left side @@ -17,10 +16,9 @@ enum winry315_orientation { // Set the orientation of the board (changes the RGB Matrix effect behavior to // match the new orientation). // -// This function is intended to be used in the `via` keymap, where the board -// orientation is configured dynamically using a VIA layout option. If you are -// making a custom keymap for one specific orientation, it is better to set the -// orientation in config.h (e.g., `#define WINRY315_DEFAULT_ORIENTATION -// WINRY315_ORIENTATION_LEFT`) instead of adding custom code that calls this -// function. +// This function is intended to be used to configure the orientation +// dynamically. If you are making a custom keymap for one specific orientation, +// it is better to set the orientation in config.h +// (e.g., `#define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_LEFT`) +// instead of adding custom code that calls this function. void winry315_set_orientation(uint8_t orientation); diff --git a/keyboards/wolfmarkclub/wm1/keyboard.json b/keyboards/wolfmarkclub/wm1/keyboard.json index 56c062e102..0cea5546c8 100644 --- a/keyboards/wolfmarkclub/wm1/keyboard.json +++ b/keyboards/wolfmarkclub/wm1/keyboard.json @@ -27,6 +27,11 @@ "resync": true } }, + "indicators": { + "caps_lock": "B1", + "num_lock": "B0", + "scroll_lock": "C5" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/wolfmarkclub/wm1/wm1.c b/keyboards/wolfmarkclub/wm1/wm1.c index 9c4fb090c8..83c4c8bb45 100644 --- a/keyboards/wolfmarkclub/wm1/wm1.c +++ b/keyboards/wolfmarkclub/wm1/wm1.c @@ -4,19 +4,3 @@ void bootloader_jump(void) { // This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset. NVIC_SystemReset(); } - -void matrix_init_kb(void) { - gpio_set_pin_output(B1); // Top Indicator LED - gpio_set_pin_output(B0); // Middle Indicator LED - gpio_set_pin_output(C5); // Bottom Indicator LED - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - if(led_update_user(led_state)) { - gpio_write_pin(B1, led_state.caps_lock); - gpio_write_pin(B0, led_state.num_lock); - gpio_write_pin(C5, led_state.scroll_lock); - } - return true; -} diff --git a/keyboards/work_louder/micro/matrix.c b/keyboards/work_louder/micro/matrix.c index 3cfbf17dad..3944d676de 100644 --- a/keyboards/work_louder/micro/matrix.c +++ b/keyboards/work_louder/micro/matrix.c @@ -20,21 +20,21 @@ static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #define MATRIX_ROW_SHIFTER ((matrix_row_t)1) -static inline void setPinOutput_writeLow(pin_t pin) { +static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_low(pin); } } -static inline void setPinOutput_writeHigh(pin_t pin) { +static inline void gpio_atomic_set_pin_output_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_output(pin); gpio_write_pin_high(pin); } } -static inline void setPinInputHigh_atomic(pin_t pin) { +static inline void gpio_atomic_set_pin_input_high(pin_t pin) { ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } @@ -51,7 +51,7 @@ static inline uint8_t readMatrixPin(pin_t pin) { static bool select_row(uint8_t row) { pin_t pin = row_pins[row]; if (pin != NO_PIN) { - setPinOutput_writeLow(pin); + gpio_atomic_set_pin_output_low(pin); return true; } return false; @@ -60,7 +60,7 @@ static bool select_row(uint8_t row) { static void unselect_row(uint8_t row) { pin_t pin = row_pins[row]; if (pin != NO_PIN) { - setPinInputHigh_atomic(pin); + gpio_atomic_set_pin_input_high(pin); } } @@ -74,11 +74,11 @@ __attribute__((weak)) void matrix_init_custom(void) { unselect_rows(); for (uint8_t x = 0; x < MATRIX_COLS; x++) { if (col_pins[x] != NO_PIN) { - setPinInputHigh_atomic(col_pins[x]); + gpio_atomic_set_pin_input_high(col_pins[x]); } } - setPinInputHigh_atomic(F7); - setPinInputHigh_atomic(F0); + gpio_atomic_set_pin_input_high(F7); + gpio_atomic_set_pin_input_high(F0); } void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { diff --git a/keyboards/work_louder/rgb_functions.h b/keyboards/work_louder/rgb_functions.h index eaef787a22..20c99021fb 100644 --- a/keyboards/work_louder/rgb_functions.h +++ b/keyboards/work_louder/rgb_functions.h @@ -18,62 +18,32 @@ #include "keycodes.h" -#ifndef VIA_ENABLE -# ifndef RGB_MATRIX_TOGGLE -# define RGB_MATRIX_TOGGLE KC_F15 -# endif -# ifndef RGB_MATRIX_MODE_INC -# define RGB_MATRIX_MODE_INC KC_F16 -# endif -# ifndef RGB_MATRIX_MODE_DEC -# define RGB_MATRIX_MODE_DEC KC_F17 -# endif -# ifndef RGB_MATRIX_HUE_INC -# define RGB_MATRIX_HUE_INC KC_F18 -# endif -# ifndef RGB_MATRIX_HUE_DEC -# define RGB_MATRIX_HUE_DEC KC_F19 -# endif -# ifndef RGB_MATRIX_SAT_INC -# define RGB_MATRIX_SAT_INC KC_F20 -# endif -# ifndef RGB_MATRIX_SAT_DEC -# define RGB_MATRIX_SAT_DEC KC_F21 -# endif -# ifndef RGB_MATRIX_VAL_INC -# define RGB_MATRIX_VAL_INC KC_F22 -# endif -# ifndef RGB_MATRIX_VAL_DEC -# define RGB_MATRIX_VAL_DEC KC_F23 -# endif -#else -# ifndef RGB_MATRIX_TOGGLE -# define RGB_MATRIX_TOGGLE QK_KB_0 -# endif -# ifndef RGB_MATRIX_MODE_INC -# define RGB_MATRIX_MODE_INC QK_KB_1 -# endif -# ifndef RGB_MATRIX_MODE_DEC -# define RGB_MATRIX_MODE_DEC QK_KB_2 -# endif -# ifndef RGB_MATRIX_HUE_INC -# define RGB_MATRIX_HUE_INC QK_KB_3 -# endif -# ifndef RGB_MATRIX_HUE_DEC -# define RGB_MATRIX_HUE_DEC QK_KB_4 -# endif -# ifndef RGB_MATRIX_SAT_INC -# define RGB_MATRIX_SAT_INC QK_KB_5 -# endif -# ifndef RGB_MATRIX_SAT_DEC -# define RGB_MATRIX_SAT_DEC QK_KB_6 -# endif -# ifndef RGB_MATRIX_VAL_INC -# define RGB_MATRIX_VAL_INC QK_KB_7 -# endif -# ifndef RGB_MATRIX_VAL_DEC -# define RGB_MATRIX_VAL_DEC QK_KB_8 -# endif +#ifndef RGB_MATRIX_TOGGLE +# define RGB_MATRIX_TOGGLE QK_KB_0 +#endif +#ifndef RGB_MATRIX_MODE_INC +# define RGB_MATRIX_MODE_INC QK_KB_1 +#endif +#ifndef RGB_MATRIX_MODE_DEC +# define RGB_MATRIX_MODE_DEC QK_KB_2 +#endif +#ifndef RGB_MATRIX_HUE_INC +# define RGB_MATRIX_HUE_INC QK_KB_3 +#endif +#ifndef RGB_MATRIX_HUE_DEC +# define RGB_MATRIX_HUE_DEC QK_KB_4 +#endif +#ifndef RGB_MATRIX_SAT_INC +# define RGB_MATRIX_SAT_INC QK_KB_5 +#endif +#ifndef RGB_MATRIX_SAT_DEC +# define RGB_MATRIX_SAT_DEC QK_KB_6 +#endif +#ifndef RGB_MATRIX_VAL_INC +# define RGB_MATRIX_VAL_INC QK_KB_7 +#endif +#ifndef RGB_MATRIX_VAL_DEC +# define RGB_MATRIX_VAL_DEC QK_KB_8 #endif #define R_M_TOG RGB_MATRIX_TOGGLE diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index 2514a63dde..36dadf6d4e 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -23,5 +23,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_MATRIX_LED_COUNT 49 #define RGB_MATRIX_DISABLE_KEYCODES - -#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x1 diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json index dc412fdabd..0e97efa9a4 100644 --- a/keyboards/work_louder/work_board/info.json +++ b/keyboards/work_louder/work_board/info.json @@ -58,7 +58,61 @@ }, "driver": "ws2812", "max_brightness": 120, - "sleep": true + "sleep": true, + "layout": [ + {"matrix": [3, 11], "x": 223, "y": 63, "flags": 1}, + {"matrix": [3, 10], "x": 203, "y": 63, "flags": 1}, + {"matrix": [3, 9], "x": 183, "y": 63, "flags": 1}, + {"matrix": [3, 8], "x": 162, "y": 63, "flags": 1}, + {"matrix": [3, 7], "x": 142, "y": 63, "flags": 1}, + {"matrix": [3, 6], "x": 122, "y": 63, "flags": 4}, + {"x": 112, "y": 63, "flags": 4}, + {"matrix": [3, 5], "x": 101, "y": 63, "flags": 4}, + {"matrix": [3, 4], "x": 81, "y": 63, "flags": 1}, + {"matrix": [3, 3], "x": 61, "y": 63, "flags": 1}, + {"matrix": [3, 2], "x": 40, "y": 63, "flags": 1}, + {"matrix": [3, 1], "x": 20, "y": 63, "flags": 1}, + {"matrix": [3, 0], "x": 0, "y": 63, "flags": 1}, + + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, + {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, + {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, + {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, + {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4}, + {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4}, + {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4}, + {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4}, + {"matrix": [2, 10], "x": 203, "y": 42, "flags": 4}, + {"matrix": [2, 11], "x": 223, "y": 42, "flags": 1}, + + {"matrix": [1, 11], "x": 223, "y": 21, "flags": 1}, + {"matrix": [1, 10], "x": 203, "y": 21, "flags": 4}, + {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, + {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4}, + {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4}, + {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4}, + {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, + {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, + {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, + {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, + + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 223, "y": 0, "flags": 1}, + ] }, "matrix_pins": { "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"], diff --git a/keyboards/work_louder/work_board/keymaps/via/config.h b/keyboards/work_louder/work_board/keymaps/via/config.h index 7aa3bebe9b..716aac11aa 100644 --- a/keyboards/work_louder/work_board/keymaps/via/config.h +++ b/keyboards/work_louder/work_board/keymaps/via/config.h @@ -1,6 +1,10 @@ // Copyright 2023 QMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once + #define NO_ACTION_ONESHOT + #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL + +#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x1 diff --git a/keyboards/work_louder/work_board/keymaps/via/keymap.c b/keyboards/work_louder/work_board/keymaps/via/keymap.c index 255ee3ed78..9ba3dcda4c 100644 --- a/keyboards/work_louder/work_board/keymaps/via/keymap.c +++ b/keyboards/work_louder/work_board/keymaps/via/keymap.c @@ -214,3 +214,21 @@ void via_custom_value_command_kb(uint8_t *data, uint8_t length) { } *command_id = id_unhandled; } + +bool via_layout_2u = false; + +void via_set_layout_options_kb(uint32_t value) { + via_layout_2u = (bool)value; +} + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_user(void) { + if (via_layout_2u) { + rgb_matrix_set_color(5, 0, 0, 0); + rgb_matrix_set_color(7, 0, 0, 0); + } else { + rgb_matrix_set_color(6, 0, 0, 0); + } + return false; +} +#endif diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c index 975c7aa794..b34f31df5c 100644 --- a/keyboards/work_louder/work_board/work_board.c +++ b/keyboards/work_louder/work_board/work_board.c @@ -67,46 +67,12 @@ bool oled_task_kb(void) { #endif #ifdef RGB_MATRIX_ENABLE -// clang-format off -led_config_t g_led_config = { { - { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 }, - { 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25 }, - { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 }, - { 12, 11, 10, 9, 8, 7, 5, 4, 3, 2, 1, 0} -}, { - { 223, 63 }, { 203, 63 }, { 183, 63 }, { 162, 63 }, { 142, 63 }, { 122, 63 }, { 112, 63 }, { 101, 63 }, { 81, 63 }, { 61, 63 }, { 40, 63 }, { 20, 63 }, { 0, 63 }, - { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 }, - { 223, 21 }, { 203, 21 }, { 183, 21 }, { 162, 21 }, { 142, 21 }, { 122, 21 }, { 101, 21 }, { 81, 21 }, { 61, 21 }, { 40, 21 }, { 20, 21 }, { 0, 21 }, - { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 } -}, { - 1, 1, 1, 1, 1, 4,4,4, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 -} }; -// clang-format on - -# ifdef VIA_ENABLE -bool via_layout_2u = false; - -void via_set_layout_options_kb(uint32_t value) { via_layout_2u = (bool)value; } -# endif // VIA_ENABLE - bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; } -# ifdef VIA_ENABLE - if (via_layout_2u) { - rgb_matrix_set_color(5, 0, 0, 0); - rgb_matrix_set_color(7, 0, 0, 0); - } else { - rgb_matrix_set_color(6, 0, 0, 0); - } -# else rgb_matrix_set_color(5, 0, 0, 0); rgb_matrix_set_color(7, 0, 0, 0); -# endif return true; } diff --git a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c b/keyboards/wsk/g4m3ralpha/g4m3ralpha.c deleted file mode 100644 index 3c039a173f..0000000000 --- a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2020 Worldspawn <[email protected]> - * - * 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 "quantum.h" - - -void matrix_init_kb(void) { - gpio_set_pin_output(D3); - gpio_write_pin_low(D3); - gpio_set_pin_output(D2); - gpio_write_pin_low(D2); - gpio_set_pin_output(D0); - gpio_write_pin_low(D0); - - matrix_init_user(); -}; - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(D3, led_state.num_lock); - gpio_write_pin(D0, led_state.caps_lock); - gpio_write_pin(D2, led_state.scroll_lock); - } - return res; -} diff --git a/keyboards/wsk/g4m3ralpha/keyboard.json b/keyboards/wsk/g4m3ralpha/keyboard.json index fcb2f26f5f..b5cdb7ce10 100644 --- a/keyboards/wsk/g4m3ralpha/keyboard.json +++ b/keyboards/wsk/g4m3ralpha/keyboard.json @@ -8,6 +8,11 @@ "pid": "0x56D9", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "D0", + "num_lock": "D3", + "scroll_lock": "D2" + }, "rgblight": { "saturation_steps": 8, "brightness_steps": 8, diff --git a/keyboards/wuque/ikki68/ikki68.c b/keyboards/wuque/ikki68/ikki68.c deleted file mode 100644 index 382ec00251..0000000000 --- a/keyboards/wuque/ikki68/ikki68.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2020 wuquestudio - * - * 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 "quantum.h" - -void matrix_init_kb(void) { - gpio_set_pin_output(C6); - - matrix_init_user(); -} -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - gpio_write_pin(C6, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/wuque/ikki68/keyboard.json b/keyboards/wuque/ikki68/keyboard.json index c6070e74fa..d666b0b5de 100644 --- a/keyboards/wuque/ikki68/keyboard.json +++ b/keyboards/wuque/ikki68/keyboard.json @@ -8,6 +8,10 @@ "pid": "0x0003", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "C6", + "on_state": 0 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/xelus/akis/akis.c b/keyboards/xelus/akis/akis.c deleted file mode 100644 index 0409f909d2..0000000000 --- a/keyboards/xelus/akis/akis.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_mode(RGBLIGHT_MODE_RGB_TEST); // set to RGBLIGHT_MODE_RGB_TEST by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} diff --git a/keyboards/xelus/akis/keyboard.json b/keyboards/xelus/akis/keyboard.json index 23a8178b26..da072b6379 100644 --- a/keyboards/xelus/akis/keyboard.json +++ b/keyboards/xelus/akis/keyboard.json @@ -21,6 +21,9 @@ "rgb_test": true, "alternating": true, "twinkle": true + }, + "default": { + "animation": "rgb_test" } }, "ws2812": { diff --git a/keyboards/xelus/ninjin/keyboard.json b/keyboards/xelus/ninjin/keyboard.json index 34032ea426..2e7b1640df 100644 --- a/keyboards/xelus/ninjin/keyboard.json +++ b/keyboards/xelus/ninjin/keyboard.json @@ -26,6 +26,9 @@ "rgb_test": true, "alternating": true, "twinkle": true + }, + "default": { + "animation": "rgb_test" } }, "features": { diff --git a/keyboards/xelus/ninjin/ninjin.c b/keyboards/xelus/ninjin/ninjin.c deleted file mode 100644 index b5a4ee83a7..0000000000 --- a/keyboards/xelus/ninjin/ninjin.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 "quantum.h" - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - rgblight_enable(); // Enable RGB by default - rgblight_mode(RGBLIGHT_MODE_RGB_TEST); // set to RGBLIGHT_MODE_RGB_TEST by default - - eeconfig_update_kb(0); - eeconfig_init_user(); -} - -// Tested and verified working on Ninjin -void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/config.h index 47bbf2bf81..47bbf2bf81 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/config.h diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/keymap.c index 70904faaba..70904faaba 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c +++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/keymap.c diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/rules.mk b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/rules.mk index 1e5b99807c..1e5b99807c 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/rules.mk +++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/rules.mk diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h index a5fc38e070..fcf4c41d8a 100644 --- a/keyboards/xelus/pachi/rgb/rev2/config.h +++ b/keyboards/xelus/pachi/rgb/rev2/config.h @@ -33,7 +33,3 @@ // RGB Matrix defines #define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND #define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT // is31fl3741.h does not set this for custom driver - -// VIA KB level -#define VIA_FIRMWARE_VERSION 1 -#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 17 diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h new file mode 100644 index 0000000000..abdd8c320c --- /dev/null +++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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 VIA_FIRMWARE_VERSION 1 +#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 17 diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c new file mode 100644 index 0000000000..f739dc4b6a --- /dev/null +++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c @@ -0,0 +1,399 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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 +#include "eeprom.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_tkl_ansi_tsangan( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_tkl_ansi_tsangan( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; + +// custom ID codes +enum via_indicator_value { + id_caps_lock_enable = 1, + id_caps_lock_brightness, + id_caps_lock_color, + id_caps_lock_key, + id_caps_lock_override, + id_num_lock_enable, + id_num_lock_brightness, + id_num_lock_color, + id_num_lock_key, + id_num_lock_override, + id_scroll_lock_enable, + id_scroll_lock_brightness, + id_scroll_lock_color, + id_scroll_lock_key, + id_scroll_lock_override, + id_layer_indicator_enable, + id_layer_indicator_brightness, + id_layer_indicator_color, + id_layer_indicator_key, + id_layer_indicator_override +}; + +// struct to save things +typedef struct { + bool enable_caps_lock:1; // | + bool enable_num_lock:1; // | + bool enable_scroll_lock:1; // | + bool enable_layer_indicator:1; // | + bool caps_override_bl:1; // | + bool num_override_bl:1; // | + bool scroll_override_bl:1; // | + bool layer_override_bl:1; // 1 byte + HSV caps_lock_indicator; // 3 bytes + HSV num_lock_indicator; // 3 bytes + HSV scroll_lock_indicator; // 3 bytes + HSV layer_indicator; // 3 bytes + uint8_t caps_lock_key; // 1 byte + uint8_t num_lock_key; // 1 byte + uint8_t scroll_lock_key; // 1 byte + uint8_t layer_indicator_key;// 1 byte +} indicator_settings_config; +// total 17 bytes + +indicator_settings_config g_config = { + .caps_lock_indicator = {0, 0, 128}, + .num_lock_indicator = {60, 0, 128}, + .scroll_lock_indicator = {120, 0, 128}, + .layer_indicator = {180, 0, 128}, + .caps_lock_key = 7, + .num_lock_key = 0, + .scroll_lock_key = 78, + .layer_indicator_key = 0, + .enable_caps_lock = true, + .enable_num_lock = false, + .enable_scroll_lock = true, + .enable_layer_indicator = false, + .caps_override_bl = true, + .num_override_bl = true, + .scroll_override_bl = true, + .layer_override_bl = true +}; + + +// function declaration +void indicator_config_set_value( uint8_t *data ); +void indicator_config_get_value( uint8_t *data ); +void indicator_config_save ( void ); +void _set_color(HSV *color, uint8_t *data); +void _get_color(HSV *color, uint8_t *data); + +void values_load(void) +{ + eeprom_read_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) ); +} + +void values_save(void) +{ + eeprom_update_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) ); +} + +void via_init_kb(void) +{ + // If the EEPROM has the magic, the data is good. + // OK to load from EEPROM + if (via_eeprom_is_valid()) { + values_load(); + } else { + values_save(); + // DO NOT set EEPROM valid here, let caller do this + } +} + +void via_custom_value_command_kb(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *channel_id = &(data[1]); + uint8_t *value_id_and_data = &(data[2]); + + if ( *channel_id == id_custom_channel ) { + switch ( *command_id ) + { + case id_custom_set_value: + { + indicator_config_set_value(value_id_and_data); + break; + } + case id_custom_get_value: + { + indicator_config_get_value(value_id_and_data); + break; + } + case id_custom_save: + { + values_save(); + break; + } + default: + { + // Unhandled message. + *command_id = id_unhandled; + break; + } + } + return; + } + + // Return the unhandled state + *command_id = id_unhandled; + + // DO NOT call raw_hid_send(data,length) here, let caller do this +} + +void indicator_config_set_value( uint8_t *data ) +{ + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_caps_lock_enable: + g_config.enable_caps_lock = *value_data; + break; + case id_num_lock_enable: + g_config.enable_num_lock = *value_data; + break; + case id_scroll_lock_enable: + g_config.enable_scroll_lock = *value_data; + break; + case id_layer_indicator_enable: + g_config.enable_layer_indicator = *value_data; + break; + case id_caps_lock_brightness: + g_config.caps_lock_indicator.v = *value_data; + break; + case id_num_lock_brightness: + g_config.num_lock_indicator.v = *value_data; + break; + case id_scroll_lock_brightness: + g_config.scroll_lock_indicator.v = *value_data; + break; + case id_layer_indicator_brightness: + g_config.layer_indicator.v = *value_data; + break; + case id_caps_lock_color: + _set_color( &(g_config.caps_lock_indicator), value_data ); + break; + case id_num_lock_color: + _set_color( &(g_config.num_lock_indicator), value_data ); + break; + case id_scroll_lock_color: + _set_color( &(g_config.scroll_lock_indicator), value_data ); + break; + case id_layer_indicator_color: + _set_color( &(g_config.layer_indicator), value_data ); + break; + case id_caps_lock_key: + g_config.caps_lock_key = *value_data; + break; + case id_num_lock_key: + g_config.num_lock_key = *value_data; + break; + case id_scroll_lock_key: + g_config.scroll_lock_key = *value_data; + break; + case id_layer_indicator_key: + g_config.layer_indicator_key = *value_data; + break; + case id_caps_lock_override: + g_config.caps_override_bl = *value_data; + break; + case id_num_lock_override: + g_config.num_override_bl = *value_data; + break; + case id_scroll_lock_override: + g_config.scroll_override_bl = *value_data; + break; + case id_layer_indicator_override: + g_config.layer_override_bl = *value_data; + break; + } +} + +void indicator_config_get_value( uint8_t *data ) +{ + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch ( *value_id ) + { + case id_caps_lock_enable: + *value_data = g_config.enable_caps_lock; + break; + case id_num_lock_enable: + *value_data = g_config.enable_num_lock; + break; + case id_scroll_lock_enable: + *value_data = g_config.enable_scroll_lock; + break; + case id_layer_indicator_enable: + *value_data = g_config.enable_layer_indicator; + break; + case id_caps_lock_brightness: + *value_data = g_config.caps_lock_indicator.v; + break; + case id_num_lock_brightness: + *value_data = g_config.num_lock_indicator.v; + break; + case id_layer_indicator_brightness: + *value_data = g_config.scroll_lock_indicator.v; + break; + case id_scroll_lock_brightness: + *value_data = g_config.layer_indicator.v; + break; + case id_caps_lock_color: + _get_color( &(g_config.caps_lock_indicator), value_data ); + break; + case id_num_lock_color: + _get_color( &(g_config.num_lock_indicator), value_data ); + break; + case id_scroll_lock_color: + _get_color( &(g_config.scroll_lock_indicator), value_data ); + break; + case id_layer_indicator_color: + _get_color( &(g_config.layer_indicator), value_data ); + break; + case id_caps_lock_key: + *value_data = g_config.caps_lock_key; + break; + case id_num_lock_key: + *value_data = g_config.num_lock_key; + break; + case id_scroll_lock_key: + *value_data = g_config.scroll_lock_key; + break; + case id_layer_indicator_key: + *value_data = g_config.layer_indicator_key; + break; + case id_caps_lock_override: + *value_data = g_config.caps_override_bl; + break; + case id_num_lock_override: + *value_data = g_config.num_override_bl; + break; + case id_scroll_lock_override: + *value_data = g_config.scroll_override_bl; + break; + case id_layer_indicator_override: + *value_data = g_config.layer_override_bl; + break; + } +} + +// Some helpers for setting/getting HSV +void _set_color( HSV *color, uint8_t *data ) +{ + color->h = data[0]; + color->s = data[1]; +} + +void _get_color( HSV *color, uint8_t *data ) +{ + data[0] = color->h; + data[1] = color->s; +} + +// Set the indicators with RGB Matrix subsystem +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + // caps lock cyan + if (g_config.enable_caps_lock) { + RGB rgb_caps = hsv_to_rgb( (HSV){ .h = g_config.caps_lock_indicator.h, + .s = g_config.caps_lock_indicator.s, + .v = g_config.caps_lock_indicator.v } ); + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, rgb_caps.r, rgb_caps.g, rgb_caps.b); + } else { + if (g_config.caps_override_bl) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, 0, 0, 0); + } + } + } + + // num lock cyan + if (g_config.enable_num_lock) { + RGB rgb_num = hsv_to_rgb( (HSV){ .h = g_config.num_lock_indicator.h, + .s = g_config.num_lock_indicator.s, + .v = g_config.num_lock_indicator.v } ); + if (host_keyboard_led_state().num_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, rgb_num.r, rgb_num.g, rgb_num.b); + } else { + if (g_config.num_override_bl) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, 0, 0, 0); + } + } + } + + // scroll lock cyan + if (g_config.enable_scroll_lock) { + RGB rgb_scroll = hsv_to_rgb( (HSV){ .h = g_config.scroll_lock_indicator.h, + .s = g_config.scroll_lock_indicator.s, + .v = g_config.scroll_lock_indicator.v } ); + if (host_keyboard_led_state().scroll_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, rgb_scroll.r, rgb_scroll.g, rgb_scroll.b); + } else { + if (g_config.scroll_override_bl) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, 0, 0, 0); + } + } + } + + // layer state + if (g_config.enable_layer_indicator) { + RGB rgb_layer = hsv_to_rgb( (HSV){ .h = g_config.layer_indicator.h, + .s = g_config.layer_indicator.s, + .v = g_config.layer_indicator.v } ); + switch (get_highest_layer(layer_state)) { + case 0: + if (g_config.layer_override_bl) { + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, 0, 0, 0); + } + break; + case 1: + RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, rgb_layer.r, rgb_layer.g, rgb_layer.b); + break; + default: + // white + RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128); + break; + } + } + return false; +} diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c index f595e889c3..5589b27177 100644 --- a/keyboards/xelus/pachi/rgb/rev2/rev2.c +++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c @@ -14,7 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "rev2.h" +#include "quantum.h" // tested and working void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } @@ -239,311 +239,4 @@ const rgb_matrix_driver_t rgb_matrix_driver = { .set_color_all = is31fl3741_set_color_all }; -#ifdef VIA_ENABLE -#include "quantum.h" -#include "eeprom.h" - -indicator_settings_config g_config = { - .caps_lock_indicator = {0, 0, 128}, - .num_lock_indicator = {60, 0, 128}, - .scroll_lock_indicator = {120, 0, 128}, - .layer_indicator = {180, 0, 128}, - .caps_lock_key = 7, - .num_lock_key = 0, - .scroll_lock_key = 78, - .layer_indicator_key = 0, - .enable_caps_lock = true, - .enable_num_lock = false, - .enable_scroll_lock = true, - .enable_layer_indicator = false, - .caps_override_bl = true, - .num_override_bl = true, - .scroll_override_bl = true, - .layer_override_bl = true -}; - -void values_load(void) -{ - eeprom_read_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) ); -} - -void values_save(void) -{ - eeprom_update_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) ); -} - -void via_init_kb(void) -{ - // If the EEPROM has the magic, the data is good. - // OK to load from EEPROM - if (via_eeprom_is_valid()) { - values_load(); - } else { - values_save(); - // DO NOT set EEPROM valid here, let caller do this - } -} - -void via_custom_value_command_kb(uint8_t *data, uint8_t length) { - // data = [ command_id, channel_id, value_id, value_data ] - uint8_t *command_id = &(data[0]); - uint8_t *channel_id = &(data[1]); - uint8_t *value_id_and_data = &(data[2]); - - if ( *channel_id == id_custom_channel ) { - switch ( *command_id ) - { - case id_custom_set_value: - { - indicator_config_set_value(value_id_and_data); - break; - } - case id_custom_get_value: - { - indicator_config_get_value(value_id_and_data); - break; - } - case id_custom_save: - { - values_save(); - break; - } - default: - { - // Unhandled message. - *command_id = id_unhandled; - break; - } - } - return; - } - - // Return the unhandled state - *command_id = id_unhandled; - - // DO NOT call raw_hid_send(data,length) here, let caller do this -} - -void indicator_config_set_value( uint8_t *data ) -{ - // data = [ value_id, value_data ] - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_caps_lock_enable: - g_config.enable_caps_lock = *value_data; - break; - case id_num_lock_enable: - g_config.enable_num_lock = *value_data; - break; - case id_scroll_lock_enable: - g_config.enable_scroll_lock = *value_data; - break; - case id_layer_indicator_enable: - g_config.enable_layer_indicator = *value_data; - break; - case id_caps_lock_brightness: - g_config.caps_lock_indicator.v = *value_data; - break; - case id_num_lock_brightness: - g_config.num_lock_indicator.v = *value_data; - break; - case id_scroll_lock_brightness: - g_config.scroll_lock_indicator.v = *value_data; - break; - case id_layer_indicator_brightness: - g_config.layer_indicator.v = *value_data; - break; - case id_caps_lock_color: - _set_color( &(g_config.caps_lock_indicator), value_data ); - break; - case id_num_lock_color: - _set_color( &(g_config.num_lock_indicator), value_data ); - break; - case id_scroll_lock_color: - _set_color( &(g_config.scroll_lock_indicator), value_data ); - break; - case id_layer_indicator_color: - _set_color( &(g_config.layer_indicator), value_data ); - break; - case id_caps_lock_key: - g_config.caps_lock_key = *value_data; - break; - case id_num_lock_key: - g_config.num_lock_key = *value_data; - break; - case id_scroll_lock_key: - g_config.scroll_lock_key = *value_data; - break; - case id_layer_indicator_key: - g_config.layer_indicator_key = *value_data; - break; - case id_caps_lock_override: - g_config.caps_override_bl = *value_data; - break; - case id_num_lock_override: - g_config.num_override_bl = *value_data; - break; - case id_scroll_lock_override: - g_config.scroll_override_bl = *value_data; - break; - case id_layer_indicator_override: - g_config.layer_override_bl = *value_data; - break; - } -} - -void indicator_config_get_value( uint8_t *data ) -{ - uint8_t *value_id = &(data[0]); - uint8_t *value_data = &(data[1]); - - switch ( *value_id ) - { - case id_caps_lock_enable: - *value_data = g_config.enable_caps_lock; - break; - case id_num_lock_enable: - *value_data = g_config.enable_num_lock; - break; - case id_scroll_lock_enable: - *value_data = g_config.enable_scroll_lock; - break; - case id_layer_indicator_enable: - *value_data = g_config.enable_layer_indicator; - break; - case id_caps_lock_brightness: - *value_data = g_config.caps_lock_indicator.v; - break; - case id_num_lock_brightness: - *value_data = g_config.num_lock_indicator.v; - break; - case id_layer_indicator_brightness: - *value_data = g_config.scroll_lock_indicator.v; - break; - case id_scroll_lock_brightness: - *value_data = g_config.layer_indicator.v; - break; - case id_caps_lock_color: - _get_color( &(g_config.caps_lock_indicator), value_data ); - break; - case id_num_lock_color: - _get_color( &(g_config.num_lock_indicator), value_data ); - break; - case id_scroll_lock_color: - _get_color( &(g_config.scroll_lock_indicator), value_data ); - break; - case id_layer_indicator_color: - _get_color( &(g_config.layer_indicator), value_data ); - break; - case id_caps_lock_key: - *value_data = g_config.caps_lock_key; - break; - case id_num_lock_key: - *value_data = g_config.num_lock_key; - break; - case id_scroll_lock_key: - *value_data = g_config.scroll_lock_key; - break; - case id_layer_indicator_key: - *value_data = g_config.layer_indicator_key; - break; - case id_caps_lock_override: - *value_data = g_config.caps_override_bl; - break; - case id_num_lock_override: - *value_data = g_config.num_override_bl; - break; - case id_scroll_lock_override: - *value_data = g_config.scroll_override_bl; - break; - case id_layer_indicator_override: - *value_data = g_config.layer_override_bl; - break; - } -} - -// Some helpers for setting/getting HSV -void _set_color( HSV *color, uint8_t *data ) -{ - color->h = data[0]; - color->s = data[1]; -} - -void _get_color( HSV *color, uint8_t *data ) -{ - data[0] = color->h; - data[1] = color->s; -} - -// Set the indicators with RGB Matrix subsystem -bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - // caps lock cyan - if (g_config.enable_caps_lock) { - RGB rgb_caps = hsv_to_rgb( (HSV){ .h = g_config.caps_lock_indicator.h, - .s = g_config.caps_lock_indicator.s, - .v = g_config.caps_lock_indicator.v } ); - if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, rgb_caps.r, rgb_caps.g, rgb_caps.b); - } else { - if (g_config.caps_override_bl) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, 0, 0, 0); - } - } - } - - // num lock cyan - if (g_config.enable_num_lock) { - RGB rgb_num = hsv_to_rgb( (HSV){ .h = g_config.num_lock_indicator.h, - .s = g_config.num_lock_indicator.s, - .v = g_config.num_lock_indicator.v } ); - if (host_keyboard_led_state().num_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, rgb_num.r, rgb_num.g, rgb_num.b); - } else { - if (g_config.num_override_bl) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, 0, 0, 0); - } - } - } - - // scroll lock cyan - if (g_config.enable_scroll_lock) { - RGB rgb_scroll = hsv_to_rgb( (HSV){ .h = g_config.scroll_lock_indicator.h, - .s = g_config.scroll_lock_indicator.s, - .v = g_config.scroll_lock_indicator.v } ); - if (host_keyboard_led_state().scroll_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, rgb_scroll.r, rgb_scroll.g, rgb_scroll.b); - } else { - if (g_config.scroll_override_bl) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, 0, 0, 0); - } - } - } - - // layer state - if (g_config.enable_layer_indicator) { - RGB rgb_layer = hsv_to_rgb( (HSV){ .h = g_config.layer_indicator.h, - .s = g_config.layer_indicator.s, - .v = g_config.layer_indicator.v } ); - switch (get_highest_layer(layer_state)) { - case 0: - if (g_config.layer_override_bl) { - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, 0, 0, 0); - } - break; - case 1: - RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, rgb_layer.r, rgb_layer.g, rgb_layer.b); - break; - default: - // white - RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128); - break; - } - } - return false; -} - -#endif #endif diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.h b/keyboards/xelus/pachi/rgb/rev2/rev2.h deleted file mode 100644 index fb0b8639d2..0000000000 --- a/keyboards/xelus/pachi/rgb/rev2/rev2.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2023 Harrison Chan (Xelus) - * - * 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 "quantum.h" - -#ifdef VIA_ENABLE -// custom ID codes -enum via_indicator_value { - id_caps_lock_enable = 1, - id_caps_lock_brightness, - id_caps_lock_color, - id_caps_lock_key, - id_caps_lock_override, - id_num_lock_enable, - id_num_lock_brightness, - id_num_lock_color, - id_num_lock_key, - id_num_lock_override, - id_scroll_lock_enable, - id_scroll_lock_brightness, - id_scroll_lock_color, - id_scroll_lock_key, - id_scroll_lock_override, - id_layer_indicator_enable, - id_layer_indicator_brightness, - id_layer_indicator_color, - id_layer_indicator_key, - id_layer_indicator_override -}; - -// struct to save things -typedef struct { - bool enable_caps_lock:1; // | - bool enable_num_lock:1; // | - bool enable_scroll_lock:1; // | - bool enable_layer_indicator:1; // | - bool caps_override_bl:1; // | - bool num_override_bl:1; // | - bool scroll_override_bl:1; // | - bool layer_override_bl:1; // 1 byte - HSV caps_lock_indicator; // 3 bytes - HSV num_lock_indicator; // 3 bytes - HSV scroll_lock_indicator; // 3 bytes - HSV layer_indicator; // 3 bytes - uint8_t caps_lock_key; // 1 byte - uint8_t num_lock_key; // 1 byte - uint8_t scroll_lock_key; // 1 byte - uint8_t layer_indicator_key;// 1 byte -} indicator_settings_config; -// total 17 bytes - -// function declaration -void indicator_config_set_value( uint8_t *data ); -void indicator_config_get_value( uint8_t *data ); -void indicator_config_save ( void ); -void _set_color(HSV *color, uint8_t *data); -void _get_color(HSV *color, uint8_t *data); -#endif diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c index b5a53273df..928b0b5114 100644 --- a/keyboards/yandrstudio/nz64/nz64.c +++ b/keyboards/yandrstudio/nz64/nz64.c @@ -84,15 +84,23 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { void eeconfig_init_kb(void) { kb_cums.raw = 0; eeconfig_update_kb(kb_cums.raw); + + eeconfig_init_user(); } void keyboard_post_init_kb(void) { kb_cums.underground_rgb_sw = eeconfig_read_kb(); + + keyboard_post_init_user(); } #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch(keycode) { #ifdef RGB_MATRIX_ENABLE case URGB_K: diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c index 346556c25e..c3162dd961 100644 --- a/keyboards/yandrstudio/nz67v2/nz67v2.c +++ b/keyboards/yandrstudio/nz67v2/nz67v2.c @@ -85,10 +85,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { void eeconfig_init_kb(void) { kb_cums.raw = 0; eeconfig_update_kb(kb_cums.raw); + + eeconfig_init_user(); } void keyboard_post_init_kb(void) { kb_cums.underground_rgb_sw = eeconfig_read_kb(); + + keyboard_post_init_user(); } #endif diff --git a/keyboards/yiancardesigns/barleycorn/barleycorn.c b/keyboards/yiancardesigns/barleycorn/barleycorn.c deleted file mode 100644 index c73c1559c2..0000000000 --- a/keyboards/yiancardesigns/barleycorn/barleycorn.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2020 Yiancar - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - // Set our LED pins as output - gpio_set_pin_output(B5); - gpio_set_pin_output(C0); - keyboard_pre_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(B5, led_state.caps_lock); - gpio_write_pin(C0, led_state.num_lock); - } - return res; -} diff --git a/keyboards/yiancardesigns/barleycorn/keyboard.json b/keyboards/yiancardesigns/barleycorn/keyboard.json index a1676840a5..cf041b96c5 100644 --- a/keyboards/yiancardesigns/barleycorn/keyboard.json +++ b/keyboards/yiancardesigns/barleycorn/keyboard.json @@ -19,6 +19,10 @@ "resync": true } }, + "indicators": { + "caps_lock": "B5", + "num_lock": "C0" + }, "processor": "atmega328p", "bootloader": "usbasploader", "layouts": { diff --git a/keyboards/ymdk/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json index 4152ed6e07..1af04be687 100644 --- a/keyboards/ymdk/yd60mq/info.json +++ b/keyboards/ymdk/yd60mq/info.json @@ -32,6 +32,10 @@ "pin": "B7", "levels": 5 }, + "indicators": { + "caps_lock": "F4", + "on_state": 0 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/yd60mq/yd60mq.c b/keyboards/ymdk/yd60mq/yd60mq.c deleted file mode 100644 index 40c899c46f..0000000000 --- a/keyboards/ymdk/yd60mq/yd60mq.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "quantum.h" - -__attribute__((weak)) -void matrix_init_kb(void){ - gpio_set_pin_output(F4); - gpio_write_pin_high(F4); -} - -__attribute__((weak)) -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - // gpio_write_pin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - gpio_write_pin(F4, !led_state.caps_lock); - } - return res; -} diff --git a/keyboards/yoichiro/lunakey_pico/keyboard.json b/keyboards/yoichiro/lunakey_pico/keyboard.json index d80aaf0612..39070d615a 100644 --- a/keyboards/yoichiro/lunakey_pico/keyboard.json +++ b/keyboards/yoichiro/lunakey_pico/keyboard.json @@ -47,7 +47,10 @@ "max_brightness": 255 }, "split": { - "enabled": true + "enabled": true, + "serial": { + "driver": "vendor" + } }, "ws2812": { "pin": "GP6", diff --git a/keyboards/yoichiro/lunakey_pico/rules.mk b/keyboards/yoichiro/lunakey_pico/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/yoichiro/lunakey_pico/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/yushakobo/navpad/navpad_prefs.c b/keyboards/yushakobo/navpad/navpad_prefs.c index 08b7464cf9..c7b3881621 100644 --- a/keyboards/yushakobo/navpad/navpad_prefs.c +++ b/keyboards/yushakobo/navpad/navpad_prefs.c @@ -37,10 +37,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return true; } -bool led_update_kb(led_t led_state) { - return led_update_user(led_state); -} - #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/ziptyze/lets_split_v3/keyboard.json b/keyboards/ziptyze/lets_split_v3/keyboard.json index 3db8004756..ca53b42240 100644 --- a/keyboards/ziptyze/lets_split_v3/keyboard.json +++ b/keyboards/ziptyze/lets_split_v3/keyboard.json @@ -22,6 +22,9 @@ "vid": "0x6F75" }, "split": { + "serial": { + "driver": "vendor" + }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/ziptyze/lets_split_v3/rules.mk b/keyboards/ziptyze/lets_split_v3/rules.mk deleted file mode 100644 index 161ec22b16..0000000000 --- a/keyboards/ziptyze/lets_split_v3/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = vendor diff --git a/keyboards/zvecr/split_blackpill/keyboard.json b/keyboards/zvecr/split_blackpill/keyboard.json index 71eb99b7d4..f5bc458d73 100644 --- a/keyboards/zvecr/split_blackpill/keyboard.json +++ b/keyboards/zvecr/split_blackpill/keyboard.json @@ -26,6 +26,9 @@ "handedness": { "pin": "B3" }, + "serial": { + "driver": "usart" + }, "soft_serial_pin": "B6", "bootmagic": { "matrix": [4, 0] diff --git a/keyboards/zvecr/split_blackpill/rules.mk b/keyboards/zvecr/split_blackpill/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/zvecr/split_blackpill/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/zvecr/zv48/f401/rules.mk b/keyboards/zvecr/zv48/f401/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/zvecr/zv48/f401/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/zvecr/zv48/f411/rules.mk b/keyboards/zvecr/zv48/f411/rules.mk deleted file mode 100644 index c6e2988321..0000000000 --- a/keyboards/zvecr/zv48/f411/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SERIAL_DRIVER = usart diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json index e596eb6e79..6e4daad312 100644 --- a/keyboards/zvecr/zv48/info.json +++ b/keyboards/zvecr/zv48/info.json @@ -57,6 +57,9 @@ "bootmagic": { "matrix": [4, 0] }, + "serial": { + "driver": "usart" + }, "matrix_pins": { "right": { "cols": ["B10", "B15", "A10", "A15", "B3", "B4"], |