From 76bd5142cfed1fb8e07b9f32fb0b010fbc068fa4 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Sat, 30 Mar 2024 06:51:57 -0700
Subject: [PATCH 01/64] Data-Driven Keyboard Conversions: 0-9 (#23357)
---
keyboards/0xc7/61key/config.h | 39 ------
keyboards/0xc7/61key/keyboard.json | 6 +
keyboards/0xcb/1337/config.h | 4 -
keyboards/0xcb/1337/keyboard.json | 6 +
keyboards/0xcb/static/config.h | 5 -
keyboards/0xcb/static/keyboard.json | 4 +
keyboards/1upkeyboards/1up60hse/config.h | 39 ------
keyboards/1upkeyboards/1up60hse/keyboard.json | 6 +
keyboards/1upkeyboards/1up60hte/config.h | 25 ----
keyboards/1upkeyboards/1up60hte/keyboard.json | 6 +
keyboards/1upkeyboards/1up60rgb/config.h | 7 -
keyboards/1upkeyboards/1up60rgb/keyboard.json | 6 +
keyboards/1upkeyboards/pi60/config.h | 9 --
keyboards/1upkeyboards/pi60/keyboard.json | 6 +
keyboards/1upkeyboards/pi60_hse/config.h | 9 --
keyboards/1upkeyboards/pi60_hse/keyboard.json | 6 +
keyboards/1upkeyboards/pi60_rgb/config.h | 9 --
keyboards/1upkeyboards/pi60_rgb/keyboard.json | 6 +
keyboards/1upkeyboards/super16/config.h | 40 ------
keyboards/1upkeyboards/super16/keyboard.json | 6 +
keyboards/1upkeyboards/super16v2/config.h | 5 -
.../1upkeyboards/super16v2/keyboard.json | 6 +
keyboards/1upkeyboards/sweet16/config.h | 7 -
keyboards/1upkeyboards/sweet16/v1/info.json | 33 -----
.../1upkeyboards/sweet16/v1/keyboard.json | 99 ++++++++++++++
keyboards/1upkeyboards/sweet16/v1/rules.mk | 4 -
.../1upkeyboards/sweet16v2/kb2040/config.h | 22 ---
.../sweet16v2/kb2040/keyboard.json | 6 +
.../1upkeyboards/sweet16v2/pro_micro/config.h | 22 ---
.../sweet16v2/pro_micro/keyboard.json | 6 +
keyboards/25keys/aleth42/info.json | 10 --
keyboards/25keys/aleth42/rev0/config.h | 23 ----
.../aleth42/rev0/{info.json => keyboard.json} | 20 +++
keyboards/25keys/aleth42/rev0/rules.mk | 12 --
keyboards/25keys/aleth42/rev1/config.h | 23 ----
.../aleth42/rev1/{info.json => keyboard.json} | 21 +++
keyboards/25keys/aleth42/rev1/rules.mk | 12 --
.../cassette42/{info.json => keyboard.json} | 8 ++
keyboards/25keys/cassette42/rules.mk | 15 ---
keyboards/25keys/zinc/info.json | 15 ---
.../zinc/rev1/{info.json => keyboard.json} | 19 +++
keyboards/25keys/zinc/rev1/rules.mk | 1 -
.../zinc/reva/{info.json => keyboard.json} | 19 +++
keyboards/25keys/zinc/reva/rules.mk | 1 -
keyboards/25keys/zinc/rules.mk | 14 --
keyboards/2key2crawl/config.h | 7 -
keyboards/2key2crawl/keyboard.json | 6 +
keyboards/40percentclub/25/config.h | 5 -
.../25/{info.json => keyboard.json} | 14 ++
keyboards/40percentclub/25/rules.mk | 15 ---
keyboards/40percentclub/4pack/config.h | 39 ------
keyboards/40percentclub/4pack/keyboard.json | 6 +
keyboards/40percentclub/4x4/config.h | 24 ----
.../4x4/{info.json => keyboard.json} | 13 ++
keyboards/40percentclub/4x4/rules.mk | 12 --
keyboards/40percentclub/5x5/config.h | 24 ----
keyboards/40percentclub/5x5/keyboard.json | 6 +
keyboards/40percentclub/6lit/config.h | 5 -
.../6lit/{info.json => keyboard.json} | 14 ++
keyboards/40percentclub/6lit/rules.mk | 15 ---
keyboards/40percentclub/foobar/config.h | 5 -
.../foobar/{info.json => keyboard.json} | 14 ++
keyboards/40percentclub/foobar/rules.mk | 15 ---
keyboards/40percentclub/half_n_half/config.h | 39 ------
.../half_n_half/{info.json => keyboard.json} | 14 ++
keyboards/40percentclub/half_n_half/rules.mk | 15 ---
keyboards/40percentclub/i75/config.h | 38 ------
keyboards/40percentclub/i75/info.json | 125 +++++++++++++++---
.../40percentclub/i75/promicro/keyboard.json | 88 +-----------
.../40percentclub/i75/teensy2/keyboard.json | 88 +-----------
keyboards/40percentclub/luddite/config.h | 7 -
keyboards/40percentclub/luddite/keyboard.json | 6 +
keyboards/40percentclub/mf68/config.h | 39 ------
keyboards/40percentclub/mf68/keyboard.json | 6 +
keyboards/40percentclub/nein/config.h | 38 ------
keyboards/40percentclub/nein/keyboard.json | 6 +
keyboards/40percentclub/nori/config.h | 38 ------
.../nori/{info.json => keyboard.json} | 15 +++
keyboards/40percentclub/nori/rules.mk | 13 --
keyboards/40percentclub/polyandry/config.h | 40 ------
keyboards/40percentclub/polyandry/info.json | 27 ++++
.../polyandry/promicro/keyboard.json | 23 +---
.../polyandry/teensy2/keyboard.json | 23 +---
keyboards/40percentclub/tomato/config.h | 7 -
keyboards/40percentclub/tomato/keyboard.json | 9 ++
keyboards/40percentclub/ut47/config.h | 5 -
.../ut47/{info.json => keyboard.json} | 13 ++
keyboards/40percentclub/ut47/rules.mk | 13 --
keyboards/45_ats/config.h | 25 ----
keyboards/45_ats/keyboard.json | 6 +
.../rev_b/{info.json => keyboard.json} | 7 +
keyboards/4pplet/aekiso60/rev_b/rules.mk | 14 --
.../4pplet/eagle_viper_rep/rev_a/config.h | 5 -
.../rev_a/{info.json => keyboard.json} | 16 +++
.../4pplet/eagle_viper_rep/rev_a/rules.mk | 13 --
.../4pplet/eagle_viper_rep/rev_b/config.h | 5 -
.../rev_b/{info.json => keyboard.json} | 15 +++
.../4pplet/eagle_viper_rep/rev_b/rules.mk | 13 --
.../rev_a/{info.json => keyboard.json} | 3 +-
keyboards/4pplet/steezy60/rev_a/rules.mk | 4 -
.../rev_b/{info.json => keyboard.json} | 3 +-
keyboards/4pplet/steezy60/rev_b/rules.mk | 6 -
.../rev_a/{info.json => keyboard.json} | 3 +-
.../4pplet/unextended_std/rev_a/rules.mk | 6 -
.../rev_d/{info.json => keyboard.json} | 7 +
keyboards/4pplet/waffling60/rev_d/rules.mk | 14 --
.../rev_d_ansi/{info.json => keyboard.json} | 6 +
.../4pplet/waffling60/rev_d_ansi/rules.mk | 14 --
.../rev_d_iso/{info.json => keyboard.json} | 5 +
.../4pplet/waffling60/rev_d_iso/rules.mk | 14 --
.../rev_b/{info.json => keyboard.json} | 7 +
keyboards/4pplet/waffling80/rev_b/rules.mk | 14 --
keyboards/4pplet/yakiimo/rev_a/config.h | 22 ---
keyboards/4pplet/yakiimo/rev_a/keyboard.json | 6 +
keyboards/8pack/config.h | 7 -
keyboards/8pack/info.json | 6 +
116 files changed, 630 insertions(+), 1277 deletions(-)
delete mode 100644 keyboards/0xc7/61key/config.h
delete mode 100644 keyboards/1upkeyboards/1up60hse/config.h
delete mode 100644 keyboards/1upkeyboards/1up60hte/config.h
delete mode 100644 keyboards/1upkeyboards/1up60rgb/config.h
delete mode 100644 keyboards/1upkeyboards/pi60/config.h
delete mode 100644 keyboards/1upkeyboards/pi60_hse/config.h
delete mode 100644 keyboards/1upkeyboards/pi60_rgb/config.h
delete mode 100644 keyboards/1upkeyboards/super16/config.h
delete mode 100644 keyboards/1upkeyboards/sweet16/config.h
delete mode 100644 keyboards/1upkeyboards/sweet16/v1/info.json
create mode 100644 keyboards/1upkeyboards/sweet16/v1/keyboard.json
delete mode 100644 keyboards/1upkeyboards/sweet16/v1/rules.mk
delete mode 100644 keyboards/1upkeyboards/sweet16v2/kb2040/config.h
delete mode 100644 keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
delete mode 100644 keyboards/25keys/aleth42/info.json
delete mode 100644 keyboards/25keys/aleth42/rev0/config.h
rename keyboards/25keys/aleth42/rev0/{info.json => keyboard.json} (87%)
delete mode 100644 keyboards/25keys/aleth42/rev0/rules.mk
delete mode 100644 keyboards/25keys/aleth42/rev1/config.h
rename keyboards/25keys/aleth42/rev1/{info.json => keyboard.json} (87%)
delete mode 100644 keyboards/25keys/aleth42/rev1/rules.mk
rename keyboards/25keys/cassette42/{info.json => keyboard.json} (89%)
delete mode 100644 keyboards/25keys/zinc/info.json
rename keyboards/25keys/zinc/rev1/{info.json => keyboard.json} (86%)
delete mode 100644 keyboards/25keys/zinc/rev1/rules.mk
rename keyboards/25keys/zinc/reva/{info.json => keyboard.json} (86%)
delete mode 100644 keyboards/25keys/zinc/reva/rules.mk
delete mode 100644 keyboards/2key2crawl/config.h
rename keyboards/40percentclub/25/{info.json => keyboard.json} (94%)
delete mode 100644 keyboards/40percentclub/25/rules.mk
delete mode 100644 keyboards/40percentclub/4pack/config.h
delete mode 100644 keyboards/40percentclub/4x4/config.h
rename keyboards/40percentclub/4x4/{info.json => keyboard.json} (97%)
delete mode 100644 keyboards/40percentclub/5x5/config.h
rename keyboards/40percentclub/6lit/{info.json => keyboard.json} (86%)
delete mode 100644 keyboards/40percentclub/6lit/rules.mk
rename keyboards/40percentclub/foobar/{info.json => keyboard.json} (91%)
delete mode 100644 keyboards/40percentclub/foobar/rules.mk
delete mode 100644 keyboards/40percentclub/half_n_half/config.h
rename keyboards/40percentclub/half_n_half/{info.json => keyboard.json} (91%)
delete mode 100644 keyboards/40percentclub/half_n_half/rules.mk
delete mode 100644 keyboards/40percentclub/i75/config.h
delete mode 100644 keyboards/40percentclub/luddite/config.h
delete mode 100644 keyboards/40percentclub/mf68/config.h
delete mode 100644 keyboards/40percentclub/nein/config.h
delete mode 100644 keyboards/40percentclub/nori/config.h
rename keyboards/40percentclub/nori/{info.json => keyboard.json} (95%)
delete mode 100644 keyboards/40percentclub/polyandry/config.h
delete mode 100644 keyboards/40percentclub/tomato/config.h
rename keyboards/40percentclub/ut47/{info.json => keyboard.json} (92%)
delete mode 100644 keyboards/45_ats/config.h
rename keyboards/4pplet/aekiso60/rev_b/{info.json => keyboard.json} (86%)
rename keyboards/4pplet/eagle_viper_rep/rev_a/{info.json => keyboard.json} (99%)
rename keyboards/4pplet/eagle_viper_rep/rev_b/{info.json => keyboard.json} (99%)
rename keyboards/4pplet/steezy60/rev_a/{info.json => keyboard.json} (99%)
delete mode 100644 keyboards/4pplet/steezy60/rev_a/rules.mk
rename keyboards/4pplet/steezy60/rev_b/{info.json => keyboard.json} (99%)
rename keyboards/4pplet/unextended_std/rev_a/{info.json => keyboard.json} (99%)
rename keyboards/4pplet/waffling60/rev_d/{info.json => keyboard.json} (96%)
rename keyboards/4pplet/waffling60/rev_d_ansi/{info.json => keyboard.json} (97%)
rename keyboards/4pplet/waffling60/rev_d_iso/{info.json => keyboard.json} (99%)
rename keyboards/4pplet/waffling80/rev_b/{info.json => keyboard.json} (78%)
delete mode 100644 keyboards/8pack/config.h
diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h
deleted file mode 100644
index 244a5f192df..00000000000
--- a/keyboards/0xc7/61key/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 0xC7
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/0xc7/61key/keyboard.json b/keyboards/0xc7/61key/keyboard.json
index 6585b970c1e..ab5127db38a 100644
--- a/keyboards/0xc7/61key/keyboard.json
+++ b/keyboards/0xc7/61key/keyboard.json
@@ -20,6 +20,12 @@
"mousekey": false,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["B0", "B1", "B2", "B3", "B7"]
diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h
index 5791b324b65..5fec622271c 100644
--- a/keyboards/0xcb/1337/config.h
+++ b/keyboards/0xcb/1337/config.h
@@ -19,10 +19,6 @@ along with this program. If not, see .
/* default setup after eeprom reset */
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
/* Oled Size */
#define OLED_DISPLAY_128X64
#define OLED_FONT_END 255
diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json
index 5b583dc291b..f264d4ed065 100644
--- a/keyboards/0xcb/1337/keyboard.json
+++ b/keyboards/0xcb/1337/keyboard.json
@@ -19,6 +19,10 @@
]
},
"qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ },
"tap_keycode_delay": 10
},
"qmk_lufa_bootloader": {
@@ -80,9 +84,11 @@
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
+
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
+
{"x": 0, "y": 2, "matrix": [2, 0]},
{"x": 1, "y": 2, "matrix": [2, 1]},
{"x": 2, "y": 2, "matrix": [2, 2]}
diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h
index 179c84088bb..60d9ff232a9 100644
--- a/keyboards/0xcb/static/config.h
+++ b/keyboards/0xcb/static/config.h
@@ -16,11 +16,6 @@ along with this program. If not, see .
*/
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* oled custom font */
#define OLED_FONT_END 255
#define OLED_FONT_H "gfxfont.c"
diff --git a/keyboards/0xcb/static/keyboard.json b/keyboards/0xcb/static/keyboard.json
index cd3d4928707..73a6a802cc5 100644
--- a/keyboards/0xcb/static/keyboard.json
+++ b/keyboards/0xcb/static/keyboard.json
@@ -32,6 +32,10 @@
]
},
"qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ },
"tap_keycode_delay": 10
},
"processor": "atmega328p",
diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
deleted file mode 100644
index d876570c808..00000000000
--- a/keyboards/1upkeyboards/1up60hse/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2018 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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/1upkeyboards/1up60hse/keyboard.json b/keyboards/1upkeyboards/1up60hse/keyboard.json
index ac8d5247121..990b51c1f84 100644
--- a/keyboards/1upkeyboards/1up60hse/keyboard.json
+++ b/keyboards/1upkeyboards/1up60hse/keyboard.json
@@ -31,6 +31,12 @@
"levels": 5,
"breathing": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h
deleted file mode 100644
index eddf290b4c3..00000000000
--- a/keyboards/1upkeyboards/1up60hte/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2019 Bubnick
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json
index 25f519bea79..53e91017ddc 100644
--- a/keyboards/1upkeyboards/1up60hte/keyboard.json
+++ b/keyboards/1upkeyboards/1up60hte/keyboard.json
@@ -26,6 +26,12 @@
"rows": ["B3", "B2", "B1", "B0", "D4"]
},
"diode_direction": "COL2ROW",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"backlight": {
"pin": "B7"
},
diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
deleted file mode 100644
index 5f360813239..00000000000
--- a/keyboards/1upkeyboards/1up60rgb/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/1up60rgb/keyboard.json b/keyboards/1upkeyboards/1up60rgb/keyboard.json
index 2985b5ae4f7..f4ba1112511 100644
--- a/keyboards/1upkeyboards/1up60rgb/keyboard.json
+++ b/keyboards/1upkeyboards/1up60rgb/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"],
"rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/1upkeyboards/pi60/config.h b/keyboards/1upkeyboards/pi60/config.h
deleted file mode 100644
index a697e565c9b..00000000000
--- a/keyboards/1upkeyboards/pi60/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json
index 71619db3605..45c3876a6b6 100644
--- a/keyboards/1upkeyboards/pi60/keyboard.json
+++ b/keyboards/1upkeyboards/pi60/keyboard.json
@@ -24,6 +24,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "GP17",
"driver": "vendor"
diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h
deleted file mode 100644
index 2c04274299f..00000000000
--- a/keyboards/1upkeyboards/pi60_hse/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/pi60_hse/keyboard.json b/keyboards/1upkeyboards/pi60_hse/keyboard.json
index 204e42f48c7..d5a5f861873 100644
--- a/keyboards/1upkeyboards/pi60_hse/keyboard.json
+++ b/keyboards/1upkeyboards/pi60_hse/keyboard.json
@@ -23,6 +23,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "GP15",
"driver": "vendor"
diff --git a/keyboards/1upkeyboards/pi60_rgb/config.h b/keyboards/1upkeyboards/pi60_rgb/config.h
deleted file mode 100644
index 2c04274299f..00000000000
--- a/keyboards/1upkeyboards/pi60_rgb/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2022 ziptyze (@ziptyze)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/pi60_rgb/keyboard.json b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
index b6580e616a4..21dab3f71ae 100644
--- a/keyboards/1upkeyboards/pi60_rgb/keyboard.json
+++ b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
@@ -23,6 +23,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "GP19",
"driver": "vendor"
diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
deleted file mode 100644
index 043d8b154b1..00000000000
--- a/keyboards/1upkeyboards/super16/config.h
+++ /dev/null
@@ -1,40 +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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/1upkeyboards/super16/keyboard.json b/keyboards/1upkeyboards/super16/keyboard.json
index 4bc18e98f73..9da4168d471 100644
--- a/keyboards/1upkeyboards/super16/keyboard.json
+++ b/keyboards/1upkeyboards/super16/keyboard.json
@@ -86,6 +86,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D4", "C6", "F6", "F7"],
"rows": ["D1", "D0", "F4", "F5"]
diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h
index 67af6d7cab8..6abfa8f431a 100644
--- a/keyboards/1upkeyboards/super16v2/config.h
+++ b/keyboards/1upkeyboards/super16v2/config.h
@@ -18,11 +18,6 @@
#define MOUSEKEY_MOVE_DELTA 25
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/1upkeyboards/super16v2/keyboard.json b/keyboards/1upkeyboards/super16v2/keyboard.json
index 3bc7bf0e07f..652b03006e1 100644
--- a/keyboards/1upkeyboards/super16v2/keyboard.json
+++ b/keyboards/1upkeyboards/super16v2/keyboard.json
@@ -59,6 +59,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D5", "D6", "C2", "D0"],
"rows": ["D1", "D2", "D3", "D4"]
diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h
deleted file mode 100644
index 5f360813239..00000000000
--- a/keyboards/1upkeyboards/sweet16/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/sweet16/v1/info.json b/keyboards/1upkeyboards/sweet16/v1/info.json
deleted file mode 100644
index bbecccae020..00000000000
--- a/keyboards/1upkeyboards/sweet16/v1/info.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "usb": {
- "pid": "0x0161",
- "device_version": "0.0.1"
- },
- "rgblight": {
- "saturation_steps": 8,
- "brightness_steps": 8,
- "led_count": 1,
- "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": "B1"
- },
- "matrix_pins": {
- "cols": ["D1", "D0", "D4", "C6"],
- "rows": ["F4", "F5", "F6", "F7"]
- },
- "diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina"
-}
diff --git a/keyboards/1upkeyboards/sweet16/v1/keyboard.json b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
new file mode 100644
index 00000000000..3ac73ce8eb0
--- /dev/null
+++ b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
@@ -0,0 +1,99 @@
+{
+ "keyboard_name": "Sweet16",
+ "manufacturer": "1up Keyboards",
+ "url": "",
+ "maintainer": "skullydazed",
+ "usb": {
+ "vid": "0x6F75",
+ "pid": "0x0161",
+ "device_version": "0.0.1"
+ },
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "build": {
+ "lto": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "saturation_steps": 8,
+ "brightness_steps": 8,
+ "led_count": 1,
+ "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": "B1"
+ },
+ "matrix_pins": {
+ "cols": ["D1", "D0", "D4", "C6"],
+ "rows": ["F4", "F5", "F6", "F7"]
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "atmega32u4",
+ "bootloader": "caterina",
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "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": [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": [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": [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}
+ ]
+ },
+ "LAYOUT_numpad_4x4": {
+ "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, "h": 2},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "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, "h": 2},
+
+ {"matrix": [3, 1], "x": 0, "y": 3, "w": 2},
+ {"matrix": [3, 2], "x": 2, "y": 3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/1upkeyboards/sweet16/v1/rules.mk b/keyboards/1upkeyboards/sweet16/v1/rules.mk
deleted file mode 100644
index 0912a1b4a60..00000000000
--- a/keyboards/1upkeyboards/sweet16/v1/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-RGBLIGHT_ENABLE = yes
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
deleted file mode 100644
index 39e43b90cd3..00000000000
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
index 0d09632a995..d8d6c5e3eae 100644
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
@@ -21,6 +21,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "GP6",
"driver": "vendor"
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
deleted file mode 100644
index 39e43b90cd3..00000000000
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
index d23bc6633d2..d46f723a17e 100644
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
@@ -20,6 +20,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "D7"
},
diff --git a/keyboards/25keys/aleth42/info.json b/keyboards/25keys/aleth42/info.json
deleted file mode 100644
index 2000c037f58..00000000000
--- a/keyboards/25keys/aleth42/info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "keyboard_name": "ALETH42",
- "manufacturer": "25KEYS",
- "url": "http://www.sho-k.co.uk/tech/aleth42",
- "maintainer": "monksoffunk",
- "usb": {
- "vid": "0x04D8",
- "pid": "0xEAC8"
- }
-}
diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h
deleted file mode 100644
index 0d7a5de5605..00000000000
--- a/keyboards/25keys/aleth42/rev0/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2020 monksoffunk
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/keyboard.json
similarity index 87%
rename from keyboards/25keys/aleth42/rev0/info.json
rename to keyboards/25keys/aleth42/rev0/keyboard.json
index 675c741bf52..bbb566d9096 100644
--- a/keyboards/25keys/aleth42/rev0/info.json
+++ b/keyboards/25keys/aleth42/rev0/keyboard.json
@@ -1,7 +1,27 @@
{
+ "keyboard_name": "ALETH42",
+ "manufacturer": "25KEYS",
+ "url": "http://www.sho-k.co.uk/tech/aleth42",
+ "maintainer": "monksoffunk",
"usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAC8",
"device_version": "0.0.0"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": true,
+ "console": true,
+ "rgblight": true,
+ "encoder": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "C2", "C4", "C5", "C6"],
"rows": ["B0", "B1", "B2", "B3"]
diff --git a/keyboards/25keys/aleth42/rev0/rules.mk b/keyboards/25keys/aleth42/rev0/rules.mk
deleted file mode 100644
index e0954e7355b..00000000000
--- a/keyboards/25keys/aleth42/rev0/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-ENCODER_ENABLE = yes
diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h
deleted file mode 100644
index 0d7a5de5605..00000000000
--- a/keyboards/25keys/aleth42/rev1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2020 monksoffunk
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/keyboard.json
similarity index 87%
rename from keyboards/25keys/aleth42/rev1/info.json
rename to keyboards/25keys/aleth42/rev1/keyboard.json
index fd4b07fe3ee..0feab708a01 100644
--- a/keyboards/25keys/aleth42/rev1/info.json
+++ b/keyboards/25keys/aleth42/rev1/keyboard.json
@@ -1,7 +1,28 @@
{
+ "keyboard_name": "ALETH42",
+ "manufacturer": "25KEYS",
+ "url": "http://www.sho-k.co.uk/tech/aleth42",
+ "maintainer": "monksoffunk",
"usb": {
+ "vid": "0x04D8",
+ "pid": "0xEAC8",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": true,
+ "console": true,
+ "backlight": true,
+ "rgblight": true,
+ "encoder": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D5", "D3", "D2", "D1", "D0", "D6", "D4", "F7", "F0", "F1", "F4"],
"rows": ["B4", "B0", "B2", "B1"]
diff --git a/keyboards/25keys/aleth42/rev1/rules.mk b/keyboards/25keys/aleth42/rev1/rules.mk
deleted file mode 100644
index 683b2498022..00000000000
--- a/keyboards/25keys/aleth42/rev1/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-ENCODER_ENABLE = yes
diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/keyboard.json
similarity index 89%
rename from keyboards/25keys/cassette42/info.json
rename to keyboards/25keys/cassette42/keyboard.json
index 38a73368f63..cba2e612721 100644
--- a/keyboards/25keys/cassette42/info.json
+++ b/keyboards/25keys/cassette42/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0xCA42",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": true,
+ "rgblight": true,
+ "encoder": true,
+ "oled": true
+ },
"encoder": {
"rotary": [
{"pin_a": "B6", "pin_b": "B2"},
diff --git a/keyboards/25keys/cassette42/rules.mk b/keyboards/25keys/cassette42/rules.mk
index f8febbdec8d..788ba43e591 100644
--- a/keyboards/25keys/cassette42/rules.mk
+++ b/keyboards/25keys/cassette42/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-OLED_ENABLE = yes
-
SRC += ./common/oled_helper.c
diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json
deleted file mode 100644
index 23502423168..00000000000
--- a/keyboards/25keys/zinc/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "manufacturer": "25KEYS",
- "url": "https://github.com/monksoffunk/zinc",
- "maintainer": "monksoffunk",
- "usb": {
- "vid": "0x04D8",
- "pid": "0xEA3B",
- "device_version": "0.0.1"
- },
- "rgb_matrix": {
- "driver": "ws2812"
- },
- "processor": "atmega32u4",
- "bootloader": "caterina"
-}
diff --git a/keyboards/25keys/zinc/rev1/info.json b/keyboards/25keys/zinc/rev1/keyboard.json
similarity index 86%
rename from keyboards/25keys/zinc/rev1/info.json
rename to keyboards/25keys/zinc/rev1/keyboard.json
index 47fb1f2e98e..c1bead2d8ab 100644
--- a/keyboards/25keys/zinc/rev1/info.json
+++ b/keyboards/25keys/zinc/rev1/keyboard.json
@@ -1,16 +1,35 @@
{
"keyboard_name": "Zinc rev.1",
+ "manufacturer": "25KEYS",
+ "url": "https://github.com/monksoffunk/zinc",
+ "maintainer": "monksoffunk",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA3B",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "caterina",
"matrix_pins": {
"cols": ["F4", "D4", "C6", "D7", "E6", "B4"],
"rows": ["F6", "F7", "B1", "B3"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": false
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"tapping": {
"term": 100
},
+ "rgb_matrix": {
+ "driver": "ws2812"
+ },
"rgblight": {
"hue_steps": 10
},
diff --git a/keyboards/25keys/zinc/rev1/rules.mk b/keyboards/25keys/zinc/rev1/rules.mk
deleted file mode 100644
index d38a6180907..00000000000
--- a/keyboards/25keys/zinc/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/25keys/zinc/reva/info.json b/keyboards/25keys/zinc/reva/keyboard.json
similarity index 86%
rename from keyboards/25keys/zinc/reva/info.json
rename to keyboards/25keys/zinc/reva/keyboard.json
index 1ab2fb7e38f..01d2291c491 100644
--- a/keyboards/25keys/zinc/reva/info.json
+++ b/keyboards/25keys/zinc/reva/keyboard.json
@@ -1,16 +1,35 @@
{
"keyboard_name": "Zinc rev.A",
+ "manufacturer": "25KEYS",
+ "url": "https://github.com/monksoffunk/zinc",
+ "maintainer": "monksoffunk",
+ "usb": {
+ "vid": "0x04D8",
+ "pid": "0xEA3B",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "caterina",
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
"rows": ["D4", "C6", "D7", "E6"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": false
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"tapping": {
"term": 100
},
+ "rgb_matrix": {
+ "driver": "ws2812"
+ },
"rgblight": {
"hue_steps": 10
},
diff --git a/keyboards/25keys/zinc/reva/rules.mk b/keyboards/25keys/zinc/reva/rules.mk
deleted file mode 100644
index 83895bdcb87..00000000000
--- a/keyboards/25keys/zinc/reva/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SPLIT_KEYBOARD = yes
\ No newline at end of file
diff --git a/keyboards/25keys/zinc/rules.mk b/keyboards/25keys/zinc/rules.mk
index 1e1d687ebbe..a8c773a3054 100644
--- a/keyboards/25keys/zinc/rules.mk
+++ b/keyboards/25keys/zinc/rules.mk
@@ -1,17 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-RGB_MATRIX_ENABLE = no
-
DEFAULT_FOLDER = 25keys/zinc/rev1
#SRC += i2c.c
diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h
deleted file mode 100644
index 5f360813239..00000000000
--- a/keyboards/2key2crawl/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/2key2crawl/keyboard.json b/keyboards/2key2crawl/keyboard.json
index 4dfecbd696f..fec55c811a6 100644
--- a/keyboards/2key2crawl/keyboard.json
+++ b/keyboards/2key2crawl/keyboard.json
@@ -17,6 +17,12 @@
"mousekey": false,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B3", "B4", "B5", "B6", "B7", "C7", "B2"],
"rows": ["C4", "C5"]
diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
index 20ecf947080..1710ba42ee9 100644
--- a/keyboards/40percentclub/25/config.h
+++ b/keyboards/40percentclub/25/config.h
@@ -21,11 +21,6 @@
//#define MASTER_RIGHT
//#define EE_HANDS
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/40percentclub/25/info.json b/keyboards/40percentclub/25/keyboard.json
similarity index 94%
rename from keyboards/40percentclub/25/info.json
rename to keyboards/40percentclub/25/keyboard.json
index b5ab2c0cbdb..aede80ef172 100644
--- a/keyboards/40percentclub/25/info.json
+++ b/keyboards/40percentclub/25/keyboard.json
@@ -13,7 +13,21 @@
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/40percentclub/25/rules.mk b/keyboards/40percentclub/25/rules.mk
deleted file mode 100644
index 25d4c400516..00000000000
--- a/keyboards/40percentclub/25/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# Enable generic behavior for split boards
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h
deleted file mode 100644
index b0cf6b6f6ae..00000000000
--- a/keyboards/40percentclub/4pack/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Arda Kilicdagi
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/4pack/keyboard.json b/keyboards/40percentclub/4pack/keyboard.json
index edfd64ad33e..a114e97dbbd 100644
--- a/keyboards/40percentclub/4pack/keyboard.json
+++ b/keyboards/40percentclub/4pack/keyboard.json
@@ -23,6 +23,12 @@
"mousekey": false,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"direct": [
["E6", "D7", "C6", "D4"]
diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h
deleted file mode 100644
index 7caa265c1a1..00000000000
--- a/keyboards/40percentclub/4x4/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/4x4/info.json b/keyboards/40percentclub/4x4/keyboard.json
similarity index 97%
rename from keyboards/40percentclub/4x4/info.json
rename to keyboards/40percentclub/4x4/keyboard.json
index aa5e0396375..735a3865da3 100644
--- a/keyboards/40percentclub/4x4/info.json
+++ b/keyboards/40percentclub/4x4/keyboard.json
@@ -15,6 +15,19 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "caterina",
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"community_layouts": ["ortho_4x4", "ortho_4x12"],
"layouts": {
"LAYOUT_ortho_4x4": {
diff --git a/keyboards/40percentclub/4x4/rules.mk b/keyboards/40percentclub/4x4/rules.mk
index dfb1a682dcb..16051206467 100644
--- a/keyboards/40percentclub/4x4/rules.mk
+++ b/keyboards/40percentclub/4x4/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h
deleted file mode 100644
index 7caa265c1a1..00000000000
--- a/keyboards/40percentclub/5x5/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/5x5/keyboard.json b/keyboards/40percentclub/5x5/keyboard.json
index 0a50d29ffe7..039d9fe47b1 100644
--- a/keyboards/40percentclub/5x5/keyboard.json
+++ b/keyboards/40percentclub/5x5/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D7", "E6", "B4", "B5", "B6", "B7", "D6", "F7", "F6", "F5", "F4", "F1", "F0", "B3", "B1"],
"rows": ["B2", "D1", "D0", "D4", "C6"]
diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h
index 20ecf947080..1710ba42ee9 100644
--- a/keyboards/40percentclub/6lit/config.h
+++ b/keyboards/40percentclub/6lit/config.h
@@ -21,11 +21,6 @@
//#define MASTER_RIGHT
//#define EE_HANDS
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/40percentclub/6lit/info.json b/keyboards/40percentclub/6lit/keyboard.json
similarity index 86%
rename from keyboards/40percentclub/6lit/info.json
rename to keyboards/40percentclub/6lit/keyboard.json
index 00e91edb42f..06ffc890d2b 100644
--- a/keyboards/40percentclub/6lit/info.json
+++ b/keyboards/40percentclub/6lit/keyboard.json
@@ -13,7 +13,21 @@
"rows": ["D7", "E6"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/40percentclub/6lit/rules.mk b/keyboards/40percentclub/6lit/rules.mk
deleted file mode 100644
index 25d4c400516..00000000000
--- a/keyboards/40percentclub/6lit/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# Enable generic behavior for split boards
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h
index 20ecf947080..1710ba42ee9 100644
--- a/keyboards/40percentclub/foobar/config.h
+++ b/keyboards/40percentclub/foobar/config.h
@@ -21,11 +21,6 @@
//#define MASTER_RIGHT
//#define EE_HANDS
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/40percentclub/foobar/info.json b/keyboards/40percentclub/foobar/keyboard.json
similarity index 91%
rename from keyboards/40percentclub/foobar/info.json
rename to keyboards/40percentclub/foobar/keyboard.json
index 89fc4d11a01..0a2769e04a6 100644
--- a/keyboards/40percentclub/foobar/info.json
+++ b/keyboards/40percentclub/foobar/keyboard.json
@@ -13,7 +13,21 @@
"rows": ["D7", "E6", "B4"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/40percentclub/foobar/rules.mk b/keyboards/40percentclub/foobar/rules.mk
deleted file mode 100644
index 25d4c400516..00000000000
--- a/keyboards/40percentclub/foobar/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# Enable generic behavior for split boards
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h
deleted file mode 100644
index 8b4ccf14793..00000000000
--- a/keyboards/40percentclub/half_n_half/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Boy_314
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/half_n_half/info.json b/keyboards/40percentclub/half_n_half/keyboard.json
similarity index 91%
rename from keyboards/40percentclub/half_n_half/info.json
rename to keyboards/40percentclub/half_n_half/keyboard.json
index 8174e639c23..3e0c646a500 100644
--- a/keyboards/40percentclub/half_n_half/info.json
+++ b/keyboards/40percentclub/half_n_half/keyboard.json
@@ -13,7 +13,21 @@
"rows": ["D4", "C6", "D7", "E6"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"split": {
+ "enabled": true,
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/40percentclub/half_n_half/rules.mk b/keyboards/40percentclub/half_n_half/rules.mk
deleted file mode 100644
index 8ee80d039b8..00000000000
--- a/keyboards/40percentclub/half_n_half/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-# Enable generic behavior for split boards
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h
deleted file mode 100644
index 0fe9b9df213..00000000000
--- a/keyboards/40percentclub/i75/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/i75/info.json b/keyboards/40percentclub/i75/info.json
index f91b054f296..a7124adec22 100644
--- a/keyboards/40percentclub/i75/info.json
+++ b/keyboards/40percentclub/i75/info.json
@@ -1,19 +1,110 @@
{
- "keyboard_name": "i75",
- "manufacturer": "di0ib",
- "url": "",
- "maintainer": "qmk",
- "features": {
- "bootmagic": true,
- "command": true,
- "console": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": false
- },
- "usb": {
- "vid": "0x4025",
- "pid": "0x0A0C",
- "device_version": "1.7.5"
- }
+ "keyboard_name": "i75",
+ "manufacturer": "di0ib",
+ "url": "",
+ "maintainer": "qmk",
+ "usb": {
+ "vid": "0x4025",
+ "pid": "0x0A0C",
+ "device_version": "1.7.5"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "community_layouts": ["ortho_5x15"],
+ "layouts": {
+ "LAYOUT_ortho_5x15": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [1, 0], "x": 9, "y": 0},
+ {"matrix": [1, 1], "x": 10, "y": 0},
+ {"matrix": [1, 2], "x": 11, "y": 0},
+ {"matrix": [1, 3], "x": 12, "y": 0},
+ {"matrix": [1, 4], "x": 13, "y": 0},
+ {"matrix": [1, 5], "x": 14, "y": 0},
+
+ {"matrix": [1, 6], "x": 0, "y": 1},
+ {"matrix": [1, 7], "x": 1, "y": 1},
+ {"matrix": [1, 8], "x": 2, "y": 1},
+ {"matrix": [2, 0], "x": 3, "y": 1},
+ {"matrix": [2, 1], "x": 4, "y": 1},
+ {"matrix": [2, 2], "x": 5, "y": 1},
+ {"matrix": [2, 3], "x": 6, "y": 1},
+ {"matrix": [2, 4], "x": 7, "y": 1},
+ {"matrix": [2, 5], "x": 8, "y": 1},
+ {"matrix": [2, 6], "x": 9, "y": 1},
+ {"matrix": [2, 7], "x": 10, "y": 1},
+ {"matrix": [2, 8], "x": 11, "y": 1},
+ {"matrix": [3, 0], "x": 12, "y": 1},
+ {"matrix": [3, 1], "x": 13, "y": 1},
+ {"matrix": [3, 2], "x": 14, "y": 1},
+
+ {"matrix": [3, 3], "x": 0, "y": 2},
+ {"matrix": [3, 4], "x": 1, "y": 2},
+ {"matrix": [3, 5], "x": 2, "y": 2},
+ {"matrix": [3, 6], "x": 3, "y": 2},
+ {"matrix": [3, 7], "x": 4, "y": 2},
+ {"matrix": [3, 8], "x": 5, "y": 2},
+ {"matrix": [4, 0], "x": 6, "y": 2},
+ {"matrix": [4, 1], "x": 7, "y": 2},
+ {"matrix": [4, 2], "x": 8, "y": 2},
+ {"matrix": [4, 3], "x": 9, "y": 2},
+ {"matrix": [4, 4], "x": 10, "y": 2},
+ {"matrix": [4, 5], "x": 11, "y": 2},
+ {"matrix": [4, 6], "x": 12, "y": 2},
+ {"matrix": [4, 7], "x": 13, "y": 2},
+ {"matrix": [4, 8], "x": 14, "y": 2},
+
+ {"matrix": [5, 0], "x": 0, "y": 3},
+ {"matrix": [5, 1], "x": 1, "y": 3},
+ {"matrix": [5, 2], "x": 2, "y": 3},
+ {"matrix": [5, 3], "x": 3, "y": 3},
+ {"matrix": [5, 4], "x": 4, "y": 3},
+ {"matrix": [5, 5], "x": 5, "y": 3},
+ {"matrix": [5, 6], "x": 6, "y": 3},
+ {"matrix": [5, 7], "x": 7, "y": 3},
+ {"matrix": [5, 8], "x": 8, "y": 3},
+ {"matrix": [6, 0], "x": 9, "y": 3},
+ {"matrix": [6, 1], "x": 10, "y": 3},
+ {"matrix": [6, 2], "x": 11, "y": 3},
+ {"matrix": [6, 3], "x": 12, "y": 3},
+ {"matrix": [6, 4], "x": 13, "y": 3},
+ {"matrix": [6, 5], "x": 14, "y": 3},
+
+ {"matrix": [6, 6], "x": 0, "y": 4},
+ {"matrix": [6, 7], "x": 1, "y": 4},
+ {"matrix": [6, 8], "x": 2, "y": 4},
+ {"matrix": [7, 0], "x": 3, "y": 4},
+ {"matrix": [7, 1], "x": 4, "y": 4},
+ {"matrix": [7, 2], "x": 5, "y": 4},
+ {"matrix": [7, 3], "x": 6, "y": 4},
+ {"matrix": [7, 4], "x": 7, "y": 4},
+ {"matrix": [7, 5], "x": 8, "y": 4},
+ {"matrix": [7, 6], "x": 9, "y": 4},
+ {"matrix": [7, 7], "x": 10, "y": 4},
+ {"matrix": [7, 8], "x": 11, "y": 4},
+ {"matrix": [8, 0], "x": 12, "y": 4},
+ {"matrix": [8, 1], "x": 13, "y": 4},
+ {"matrix": [8, 2], "x": 14, "y": 4}
+ ]
+ }
+ }
}
diff --git a/keyboards/40percentclub/i75/promicro/keyboard.json b/keyboards/40percentclub/i75/promicro/keyboard.json
index 4c3f44469c6..933c4f8616d 100644
--- a/keyboards/40percentclub/i75/promicro/keyboard.json
+++ b/keyboards/40percentclub/i75/promicro/keyboard.json
@@ -5,91 +5,5 @@
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
- "bootloader": "caterina",
- "community_layouts": ["ortho_5x15"],
- "layouts": {
- "LAYOUT_ortho_5x15": {
- "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": [0, 6], "x": 6, "y": 0},
- {"matrix": [0, 7], "x": 7, "y": 0},
- {"matrix": [0, 8], "x": 8, "y": 0},
- {"matrix": [1, 0], "x": 9, "y": 0},
- {"matrix": [1, 1], "x": 10, "y": 0},
- {"matrix": [1, 2], "x": 11, "y": 0},
- {"matrix": [1, 3], "x": 12, "y": 0},
- {"matrix": [1, 4], "x": 13, "y": 0},
- {"matrix": [1, 5], "x": 14, "y": 0},
-
- {"matrix": [1, 6], "x": 0, "y": 1},
- {"matrix": [1, 7], "x": 1, "y": 1},
- {"matrix": [1, 8], "x": 2, "y": 1},
- {"matrix": [2, 0], "x": 3, "y": 1},
- {"matrix": [2, 1], "x": 4, "y": 1},
- {"matrix": [2, 2], "x": 5, "y": 1},
- {"matrix": [2, 3], "x": 6, "y": 1},
- {"matrix": [2, 4], "x": 7, "y": 1},
- {"matrix": [2, 5], "x": 8, "y": 1},
- {"matrix": [2, 6], "x": 9, "y": 1},
- {"matrix": [2, 7], "x": 10, "y": 1},
- {"matrix": [2, 8], "x": 11, "y": 1},
- {"matrix": [3, 0], "x": 12, "y": 1},
- {"matrix": [3, 1], "x": 13, "y": 1},
- {"matrix": [3, 2], "x": 14, "y": 1},
-
- {"matrix": [3, 3], "x": 0, "y": 2},
- {"matrix": [3, 4], "x": 1, "y": 2},
- {"matrix": [3, 5], "x": 2, "y": 2},
- {"matrix": [3, 6], "x": 3, "y": 2},
- {"matrix": [3, 7], "x": 4, "y": 2},
- {"matrix": [3, 8], "x": 5, "y": 2},
- {"matrix": [4, 0], "x": 6, "y": 2},
- {"matrix": [4, 1], "x": 7, "y": 2},
- {"matrix": [4, 2], "x": 8, "y": 2},
- {"matrix": [4, 3], "x": 9, "y": 2},
- {"matrix": [4, 4], "x": 10, "y": 2},
- {"matrix": [4, 5], "x": 11, "y": 2},
- {"matrix": [4, 6], "x": 12, "y": 2},
- {"matrix": [4, 7], "x": 13, "y": 2},
- {"matrix": [4, 8], "x": 14, "y": 2},
-
- {"matrix": [5, 0], "x": 0, "y": 3},
- {"matrix": [5, 1], "x": 1, "y": 3},
- {"matrix": [5, 2], "x": 2, "y": 3},
- {"matrix": [5, 3], "x": 3, "y": 3},
- {"matrix": [5, 4], "x": 4, "y": 3},
- {"matrix": [5, 5], "x": 5, "y": 3},
- {"matrix": [5, 6], "x": 6, "y": 3},
- {"matrix": [5, 7], "x": 7, "y": 3},
- {"matrix": [5, 8], "x": 8, "y": 3},
- {"matrix": [6, 0], "x": 9, "y": 3},
- {"matrix": [6, 1], "x": 10, "y": 3},
- {"matrix": [6, 2], "x": 11, "y": 3},
- {"matrix": [6, 3], "x": 12, "y": 3},
- {"matrix": [6, 4], "x": 13, "y": 3},
- {"matrix": [6, 5], "x": 14, "y": 3},
-
- {"matrix": [6, 6], "x": 0, "y": 4},
- {"matrix": [6, 7], "x": 1, "y": 4},
- {"matrix": [6, 8], "x": 2, "y": 4},
- {"matrix": [7, 0], "x": 3, "y": 4},
- {"matrix": [7, 1], "x": 4, "y": 4},
- {"matrix": [7, 2], "x": 5, "y": 4},
- {"matrix": [7, 3], "x": 6, "y": 4},
- {"matrix": [7, 4], "x": 7, "y": 4},
- {"matrix": [7, 5], "x": 8, "y": 4},
- {"matrix": [7, 6], "x": 9, "y": 4},
- {"matrix": [7, 7], "x": 10, "y": 4},
- {"matrix": [7, 8], "x": 11, "y": 4},
- {"matrix": [8, 0], "x": 12, "y": 4},
- {"matrix": [8, 1], "x": 13, "y": 4},
- {"matrix": [8, 2], "x": 14, "y": 4}
- ]
- }
- }
+ "bootloader": "caterina"
}
diff --git a/keyboards/40percentclub/i75/teensy2/keyboard.json b/keyboards/40percentclub/i75/teensy2/keyboard.json
index cc441a10961..2296a578289 100644
--- a/keyboards/40percentclub/i75/teensy2/keyboard.json
+++ b/keyboards/40percentclub/i75/teensy2/keyboard.json
@@ -5,91 +5,5 @@
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
- "bootloader": "halfkay",
- "community_layouts": ["ortho_5x15"],
- "layouts": {
- "LAYOUT_ortho_5x15": {
- "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": [0, 6], "x": 6, "y": 0},
- {"matrix": [0, 7], "x": 7, "y": 0},
- {"matrix": [0, 8], "x": 8, "y": 0},
- {"matrix": [1, 0], "x": 9, "y": 0},
- {"matrix": [1, 1], "x": 10, "y": 0},
- {"matrix": [1, 2], "x": 11, "y": 0},
- {"matrix": [1, 3], "x": 12, "y": 0},
- {"matrix": [1, 4], "x": 13, "y": 0},
- {"matrix": [1, 5], "x": 14, "y": 0},
-
- {"matrix": [1, 6], "x": 0, "y": 1},
- {"matrix": [1, 7], "x": 1, "y": 1},
- {"matrix": [1, 8], "x": 2, "y": 1},
- {"matrix": [2, 0], "x": 3, "y": 1},
- {"matrix": [2, 1], "x": 4, "y": 1},
- {"matrix": [2, 2], "x": 5, "y": 1},
- {"matrix": [2, 3], "x": 6, "y": 1},
- {"matrix": [2, 4], "x": 7, "y": 1},
- {"matrix": [2, 5], "x": 8, "y": 1},
- {"matrix": [2, 6], "x": 9, "y": 1},
- {"matrix": [2, 7], "x": 10, "y": 1},
- {"matrix": [2, 8], "x": 11, "y": 1},
- {"matrix": [3, 0], "x": 12, "y": 1},
- {"matrix": [3, 1], "x": 13, "y": 1},
- {"matrix": [3, 2], "x": 14, "y": 1},
-
- {"matrix": [3, 3], "x": 0, "y": 2},
- {"matrix": [3, 4], "x": 1, "y": 2},
- {"matrix": [3, 5], "x": 2, "y": 2},
- {"matrix": [3, 6], "x": 3, "y": 2},
- {"matrix": [3, 7], "x": 4, "y": 2},
- {"matrix": [3, 8], "x": 5, "y": 2},
- {"matrix": [4, 0], "x": 6, "y": 2},
- {"matrix": [4, 1], "x": 7, "y": 2},
- {"matrix": [4, 2], "x": 8, "y": 2},
- {"matrix": [4, 3], "x": 9, "y": 2},
- {"matrix": [4, 4], "x": 10, "y": 2},
- {"matrix": [4, 5], "x": 11, "y": 2},
- {"matrix": [4, 6], "x": 12, "y": 2},
- {"matrix": [4, 7], "x": 13, "y": 2},
- {"matrix": [4, 8], "x": 14, "y": 2},
-
- {"matrix": [5, 0], "x": 0, "y": 3},
- {"matrix": [5, 1], "x": 1, "y": 3},
- {"matrix": [5, 2], "x": 2, "y": 3},
- {"matrix": [5, 3], "x": 3, "y": 3},
- {"matrix": [5, 4], "x": 4, "y": 3},
- {"matrix": [5, 5], "x": 5, "y": 3},
- {"matrix": [5, 6], "x": 6, "y": 3},
- {"matrix": [5, 7], "x": 7, "y": 3},
- {"matrix": [5, 8], "x": 8, "y": 3},
- {"matrix": [6, 0], "x": 9, "y": 3},
- {"matrix": [6, 1], "x": 10, "y": 3},
- {"matrix": [6, 2], "x": 11, "y": 3},
- {"matrix": [6, 3], "x": 12, "y": 3},
- {"matrix": [6, 4], "x": 13, "y": 3},
- {"matrix": [6, 5], "x": 14, "y": 3},
-
- {"matrix": [6, 6], "x": 0, "y": 4},
- {"matrix": [6, 7], "x": 1, "y": 4},
- {"matrix": [6, 8], "x": 2, "y": 4},
- {"matrix": [7, 0], "x": 3, "y": 4},
- {"matrix": [7, 1], "x": 4, "y": 4},
- {"matrix": [7, 2], "x": 5, "y": 4},
- {"matrix": [7, 3], "x": 6, "y": 4},
- {"matrix": [7, 4], "x": 7, "y": 4},
- {"matrix": [7, 5], "x": 8, "y": 4},
- {"matrix": [7, 6], "x": 9, "y": 4},
- {"matrix": [7, 7], "x": 10, "y": 4},
- {"matrix": [7, 8], "x": 11, "y": 4},
- {"matrix": [8, 0], "x": 12, "y": 4},
- {"matrix": [8, 1], "x": 13, "y": 4},
- {"matrix": [8, 2], "x": 14, "y": 4}
- ]
- }
- }
+ "bootloader": "halfkay"
}
diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h
deleted file mode 100644
index 5f360813239..00000000000
--- a/keyboards/40percentclub/luddite/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/40percentclub/luddite/keyboard.json b/keyboards/40percentclub/luddite/keyboard.json
index 8a0b5d5913b..a9f79d73695 100644
--- a/keyboards/40percentclub/luddite/keyboard.json
+++ b/keyboards/40percentclub/luddite/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6"]
diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h
deleted file mode 100644
index b9449c4714b..00000000000
--- a/keyboards/40percentclub/mf68/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/mf68/keyboard.json b/keyboards/40percentclub/mf68/keyboard.json
index 47259ac23f9..45585d5e479 100644
--- a/keyboards/40percentclub/mf68/keyboard.json
+++ b/keyboards/40percentclub/mf68/keyboard.json
@@ -17,6 +17,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4"],
"rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"]
diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h
deleted file mode 100644
index c30966d9d2f..00000000000
--- a/keyboards/40percentclub/nein/config.h
+++ /dev/null
@@ -1,38 +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 .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/nein/keyboard.json b/keyboards/40percentclub/nein/keyboard.json
index 53a3a7639b8..9e1711f71e7 100644
--- a/keyboards/40percentclub/nein/keyboard.json
+++ b/keyboards/40percentclub/nein/keyboard.json
@@ -18,6 +18,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"direct": [
["F4", "F5", "F6"],
diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h
deleted file mode 100644
index 0fe9b9df213..00000000000
--- a/keyboards/40percentclub/nori/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/nori/info.json b/keyboards/40percentclub/nori/keyboard.json
similarity index 95%
rename from keyboards/40percentclub/nori/info.json
rename to keyboards/40percentclub/nori/keyboard.json
index 214d1da2a09..968e74e19e1 100644
--- a/keyboards/40percentclub/nori/info.json
+++ b/keyboards/40percentclub/nori/keyboard.json
@@ -13,6 +13,21 @@
"rows": ["D3", "D2", "D1", "D0"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true,
+ "backlight": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"backlight": {
"pin": "B5"
},
diff --git a/keyboards/40percentclub/nori/rules.mk b/keyboards/40percentclub/nori/rules.mk
index 926fffda128..271780b75ec 100644
--- a/keyboards/40percentclub/nori/rules.mk
+++ b/keyboards/40percentclub/nori/rules.mk
@@ -1,15 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Disable unsupported hardware
AUDIO_SUPPORTED = no
diff --git a/keyboards/40percentclub/polyandry/config.h b/keyboards/40percentclub/polyandry/config.h
deleted file mode 100644
index e3cac2cbfac..00000000000
--- a/keyboards/40percentclub/polyandry/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-//more detailed config options start below:
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/40percentclub/polyandry/info.json b/keyboards/40percentclub/polyandry/info.json
index b04b0500450..49b8bedbe32 100644
--- a/keyboards/40percentclub/polyandry/info.json
+++ b/keyboards/40percentclub/polyandry/info.json
@@ -11,9 +11,36 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"usb": {
"vid": "0x4025",
"pid": "0x6060",
"device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT_ortho_4x3": {
+ "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": 0, "y": 1},
+ {"matrix": [0, 4], "x": 1, "y": 1},
+ {"matrix": [0, 5], "x": 2, "y": 1},
+
+ {"matrix": [0, 6], "x": 0, "y": 2},
+ {"matrix": [0, 7], "x": 1, "y": 2},
+ {"matrix": [0, 8], "x": 2, "y": 2},
+
+ {"matrix": [0, 9], "x": 0, "y": 3},
+ {"matrix": [0, 10], "x": 1, "y": 3},
+ {"matrix": [0, 11], "x": 2, "y": 3}
+ ]
+ }
}
}
diff --git a/keyboards/40percentclub/polyandry/promicro/keyboard.json b/keyboards/40percentclub/polyandry/promicro/keyboard.json
index 8a8cd987942..a8169c93dd6 100644
--- a/keyboards/40percentclub/polyandry/promicro/keyboard.json
+++ b/keyboards/40percentclub/polyandry/promicro/keyboard.json
@@ -5,26 +5,5 @@
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
- "bootloader": "caterina",
- "layouts": {
- "LAYOUT_ortho_4x3": {
- "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": 0, "y": 1},
- {"matrix": [0, 4], "x": 1, "y": 1},
- {"matrix": [0, 5], "x": 2, "y": 1},
-
- {"matrix": [0, 6], "x": 0, "y": 2},
- {"matrix": [0, 7], "x": 1, "y": 2},
- {"matrix": [0, 8], "x": 2, "y": 2},
-
- {"matrix": [0, 9], "x": 0, "y": 3},
- {"matrix": [0, 10], "x": 1, "y": 3},
- {"matrix": [0, 11], "x": 2, "y": 3}
- ]
- }
- }
+ "bootloader": "caterina"
}
diff --git a/keyboards/40percentclub/polyandry/teensy2/keyboard.json b/keyboards/40percentclub/polyandry/teensy2/keyboard.json
index 33fd1d71dfe..0a870332b2b 100644
--- a/keyboards/40percentclub/polyandry/teensy2/keyboard.json
+++ b/keyboards/40percentclub/polyandry/teensy2/keyboard.json
@@ -5,26 +5,5 @@
},
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
- "bootloader": "halfkay",
- "layouts": {
- "LAYOUT_ortho_4x3": {
- "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": 0, "y": 1},
- {"matrix": [0, 4], "x": 1, "y": 1},
- {"matrix": [0, 5], "x": 2, "y": 1},
-
- {"matrix": [0, 6], "x": 0, "y": 2},
- {"matrix": [0, 7], "x": 1, "y": 2},
- {"matrix": [0, 8], "x": 2, "y": 2},
-
- {"matrix": [0, 9], "x": 0, "y": 3},
- {"matrix": [0, 10], "x": 1, "y": 3},
- {"matrix": [0, 11], "x": 2, "y": 3}
- ]
- }
- }
+ "bootloader": "halfkay"
}
diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h
deleted file mode 100644
index b46d357dd04..00000000000
--- a/keyboards/40percentclub/tomato/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* eliminate lag on space cadet mods */
-#define PERMISSIVE_HOLD
diff --git a/keyboards/40percentclub/tomato/keyboard.json b/keyboards/40percentclub/tomato/keyboard.json
index a44946d3725..c0b526cbc6b 100644
--- a/keyboards/40percentclub/tomato/keyboard.json
+++ b/keyboards/40percentclub/tomato/keyboard.json
@@ -37,6 +37,15 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": false,
+ "resync": true
+ }
+ },
+ "tapping": {
+ "permissive_hold": true
+ },
"matrix_pins": {
"cols": ["B4", "E6", "D7", "C6", "D4", "D0"],
"rows": ["F7", "B1", "B3", "B2", "B6"]
diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h
index 8f5756d1506..f0182a59f81 100644
--- a/keyboards/40percentclub/ut47/config.h
+++ b/keyboards/40percentclub/ut47/config.h
@@ -28,10 +28,5 @@ along with this program. If not, see .
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* Enable GNAP matrix serial output */
#define GNAP_ENABLE
diff --git a/keyboards/40percentclub/ut47/info.json b/keyboards/40percentclub/ut47/keyboard.json
similarity index 92%
rename from keyboards/40percentclub/ut47/info.json
rename to keyboards/40percentclub/ut47/keyboard.json
index 668f277f404..62e4a940a18 100644
--- a/keyboards/40percentclub/ut47/info.json
+++ b/keyboards/40percentclub/ut47/keyboard.json
@@ -10,6 +10,19 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/40percentclub/ut47/rules.mk b/keyboards/40percentclub/ut47/rules.mk
index 6ba6aa5f6fa..5480f61b9b4 100644
--- a/keyboards/40percentclub/ut47/rules.mk
+++ b/keyboards/40percentclub/ut47/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-
-# custom matrix setup
CUSTOM_MATRIX = yes
SRC += matrix.c
UART_DRIVER_REQUIRED = yes
diff --git a/keyboards/45_ats/config.h b/keyboards/45_ats/config.h
deleted file mode 100644
index 1d951890cd1..00000000000
--- a/keyboards/45_ats/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
- /*
- Copyright 2020 Alec Penland
- Copyright 2020 Garret Gartner
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/45_ats/keyboard.json b/keyboards/45_ats/keyboard.json
index 7c873f21ede..5e5465f2643 100644
--- a/keyboards/45_ats/keyboard.json
+++ b/keyboards/45_ats/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "B0", "B1", "B2", "B3", "B7", "F6", "F5", "F4", "C7", "F7", "C6", "B6", "D4"],
"rows": ["D3", "D5", "D7", "D6"]
diff --git a/keyboards/4pplet/aekiso60/rev_b/info.json b/keyboards/4pplet/aekiso60/rev_b/keyboard.json
similarity index 86%
rename from keyboards/4pplet/aekiso60/rev_b/info.json
rename to keyboards/4pplet/aekiso60/rev_b/keyboard.json
index b5ad58bc11d..2bbf1851253 100644
--- a/keyboards/4pplet/aekiso60/rev_b/info.json
+++ b/keyboards/4pplet/aekiso60/rev_b/keyboard.json
@@ -4,6 +4,13 @@
"pid": "0x0011",
"device_version": "0.0.2"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/4pplet/aekiso60/rev_b/rules.mk b/keyboards/4pplet/aekiso60/rev_b/rules.mk
index e539634d589..04fe1eba2ac 100644
--- a/keyboards/4pplet/aekiso60/rev_b/rules.mk
+++ b/keyboards/4pplet/aekiso60/rev_b/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
index 350b9abad7f..80a093147eb 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
@@ -25,11 +25,6 @@ along with this program. If not, see .
#define WS2812_SPI_SCK_PIN A5
#define WS2812_SPI_SCK_PAL_MODE 0
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* Indicator leds */
#define LOCK_LIGHTS TRUE
#define DISPLAY_LAYERS TRUE
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
similarity index 99%
rename from keyboards/4pplet/eagle_viper_rep/rev_a/info.json
rename to keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
index baafb58153b..18d8ba5d8aa 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
@@ -13,6 +13,22 @@
"rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "nkro": true,
+ "backlight": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"dynamic_keymap": {
"layer_count": 5
},
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk
index 30a36865b96..04fe1eba2ac 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk
@@ -1,15 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
index b5957e6f30c..73182129a57 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
@@ -23,11 +23,6 @@ along with this program. If not, see .
/* Underglow */
#define WS2812_EXTERNAL_PULLUP
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* Indicator leds */
#define LAYER_1 B14
#define LAYER_2 B15
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
similarity index 99%
rename from keyboards/4pplet/eagle_viper_rep/rev_b/info.json
rename to keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
index 2ebb2606869..e0356d5dad5 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json
+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
@@ -13,6 +13,21 @@
"rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true,
+ "nkro": true,
+ "backlight": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"dynamic_keymap": {
"layer_count": 5
},
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk
index 428a48c4649..04fe1eba2ac 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk
+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk
@@ -1,15 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/keyboard.json
similarity index 99%
rename from keyboards/4pplet/steezy60/rev_a/info.json
rename to keyboards/4pplet/steezy60/rev_a/keyboard.json
index d64779bec3f..ffd44642230 100644
--- a/keyboards/4pplet/steezy60/rev_a/info.json
+++ b/keyboards/4pplet/steezy60/rev_a/keyboard.json
@@ -36,7 +36,8 @@
"extrakey": true,
"mousekey": false,
"nkro": true,
- "rgblight": true
+ "rgblight": true,
+ "key_lock": true
},
"rgblight": {
"led_count": 12,
diff --git a/keyboards/4pplet/steezy60/rev_a/rules.mk b/keyboards/4pplet/steezy60/rev_a/rules.mk
deleted file mode 100644
index 96c9ff2cbbe..00000000000
--- a/keyboards/4pplet/steezy60/rev_a/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-KEY_LOCK_ENABLE = yes
diff --git a/keyboards/4pplet/steezy60/rev_b/info.json b/keyboards/4pplet/steezy60/rev_b/keyboard.json
similarity index 99%
rename from keyboards/4pplet/steezy60/rev_b/info.json
rename to keyboards/4pplet/steezy60/rev_b/keyboard.json
index e087ff8d1bb..8ff41bd1561 100644
--- a/keyboards/4pplet/steezy60/rev_b/info.json
+++ b/keyboards/4pplet/steezy60/rev_b/keyboard.json
@@ -32,7 +32,8 @@
"extrakey": true,
"mousekey": false,
"nkro": true,
- "rgblight": true
+ "rgblight": true,
+ "key_lock": true
},
"rgblight": {
"led_count": 12,
diff --git a/keyboards/4pplet/steezy60/rev_b/rules.mk b/keyboards/4pplet/steezy60/rev_b/rules.mk
index 3787d8c241b..04fe1eba2ac 100644
--- a/keyboards/4pplet/steezy60/rev_b/rules.mk
+++ b/keyboards/4pplet/steezy60/rev_b/rules.mk
@@ -1,8 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-KEY_LOCK_ENABLE = yes
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/unextended_std/rev_a/info.json b/keyboards/4pplet/unextended_std/rev_a/keyboard.json
similarity index 99%
rename from keyboards/4pplet/unextended_std/rev_a/info.json
rename to keyboards/4pplet/unextended_std/rev_a/keyboard.json
index 5aba94b50ab..1b1909854ac 100644
--- a/keyboards/4pplet/unextended_std/rev_a/info.json
+++ b/keyboards/4pplet/unextended_std/rev_a/keyboard.json
@@ -22,7 +22,8 @@
"console": false,
"command": false,
"nkro": true,
- "rgblight": true
+ "rgblight": true,
+ "key_lock": true
},
"ws2812": {
"pin": "A8"
diff --git a/keyboards/4pplet/unextended_std/rev_a/rules.mk b/keyboards/4pplet/unextended_std/rev_a/rules.mk
index 3787d8c241b..04fe1eba2ac 100644
--- a/keyboards/4pplet/unextended_std/rev_a/rules.mk
+++ b/keyboards/4pplet/unextended_std/rev_a/rules.mk
@@ -1,8 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-KEY_LOCK_ENABLE = yes
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/waffling60/rev_d/info.json b/keyboards/4pplet/waffling60/rev_d/keyboard.json
similarity index 96%
rename from keyboards/4pplet/waffling60/rev_d/info.json
rename to keyboards/4pplet/waffling60/rev_d/keyboard.json
index 692f9956052..90f049ee293 100644
--- a/keyboards/4pplet/waffling60/rev_d/info.json
+++ b/keyboards/4pplet/waffling60/rev_d/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x000E",
"device_version": "0.0.4"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/4pplet/waffling60/rev_d/rules.mk b/keyboards/4pplet/waffling60/rev_d/rules.mk
index e539634d589..04fe1eba2ac 100644
--- a/keyboards/4pplet/waffling60/rev_d/rules.mk
+++ b/keyboards/4pplet/waffling60/rev_d/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/waffling60/rev_d_ansi/info.json b/keyboards/4pplet/waffling60/rev_d_ansi/keyboard.json
similarity index 97%
rename from keyboards/4pplet/waffling60/rev_d_ansi/info.json
rename to keyboards/4pplet/waffling60/rev_d_ansi/keyboard.json
index 3969d98c424..f471d27e14b 100644
--- a/keyboards/4pplet/waffling60/rev_d_ansi/info.json
+++ b/keyboards/4pplet/waffling60/rev_d_ansi/keyboard.json
@@ -15,6 +15,12 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk b/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk
index a64bf928ebb..04fe1eba2ac 100644
--- a/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk
+++ b/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/waffling60/rev_d_iso/info.json b/keyboards/4pplet/waffling60/rev_d_iso/keyboard.json
similarity index 99%
rename from keyboards/4pplet/waffling60/rev_d_iso/info.json
rename to keyboards/4pplet/waffling60/rev_d_iso/keyboard.json
index fdcf9d0bdee..757de46e6b9 100644
--- a/keyboards/4pplet/waffling60/rev_d_iso/info.json
+++ b/keyboards/4pplet/waffling60/rev_d_iso/keyboard.json
@@ -15,6 +15,11 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": true
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/4pplet/waffling60/rev_d_iso/rules.mk b/keyboards/4pplet/waffling60/rev_d_iso/rules.mk
index e11c916b4fd..04fe1eba2ac 100644
--- a/keyboards/4pplet/waffling60/rev_d_iso/rules.mk
+++ b/keyboards/4pplet/waffling60/rev_d_iso/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/waffling80/rev_b/info.json b/keyboards/4pplet/waffling80/rev_b/keyboard.json
similarity index 78%
rename from keyboards/4pplet/waffling80/rev_b/info.json
rename to keyboards/4pplet/waffling80/rev_b/keyboard.json
index 47d3d5d662f..2c33caa4044 100644
--- a/keyboards/4pplet/waffling80/rev_b/info.json
+++ b/keyboards/4pplet/waffling80/rev_b/keyboard.json
@@ -4,6 +4,13 @@
"pid": "0x000F",
"device_version": "0.0.2"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/4pplet/waffling80/rev_b/rules.mk b/keyboards/4pplet/waffling80/rev_b/rules.mk
index e539634d589..04fe1eba2ac 100644
--- a/keyboards/4pplet/waffling80/rev_b/rules.mk
+++ b/keyboards/4pplet/waffling80/rev_b/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/4pplet/yakiimo/rev_a/config.h b/keyboards/4pplet/yakiimo/rev_a/config.h
index b9a17d41287..e69de29bb2d 100644
--- a/keyboards/4pplet/yakiimo/rev_a/config.h
+++ b/keyboards/4pplet/yakiimo/rev_a/config.h
@@ -1,22 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.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 .
-*/
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/4pplet/yakiimo/rev_a/keyboard.json b/keyboards/4pplet/yakiimo/rev_a/keyboard.json
index ec5addd8501..f22f67ac6a4 100644
--- a/keyboards/4pplet/yakiimo/rev_a/keyboard.json
+++ b/keyboards/4pplet/yakiimo/rev_a/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "A8"],
"rows": ["B10", "B1", "C13", "C14", "B14", "B12", "B9", "B8", "B5", "B4", "A15", "B3"]
diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h
deleted file mode 100644
index 5f360813239..00000000000
--- a/keyboards/8pack/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json
index cf55db98153..84d81c11d39 100644
--- a/keyboards/8pack/info.json
+++ b/keyboards/8pack/info.json
@@ -7,6 +7,12 @@
"vid": "0xFEED",
"pid": "0x2171"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"backlight": {
"driver": "timer",
"pins": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
From 2dd406f08fc5d9877c8fd2642e94975eae37e86f Mon Sep 17 00:00:00 2001
From: Ryan
Date: Sun, 31 Mar 2024 01:07:19 +1100
Subject: [PATCH 02/64] Remove `quantum.h` includes from keyboard custom
`matrix.c`s (#23371)
---
keyboards/barleycorn_smd/matrix.c | 4 +---
keyboards/bpiphany/ghost_squid/matrix.c | 1 -
keyboards/centromere/matrix.c | 1 -
keyboards/converter/siemens_tastatur/matrix.c | 3 ---
keyboards/custommk/evo70_r2/matrix.c | 3 ++-
keyboards/dc01/right/matrix.c | 3 ---
keyboards/dp60/matrix.c | 5 ++++-
keyboards/duck/orion/v3/matrix.c | 5 ++++-
keyboards/evyd13/wasdat/matrix.c | 3 ---
keyboards/evyd13/wasdat_code/matrix.c | 3 ---
keyboards/geistmaschine/macropod/matrix.c | 3 ++-
keyboards/gl516/a52gl/matrix.c | 1 -
keyboards/gl516/j73gl/matrix.c | 1 -
keyboards/gl516/n51gl/matrix.c | 1 -
keyboards/glenpickle/chimera_ergo/matrix.c | 1 -
keyboards/glenpickle/chimera_ls/matrix.c | 1 -
keyboards/glenpickle/chimera_ortho/matrix.c | 1 -
.../glenpickle/chimera_ortho_plus/matrix.c | 1 -
keyboards/gmmk/numpad/matrix.c | 9 +++------
keyboards/halfcliff/matrix.c | 9 +++------
keyboards/handwired/dqz11n1g/matrix.c | 7 -------
keyboards/handwired/dygma/raise/matrix.c | 3 ++-
.../symmetric70_proto/matrix_debug/matrix.c | 3 ---
.../symmetric70_proto/matrix_fast/matrix.c | 4 ----
keyboards/hazel/bad_wings/matrix.c | 9 ++++-----
keyboards/hhkb/yang/matrix.c | 7 ++++++-
keyboards/hineybush/hbcp/matrix.c | 3 ---
keyboards/ibm/model_m/mschwingen/matrix.c | 3 ---
keyboards/jones/v03/matrix.c | 3 ---
keyboards/jones/v03_1/matrix.c | 3 ---
keyboards/joshajohnson/hub16/matrix.c | 3 ---
keyboards/kagizaraya/chidori/matrix.c | 1 -
keyboards/kakunpc/angel64/alpha/matrix.c | 3 ---
keyboards/kakunpc/angel64/rev1/matrix.c | 3 ---
keyboards/kakunpc/choc_taro/matrix.c | 3 ---
keyboards/kakunpc/thedogkeyboard/matrix.c | 3 ---
keyboards/kbdmania/kmac/matrix.c | 3 ---
keyboards/kbdmania/kmac_pad/matrix.c | 1 -
keyboards/keyboardio/model01/matrix.c | 2 +-
keyboards/keychron/c2_pro/matrix.c | 4 +++-
keyboards/keychron/q10/matrix.c | 3 ++-
keyboards/keychron/q12/matrix.c | 3 ++-
keyboards/keychron/q1v2/matrix.c | 4 +++-
keyboards/keychron/q3/matrix.c | 3 ++-
keyboards/keychron/q5/matrix.c | 3 ++-
keyboards/keychron/q6/matrix.c | 3 ++-
keyboards/keychron/q65/matrix.c | 3 ++-
keyboards/keychron/v1/matrix.c | 3 ++-
keyboards/keychron/v10/matrix.c | 3 ++-
keyboards/keychron/v3/matrix.c | 3 ++-
keyboards/keychron/v5/matrix.c | 3 ++-
keyboards/keychron/v6/matrix.c | 3 ++-
keyboards/kinesis/nguyenvietyen/matrix.c | 2 --
keyboards/matrix/abelx/matrix.c | 4 ----
keyboards/matrix/m12og/rev1/matrix.c | 3 ---
keyboards/matrix/m20add/matrix.c | 4 ----
keyboards/matrix/noah/matrix.c | 18 ++++++------------
.../adelais/standard_led/avr/rev1/matrix.c | 3 ---
keyboards/mechlovin/infinity87/rev2/matrix.c | 3 ---
keyboards/mechlovin/infinity875/matrix.c | 3 ---
keyboards/mechlovin/olly/jf/rev1/matrix.c | 3 ---
keyboards/mechlovin/serratus/matrix.c | 3 ---
keyboards/mexsistor/ludmila/matrix.c | 3 ---
keyboards/miiiw/blackio83/matrix.c | 2 +-
keyboards/mitosis/matrix.c | 1 -
keyboards/moon/matrix.c | 3 ---
keyboards/mt/split75/matrix.c | 4 +---
keyboards/nullbitsco/nibble/matrix.c | 3 ++-
keyboards/nullbitsco/snap/matrix.c | 7 ++-----
keyboards/oddforge/vea/matrix.c | 4 +---
keyboards/om60/matrix.c | 3 ++-
keyboards/pierce/matrix.c | 2 +-
keyboards/planck/rev6_drop/matrix.c | 3 ++-
keyboards/planck/rev7/matrix.c | 7 +++----
keyboards/preonic/rev3_drop/matrix.c | 5 ++++-
keyboards/qvex/lynepad2/matrix.c | 7 +------
keyboards/rate/pistachio_pro/matrix.c | 4 +---
keyboards/redox/wireless/matrix.c | 1 -
keyboards/redscarf_iiplus/verb/matrix.c | 3 ---
keyboards/redscarf_iiplus/verc/matrix.c | 3 ---
keyboards/redscarf_iiplus/verd/matrix.c | 3 ---
keyboards/ryanskidmore/rskeys100/matrix.c | 2 --
keyboards/satt/comet46/matrix.c | 1 -
keyboards/sirius/uni660/rev1/matrix.c | 1 -
keyboards/sirius/uni660/rev2/matrix.c | 1 -
keyboards/spiderisland/split78/matrix.c | 4 +---
keyboards/sthlmkb/lagom/matrix.c | 3 ++-
keyboards/switchplate/southpaw_65/matrix.c | 7 -------
keyboards/telophase/matrix.c | 1 -
keyboards/touchpad/matrix.c | 13 +++++++------
keyboards/viktus/sp111/matrix.c | 4 +++-
keyboards/xiudi/xd84/matrix.c | 7 -------
keyboards/xiudi/xd96/matrix.c | 8 +-------
keyboards/ydkb/grape/matrix.c | 3 ---
keyboards/yiancardesigns/barleycorn/matrix.c | 4 +---
keyboards/yiancardesigns/gingham/matrix.c | 4 +---
keyboards/yiancardesigns/seigaiha/matrix.c | 4 +---
97 files changed, 104 insertions(+), 244 deletions(-)
diff --git a/keyboards/barleycorn_smd/matrix.c b/keyboards/barleycorn_smd/matrix.c
index 315093c8a98..d8880364b66 100644
--- a/keyboards/barleycorn_smd/matrix.c
+++ b/keyboards/barleycorn_smd/matrix.c
@@ -14,10 +14,8 @@ 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 .
*/
-#include
-#include
+#include "matrix.h"
#include "wait.h"
-#include "quantum.h"
#include "i2c_master.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/bpiphany/ghost_squid/matrix.c b/keyboards/bpiphany/ghost_squid/matrix.c
index b0ad6075554..802d365cb89 100644
--- a/keyboards/bpiphany/ghost_squid/matrix.c
+++ b/keyboards/bpiphany/ghost_squid/matrix.c
@@ -17,7 +17,6 @@
*/
#include "matrix.h"
-#include "quantum.h"
matrix_row_t read_rows(void) {
return
diff --git a/keyboards/centromere/matrix.c b/keyboards/centromere/matrix.c
index 0218adf39b4..387d31ee076 100644
--- a/keyboards/centromere/matrix.c
+++ b/keyboards/centromere/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/converter/siemens_tastatur/matrix.c b/keyboards/converter/siemens_tastatur/matrix.c
index ea1aa2287e0..78054ee0fac 100644
--- a/keyboards/converter/siemens_tastatur/matrix.c
+++ b/keyboards/converter/siemens_tastatur/matrix.c
@@ -14,10 +14,7 @@ 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 .
*/
-#include
-#include
#include
-#include "quantum.h"
#include "timer.h"
#include "wait.h"
#include "print.h"
diff --git a/keyboards/custommk/evo70_r2/matrix.c b/keyboards/custommk/evo70_r2/matrix.c
index 99a23a4542e..99c3428d802 100644
--- a/keyboards/custommk/evo70_r2/matrix.c
+++ b/keyboards/custommk/evo70_r2/matrix.c
@@ -1,6 +1,7 @@
// Copyright 2023 David Hoelscher (@customMK)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "quantum.h"
+#include "matrix.h"
+#include
// Pin definitions
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c
index 04a6d03804e..f9b67381455 100644
--- a/keyboards/dc01/right/matrix.c
+++ b/keyboards/dc01/right/matrix.c
@@ -15,8 +15,6 @@ 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 .
*/
-#include
-#include
#if defined(__AVR__)
#include
#include
@@ -31,7 +29,6 @@ along with this program. If not, see .
#include "timer.h"
#include "i2c_slave.h"
#include "lufa.h"
-#include "quantum.h"
#define SLAVE_I2C_ADDRESS 0x32
diff --git a/keyboards/dp60/matrix.c b/keyboards/dp60/matrix.c
index e32c9a58f94..22156745f17 100644
--- a/keyboards/dp60/matrix.c
+++ b/keyboards/dp60/matrix.c
@@ -13,7 +13,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "print.h"
+#include "bitwise.h"
+#include "wait.h"
#ifndef DEBOUNCE
# define DEBOUNCE 5
diff --git a/keyboards/duck/orion/v3/matrix.c b/keyboards/duck/orion/v3/matrix.c
index c82d5dd9994..f392b9b1909 100644
--- a/keyboards/duck/orion/v3/matrix.c
+++ b/keyboards/duck/orion/v3/matrix.c
@@ -14,7 +14,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "debug.h"
+#include "bitwise.h"
+#include "wait.h"
#ifndef DEBOUNCE
# define DEBOUNCE 5
diff --git a/keyboards/evyd13/wasdat/matrix.c b/keyboards/evyd13/wasdat/matrix.c
index 60a1ea235a8..ae4bb6cb3a3 100644
--- a/keyboards/evyd13/wasdat/matrix.c
+++ b/keyboards/evyd13/wasdat/matrix.c
@@ -15,10 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#include "sn74x138.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/evyd13/wasdat_code/matrix.c b/keyboards/evyd13/wasdat_code/matrix.c
index f30ea3355a1..d392a31d7c7 100644
--- a/keyboards/evyd13/wasdat_code/matrix.c
+++ b/keyboards/evyd13/wasdat_code/matrix.c
@@ -15,10 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#include "sn74x138.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/geistmaschine/macropod/matrix.c b/keyboards/geistmaschine/macropod/matrix.c
index ebc10e2e5ad..98796133f12 100644
--- a/keyboards/geistmaschine/macropod/matrix.c
+++ b/keyboards/geistmaschine/macropod/matrix.c
@@ -14,8 +14,9 @@
* along with this program. If not, see .
*/
+#include "matrix.h"
#include "pca9555.h"
-#include "quantum.h"
+#include "timer.h"
// PCA9555 i2c address, 0x20: A0 = 0, A1 = 0, A2 = 0
#define IC1 0x20
diff --git a/keyboards/gl516/a52gl/matrix.c b/keyboards/gl516/a52gl/matrix.c
index 1a97fdfd614..af13768b08e 100644
--- a/keyboards/gl516/a52gl/matrix.c
+++ b/keyboards/gl516/a52gl/matrix.c
@@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include "matrix.h"
-#include "quantum.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/gl516/j73gl/matrix.c b/keyboards/gl516/j73gl/matrix.c
index 1a97fdfd614..af13768b08e 100644
--- a/keyboards/gl516/j73gl/matrix.c
+++ b/keyboards/gl516/j73gl/matrix.c
@@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include "matrix.h"
-#include "quantum.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/gl516/n51gl/matrix.c b/keyboards/gl516/n51gl/matrix.c
index 1a97fdfd614..af13768b08e 100644
--- a/keyboards/gl516/n51gl/matrix.c
+++ b/keyboards/gl516/n51gl/matrix.c
@@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#include "matrix.h"
-#include "quantum.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/glenpickle/chimera_ergo/matrix.c b/keyboards/glenpickle/chimera_ergo/matrix.c
index 32d7b09310a..47c3c61e27f 100644
--- a/keyboards/glenpickle/chimera_ergo/matrix.c
+++ b/keyboards/glenpickle/chimera_ergo/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/glenpickle/chimera_ls/matrix.c b/keyboards/glenpickle/chimera_ls/matrix.c
index 9a69724eb78..15a29c5a865 100644
--- a/keyboards/glenpickle/chimera_ls/matrix.c
+++ b/keyboards/glenpickle/chimera_ls/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/glenpickle/chimera_ortho/matrix.c b/keyboards/glenpickle/chimera_ortho/matrix.c
index 9a69724eb78..15a29c5a865 100644
--- a/keyboards/glenpickle/chimera_ortho/matrix.c
+++ b/keyboards/glenpickle/chimera_ortho/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/glenpickle/chimera_ortho_plus/matrix.c b/keyboards/glenpickle/chimera_ortho_plus/matrix.c
index 32d7b09310a..47c3c61e27f 100644
--- a/keyboards/glenpickle/chimera_ortho_plus/matrix.c
+++ b/keyboards/glenpickle/chimera_ortho_plus/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/gmmk/numpad/matrix.c b/keyboards/gmmk/numpad/matrix.c
index 99adb38f184..68d4ab65242 100644
--- a/keyboards/gmmk/numpad/matrix.c
+++ b/keyboards/gmmk/numpad/matrix.c
@@ -4,15 +4,12 @@
/*
* scan matrix
*/
-#include
-#include
+#include "matrix.h"
+#include
+#include "atomic_util.h"
#include "wait.h"
#include "print.h"
#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "debounce.h"
-#include "quantum.h"
/* matrix state(1:on, 0:off) */
extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
diff --git a/keyboards/halfcliff/matrix.c b/keyboards/halfcliff/matrix.c
index fd18fd27bda..99598dc1b78 100644
--- a/keyboards/halfcliff/matrix.c
+++ b/keyboards/halfcliff/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
-#include "util.h"
#include "matrix.h"
-#include "debounce.h"
-#include "quantum.h"
+#include "atomic_util.h"
#include "split_util.h"
-#include "config.h"
#include "transport.h"
+#include "debounce.h"
+#include "wait.h"
#define ERROR_DISCONNECT_COUNT 5
diff --git a/keyboards/handwired/dqz11n1g/matrix.c b/keyboards/handwired/dqz11n1g/matrix.c
index d93dd853b6a..398f961aa5f 100644
--- a/keyboards/handwired/dqz11n1g/matrix.c
+++ b/keyboards/handwired/dqz11n1g/matrix.c
@@ -15,14 +15,7 @@
along with this program. If not, see .
*/
-#include
-#include
-#include
-
-#include
-
#include "spi_master.h"
-#include "quantum.h"
#include "matrix.h"
static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/handwired/dygma/raise/matrix.c b/keyboards/handwired/dygma/raise/matrix.c
index bbcf697a594..3f241e8973d 100644
--- a/keyboards/handwired/dygma/raise/matrix.c
+++ b/keyboards/handwired/dygma/raise/matrix.c
@@ -13,8 +13,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_master.h"
+#include "wait.h"
#include
#include "wire-protocol-constants.h"
diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
index 8a303714cf0..22d92dd99a1 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
@@ -14,12 +14,9 @@ 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 .
*/
-#include
-#include
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifndef readPort
# include "gpio_extr.h"
#endif
diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
index 2bc97bd9e81..3acbdfbeda6 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
@@ -15,9 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
// clang-format off
-#include
-#include
-#include
#ifndef readPort
# include "gpio_extr.h"
#endif
@@ -25,7 +22,6 @@ along with this program. If not, see .
#include "matrix.h"
#include "matrix_extr.h"
#include "debounce.h"
-#include "quantum.h"
#define ALWAYS_INLINE inline __attribute__((always_inline))
#define NO_INLINE __attribute__((noinline))
diff --git a/keyboards/hazel/bad_wings/matrix.c b/keyboards/hazel/bad_wings/matrix.c
index 496bebd58f9..8a56a927c15 100644
--- a/keyboards/hazel/bad_wings/matrix.c
+++ b/keyboards/hazel/bad_wings/matrix.c
@@ -2,12 +2,11 @@
// Copyright 2023 @jasonhazel (Jason Hazel)
// SPDX-License-Identifier: GPL-3.0-or-later
-#include "quantum.h"
-#include "spi_master.h"
-#include /* memset */
-#include /* close */
-#include "quantum.h"
#include "matrix.h"
+#include
+#include "spi_master.h"
+#include "debug.h"
+#include "wait.h"
#if (!defined(SHIFTREG_MATRIX_COL_CS))
# error Missing shift register I/O pin definitions
diff --git a/keyboards/hhkb/yang/matrix.c b/keyboards/hhkb/yang/matrix.c
index f0eccc899dc..c82c77bed34 100644
--- a/keyboards/hhkb/yang/matrix.c
+++ b/keyboards/hhkb/yang/matrix.c
@@ -16,7 +16,12 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "debug.h"
+#include "timer.h"
+#include "wait.h"
+#include "suspend.h"
+#include
#ifdef BLUETOOTH_ENABLE
# include "adafruit_ble.h"
diff --git a/keyboards/hineybush/hbcp/matrix.c b/keyboards/hineybush/hbcp/matrix.c
index d493a7e9ef6..69ae6ab7b78 100644
--- a/keyboards/hineybush/hbcp/matrix.c
+++ b/keyboards/hineybush/hbcp/matrix.c
@@ -14,12 +14,9 @@ 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 .
*/
-#include
-#include
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
static const pin_t row_pins[] = MATRIX_ROW_PINS;
static const pin_t col_pins[] = MATRIX_COL_PINS;
diff --git a/keyboards/ibm/model_m/mschwingen/matrix.c b/keyboards/ibm/model_m/mschwingen/matrix.c
index 361803edec4..85df5e5d6fa 100644
--- a/keyboards/ibm/model_m/mschwingen/matrix.c
+++ b/keyboards/ibm/model_m/mschwingen/matrix.c
@@ -14,12 +14,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include
-#include
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#include "spi_master.h"
#include "print.h"
#include "mschwingen.h"
diff --git a/keyboards/jones/v03/matrix.c b/keyboards/jones/v03/matrix.c
index efcd7043e64..445c1acdc07 100644
--- a/keyboards/jones/v03/matrix.c
+++ b/keyboards/jones/v03/matrix.c
@@ -14,10 +14,7 @@ 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 .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#define ROW_SHIFTER ((uint16_t)1)
diff --git a/keyboards/jones/v03_1/matrix.c b/keyboards/jones/v03_1/matrix.c
index efcd7043e64..445c1acdc07 100644
--- a/keyboards/jones/v03_1/matrix.c
+++ b/keyboards/jones/v03_1/matrix.c
@@ -14,10 +14,7 @@ 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 .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#define ROW_SHIFTER ((uint16_t)1)
diff --git a/keyboards/joshajohnson/hub16/matrix.c b/keyboards/joshajohnson/hub16/matrix.c
index 4f32070e66e..0fe1d41dad8 100644
--- a/keyboards/joshajohnson/hub16/matrix.c
+++ b/keyboards/joshajohnson/hub16/matrix.c
@@ -14,12 +14,9 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
-#include "quantum.h"
// Encoder things
#define SWITCH_1 F7
diff --git a/keyboards/kagizaraya/chidori/matrix.c b/keyboards/kagizaraya/chidori/matrix.c
index 6228125d923..e506916f389 100644
--- a/keyboards/kagizaraya/chidori/matrix.c
+++ b/keyboards/kagizaraya/chidori/matrix.c
@@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "board.h"
diff --git a/keyboards/kakunpc/angel64/alpha/matrix.c b/keyboards/kakunpc/angel64/alpha/matrix.c
index 7abc50005b6..5d731b10683 100644
--- a/keyboards/kakunpc/angel64/alpha/matrix.c
+++ b/keyboards/kakunpc/angel64/alpha/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/kakunpc/angel64/rev1/matrix.c b/keyboards/kakunpc/angel64/rev1/matrix.c
index 7abc50005b6..5d731b10683 100644
--- a/keyboards/kakunpc/angel64/rev1/matrix.c
+++ b/keyboards/kakunpc/angel64/rev1/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/kakunpc/choc_taro/matrix.c b/keyboards/kakunpc/choc_taro/matrix.c
index 02421551da5..4547f1a0479 100644
--- a/keyboards/kakunpc/choc_taro/matrix.c
+++ b/keyboards/kakunpc/choc_taro/matrix.c
@@ -14,10 +14,7 @@ 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 .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define ROW_SHIFTER ((uint8_t)1)
diff --git a/keyboards/kakunpc/thedogkeyboard/matrix.c b/keyboards/kakunpc/thedogkeyboard/matrix.c
index 7abc50005b6..5d731b10683 100644
--- a/keyboards/kakunpc/thedogkeyboard/matrix.c
+++ b/keyboards/kakunpc/thedogkeyboard/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/kbdmania/kmac/matrix.c b/keyboards/kbdmania/kmac/matrix.c
index 65698670325..1843d19fd29 100644
--- a/keyboards/kbdmania/kmac/matrix.c
+++ b/keyboards/kbdmania/kmac/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/kbdmania/kmac_pad/matrix.c b/keyboards/kbdmania/kmac_pad/matrix.c
index 476e40f5144..ad7919e33cf 100644
--- a/keyboards/kbdmania/kmac_pad/matrix.c
+++ b/keyboards/kbdmania/kmac_pad/matrix.c
@@ -17,7 +17,6 @@ along with this program. If not, see .
#include "wait.h"
#include "matrix.h"
-#include "quantum.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/keyboardio/model01/matrix.c b/keyboards/keyboardio/model01/matrix.c
index 4b788d28128..20359ca9718 100644
--- a/keyboards/keyboardio/model01/matrix.c
+++ b/keyboards/keyboardio/model01/matrix.c
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_master.h"
#include
#include "model01.h"
diff --git a/keyboards/keychron/c2_pro/matrix.c b/keyboards/keychron/c2_pro/matrix.c
index 5065f97aa7d..8c954c73d08 100644
--- a/keyboards/keychron/c2_pro/matrix.c
+++ b/keyboards/keychron/c2_pro/matrix.c
@@ -14,7 +14,9 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "atomic_util.h"
+#include
#ifndef SHIFT_COL_START
# define SHIFT_COL_START 8
diff --git a/keyboards/keychron/q10/matrix.c b/keyboards/keychron/q10/matrix.c
index 5c035b0e42e..2c2d2ccc378 100644
--- a/keyboards/keychron/q10/matrix.c
+++ b/keyboards/keychron/q10/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN A7
diff --git a/keyboards/keychron/q12/matrix.c b/keyboards/keychron/q12/matrix.c
index 8229517fd9c..cf8361bd23e 100644
--- a/keyboards/keychron/q12/matrix.c
+++ b/keyboards/keychron/q12/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN C15
diff --git a/keyboards/keychron/q1v2/matrix.c b/keyboards/keychron/q1v2/matrix.c
index d008a793841..2bdf4bdec7b 100644
--- a/keyboards/keychron/q1v2/matrix.c
+++ b/keyboards/keychron/q1v2/matrix.c
@@ -14,7 +14,9 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN A7
diff --git a/keyboards/keychron/q3/matrix.c b/keyboards/keychron/q3/matrix.c
index 26830780ffe..188156789b3 100644
--- a/keyboards/keychron/q3/matrix.c
+++ b/keyboards/keychron/q3/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN A7
diff --git a/keyboards/keychron/q5/matrix.c b/keyboards/keychron/q5/matrix.c
index 28ef877504a..4809b20677c 100644
--- a/keyboards/keychron/q5/matrix.c
+++ b/keyboards/keychron/q5/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN C15
diff --git a/keyboards/keychron/q6/matrix.c b/keyboards/keychron/q6/matrix.c
index 11f3432e6b1..c59b229cfa6 100644
--- a/keyboards/keychron/q6/matrix.c
+++ b/keyboards/keychron/q6/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN C15
diff --git a/keyboards/keychron/q65/matrix.c b/keyboards/keychron/q65/matrix.c
index 5785f5d5709..206e3012267 100644
--- a/keyboards/keychron/q65/matrix.c
+++ b/keyboards/keychron/q65/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN C15
diff --git a/keyboards/keychron/v1/matrix.c b/keyboards/keychron/v1/matrix.c
index 82a883834f8..7b9136d4904 100644
--- a/keyboards/keychron/v1/matrix.c
+++ b/keyboards/keychron/v1/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN A7
diff --git a/keyboards/keychron/v10/matrix.c b/keyboards/keychron/v10/matrix.c
index 9269fed8d66..87cda1774ad 100644
--- a/keyboards/keychron/v10/matrix.c
+++ b/keyboards/keychron/v10/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
#ifndef PIN_USED_74HC595
# define PIN_USED_74HC595 8
diff --git a/keyboards/keychron/v3/matrix.c b/keyboards/keychron/v3/matrix.c
index 44a1676afa9..c0c39d5b5fd 100644
--- a/keyboards/keychron/v3/matrix.c
+++ b/keyboards/keychron/v3/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN A7
diff --git a/keyboards/keychron/v5/matrix.c b/keyboards/keychron/v5/matrix.c
index ced84428818..fc3a1c4c2c4 100644
--- a/keyboards/keychron/v5/matrix.c
+++ b/keyboards/keychron/v5/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
// Pin connected to DS of 74HC595
#define DATA_PIN C15
diff --git a/keyboards/keychron/v6/matrix.c b/keyboards/keychron/v6/matrix.c
index 9269fed8d66..87cda1774ad 100644
--- a/keyboards/keychron/v6/matrix.c
+++ b/keyboards/keychron/v6/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include
#ifndef PIN_USED_74HC595
# define PIN_USED_74HC595 8
diff --git a/keyboards/kinesis/nguyenvietyen/matrix.c b/keyboards/kinesis/nguyenvietyen/matrix.c
index d6ea67da681..4e4ca6f55cc 100644
--- a/keyboards/kinesis/nguyenvietyen/matrix.c
+++ b/keyboards/kinesis/nguyenvietyen/matrix.c
@@ -3,8 +3,6 @@
#include "matrix.h"
-#include "quantum.h"
-
static matrix_row_t read_row(uint8_t row) {
matrix_io_delay(); // without this wait read unstable value.
diff --git a/keyboards/matrix/abelx/matrix.c b/keyboards/matrix/abelx/matrix.c
index d8d87b7d895..d74ed957751 100644
--- a/keyboards/matrix/abelx/matrix.c
+++ b/keyboards/matrix/abelx/matrix.c
@@ -17,10 +17,6 @@
* along with this program. If not, see .
*/
-#include
-#include
-#include
-#include "quantum.h"
#include "matrix.h"
#include "tca6424.h"
#include "abelx.h"
diff --git a/keyboards/matrix/m12og/rev1/matrix.c b/keyboards/matrix/m12og/rev1/matrix.c
index 9c36153da10..c127aa35b90 100644
--- a/keyboards/matrix/m12og/rev1/matrix.c
+++ b/keyboards/matrix/m12og/rev1/matrix.c
@@ -14,12 +14,9 @@
* along with this program. If not, see .
*/
-#include
-#include
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/matrix/m20add/matrix.c b/keyboards/matrix/m20add/matrix.c
index e9ddbdff62b..85f5863725b 100644
--- a/keyboards/matrix/m20add/matrix.c
+++ b/keyboards/matrix/m20add/matrix.c
@@ -2,10 +2,6 @@
* matrix.c
*/
-#include
-#include
-#include
-#include "quantum.h"
#include "matrix.h"
#include "tca6424.h"
#include "m20add.h"
diff --git a/keyboards/matrix/noah/matrix.c b/keyboards/matrix/noah/matrix.c
index 90e7006b785..14e8188cb58 100644
--- a/keyboards/matrix/noah/matrix.c
+++ b/keyboards/matrix/noah/matrix.c
@@ -2,16 +2,10 @@
* matrix.c
*/
-#include
-#include
-#include
-#include
-#include
-#include "quantum.h"
+#include "matrix.h"
#include "timer.h"
#include "wait.h"
#include "print.h"
-#include "matrix.h"
#ifndef DEBOUNCE
# define DEBOUNCE 5
@@ -167,16 +161,16 @@ matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; }
void matrix_print(void)
{
- printf("\nr/c 01234567\n");
+ xprintf("\nr/c 01234567\n");
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- printf("%X0: ", row);
+ xprintf("%X0: ", row);
matrix_row_t data = matrix_get_row(row);
for (int col = 0; col < MATRIX_COLS; col++) {
if (data & (1<.
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
diff --git a/keyboards/mechlovin/infinity87/rev2/matrix.c b/keyboards/mechlovin/infinity87/rev2/matrix.c
index b1b0d20654c..62a56f687cb 100644
--- a/keyboards/mechlovin/infinity87/rev2/matrix.c
+++ b/keyboards/mechlovin/infinity87/rev2/matrix.c
@@ -16,13 +16,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
diff --git a/keyboards/mechlovin/infinity875/matrix.c b/keyboards/mechlovin/infinity875/matrix.c
index b1b0d20654c..62a56f687cb 100644
--- a/keyboards/mechlovin/infinity875/matrix.c
+++ b/keyboards/mechlovin/infinity875/matrix.c
@@ -16,13 +16,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
diff --git a/keyboards/mechlovin/olly/jf/rev1/matrix.c b/keyboards/mechlovin/olly/jf/rev1/matrix.c
index c01879c9a54..2abda55d0e8 100644
--- a/keyboards/mechlovin/olly/jf/rev1/matrix.c
+++ b/keyboards/mechlovin/olly/jf/rev1/matrix.c
@@ -16,13 +16,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
diff --git a/keyboards/mechlovin/serratus/matrix.c b/keyboards/mechlovin/serratus/matrix.c
index b1b0d20654c..62a56f687cb 100644
--- a/keyboards/mechlovin/serratus/matrix.c
+++ b/keyboards/mechlovin/serratus/matrix.c
@@ -16,13 +16,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
diff --git a/keyboards/mexsistor/ludmila/matrix.c b/keyboards/mexsistor/ludmila/matrix.c
index 338286a7db6..5d27ec683fa 100644
--- a/keyboards/mexsistor/ludmila/matrix.c
+++ b/keyboards/mexsistor/ludmila/matrix.c
@@ -14,12 +14,9 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "util.h"
#include "matrix.h"
-#include "quantum.h"
// Encoder things
#define ENC_SW F7
diff --git a/keyboards/miiiw/blackio83/matrix.c b/keyboards/miiiw/blackio83/matrix.c
index 841ff3c16e6..ab252f919b2 100644
--- a/keyboards/miiiw/blackio83/matrix.c
+++ b/keyboards/miiiw/blackio83/matrix.c
@@ -14,8 +14,8 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
+#include "wait.h"
#include "common/shift_register.h"
static uint8_t read_rows(void);
diff --git a/keyboards/mitosis/matrix.c b/keyboards/mitosis/matrix.c
index e5389bb113d..f122b989570 100644
--- a/keyboards/mitosis/matrix.c
+++ b/keyboards/mitosis/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c
index 8c9b6214dba..1cb9590e9f9 100644
--- a/keyboards/moon/matrix.c
+++ b/keyboards/moon/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#include "pca9555.h"
/*
diff --git a/keyboards/mt/split75/matrix.c b/keyboards/mt/split75/matrix.c
index 196a543faaf..df5e9c056b5 100644
--- a/keyboards/mt/split75/matrix.c
+++ b/keyboards/mt/split75/matrix.c
@@ -15,9 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_master.h"
#define RIGHT_HALF
diff --git a/keyboards/nullbitsco/nibble/matrix.c b/keyboards/nullbitsco/nibble/matrix.c
index 496c5dbe322..6508b704e9c 100644
--- a/keyboards/nullbitsco/nibble/matrix.c
+++ b/keyboards/nullbitsco/nibble/matrix.c
@@ -13,7 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "wait.h"
#define COL_SHIFTER ((uint32_t)1)
diff --git a/keyboards/nullbitsco/snap/matrix.c b/keyboards/nullbitsco/snap/matrix.c
index ceb9cd89841..3cd3f5c37e3 100644
--- a/keyboards/nullbitsco/snap/matrix.c
+++ b/keyboards/nullbitsco/snap/matrix.c
@@ -13,13 +13,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include
-#include
-#include
-#include "util.h"
#include "matrix.h"
+#include
#include "split_util.h"
-#include "quantum.h"
+#include "wait.h"
#define VIRT_COLS_PER_HAND 1
#define PHYS_COLS_PER_HAND (MATRIX_COLS - VIRT_COLS_PER_HAND)
diff --git a/keyboards/oddforge/vea/matrix.c b/keyboards/oddforge/vea/matrix.c
index 8b054ccbe04..36d4d3d353a 100644
--- a/keyboards/oddforge/vea/matrix.c
+++ b/keyboards/oddforge/vea/matrix.c
@@ -15,9 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_master.h"
#define RIGHT_HALF
diff --git a/keyboards/om60/matrix.c b/keyboards/om60/matrix.c
index 36867804689..b0e252ec458 100644
--- a/keyboards/om60/matrix.c
+++ b/keyboards/om60/matrix.c
@@ -15,7 +15,8 @@ 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 .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "wait.h"
#if (MATRIX_COLS <= 8)
# define ROW_SHIFTER ((uint8_t)1)
diff --git a/keyboards/pierce/matrix.c b/keyboards/pierce/matrix.c
index 5023024b8b5..bcc88f7aa99 100644
--- a/keyboards/pierce/matrix.c
+++ b/keyboards/pierce/matrix.c
@@ -14,7 +14,7 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_slave.h"
#define MY_I2C_ADDRESS (0x20U << 1)
diff --git a/keyboards/planck/rev6_drop/matrix.c b/keyboards/planck/rev6_drop/matrix.c
index e31e473ae25..d1403567388 100644
--- a/keyboards/planck/rev6_drop/matrix.c
+++ b/keyboards/planck/rev6_drop/matrix.c
@@ -15,7 +15,8 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "wait.h"
/* matrix state(1:on, 0:off) */
static pin_t matrix_row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/planck/rev7/matrix.c b/keyboards/planck/rev7/matrix.c
index 350ce93ce04..8cadfa5e8d5 100644
--- a/keyboards/planck/rev7/matrix.c
+++ b/keyboards/planck/rev7/matrix.c
@@ -15,11 +15,10 @@
* along with this program. If not, see .
*/
-#include "gpio.h"
-#include "hal_pal.h"
-#include "hal_pal_lld.h"
-#include "quantum.h"
+#include "matrix.h"
+#include
#include
+#include "wait.h"
// STM32-specific watchdog config calculations
// timeout = 31.25us * PR * (RL + 1)
diff --git a/keyboards/preonic/rev3_drop/matrix.c b/keyboards/preonic/rev3_drop/matrix.c
index 60718caaba8..1d9ab5e8118 100644
--- a/keyboards/preonic/rev3_drop/matrix.c
+++ b/keyboards/preonic/rev3_drop/matrix.c
@@ -15,7 +15,10 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "debug.h"
+#include "timer.h"
+#include "wait.h"
#ifndef DEBOUNCE
# define DEBOUNCE 5
diff --git a/keyboards/qvex/lynepad2/matrix.c b/keyboards/qvex/lynepad2/matrix.c
index 878ee6e2f72..89c56b8d406 100644
--- a/keyboards/qvex/lynepad2/matrix.c
+++ b/keyboards/qvex/lynepad2/matrix.c
@@ -14,13 +14,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
-#include
-#include "util.h"
#include "matrix.h"
-#include "debounce.h"
-#include "quantum.h"
+#include "wait.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/rate/pistachio_pro/matrix.c b/keyboards/rate/pistachio_pro/matrix.c
index 6cbfb6dfea1..bb962c76e22 100644
--- a/keyboards/rate/pistachio_pro/matrix.c
+++ b/keyboards/rate/pistachio_pro/matrix.c
@@ -14,10 +14,8 @@ 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 .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/redox/wireless/matrix.c b/keyboards/redox/wireless/matrix.c
index 9c50c9cecea..92960b916df 100644
--- a/keyboards/redox/wireless/matrix.c
+++ b/keyboards/redox/wireless/matrix.c
@@ -14,7 +14,6 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/redscarf_iiplus/verb/matrix.c b/keyboards/redscarf_iiplus/verb/matrix.c
index aa2cd8e5107..391a923f165 100755
--- a/keyboards/redscarf_iiplus/verb/matrix.c
+++ b/keyboards/redscarf_iiplus/verb/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/redscarf_iiplus/verc/matrix.c b/keyboards/redscarf_iiplus/verc/matrix.c
index aa2cd8e5107..391a923f165 100755
--- a/keyboards/redscarf_iiplus/verc/matrix.c
+++ b/keyboards/redscarf_iiplus/verc/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/redscarf_iiplus/verd/matrix.c b/keyboards/redscarf_iiplus/verd/matrix.c
index 382847e9419..b2046db2cef 100644
--- a/keyboards/redscarf_iiplus/verd/matrix.c
+++ b/keyboards/redscarf_iiplus/verd/matrix.c
@@ -14,15 +14,12 @@ 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 .
*/
-#include
-#include
#include "wait.h"
#include "print.h"
#include "debug.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
-#include "quantum.h"
#if (MATRIX_COLS <= 8)
# define print_matrix_header() print("\nr/c 01234567\n")
diff --git a/keyboards/ryanskidmore/rskeys100/matrix.c b/keyboards/ryanskidmore/rskeys100/matrix.c
index faefb29c84e..2ab9eafd7f5 100644
--- a/keyboards/ryanskidmore/rskeys100/matrix.c
+++ b/keyboards/ryanskidmore/rskeys100/matrix.c
@@ -17,10 +17,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
#include "matrix.h"
#include
-#include "quantum.h"
static const uint32_t col_values[24] = SHR_COLS;
diff --git a/keyboards/satt/comet46/matrix.c b/keyboards/satt/comet46/matrix.c
index 9a69724eb78..15a29c5a865 100644
--- a/keyboards/satt/comet46/matrix.c
+++ b/keyboards/satt/comet46/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/sirius/uni660/rev1/matrix.c b/keyboards/sirius/uni660/rev1/matrix.c
index f65bf0f26a0..3fe3563c211 100644
--- a/keyboards/sirius/uni660/rev1/matrix.c
+++ b/keyboards/sirius/uni660/rev1/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/sirius/uni660/rev2/matrix.c b/keyboards/sirius/uni660/rev2/matrix.c
index f65bf0f26a0..3fe3563c211 100644
--- a/keyboards/sirius/uni660/rev2/matrix.c
+++ b/keyboards/sirius/uni660/rev2/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/spiderisland/split78/matrix.c b/keyboards/spiderisland/split78/matrix.c
index 31ee29eaab6..23b37453517 100644
--- a/keyboards/spiderisland/split78/matrix.c
+++ b/keyboards/spiderisland/split78/matrix.c
@@ -15,9 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
-#include "quantum.h"
+#include "matrix.h"
#include "i2c_master.h"
#define RIGHT_HALF
diff --git a/keyboards/sthlmkb/lagom/matrix.c b/keyboards/sthlmkb/lagom/matrix.c
index d3dc0cb12aa..6a16722ad08 100644
--- a/keyboards/sthlmkb/lagom/matrix.c
+++ b/keyboards/sthlmkb/lagom/matrix.c
@@ -13,7 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "wait.h"
#define COL_SHIFTER ((uint32_t)1)
diff --git a/keyboards/switchplate/southpaw_65/matrix.c b/keyboards/switchplate/southpaw_65/matrix.c
index a7008e9c7d0..059934bf441 100644
--- a/keyboards/switchplate/southpaw_65/matrix.c
+++ b/keyboards/switchplate/southpaw_65/matrix.c
@@ -13,15 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include
-#include
-#include
-#include
#include "matrix.h"
#include "pca9555.h"
-#include "quantum.h"
-
-#include "debug.h"
// PCA9555 slave addresses
#define IC1 0x20
diff --git a/keyboards/telophase/matrix.c b/keyboards/telophase/matrix.c
index a18a2b20edd..c74ba0d7c70 100644
--- a/keyboards/telophase/matrix.c
+++ b/keyboards/telophase/matrix.c
@@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
#include "matrix.h"
#include "uart.h"
diff --git a/keyboards/touchpad/matrix.c b/keyboards/touchpad/matrix.c
index 87944cb7cc6..7929e0969b5 100644
--- a/keyboards/touchpad/matrix.c
+++ b/keyboards/touchpad/matrix.c
@@ -23,7 +23,8 @@ SOFTWARE.
#include "matrix.h"
#include "i2c_master.h"
-#include "quantum.h"
+#include "print.h"
+#include
#define VIBRATE_LENGTH 50 //Defines number of interrupts motor will vibrate for, must be bigger than 8 for correct operation
volatile uint8_t vibrate = 0; //Trigger vibration in interrupt
@@ -276,16 +277,16 @@ matrix_row_t matrix_get_row(uint8_t row) {
}
void matrix_print(void) {
- printf("\nr/c 01234567\n");
+ xprintf("\nr/c 01234567\n");
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- printf("%X0: ", row);
+ xprintf("%X0: ", row);
matrix_row_t data = matrix_get_row(row);
for (int col = 0; col < MATRIX_COLS; col++) {
if (data & (1<.
*/
+#include "matrix.h"
#include "mcp23018.h"
-#include "quantum.h"
+#include "print.h"
+#include "wait.h"
// Optimize scanning code for speed as a slight mitigation for the port expander
#pragma GCC push_options
diff --git a/keyboards/xiudi/xd84/matrix.c b/keyboards/xiudi/xd84/matrix.c
index d92ac83b4a7..ea1b4f55b40 100644
--- a/keyboards/xiudi/xd84/matrix.c
+++ b/keyboards/xiudi/xd84/matrix.c
@@ -13,15 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include
-#include
-#include
-#include
#include "matrix.h"
#include "pca9555.h"
-#include "quantum.h"
-
-#include "debug.h"
// PCA9555 slave addresses
#define IC1 0x20
diff --git a/keyboards/xiudi/xd96/matrix.c b/keyboards/xiudi/xd96/matrix.c
index 641202ca2c9..2c433f02b8a 100644
--- a/keyboards/xiudi/xd96/matrix.c
+++ b/keyboards/xiudi/xd96/matrix.c
@@ -13,15 +13,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include
-#include
-#include
-#include
#include "matrix.h"
#include "pca9555.h"
-#include "quantum.h"
-
-#include "debug.h"
+#include "wait.h"
// PCA9555 slave addresses
#define IC1 0x20
diff --git a/keyboards/ydkb/grape/matrix.c b/keyboards/ydkb/grape/matrix.c
index 700761fa448..3e070f8d7d5 100644
--- a/keyboards/ydkb/grape/matrix.c
+++ b/keyboards/ydkb/grape/matrix.c
@@ -15,10 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include
-#include
#include "matrix.h"
-#include "quantum.h"
#include "sn74x138.h"
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/yiancardesigns/barleycorn/matrix.c b/keyboards/yiancardesigns/barleycorn/matrix.c
index 9ef29265662..008f096266d 100644
--- a/keyboards/yiancardesigns/barleycorn/matrix.c
+++ b/keyboards/yiancardesigns/barleycorn/matrix.c
@@ -14,10 +14,8 @@ 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 .
*/
-#include
-#include
+#include "matrix.h"
#include "wait.h"
-#include "quantum.h"
#include "i2c_master.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/yiancardesigns/gingham/matrix.c b/keyboards/yiancardesigns/gingham/matrix.c
index d17518b4940..4e6319b52bc 100644
--- a/keyboards/yiancardesigns/gingham/matrix.c
+++ b/keyboards/yiancardesigns/gingham/matrix.c
@@ -14,10 +14,8 @@ 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 .
*/
-#include
-#include
+#include "matrix.h"
#include "wait.h"
-#include "quantum.h"
#include "i2c_master.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
diff --git a/keyboards/yiancardesigns/seigaiha/matrix.c b/keyboards/yiancardesigns/seigaiha/matrix.c
index 55ee239db4c..dc80c4becf9 100644
--- a/keyboards/yiancardesigns/seigaiha/matrix.c
+++ b/keyboards/yiancardesigns/seigaiha/matrix.c
@@ -14,10 +14,8 @@ 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 .
*/
-#include
-#include
+#include "matrix.h"
#include "wait.h"
-#include "quantum.h"
#include "i2c_master.h"
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
From 04d6803b34d80a6992f649d77f7a52209407312e Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Sat, 30 Mar 2024 17:19:03 +0000
Subject: [PATCH 03/64] Remove 'NO_USB_STARTUP_CHECK = no' from keyboards
(#23376)
---
keyboards/akegata_denki/device_one/rules.mk | 2 --
keyboards/coarse/ixora/rules.mk | 3 ---
keyboards/coarse/vinta/rules.mk | 2 --
keyboards/dztech/dz60rgb/v1/rules.mk | 1 -
keyboards/dztech/dz60rgb/v2/rules.mk | 1 -
keyboards/dztech/dz60rgb/v2_1/rules.mk | 1 -
keyboards/dztech/dz60rgb_ansi/v1/rules.mk | 1 -
keyboards/dztech/dz60rgb_ansi/v2/rules.mk | 1 -
keyboards/dztech/dz60rgb_wkl/v1/rules.mk | 1 -
keyboards/dztech/dz60rgb_wkl/v2/rules.mk | 1 -
keyboards/hand88/rules.mk | 1 -
keyboards/hs60/v2/ansi/rules.mk | 1 -
keyboards/hs60/v2/hhkb/rules.mk | 1 -
keyboards/hs60/v2/iso/rules.mk | 1 -
keyboards/kbdfans/bella/rgb/rules.mk | 1 -
keyboards/kbdfans/bella/rgb_iso/rules.mk | 1 -
keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk | 1 -
keyboards/kbdfans/maja/rules.mk | 1 -
keyboards/kbdfans/maja_soldered/rules.mk | 1 -
keyboards/keebwerk/mega/ansi/rules.mk | 1 -
keyboards/kprepublic/bm60hsrgb/rev2/rules.mk | 1 -
keyboards/latincompass/latin17rgb/rules.mk | 1 -
keyboards/latincompass/latin6rgb/rules.mk | 1 -
keyboards/melgeek/mj61/rev1/rules.mk | 1 -
keyboards/melgeek/mj61/rev2/rules.mk | 1 -
keyboards/melgeek/mj63/rev1/rules.mk | 1 -
keyboards/melgeek/mj63/rev2/rules.mk | 1 -
keyboards/melgeek/mj64/rev1/rules.mk | 1 -
keyboards/melgeek/mj64/rev2/rules.mk | 1 -
keyboards/melgeek/mj64/rev3/rules.mk | 1 -
keyboards/melgeek/mj65/rev3/rules.mk | 2 +-
keyboards/miller/gm862/rules.mk | 1 -
keyboards/novelkeys/nk65/rules.mk | 1 -
keyboards/spaceholdings/nebula12/rules.mk | 1 -
keyboards/spaceholdings/nebula68/rules.mk | 1 -
keyboards/xbows/woody/rules.mk | 1 -
36 files changed, 1 insertion(+), 40 deletions(-)
diff --git a/keyboards/akegata_denki/device_one/rules.mk b/keyboards/akegata_denki/device_one/rules.mk
index 26de1138e5f..ecb62658826 100644
--- a/keyboards/akegata_denki/device_one/rules.mk
+++ b/keyboards/akegata_denki/device_one/rules.mk
@@ -8,5 +8,3 @@ EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
-
diff --git a/keyboards/coarse/ixora/rules.mk b/keyboards/coarse/ixora/rules.mk
index af1134ce298..285aeb82028 100644
--- a/keyboards/coarse/ixora/rules.mk
+++ b/keyboards/coarse/ixora/rules.mk
@@ -8,6 +8,3 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
-
-
diff --git a/keyboards/coarse/vinta/rules.mk b/keyboards/coarse/vinta/rules.mk
index cedbfeb321f..285aeb82028 100644
--- a/keyboards/coarse/vinta/rules.mk
+++ b/keyboards/coarse/vinta/rules.mk
@@ -8,5 +8,3 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
-
diff --git a/keyboards/dztech/dz60rgb/v1/rules.mk b/keyboards/dztech/dz60rgb/v1/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/dztech/dz60rgb/v1/rules.mk
+++ b/keyboards/dztech/dz60rgb/v1/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/dztech/dz60rgb/v2/rules.mk b/keyboards/dztech/dz60rgb/v2/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/dztech/dz60rgb/v2/rules.mk
+++ b/keyboards/dztech/dz60rgb/v2/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/dztech/dz60rgb/v2_1/rules.mk b/keyboards/dztech/dz60rgb/v2_1/rules.mk
index 832eb95f50f..5c51de83766 100644
--- a/keyboards/dztech/dz60rgb/v2_1/rules.mk
+++ b/keyboards/dztech/dz60rgb/v2_1/rules.mk
@@ -13,7 +13,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LTO_ENABLE = yes
SPACE_CADET_ENABLE = no
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/rules.mk b/keyboards/dztech/dz60rgb_ansi/v1/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/rules.mk
+++ b/keyboards/dztech/dz60rgb_ansi/v1/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/rules.mk b/keyboards/dztech/dz60rgb_ansi/v2/rules.mk
index 17e0aea48d8..f478792adbc 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/rules.mk
+++ b/keyboards/dztech/dz60rgb_ansi/v2/rules.mk
@@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LTO_ENABLE = yes
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/rules.mk b/keyboards/dztech/dz60rgb_wkl/v1/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/rules.mk
+++ b/keyboards/dztech/dz60rgb_wkl/v1/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/rules.mk b/keyboards/dztech/dz60rgb_wkl/v2/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/rules.mk
+++ b/keyboards/dztech/dz60rgb_wkl/v2/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/hand88/rules.mk b/keyboards/hand88/rules.mk
index 475da662628..d3ca7b060e1 100644
--- a/keyboards/hand88/rules.mk
+++ b/keyboards/hand88/rules.mk
@@ -11,4 +11,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/hs60/v2/ansi/rules.mk b/keyboards/hs60/v2/ansi/rules.mk
index bc8cb00131d..96e559f742e 100644
--- a/keyboards/hs60/v2/ansi/rules.mk
+++ b/keyboards/hs60/v2/ansi/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/hhkb/rules.mk b/keyboards/hs60/v2/hhkb/rules.mk
index bc8cb00131d..96e559f742e 100644
--- a/keyboards/hs60/v2/hhkb/rules.mk
+++ b/keyboards/hs60/v2/hhkb/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/iso/rules.mk b/keyboards/hs60/v2/iso/rules.mk
index bc8cb00131d..96e559f742e 100644
--- a/keyboards/hs60/v2/iso/rules.mk
+++ b/keyboards/hs60/v2/iso/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
CIE1931_CURVE = yes
diff --git a/keyboards/kbdfans/bella/rgb/rules.mk b/keyboards/kbdfans/bella/rgb/rules.mk
index d4493d25e0e..3d0767ea6d8 100644
--- a/keyboards/kbdfans/bella/rgb/rules.mk
+++ b/keyboards/kbdfans/bella/rgb/rules.mk
@@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/bella/rgb_iso/rules.mk b/keyboards/kbdfans/bella/rgb_iso/rules.mk
index d4493d25e0e..3d0767ea6d8 100644
--- a/keyboards/kbdfans/bella/rgb_iso/rules.mk
+++ b/keyboards/kbdfans/bella/rgb_iso/rules.mk
@@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk
index 05b460b165b..502113e3b85 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/kbdfans/maja/rules.mk b/keyboards/kbdfans/maja/rules.mk
index d0606ec4ddd..a59c9aa4cf9 100755
--- a/keyboards/kbdfans/maja/rules.mk
+++ b/keyboards/kbdfans/maja/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/kbdfans/maja_soldered/rules.mk b/keyboards/kbdfans/maja_soldered/rules.mk
index ea875031b1f..901d395d65a 100755
--- a/keyboards/kbdfans/maja_soldered/rules.mk
+++ b/keyboards/kbdfans/maja_soldered/rules.mk
@@ -9,4 +9,3 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/keebwerk/mega/ansi/rules.mk b/keyboards/keebwerk/mega/ansi/rules.mk
index e257f3063ff..82d4a940ede 100755
--- a/keyboards/keebwerk/mega/ansi/rules.mk
+++ b/keyboards/keebwerk/mega/ansi/rules.mk
@@ -15,7 +15,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
CIE1931_CURVE = yes
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rules.mk b/keyboards/kprepublic/bm60hsrgb/rev2/rules.mk
index 805593ed5be..cbe283378da 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/rules.mk
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/rules.mk
@@ -10,7 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no
LTO_ENABLE = yes
RGB_MATRIX_ENABLE = yes
WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/latincompass/latin17rgb/rules.mk b/keyboards/latincompass/latin17rgb/rules.mk
index 53e01e55d24..0af5f68e5e1 100644
--- a/keyboards/latincompass/latin17rgb/rules.mk
+++ b/keyboards/latincompass/latin17rgb/rules.mk
@@ -10,5 +10,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/latincompass/latin6rgb/rules.mk b/keyboards/latincompass/latin6rgb/rules.mk
index f3108efe8b2..c05a204a403 100644
--- a/keyboards/latincompass/latin6rgb/rules.mk
+++ b/keyboards/latincompass/latin6rgb/rules.mk
@@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_SUPPORTED = yes
diff --git a/keyboards/melgeek/mj61/rev1/rules.mk b/keyboards/melgeek/mj61/rev1/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj61/rev1/rules.mk
+++ b/keyboards/melgeek/mj61/rev1/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj61/rev2/rules.mk b/keyboards/melgeek/mj61/rev2/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj61/rev2/rules.mk
+++ b/keyboards/melgeek/mj61/rev2/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj63/rev1/rules.mk b/keyboards/melgeek/mj63/rev1/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj63/rev1/rules.mk
+++ b/keyboards/melgeek/mj63/rev1/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj63/rev2/rules.mk b/keyboards/melgeek/mj63/rev2/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj63/rev2/rules.mk
+++ b/keyboards/melgeek/mj63/rev2/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj64/rev1/rules.mk b/keyboards/melgeek/mj64/rev1/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj64/rev1/rules.mk
+++ b/keyboards/melgeek/mj64/rev1/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj64/rev2/rules.mk b/keyboards/melgeek/mj64/rev2/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj64/rev2/rules.mk
+++ b/keyboards/melgeek/mj64/rev2/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj64/rev3/rules.mk b/keyboards/melgeek/mj64/rev3/rules.mk
index 30e3240a944..c66b1abcd45 100644
--- a/keyboards/melgeek/mj64/rev3/rules.mk
+++ b/keyboards/melgeek/mj64/rev3/rules.mk
@@ -10,4 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/melgeek/mj65/rev3/rules.mk b/keyboards/melgeek/mj65/rev3/rules.mk
index b3984d93c02..7a3d7020d90 100644
--- a/keyboards/melgeek/mj65/rev3/rules.mk
+++ b/keyboards/melgeek/mj65/rev3/rules.mk
@@ -10,7 +10,7 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+
RGB_MATRIX_SUPPORTED = yes
RGBLIGHT_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
diff --git a/keyboards/miller/gm862/rules.mk b/keyboards/miller/gm862/rules.mk
index 9f3770f0f40..ea646d3d939 100644
--- a/keyboards/miller/gm862/rules.mk
+++ b/keyboards/miller/gm862/rules.mk
@@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
diff --git a/keyboards/novelkeys/nk65/rules.mk b/keyboards/novelkeys/nk65/rules.mk
index d71d9a6c4e8..5827e557b95 100755
--- a/keyboards/novelkeys/nk65/rules.mk
+++ b/keyboards/novelkeys/nk65/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
CIE1931_CURVE = yes
diff --git a/keyboards/spaceholdings/nebula12/rules.mk b/keyboards/spaceholdings/nebula12/rules.mk
index 191a1c0a1b5..a0b1795cee0 100755
--- a/keyboards/spaceholdings/nebula12/rules.mk
+++ b/keyboards/spaceholdings/nebula12/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
RGBLIGHT_ENABLE = yes # Underglow RGB
CIE1931_CURVE = yes
diff --git a/keyboards/spaceholdings/nebula68/rules.mk b/keyboards/spaceholdings/nebula68/rules.mk
index 627f82784eb..d2484b627c3 100755
--- a/keyboards/spaceholdings/nebula68/rules.mk
+++ b/keyboards/spaceholdings/nebula68/rules.mk
@@ -14,7 +14,6 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
RGBLIGHT_ENABLE = yes # Underglow RGB
CIE1931_CURVE = yes
diff --git a/keyboards/xbows/woody/rules.mk b/keyboards/xbows/woody/rules.mk
index 90dd66d7722..d9a69f35bb6 100644
--- a/keyboards/xbows/woody/rules.mk
+++ b/keyboards/xbows/woody/rules.mk
@@ -10,4 +10,3 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = yes # Use RGB matrix
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
From 6dbc1b800fdcdc3af508886660808f0a7623e41a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Strza=C5=82ka?=
<32881628+philvec@users.noreply.github.com>
Date: Sat, 30 Mar 2024 18:48:50 +0100
Subject: [PATCH 04/64] [Keyboard] add arrowmechanics/wings (#23328)
Co-authored-by: Arrow Mechanics
Co-authored-by: Joel Challis
Co-authored-by: Drashna Jaelre
---
keyboards/arrowmechanics/wings/config.h | 11 +
keyboards/arrowmechanics/wings/halconf.h | 9 +
keyboards/arrowmechanics/wings/info.json | 320 ++++++++++++++++++
.../wings/keymaps/default/keymap.c | 25 ++
.../wings/keymaps/default/rules.mk | 1 +
keyboards/arrowmechanics/wings/mcuconf.h | 9 +
keyboards/arrowmechanics/wings/readme.md | 29 ++
keyboards/arrowmechanics/wings/rules.mk | 2 +
8 files changed, 406 insertions(+)
create mode 100644 keyboards/arrowmechanics/wings/config.h
create mode 100644 keyboards/arrowmechanics/wings/halconf.h
create mode 100644 keyboards/arrowmechanics/wings/info.json
create mode 100644 keyboards/arrowmechanics/wings/keymaps/default/keymap.c
create mode 100644 keyboards/arrowmechanics/wings/keymaps/default/rules.mk
create mode 100644 keyboards/arrowmechanics/wings/mcuconf.h
create mode 100644 keyboards/arrowmechanics/wings/readme.md
create mode 100644 keyboards/arrowmechanics/wings/rules.mk
diff --git a/keyboards/arrowmechanics/wings/config.h b/keyboards/arrowmechanics/wings/config.h
new file mode 100644
index 00000000000..bd58c470034
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/config.h
@@ -0,0 +1,11 @@
+// Copyright 2024 Filip Strzałka (@philvec)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#define SERIAL_USART_FULL_DUPLEX
+
+#define AUDIO_PIN GP4
+#define AUDIO_PWM_DRIVER PWMD2
+#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A
+#define AUDIO_INIT_DELAY
diff --git a/keyboards/arrowmechanics/wings/halconf.h b/keyboards/arrowmechanics/wings/halconf.h
new file mode 100644
index 00000000000..772f7982164
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/halconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Filip Strzałka (@philvec)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include_next
+
+#undef HAL_USE_PWM
+#define HAL_USE_PWM TRUE
diff --git a/keyboards/arrowmechanics/wings/info.json b/keyboards/arrowmechanics/wings/info.json
new file mode 100644
index 00000000000..fca38314c9b
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/info.json
@@ -0,0 +1,320 @@
+{
+ "manufacturer": "Arrow Mechanics",
+ "keyboard_name": "WINGS Mark 1",
+ "maintainer": "arrowmechanics",
+ "bootloader": "rp2040",
+ "diode_direction": "ROW2COL",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "GP6", "pin_b": "GP7", "resolution": 2}
+ ]
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16"],
+ "rows": ["GP22", "GP21", "GP20", "GP19", "GP18", "GP17"]
+ },
+ "processor": "RP2040",
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_sat": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "band_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "jellybean_raindrops": true,
+ "multisplash": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_multisplash": true,
+ "solid_reactive": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "animation": "breathing",
+ "hue": 192
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [0, 7], "x": 93, "y": 2, "flags": 4},
+ {"matrix": [0, 6], "x": 80, "y": 1, "flags": 4},
+ {"matrix": [0, 5], "x": 67, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 54, "y": 1, "flags": 4},
+ {"matrix": [0, 3], "x": 42, "y": 3, "flags": 4},
+ {"matrix": [0, 2], "x": 29, "y": 5, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4},
+ {"matrix": [0, 0], "x": 3, "y": 5, "flags": 4},
+
+ {"matrix": [1, 0], "x": 3, "y": 17, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 17, "flags": 4},
+ {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4},
+ {"matrix": [1, 3], "x": 42, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 54, "y": 13, "flags": 4},
+ {"matrix": [1, 5], "x": 67, "y": 12, "flags": 4},
+ {"matrix": [1, 6], "x": 80, "y": 13, "flags": 4},
+ {"matrix": [1, 7], "x": 93, "y": 14, "flags": 4},
+
+ {"matrix": [2, 8], "x": 106, "y": 25, "flags": 4},
+ {"matrix": [2, 7], "x": 93, "y": 25, "flags": 4},
+ {"matrix": [2, 6], "x": 80, "y": 25, "flags": 4},
+ {"matrix": [2, 5], "x": 67, "y": 24, "flags": 4},
+ {"matrix": [2, 4], "x": 54, "y": 25, "flags": 4},
+ {"matrix": [2, 3], "x": 42, "y": 27, "flags": 4},
+ {"matrix": [2, 2], "x": 26, "y": 29, "flags": 4},
+ {"matrix": [2, 0], "x": 6, "y": 29, "flags": 4},
+
+ {"matrix": [3, 0], "x": 3, "y": 40, "flags": 4},
+ {"matrix": [3, 2], "x": 22, "y": 40, "flags": 4},
+ {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 54, "y": 36, "flags": 4},
+ {"matrix": [3, 5], "x": 67, "y": 35, "flags": 4},
+ {"matrix": [3, 6], "x": 80, "y": 36, "flags": 4},
+ {"matrix": [3, 7], "x": 93, "y": 37, "flags": 4},
+ {"matrix": [3, 8], "x": 106, "y": 37, "flags": 4},
+
+ {"matrix": [4, 8], "x": 106, "y": 49, "flags": 4},
+ {"matrix": [4, 7], "x": 93, "y": 49, "flags": 4},
+ {"matrix": [4, 6], "x": 80, "y": 48, "flags": 4},
+ {"matrix": [4, 5], "x": 67, "y": 47, "flags": 4},
+ {"matrix": [4, 4], "x": 54, "y": 48, "flags": 4},
+ {"matrix": [4, 3], "x": 42, "y": 50, "flags": 4},
+ {"matrix": [4, 1], "x": 21, "y": 52, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [5, 1], "x": 13, "y": 64, "flags": 4},
+ {"matrix": [5, 2], "x": 26, "y": 64, "flags": 4},
+ {"matrix": [5, 3], "x": 43, "y": 62, "flags": 4},
+ {"matrix": [5, 4], "x": 59, "y": 60, "flags": 4},
+ {"matrix": [5, 6], "x": 75, "y": 60, "flags": 4},
+ {"matrix": [5, 7], "x": 98, "y": 61, "flags": 4},
+
+ {"matrix": [6, 1], "x": 131, "y": 2, "flags": 4},
+ {"matrix": [6, 2], "x": 144, "y": 1, "flags": 4},
+ {"matrix": [6, 3], "x": 157, "y": 0, "flags": 4},
+ {"matrix": [6, 4], "x": 170, "y": 1, "flags": 4},
+ {"matrix": [6, 5], "x": 182, "y": 3, "flags": 4},
+ {"matrix": [6, 6], "x": 195, "y": 5, "flags": 4},
+ {"matrix": [6, 7], "x": 208, "y": 5, "flags": 4},
+ {"matrix": [6, 8], "x": 221, "y": 5, "flags": 4},
+
+ {"matrix": [7, 8], "x": 214, "y": 17, "flags": 4},
+ {"matrix": [7, 6], "x": 195, "y": 17, "flags": 4},
+ {"matrix": [7, 5], "x": 182, "y": 15, "flags": 4},
+ {"matrix": [7, 4], "x": 170, "y": 13, "flags": 4},
+ {"matrix": [7, 3], "x": 157, "y": 12, "flags": 4},
+ {"matrix": [7, 2], "x": 144, "y": 13, "flags": 4},
+ {"matrix": [7, 1], "x": 131, "y": 14, "flags": 4},
+
+ {"matrix": [8, 0], "x": 118, "y": 25, "flags": 4},
+ {"matrix": [8, 1], "x": 131, "y": 25, "flags": 4},
+ {"matrix": [8, 2], "x": 144, "y": 25, "flags": 4},
+ {"matrix": [8, 3], "x": 157, "y": 24, "flags": 4},
+ {"matrix": [8, 4], "x": 170, "y": 25, "flags": 4},
+ {"matrix": [8, 5], "x": 182, "y": 27, "flags": 4},
+ {"matrix": [8, 6], "x": 195, "y": 29, "flags": 4},
+ {"matrix": [8, 7], "x": 208, "y": 29, "flags": 4},
+ {"matrix": [8, 8], "x": 221, "y": 29, "flags": 4},
+
+ {"matrix": [9, 8], "x": 216, "y": 40, "flags": 4},
+ {"matrix": [9, 6], "x": 195, "y": 40, "flags": 4},
+ {"matrix": [9, 5], "x": 182, "y": 38, "flags": 4},
+ {"matrix": [9, 4], "x": 170, "y": 36, "flags": 4},
+ {"matrix": [9, 3], "x": 157, "y": 35, "flags": 4},
+ {"matrix": [9, 2], "x": 144, "y": 36, "flags": 4},
+ {"matrix": [9, 1], "x": 131, "y": 37, "flags": 4},
+ {"matrix": [9, 0], "x": 118, "y": 37, "flags": 4},
+
+ {"matrix": [10, 0], "x": 118, "y": 49, "flags": 4},
+ {"matrix": [10, 1], "x": 131, "y": 49, "flags": 4},
+ {"matrix": [10, 2], "x": 144, "y": 48, "flags": 4},
+ {"matrix": [10, 3], "x": 157, "y": 47, "flags": 4},
+ {"matrix": [10, 4], "x": 170, "y": 48, "flags": 4},
+ {"matrix": [10, 5], "x": 182, "y": 50, "flags": 4},
+ {"matrix": [10, 6], "x": 197, "y": 52, "flags": 4},
+ {"matrix": [10, 7], "x": 211, "y": 52, "flags": 4},
+ {"matrix": [10, 8], "x": 224, "y": 52, "flags": 4},
+
+ {"matrix": [11, 8], "x": 224, "y": 64, "flags": 4},
+ {"matrix": [11, 7], "x": 211, "y": 64, "flags": 4},
+ {"matrix": [11, 6], "x": 198, "y": 64, "flags": 4},
+ {"matrix": [11, 5], "x": 181, "y": 62, "flags": 4},
+ {"matrix": [11, 4], "x": 165, "y": 60, "flags": 4},
+ {"matrix": [11, 2], "x": 149, "y": 60, "flags": 4},
+ {"matrix": [11, 1], "x": 126, "y": 61, "flags": 4}
+ ],
+ "split_count": [47, 48]
+ },
+ "split": {
+ "enabled": true,
+ "transport": {
+ "sync": {
+ "layer_state": true,
+ "matrix_state": true
+ }
+ }
+ },
+ "tags": ["columnar", "split", "rgb", "hotswap", "encoder"],
+ "url": "https://arrowmechanics.com",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x3134",
+ "vid": "0xA880"
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP26"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0.25, "y": 0.43},
+ {"matrix": [0, 1], "x": 1.25, "y": 0.43},
+ {"matrix": [0, 2], "x": 2.25, "y": 0.43},
+ {"matrix": [0, 3], "x": 3.25, "y": 0.25},
+ {"matrix": [0, 4], "x": 4.25, "y": 0.08},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0.08},
+ {"matrix": [0, 7], "x": 7.25, "y": 0.15},
+
+ {"matrix": [6, 1], "x": 10.45, "y": 0.15},
+ {"matrix": [6, 2], "x": 11.45, "y": 0.08},
+ {"matrix": [6, 3], "x": 12.45, "y": 0},
+ {"matrix": [6, 4], "x": 13.45, "y": 0.08},
+ {"matrix": [6, 5], "x": 14.45, "y": 0.25},
+ {"matrix": [6, 6], "x": 15.45, "y": 0.43},
+ {"matrix": [6, 7], "x": 16.45, "y": 0.43},
+ {"matrix": [6, 8], "x": 17.45, "y": 0.43},
+
+ {"matrix": [1, 0], "x": 0.25, "y": 1.43},
+ {"matrix": [1, 1], "x": 1.25, "y": 1.43},
+ {"matrix": [1, 2], "x": 2.25, "y": 1.43},
+ {"matrix": [1, 3], "x": 3.25, "y": 1.25},
+ {"matrix": [1, 4], "x": 4.25, "y": 1.08},
+ {"matrix": [1, 5], "x": 5.25, "y": 1},
+ {"matrix": [1, 6], "x": 6.25, "y": 1.08},
+ {"matrix": [1, 7], "x": 7.25, "y": 1.15},
+ {"matrix": [1, 8], "x": 8.25, "y": 1.15, "encoder": 0},
+
+ {"matrix": [7, 0], "x": 9.45, "y": 1.15},
+ {"matrix": [7, 1], "x": 10.45, "y": 1.15},
+ {"matrix": [7, 2], "x": 11.45, "y": 1.08},
+ {"matrix": [7, 3], "x": 12.45, "y": 1},
+ {"matrix": [7, 4], "x": 13.45, "y": 1.08},
+ {"matrix": [7, 5], "x": 14.45, "y": 1.25},
+ {"matrix": [7, 6], "x": 15.45, "y": 1.43},
+ {"matrix": [7, 8], "x": 16.45, "y": 1.43, "w": 2},
+
+ {"matrix": [2, 0], "x": 0.25, "y": 2.43, "w": 1.5},
+ {"matrix": [2, 2], "x": 1.75, "y": 2.43, "w": 1.5},
+ {"matrix": [2, 3], "x": 3.25, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.25, "y": 2.08},
+ {"matrix": [2, 5], "x": 5.25, "y": 2},
+ {"matrix": [2, 6], "x": 6.25, "y": 2.08},
+ {"matrix": [2, 7], "x": 7.25, "y": 2.15},
+ {"matrix": [2, 8], "x": 8.25, "y": 2.15},
+
+ {"matrix": [8, 0], "x": 9.45, "y": 2.15},
+ {"matrix": [8, 1], "x": 10.45, "y": 2.15},
+ {"matrix": [8, 2], "x": 11.45, "y": 2.08},
+ {"matrix": [8, 3], "x": 12.45, "y": 2},
+ {"matrix": [8, 4], "x": 13.45, "y": 2.08},
+ {"matrix": [8, 5], "x": 14.45, "y": 2.25},
+ {"matrix": [8, 6], "x": 15.45, "y": 2.43},
+ {"matrix": [8, 7], "x": 16.45, "y": 2.43},
+ {"matrix": [8, 8], "x": 17.45, "y": 2.43},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.43, "w": 1.5},
+ {"matrix": [3, 2], "x": 1.5, "y": 3.43, "w": 1.75},
+ {"matrix": [3, 3], "x": 3.25, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.25, "y": 3.08},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3.08},
+ {"matrix": [3, 7], "x": 7.25, "y": 3.15},
+ {"matrix": [3, 8], "x": 8.25, "y": 3.15},
+
+ {"matrix": [9, 0], "x": 9.45, "y": 3.15},
+ {"matrix": [9, 1], "x": 10.45, "y": 3.15},
+ {"matrix": [9, 2], "x": 11.45, "y": 3.08},
+ {"matrix": [9, 3], "x": 12.45, "y": 3},
+ {"matrix": [9, 4], "x": 13.45, "y": 3.08},
+ {"matrix": [9, 5], "x": 14.45, "y": 3.25},
+ {"matrix": [9, 6], "x": 15.45, "y": 3.43},
+ {"matrix": [9, 8], "x": 16.45, "y": 3.43, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.43},
+ {"matrix": [4, 1], "x": 1, "y": 4.43, "w": 2.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.08},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.08},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.15},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.15},
+
+ {"matrix": [10, 0], "x": 9.45, "y": 4.15},
+ {"matrix": [10, 1], "x": 10.45, "y": 4.15},
+ {"matrix": [10, 2], "x": 11.45, "y": 4.08},
+ {"matrix": [10, 3], "x": 12.45, "y": 4},
+ {"matrix": [10, 4], "x": 13.45, "y": 4.08},
+ {"matrix": [10, 5], "x": 14.45, "y": 4.25},
+ {"matrix": [10, 6], "x": 15.45, "y": 4.43, "w": 1.25},
+ {"matrix": [10, 7], "x": 16.7, "y": 4.43},
+ {"matrix": [10, 8], "x": 17.7, "y": 4.43},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.43},
+ {"matrix": [5, 1], "x": 1, "y": 5.43},
+ {"matrix": [5, 2], "x": 2, "y": 5.43},
+ {"matrix": [5, 3], "x": 3.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 4], "x": 4.5, "y": 5.08, "w": 1.25},
+ {"matrix": [5, 6], "x": 5.75, "y": 5.08, "w": 1.25},
+ {"matrix": [5, 7], "x": 7, "y": 5.15, "w": 2.25},
+
+ {"matrix": [11, 1], "x": 9.45, "y": 5.15, "w": 2.25},
+ {"matrix": [11, 2], "x": 11.7, "y": 5.08, "w": 1.25},
+ {"matrix": [11, 4], "x": 12.95, "y": 5.08, "w": 1.25},
+ {"matrix": [11, 5], "x": 14.2, "y": 5.25, "w": 1.25},
+ {"matrix": [11, 6], "x": 15.7, "y": 5.43},
+ {"matrix": [11, 7], "x": 16.7, "y": 5.43},
+ {"matrix": [11, 8], "x": 17.7, "y": 5.43}
+ ]
+ }
+ }
+}
diff --git a/keyboards/arrowmechanics/wings/keymaps/default/keymap.c b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c
new file mode 100644
index 00000000000..949219b820b
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2024 Filip Strzałka (@philvec)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ BASE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT(
+ KC_VOLU, 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_EQL, KC_PSCR, KC_DEL,
+ KC_VOLD, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RGB_MOD, KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
+ KC_MPLY, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, C(KC_C), C(KC_V), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_MNXT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, C(KC_Z), C(KC_Y), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_MPRV, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_HOME,
+ KC_LCTL, KC_NO, KC_NO, KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCMD, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [BASE] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
+};
+#endif
diff --git a/keyboards/arrowmechanics/wings/keymaps/default/rules.mk b/keyboards/arrowmechanics/wings/keymaps/default/rules.mk
new file mode 100644
index 00000000000..ee325681483
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/arrowmechanics/wings/mcuconf.h b/keyboards/arrowmechanics/wings/mcuconf.h
new file mode 100644
index 00000000000..80214c1bbd8
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Filip Strzałka (@philvec)
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include_next
+
+#undef RP_PWM_USE_PWM2
+#define RP_PWM_USE_PWM2 TRUE
diff --git a/keyboards/arrowmechanics/wings/readme.md b/keyboards/arrowmechanics/wings/readme.md
new file mode 100644
index 00000000000..8f167174e3d
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/readme.md
@@ -0,0 +1,29 @@
+# Arrow Mechanics WINGS Mark 1
+
+
+
+ErgoDox-inspired SPLIT keyboard by [Arrow Mechanics](https://www.arrowmechanics.com/)
+
+* 94 GATERON Low Profile 2.0 hotswap sockets
+* RGB diode under each key for WS2812-driven lighting with [RGB Matrix](https://docs.qmk.fm/#/feature_rgb_matrix)
+* 2 rotary encoders, one per half, with push-switches
+* Buzzers for sound effects and/or [Music Mode](https://docs.qmk.fm/#/feature_audio?id=music-mode)
+* Handy magnetic connectors for joining the halves together or splitting with the use of dedicated cable
+* Anti-slip pads with magnetic expanding-legs for conveniently adjusting height/lean
+* RP2040 Chip + 16MB Flash memory - Dual-core Cortex M0+
+---
+* Keyboard Maintainer: [arrowmechanics](https://github.com/arrowmechanics/)
+* Hardware Supported: [Arrow Mechanics WINGS Keyboard set](https://www.arrowmechanics.com/produkty?view=product&id=8)
+* Hardware Availability: [Official Arrow Mechanics E-SHOP](https://www.arrowmechanics.com/produkty?view=product&id=8)
+
+Flashing example for this keyboard:
+
+ qmk flash -kb arrowmechanics/wings -km 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).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+* **Bootmagic reset**: Hold down the top-left corner key on power-up.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/arrowmechanics/wings/rules.mk b/keyboards/arrowmechanics/wings/rules.mk
new file mode 100644
index 00000000000..22ce54190c8
--- /dev/null
+++ b/keyboards/arrowmechanics/wings/rules.mk
@@ -0,0 +1,2 @@
+SERIAL_DRIVER = vendor
+AUDIO_DRIVER = pwm_hardware
From 72ec742d2c35b364d8756109e552abaf62298b08 Mon Sep 17 00:00:00 2001
From: c0ldbru
Date: Sat, 30 Mar 2024 13:52:40 -0400
Subject: [PATCH 05/64] [Keyboard] Add rot13labs hackboard (#23218)
Co-authored-by: c0ldbru
Co-authored-by: Duncan Sutherland
---
keyboards/rot13labs/hackboard/info.json | 132 ++++++++++++++++++
.../hackboard/keymaps/default/keymap.c | 36 +++++
keyboards/rot13labs/hackboard/readme.md | 22 +++
keyboards/rot13labs/hackboard/rules.mk | 2 +
4 files changed, 192 insertions(+)
create mode 100644 keyboards/rot13labs/hackboard/info.json
create mode 100644 keyboards/rot13labs/hackboard/keymaps/default/keymap.c
create mode 100644 keyboards/rot13labs/hackboard/readme.md
create mode 100644 keyboards/rot13labs/hackboard/rules.mk
diff --git a/keyboards/rot13labs/hackboard/info.json b/keyboards/rot13labs/hackboard/info.json
new file mode 100644
index 00000000000..7ed0b5bd97a
--- /dev/null
+++ b/keyboards/rot13labs/hackboard/info.json
@@ -0,0 +1,132 @@
+{
+ "keyboard_name": "HACKBOARD",
+ "manufacturer": "rot13labs",
+ "url": "https://rot13labs.com",
+ "maintainer": "c0ldbru",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false
+ },
+ "usb": {
+ "vid": "0xBEEF",
+ "pid": "0xCAFE",
+ "device_version": "1.0.0"
+ },
+ "matrix_pins": {
+ "cols": ["A0", "B0", "A1", "B1", "A2", "B2", "A3", "B3", "A4", "B4", "A5", "A6", "A7", "D6", "D5", "D1", "D0", "D7"],
+ "rows": ["C2", "C3", "C7", "C4", "C6", "C5"]
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "atmega32a",
+ "bootloader": "usbasploader",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 1], "x": 6, "y": 0, "w": 0.75, "h": 0.75},
+
+ {"matrix": [0, 0], "x": 0, "y": 1},
+
+ {"matrix": [0, 2], "x": 2, "y": 1},
+ {"matrix": [0, 3], "x": 3, "y": 1},
+ {"matrix": [0, 4], "x": 4, "y": 1},
+ {"matrix": [0, 5], "x": 5, "y": 1},
+
+ {"matrix": [0, 6], "x": 6.5, "y": 1},
+ {"matrix": [0, 7], "x": 7.5, "y": 1},
+ {"matrix": [0, 8], "x": 8.5, "y": 1},
+ {"matrix": [0, 9], "x": 9.5, "y": 1},
+
+ {"matrix": [0, 11], "x": 11, "y": 1},
+ {"matrix": [0, 12], "x": 12, "y": 1},
+ {"matrix": [0, 13], "x": 13, "y": 1},
+ {"matrix": [0, 14], "x": 14, "y": 1},
+
+ {"matrix": [0, 15], "x": 15.25, "y": 1},
+ {"matrix": [0, 16], "x": 16.25, "y": 1},
+ {"matrix": [0, 17], "x": 17.25, "y": 1},
+
+ {"matrix": [1, 0], "x": 0, "y": 2.25},
+ {"matrix": [1, 1], "x": 1, "y": 2.25},
+ {"matrix": [1, 2], "x": 2, "y": 2.25},
+ {"matrix": [1, 3], "x": 3, "y": 2.25},
+ {"matrix": [1, 4], "x": 4, "y": 2.25},
+ {"matrix": [1, 5], "x": 5, "y": 2.25},
+ {"matrix": [1, 6], "x": 6, "y": 2.25},
+ {"matrix": [1, 7], "x": 7, "y": 2.25},
+ {"matrix": [1, 8], "x": 8, "y": 2.25},
+ {"matrix": [1, 9], "x": 9, "y": 2.25},
+ {"matrix": [1, 10], "x": 10, "y": 2.25},
+ {"matrix": [1, 11], "x": 11, "y": 2.25},
+ {"matrix": [1, 12], "x": 12, "y": 2.25},
+ {"matrix": [1, 13], "x": 13, "y": 2.25, "w": 2},
+
+ {"matrix": [1, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 2.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 3.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 3.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 3.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 3.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 3.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 3.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 3.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 3.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 3.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 3.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 3.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 3.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 3.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 3.25, "w": 1.5},
+
+ {"matrix": [2, 15], "x": 15.25, "y": 3.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 3.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 3.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 4.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 4.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 4.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 4.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 4.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 4.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 4.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 4.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 4.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 4.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 4.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 4.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 4.25, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 5.25, "w": 2.25},
+ {"matrix": [4, 1], "x": 2.25, "y": 5.25},
+ {"matrix": [4, 2], "x": 3.25, "y": 5.25},
+ {"matrix": [4, 3], "x": 4.25, "y": 5.25},
+ {"matrix": [4, 4], "x": 5.25, "y": 5.25},
+ {"matrix": [4, 5], "x": 6.25, "y": 5.25},
+ {"matrix": [4, 6], "x": 7.25, "y": 5.25},
+ {"matrix": [4, 7], "x": 8.25, "y": 5.25},
+ {"matrix": [4, 8], "x": 9.25, "y": 5.25},
+ {"matrix": [4, 9], "x": 10.25, "y": 5.25},
+ {"matrix": [4, 10], "x": 11.25, "y": 5.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 5.25, "w": 2.75},
+
+ {"matrix": [4, 16], "x": 16.25, "y": 5.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 6.25, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 10], "x": 11.25, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 6.25, "w": 1.25},
+ {"matrix": [5, 14], "x": 13.75, "y": 6.25, "w": 1.25},
+
+ {"matrix": [5, 15], "x": 15.25, "y": 6.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 6.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 6.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/rot13labs/hackboard/keymaps/default/keymap.c b/keyboards/rot13labs/hackboard/keymaps/default/keymap.c
new file mode 100644
index 00000000000..542d541bf31
--- /dev/null
+++ b/keyboards/rot13labs/hackboard/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2023 rot13labs
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_NO,
+ 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,
+ KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT(
+ KC_NO,
+ _______, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______,
+ _______, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______)
+};
diff --git a/keyboards/rot13labs/hackboard/readme.md b/keyboards/rot13labs/hackboard/readme.md
new file mode 100644
index 00000000000..c14b742326c
--- /dev/null
+++ b/keyboards/rot13labs/hackboard/readme.md
@@ -0,0 +1,22 @@
+# HACKBOARD
+
+
+
+A TKL keyboard for hackers based on the mysterium platform by coseyfannitutti
+
+* Keyboard Maintainer: [c0ldbru](https://github.com/c0ldbru)
+* Hardware Supported: HACKBOARD // atmega32a
+* Hardware Availability: [rot13labs](https://rot13labs.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rot13labs/hackboard: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).
+
+## Bootloader
+
+You can enter the bootloader to flash on new firmware in one of two ways:
+
+* **Bootmagic**: Hold the ESC key (top left key) and hit reset
+* **Boot button**: Hold the boot button on the top of the PCB and hit reset
\ No newline at end of file
diff --git a/keyboards/rot13labs/hackboard/rules.mk b/keyboards/rot13labs/hackboard/rules.mk
new file mode 100644
index 00000000000..c2ee0bc86f9
--- /dev/null
+++ b/keyboards/rot13labs/hackboard/rules.mk
@@ -0,0 +1,2 @@
+# Processor frequency
+F_CPU = 16000000
From 83625da36b06b95dea266680dfb81164d9a6edc1 Mon Sep 17 00:00:00 2001
From: Arthur <37627147+ArthurCyy@users.noreply.github.com>
Date: Sun, 31 Mar 2024 01:59:51 +0800
Subject: [PATCH 06/64] Add solid_reactive effects for MIIIW BlackIO83 (#22251)
---
keyboards/miiiw/blackio83/info.json | 122 ++++++++++++++++------------
1 file changed, 69 insertions(+), 53 deletions(-)
diff --git a/keyboards/miiiw/blackio83/info.json b/keyboards/miiiw/blackio83/info.json
index 24dc644405f..d3fb31d109f 100644
--- a/keyboards/miiiw/blackio83/info.json
+++ b/keyboards/miiiw/blackio83/info.json
@@ -30,34 +30,48 @@
"processor": "STM32F072",
"rgb_matrix": {
"animations": {
- "gradient_up_down": true,
- "gradient_left_right": true,
- "breathing": true,
- "band_sat": true,
- "band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
+ "band_sat": true,
"band_spiral_sat": true,
"band_spiral_val": true,
+ "band_val": true,
+ "breathing": true,
"cycle_all": true,
"cycle_left_right": true,
- "cycle_up_down": true,
- "rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
"dual_beacon": true,
- "rainbow_beacon": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "jellybean_raindrops": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
- "pixel_rain": true,
+ "jellybean_raindrops": true,
+ "multisplash": true,
"pixel_flow": true,
- "pixel_fractal": true
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_multisplash": true,
+ "solid_reactive": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
},
"center_point": [62, 42],
"default": {
@@ -80,21 +94,21 @@
{"matrix": [0, 13], "x": 102, "y": 0, "flags": 4},
{"matrix": [0, 14], "x": 112, "y": 0, "flags": 4},
{"matrix": [0, 15], "x": 124, "y": 0, "flags": 4},
- {"matrix": [1, 0], "x": 124, "y": 20, "flags": 4},
- {"matrix": [1, 1], "x": 108, "y": 20, "flags": 4},
- {"matrix": [1, 2], "x": 96, "y": 20, "flags": 4},
- {"matrix": [1, 3], "x": 88, "y": 20, "flags": 4},
- {"matrix": [1, 4], "x": 80, "y": 20, "flags": 4},
- {"matrix": [1, 5], "x": 72, "y": 20, "flags": 4},
- {"matrix": [1, 6], "x": 64, "y": 20, "flags": 4},
+ {"matrix": [1, 15], "x": 124, "y": 20, "flags": 4},
+ {"matrix": [1, 13], "x": 108, "y": 20, "flags": 4},
+ {"matrix": [1, 12], "x": 96, "y": 20, "flags": 4},
+ {"matrix": [1, 11], "x": 88, "y": 20, "flags": 4},
+ {"matrix": [1, 10], "x": 80, "y": 20, "flags": 4},
+ {"matrix": [1, 9], "x": 72, "y": 20, "flags": 4},
+ {"matrix": [1, 8], "x": 64, "y": 20, "flags": 4},
{"matrix": [1, 7], "x": 56, "y": 20, "flags": 4},
- {"matrix": [1, 8], "x": 48, "y": 20, "flags": 4},
- {"matrix": [1, 9], "x": 40, "y": 20, "flags": 4},
- {"matrix": [1, 10], "x": 32, "y": 20, "flags": 4},
- {"matrix": [1, 11], "x": 24, "y": 20, "flags": 4},
- {"matrix": [1, 12], "x": 16, "y": 20, "flags": 4},
- {"matrix": [1, 13], "x": 8, "y": 20, "flags": 4},
- {"matrix": [1, 15], "x": 0, "y": 20, "flags": 4},
+ {"matrix": [1, 6], "x": 48, "y": 20, "flags": 4},
+ {"matrix": [1, 5], "x": 40, "y": 20, "flags": 4},
+ {"matrix": [1, 4], "x": 32, "y": 20, "flags": 4},
+ {"matrix": [1, 3], "x": 24, "y": 20, "flags": 4},
+ {"matrix": [1, 2], "x": 16, "y": 20, "flags": 4},
+ {"matrix": [1, 1], "x": 8, "y": 20, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 20, "flags": 4},
{"matrix": [2, 0], "x": 2, "y": 36, "flags": 4},
{"matrix": [2, 1], "x": 12, "y": 36, "flags": 4},
{"matrix": [2, 2], "x": 20, "y": 36, "flags": 4},
@@ -110,20 +124,20 @@
{"matrix": [2, 12], "x": 100, "y": 36, "flags": 4},
{"matrix": [2, 13], "x": 110, "y": 36, "flags": 4},
{"matrix": [2, 15], "x": 124, "y": 36, "flags": 4},
- {"matrix": [3, 0], "x": 124, "y": 52, "flags": 4},
- {"matrix": [3, 1], "x": 107, "y": 52, "flags": 4},
- {"matrix": [3, 2], "x": 94, "y": 52, "flags": 4},
- {"matrix": [3, 3], "x": 86, "y": 52, "flags": 4},
- {"matrix": [3, 4], "x": 78, "y": 52, "flags": 4},
- {"matrix": [3, 5], "x": 70, "y": 52, "flags": 4},
- {"matrix": [3, 6], "x": 62, "y": 52, "flags": 4},
- {"matrix": [3, 7], "x": 54, "y": 52, "flags": 4},
- {"matrix": [3, 8], "x": 46, "y": 52, "flags": 4},
- {"matrix": [3, 9], "x": 38, "y": 52, "flags": 4},
- {"matrix": [3, 10], "x": 30, "y": 52, "flags": 4},
- {"matrix": [3, 11], "x": 22, "y": 52, "flags": 4},
- {"matrix": [3, 12], "x": 14, "y": 52, "flags": 4},
- {"matrix": [3, 15], "x": 3, "y": 52, "flags": 4},
+ {"matrix": [3, 15], "x": 124, "y": 52, "flags": 4},
+ {"matrix": [3, 12], "x": 107, "y": 52, "flags": 4},
+ {"matrix": [3, 11], "x": 94, "y": 52, "flags": 4},
+ {"matrix": [3, 10], "x": 86, "y": 52, "flags": 4},
+ {"matrix": [3, 9], "x": 78, "y": 52, "flags": 4},
+ {"matrix": [3, 8], "x": 70, "y": 52, "flags": 4},
+ {"matrix": [3, 7], "x": 62, "y": 52, "flags": 4},
+ {"matrix": [3, 6], "x": 54, "y": 52, "flags": 4},
+ {"matrix": [3, 5], "x": 46, "y": 52, "flags": 4},
+ {"matrix": [3, 4], "x": 38, "y": 52, "flags": 4},
+ {"matrix": [3, 3], "x": 30, "y": 52, "flags": 4},
+ {"matrix": [3, 2], "x": 22, "y": 52, "flags": 4},
+ {"matrix": [3, 1], "x": 14, "y": 52, "flags": 4},
+ {"matrix": [3, 0], "x": 3, "y": 52, "flags": 4},
{"matrix": [4, 0], "x": 5, "y": 68, "flags": 4},
{"matrix": [4, 1], "x": 18, "y": 68, "flags": 4},
{"matrix": [4, 2], "x": 26, "y": 68, "flags": 4},
@@ -138,21 +152,23 @@
{"matrix": [4, 11], "x": 104, "y": 68, "flags": 4},
{"matrix": [4, 13], "x": 114, "y": 68, "flags": 4},
{"matrix": [4, 15], "x": 124, "y": 68, "flags": 4},
- {"matrix": [5, 0], "x": 122, "y": 84, "flags": 4},
- {"matrix": [5, 1], "x": 114, "y": 84, "flags": 4},
- {"matrix": [5, 2], "x": 106, "y": 84, "flags": 4},
- {"matrix": [5, 5], "x": 96, "y": 84, "flags": 4},
- {"matrix": [5, 8], "x": 88, "y": 84, "flags": 4},
- {"matrix": [5, 9], "x": 80, "y": 84, "flags": 4},
- {"matrix": [5, 10], "x": 50, "y": 84, "flags": 4},
- {"matrix": [5, 12], "x": 20, "y": 88, "flags": 4},
- {"matrix": [5, 13], "x": 10, "y": 88, "flags": 4},
- {"matrix": [5, 14], "x": 1, "y": 88, "flags": 4}
- ]
+ {"matrix": [5, 14], "x": 122, "y": 84, "flags": 4},
+ {"matrix": [5, 13], "x": 114, "y": 84, "flags": 4},
+ {"matrix": [5, 12], "x": 106, "y": 84, "flags": 4},
+ {"matrix": [5, 10], "x": 96, "y": 84, "flags": 4},
+ {"matrix": [5, 9], "x": 88, "y": 84, "flags": 4},
+ {"matrix": [5, 8], "x": 80, "y": 84, "flags": 4},
+ {"matrix": [5, 5], "x": 50, "y": 84, "flags": 4},
+ {"matrix": [5, 2], "x": 20, "y": 88, "flags": 4},
+ {"matrix": [5, 1], "x": 10, "y": 88, "flags": 4},
+ {"matrix": [5, 0], "x": 1, "y": 88, "flags": 4}
+ ],
+ "max_brightness": 160
},
"url": "https://github.com/ArthurCyy",
"usb": {
"device_version": "0.0.1",
+ "force_nkro": true,
"pid": "0x83A1",
"vid": "0x3044"
},
@@ -248,4 +264,4 @@
]
}
}
-}
\ No newline at end of file
+}
From e9f187f612840d687ddfe070c2a1fef470676aed Mon Sep 17 00:00:00 2001
From: Joy Lee
Date: Sun, 31 Mar 2024 09:07:03 +0800
Subject: [PATCH 07/64] [Keyboard] Add skiller_skg50_s2 (#23364)
Co-authored-by: wb
Co-authored-by: Duncan Sutherland
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/sharkoon/skiller_sgk50_s2/config.h | 13 +
keyboards/sharkoon/skiller_sgk50_s2/halconf.h | 10 +
keyboards/sharkoon/skiller_sgk50_s2/info.json | 515 ++++++++++++++++++
.../skiller_sgk50_s2/keymaps/default/keymap.c | 25 +
.../skiller_sgk50_s2/keymaps/via/keymap.c | 25 +
.../skiller_sgk50_s2/keymaps/via/rules.mk | 1 +
keyboards/sharkoon/skiller_sgk50_s2/mcuconf.h | 9 +
keyboards/sharkoon/skiller_sgk50_s2/readme.md | 24 +
keyboards/sharkoon/skiller_sgk50_s2/rules.mk | 1 +
9 files changed, 623 insertions(+)
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/config.h
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/halconf.h
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/info.json
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/keymaps/default/keymap.c
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/keymap.c
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/rules.mk
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/mcuconf.h
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/readme.md
create mode 100644 keyboards/sharkoon/skiller_sgk50_s2/rules.mk
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/config.h b/keyboards/sharkoon/skiller_sgk50_s2/config.h
new file mode 100644
index 00000000000..1d0f8f9a901
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/config.h
@@ -0,0 +1,13 @@
+// Copyright 2024 JoyLee (@itarze)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* SPI Config for spi flash*/
+#define SPI_DRIVER SPIDQ
+#define SPI_SCK_PIN B3
+#define SPI_MOSI_PIN B5
+#define SPI_MISO_PIN B4
+#define SPI_MOSI_PAL_MODE 5
+
+#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/halconf.h b/keyboards/sharkoon/skiller_sgk50_s2/halconf.h
new file mode 100644
index 00000000000..9d456a5106f
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/halconf.h
@@ -0,0 +1,10 @@
+// Copyright 2024 JoyLee (@itarze)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+
+#include_next
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/info.json b/keyboards/sharkoon/skiller_sgk50_s2/info.json
new file mode 100644
index 00000000000..39d59ffa55a
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/info.json
@@ -0,0 +1,515 @@
+{
+ "manufacturer": "Sharkoon Technologies GmbH",
+ "keyboard_name": "SKILLER SGK50 S2",
+ "maintainer": "JoyLee",
+ "bootloader": "wb32-dfu",
+ "diode_direction": "ROW2COL",
+ "eeprom": {
+ "driver": "wear_leveling",
+ "wear_leveling": {
+ "backing_size": 4096,
+ "driver": "spi_flash"
+ }
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["C0", "C1", "C2", "C3", "A6", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9", "C4", "C5", "B0"],
+ "rows": ["A0", "A1", "A2", "A3", "A4", "C13"]
+ },
+ "processor": "WB32FQ95",
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_sat": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "band_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
+ "dual_beacon": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "jellybean_raindrops": true,
+ "multisplash": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "rainbow_beacon": true,
+ "rainbow_moving_chevron": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "solid_multisplash": true,
+ "solid_reactive": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_multinexus": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
+ },
+ "default": {
+ "val": 80
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [5, 6], "x": 75, "y": 64, "flags": 4},
+ {"matrix": [5, 10], "x": 124, "y": 64, "flags": 1},
+ {"matrix": [5, 11], "x": 137, "y": 64, "flags": 1},
+ {"matrix": [5, 12], "x": 149, "y": 64, "flags": 1},
+ {"matrix": [5, 13], "x": 162, "y": 64, "flags": 4},
+ {"matrix": [5, 14], "x": 174, "y": 64, "flags": 4},
+ {"matrix": [5, 15], "x": 187, "y": 64, "flags": 4},
+ {"matrix": [5, 16], "x": 199, "y": 64, "flags": 4},
+ {"matrix": [5, 17], "x": 212, "y": 64, "flags": 4},
+ {"matrix": [4, 18], "x": 224, "y": 51, "flags": 4},
+ {"matrix": [4, 17], "x": 212, "y": 51, "flags": 4},
+ {"matrix": [4, 16], "x": 199, "y": 51, "flags": 4},
+ {"matrix": [4, 15], "x": 187, "y": 51, "flags": 4},
+ {"matrix": [4, 14], "x": 174, "y": 51, "flags": 4},
+ {"matrix": [4, 12], "x": 149, "y": 51, "flags": 4},
+ {"matrix": [4, 11], "x": 137, "y": 51, "flags": 4},
+ {"matrix": [4, 10], "x": 124, "y": 51, "flags": 4},
+ {"matrix": [4, 9], "x": 112, "y": 51, "flags": 4},
+ {"matrix": [4, 8], "x": 100, "y": 51, "flags": 4},
+ {"matrix": [4, 7], "x": 87, "y": 51, "flags": 4},
+ {"matrix": [4, 6], "x": 75, "y": 51, "flags": 4},
+ {"matrix": [4, 5], "x": 62, "y": 51, "flags": 4},
+ {"matrix": [4, 4], "x": 50, "y": 51, "flags": 4},
+ {"matrix": [4, 3], "x": 37, "y": 51, "flags": 4},
+ {"matrix": [4, 2], "x": 25, "y": 51, "flags": 4},
+ {"matrix": [3, 2], "x": 25, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 37, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 50, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 62, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 75, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 87, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 100, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 112, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 124, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 137, "y": 38, "flags": 4},
+ {"matrix": [3, 12], "x": 149, "y": 38, "flags": 4},
+ {"matrix": [2, 13], "x": 162, "y": 38, "flags": 4},
+ {"x": 162, "y": 38, "flags": 4},
+ {"matrix": [3, 15], "x": 187, "y": 38, "flags": 4},
+ {"matrix": [3, 16], "x": 199, "y": 38, "flags": 4},
+ {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4},
+ {"matrix": [2, 18], "x": 224, "y": 26, "flags": 4},
+ {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4},
+ {"matrix": [2, 16], "x": 199, "y": 26, "flags": 4},
+ {"matrix": [2, 15], "x": 187, "y": 26, "flags": 4},
+ {"x": 162, "y": 26, "flags": 4},
+ {"matrix": [3, 13], "x": 162, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 149, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 137, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 124, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 112, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 100, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 87, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 75, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 62, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 50, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 37, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 25, "y": 26, "flags": 4},
+ {"matrix": [2, 1], "x": 12, "y": 26, "flags": 4},
+ {"matrix": [1, 1], "x": 12, "y": 13, "flags": 4},
+ {"matrix": [1, 2], "x": 25, "y": 13, "flags": 4},
+ {"matrix": [1, 3], "x": 37, "y": 13, "flags": 4},
+ {"matrix": [1, 4], "x": 50, "y": 13, "flags": 4},
+ {"matrix": [1, 5], "x": 62, "y": 13, "flags": 4},
+ {"matrix": [1, 6], "x": 75, "y": 13, "flags": 4},
+ {"matrix": [1, 7], "x": 87, "y": 13, "flags": 4},
+ {"matrix": [1, 8], "x": 100, "y": 13, "flags": 4},
+ {"matrix": [1, 9], "x": 112, "y": 13, "flags": 4},
+ {"matrix": [1, 10], "x": 124, "y": 13, "flags": 4},
+ {"matrix": [1, 11], "x": 137, "y": 13, "flags": 4},
+ {"matrix": [1, 12], "x": 149, "y": 13, "flags": 4},
+ {"matrix": [1, 13], "x": 162, "y": 13, "flags": 4},
+ {"matrix": [1, 15], "x": 187, "y": 13, "flags": 4},
+ {"matrix": [1, 16], "x": 199, "y": 13, "flags": 4},
+ {"matrix": [1, 17], "x": 212, "y": 13, "flags": 4},
+ {"matrix": [1, 18], "x": 224, "y": 13, "flags": 4},
+ {"matrix": [0, 18], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [0, 17], "x": 212, "y": 0, "flags": 4},
+ {"matrix": [0, 16], "x": 199, "y": 0, "flags": 4},
+ {"matrix": [0, 15], "x": 187, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 174, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 162, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 149, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 137, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 124, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 100, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 87, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 75, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 62, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 37, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 25, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 12, "y": 0, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 51, "flags": 1},
+ {"matrix": [4, 0], "x": 0, "y": 51, "flags": 1},
+ {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [5, 1], "x": 12, "y": 64, "flags": 1},
+ {"matrix": [5, 2], "x": 25, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 12, "y": 51, "flags": 4}
+ ],
+ "max_brightness": 110,
+ "val_steps": 28,
+ "sleep": true
+ },
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x3662",
+ "suspend_wakeup_delay": 1000,
+ "vid": "0x6332"
+ },
+ "ws2812": {
+ "pin": "A8"
+ },
+ "community_layouts": ["96_ansi", "96_iso"],
+ "layouts": {
+ "LAYOUT_all": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [0, 16], "x": 16, "y": 0},
+ {"matrix": [0, 17], "x": 17, "y": 0},
+ {"matrix": [0, 18], "x": 18, "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": [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, 15], "x": 15, "y": 1},
+ {"matrix": [1, 16], "x": 16, "y": 1},
+ {"matrix": [1, 17], "x": 17, "y": 1},
+ {"matrix": [1, 18], "x": 18, "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, 15], "x": 15, "y": 2},
+ {"matrix": [2, 16], "x": 16, "y": 2},
+ {"matrix": [2, 17], "x": 17, "y": 2},
+ {"matrix": [2, 18], "x": 18, "y": 2, "h": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 2], "x": 1.75, "y": 3},
+ {"matrix": [3, 3], "x": 2.75, "y": 3},
+ {"matrix": [3, 4], "x": 3.75, "y": 3},
+ {"matrix": [3, 5], "x": 4.75, "y": 3},
+ {"matrix": [3, 6], "x": 5.75, "y": 3},
+ {"matrix": [3, 7], "x": 6.75, "y": 3},
+ {"matrix": [3, 8], "x": 7.75, "y": 3},
+ {"matrix": [3, 9], "x": 8.75, "y": 3},
+ {"matrix": [3, 10], "x": 9.75, "y": 3},
+ {"matrix": [3, 11], "x": 10.75, "y": 3},
+ {"matrix": [3, 12], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [3, 16], "x": 16, "y": 3},
+ {"matrix": [3, 17], "x": 17, "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, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+ {"matrix": [4, 16], "x": 16, "y": 4},
+ {"matrix": [4, 17], "x": 17, "y": 4},
+ {"matrix": [4, 18], "x": 18, "y": 4, "h": 2},
+ {"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, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5},
+ {"matrix": [5, 16], "x": 16, "y": 5},
+ {"matrix": [5, 17], "x": 17, "y": 5}
+ ]
+ },
+ "LAYOUT_96_ansi": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [0, 16], "x": 16, "y": 0},
+ {"matrix": [0, 17], "x": 17, "y": 0},
+ {"matrix": [0, 18], "x": 18, "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": [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, 15], "x": 15, "y": 1},
+ {"matrix": [1, 16], "x": 16, "y": 1},
+ {"matrix": [1, 17], "x": 17, "y": 1},
+ {"matrix": [1, 18], "x": 18, "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, 15], "x": 15, "y": 2},
+ {"matrix": [2, 16], "x": 16, "y": 2},
+ {"matrix": [2, 17], "x": 17, "y": 2},
+ {"matrix": [2, 18], "x": 18, "y": 2, "h": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 2], "x": 1.75, "y": 3},
+ {"matrix": [3, 3], "x": 2.75, "y": 3},
+ {"matrix": [3, 4], "x": 3.75, "y": 3},
+ {"matrix": [3, 5], "x": 4.75, "y": 3},
+ {"matrix": [3, 6], "x": 5.75, "y": 3},
+ {"matrix": [3, 7], "x": 6.75, "y": 3},
+ {"matrix": [3, 8], "x": 7.75, "y": 3},
+ {"matrix": [3, 9], "x": 8.75, "y": 3},
+ {"matrix": [3, 10], "x": 9.75, "y": 3},
+ {"matrix": [3, 11], "x": 10.75, "y": 3},
+ {"matrix": [3, 12], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [3, 16], "x": 16, "y": 3},
+ {"matrix": [3, 17], "x": 17, "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, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+ {"matrix": [4, 16], "x": 16, "y": 4},
+ {"matrix": [4, 17], "x": 17, "y": 4},
+ {"matrix": [4, 18], "x": 18, "y": 4, "h": 2},
+ {"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, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5},
+ {"matrix": [5, 16], "x": 16, "y": 5},
+ {"matrix": [5, 17], "x": 17, "y": 5}
+ ]
+ },
+ "LAYOUT_96_iso": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [0, 16], "x": 16, "y": 0},
+ {"matrix": [0, 17], "x": 17, "y": 0},
+ {"matrix": [0, 18], "x": 18, "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": [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, 15], "x": 15, "y": 1},
+ {"matrix": [1, 16], "x": 16, "y": 1},
+ {"matrix": [1, 17], "x": 17, "y": 1},
+ {"matrix": [1, 18], "x": 18, "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, 15], "x": 15, "y": 2},
+ {"matrix": [2, 16], "x": 16, "y": 2},
+ {"matrix": [2, 17], "x": 17, "y": 2},
+ {"matrix": [2, 18], "x": 18, "y": 2, "h": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 2], "x": 1.75, "y": 3},
+ {"matrix": [3, 3], "x": 2.75, "y": 3},
+ {"matrix": [3, 4], "x": 3.75, "y": 3},
+ {"matrix": [3, 5], "x": 4.75, "y": 3},
+ {"matrix": [3, 6], "x": 5.75, "y": 3},
+ {"matrix": [3, 7], "x": 6.75, "y": 3},
+ {"matrix": [3, 8], "x": 7.75, "y": 3},
+ {"matrix": [3, 9], "x": 8.75, "y": 3},
+ {"matrix": [3, 10], "x": 9.75, "y": 3},
+ {"matrix": [3, 11], "x": 10.75, "y": 3},
+ {"matrix": [3, 12], "x": 11.75, "y": 3},
+ {"matrix": [2, 13], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [3, 16], "x": 16, "y": 3},
+ {"matrix": [3, 17], "x": 17, "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, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+ {"matrix": [4, 16], "x": 16, "y": 4},
+ {"matrix": [4, 17], "x": 17, "y": 4},
+ {"matrix": [4, 18], "x": 18, "y": 4, "h": 2},
+ {"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, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5},
+ {"matrix": [5, 16], "x": 16, "y": 5},
+ {"matrix": [5, 17], "x": 17, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/keymaps/default/keymap.c b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/default/keymap.c
new file mode 100644
index 00000000000..01e78f31240
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2024 JoyLee (@itarze)
+// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_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_P4, KC_P5, KC_P6,
+ 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_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+
+ [1] = LAYOUT_all(
+ EE_CLR, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_SPD, RGB_SPI, _______, _______, KC_PSCR, KC_SCRL, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_HUI, RGB_VAD, RGB_MOD, _______, _______
+ ),
+};
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/keymap.c b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/keymap.c
new file mode 100644
index 00000000000..01e78f31240
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2024 JoyLee (@itarze)
+// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_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_P4, KC_P5, KC_P6,
+ 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_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+
+ [1] = LAYOUT_all(
+ EE_CLR, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_SPD, RGB_SPI, _______, _______, KC_PSCR, KC_SCRL, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
+ _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_HUI, RGB_VAD, RGB_MOD, _______, _______
+ ),
+};
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/rules.mk b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/rules.mk
new file mode 100644
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/mcuconf.h b/keyboards/sharkoon/skiller_sgk50_s2/mcuconf.h
new file mode 100644
index 00000000000..ae7ee58001a
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 JoyLee (@itarze)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next
+
+#undef WB32_SPI_USE_QSPI
+#define WB32_SPI_USE_QSPI TRUE
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/readme.md b/keyboards/sharkoon/skiller_sgk50_s2/readme.md
new file mode 100644
index 00000000000..7be331eac5b
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/readme.md
@@ -0,0 +1,24 @@
+# SHARKOON SKILLER SGK50 S2
+
+
+
+* Keyboard Maintainer: [JoyLee](https://github.com/itarze)
+* Hardware Supported: [SHARKOON SKILLER SGK50 S2 PCB](https://zh-hant.sharkoon.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make sharkoon/skiller_sgk50_s2:default
+
+Flashing example for this keyboard:
+
+ make sharkoon/skiller_sgk50_s2: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 (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/rules.mk b/keyboards/sharkoon/skiller_sgk50_s2/rules.mk
new file mode 100644
index 00000000000..6e7633bfe01
--- /dev/null
+++ b/keyboards/sharkoon/skiller_sgk50_s2/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
From 5db6f7967ef9ca72fbd6cfd1164783e88399bfa7 Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Sun, 31 Mar 2024 08:49:47 +0100
Subject: [PATCH 08/64] Remove redundant DEFAULT_FOLDER from keyboards (#23377)
---
keyboards/bt66tech/bt66tech60/{info.json => keyboard.json} | 0
keyboards/bt66tech/bt66tech60/rules.mk | 1 -
keyboards/cannonkeys/practice60/{info.json => keyboard.json} | 0
keyboards/cannonkeys/practice60/rules.mk | 1 -
keyboards/handwired/ck4x4/{info.json => keyboard.json} | 0
keyboards/handwired/ck4x4/rules.mk | 1 -
keyboards/vertex/arc60/{info.json => keyboard.json} | 0
keyboards/vertex/arc60/rules.mk | 1 -
8 files changed, 4 deletions(-)
rename keyboards/bt66tech/bt66tech60/{info.json => keyboard.json} (100%)
delete mode 100644 keyboards/bt66tech/bt66tech60/rules.mk
rename keyboards/cannonkeys/practice60/{info.json => keyboard.json} (100%)
delete mode 100644 keyboards/cannonkeys/practice60/rules.mk
rename keyboards/handwired/ck4x4/{info.json => keyboard.json} (100%)
delete mode 100644 keyboards/handwired/ck4x4/rules.mk
rename keyboards/vertex/arc60/{info.json => keyboard.json} (100%)
delete mode 100644 keyboards/vertex/arc60/rules.mk
diff --git a/keyboards/bt66tech/bt66tech60/info.json b/keyboards/bt66tech/bt66tech60/keyboard.json
similarity index 100%
rename from keyboards/bt66tech/bt66tech60/info.json
rename to keyboards/bt66tech/bt66tech60/keyboard.json
diff --git a/keyboards/bt66tech/bt66tech60/rules.mk b/keyboards/bt66tech/bt66tech60/rules.mk
deleted file mode 100644
index cb9c90456cc..00000000000
--- a/keyboards/bt66tech/bt66tech60/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = bt66tech/bt66tech60
diff --git a/keyboards/cannonkeys/practice60/info.json b/keyboards/cannonkeys/practice60/keyboard.json
similarity index 100%
rename from keyboards/cannonkeys/practice60/info.json
rename to keyboards/cannonkeys/practice60/keyboard.json
diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk
deleted file mode 100644
index 5f7d5fe26d3..00000000000
--- a/keyboards/cannonkeys/practice60/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = cannonkeys/practice60
diff --git a/keyboards/handwired/ck4x4/info.json b/keyboards/handwired/ck4x4/keyboard.json
similarity index 100%
rename from keyboards/handwired/ck4x4/info.json
rename to keyboards/handwired/ck4x4/keyboard.json
diff --git a/keyboards/handwired/ck4x4/rules.mk b/keyboards/handwired/ck4x4/rules.mk
deleted file mode 100644
index 216aa810fd3..00000000000
--- a/keyboards/handwired/ck4x4/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = handwired/ck4x4
diff --git a/keyboards/vertex/arc60/info.json b/keyboards/vertex/arc60/keyboard.json
similarity index 100%
rename from keyboards/vertex/arc60/info.json
rename to keyboards/vertex/arc60/keyboard.json
diff --git a/keyboards/vertex/arc60/rules.mk b/keyboards/vertex/arc60/rules.mk
deleted file mode 100644
index dd76c3f2cec..00000000000
--- a/keyboards/vertex/arc60/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = vertex/arc60
From 319d9aa7b94daba050a7d207caf2dd607b04298c Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Sun, 31 Mar 2024 12:23:40 +0100
Subject: [PATCH 09/64] Fix 'qmk compile' mass_compile execution (#23296)
---
lib/python/qmk/cli/compile.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/python/qmk/cli/compile.py b/lib/python/qmk/cli/compile.py
index 4c36dec3e79..8d1195bc8f0 100755
--- a/lib/python/qmk/cli/compile.py
+++ b/lib/python/qmk/cli/compile.py
@@ -41,17 +41,17 @@ def compile(cli):
cli.args.filter = []
cli.config.mass_compile.keymap = cli.config.compile.keymap
cli.config.mass_compile.parallel = cli.config.compile.parallel
- cli.config.mass_compile.no_temp = False
+ cli.args.no_temp = False
return mass_compile(cli)
# If we've received `-km all`, reroute it to mass-compile.
if cli.args.keymap == 'all':
from .mass_compile import mass_compile
- cli.args.builds = [f'{cli.args.keyboard}:all']
+ cli.args.builds = [f'{cli.config.compile.keyboard}:all']
cli.args.filter = []
cli.config.mass_compile.keymap = None
cli.config.mass_compile.parallel = cli.config.compile.parallel
- cli.config.mass_compile.no_temp = False
+ cli.args.no_temp = False
return mass_compile(cli)
# Build the environment vars
From ea7194544187c89c0c69dd035d5cd1860ce6813c Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Sun, 31 Mar 2024 21:38:58 +0100
Subject: [PATCH 10/64] Align encoder layout validation with encoder.h logic
(#23330)
---
keyboards/zvecr/zv48/info.json | 4 ++--
lib/python/qmk/info.py | 9 +++++++--
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json
index e58651499a9..cd81109ed14 100644
--- a/keyboards/zvecr/zv48/info.json
+++ b/keyboards/zvecr/zv48/info.json
@@ -56,7 +56,7 @@
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 0], "x": 0, "y": 0, "encoder": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
@@ -67,7 +67,7 @@
{"matrix": [4, 3], "x": 8, "y": 0},
{"matrix": [4, 2], "x": 9, "y": 0},
{"matrix": [4, 1], "x": 10, "y": 0},
- {"matrix": [4, 0], "x": 11, "y": 0},
+ {"matrix": [4, 0], "x": 11, "y": 0, "encoder": 1},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 71bb6e9454c..e463ac8ce74 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -58,8 +58,13 @@ def _get_key_left_position(key):
def _find_invalid_encoder_index(info_data):
"""Perform additional validation of encoders
"""
- enc_count = len(info_data.get('encoder', {}).get('rotary', []))
- enc_count += len(info_data.get('split', {}).get('encoder', {}).get('right', {}).get('rotary', []))
+ enc_left = info_data.get('encoder', {}).get('rotary', [])
+ enc_right = []
+
+ if info_data.get('split', {}).get('enabled', False):
+ enc_right = info_data.get('split', {}).get('encoder', {}).get('right', {}).get('rotary', enc_left)
+
+ enc_count = len(enc_left) + len(enc_right)
ret = []
layouts = info_data.get('layouts', {})
From a9226273191a3fc4b16995c1ba74285d77f1cd62 Mon Sep 17 00:00:00 2001
From: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Date: Mon, 1 Apr 2024 12:33:50 -0400
Subject: [PATCH 11/64] refactor: flehrad/bigswitch (#23384)
---
keyboards/flehrad/bigswitch/bigswitch.c | 37 -----------
keyboards/flehrad/bigswitch/config.h | 23 -------
keyboards/flehrad/bigswitch/keyboard.json | 64 ++++++++++---------
.../bigswitch/keymaps/default/keymap.c | 7 +-
.../flehrad/bigswitch/keymaps/via/keymap.c | 9 +--
5 files changed, 35 insertions(+), 105 deletions(-)
delete mode 100644 keyboards/flehrad/bigswitch/bigswitch.c
delete mode 100644 keyboards/flehrad/bigswitch/config.h
diff --git a/keyboards/flehrad/bigswitch/bigswitch.c b/keyboards/flehrad/bigswitch/bigswitch.c
deleted file mode 100644
index 987e816ee9b..00000000000
--- a/keyboards/flehrad/bigswitch/bigswitch.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-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 .
-*/
-#include "quantum.h"
-
-volatile uint8_t runonce = true;
-static uint16_t my_timer;
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
- my_timer = timer_read();
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-#if defined(RGBLIGHT_ENABLE)
- if (runonce && timer_elapsed(my_timer) > 1000) {
- runonce = false;
- rgblight_sethsv_noeeprom(0x0, 0xff, 0x80);
- rgblight_mode_noeeprom(9);
- rgblight_enable_noeeprom();
- }
-#endif
-}
diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h
deleted file mode 100644
index 44163932472..00000000000
--- a/keyboards/flehrad/bigswitch/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- false \
-)
diff --git a/keyboards/flehrad/bigswitch/keyboard.json b/keyboards/flehrad/bigswitch/keyboard.json
index a56c0b1e9ef..ac68db1a358 100644
--- a/keyboards/flehrad/bigswitch/keyboard.json
+++ b/keyboards/flehrad/bigswitch/keyboard.json
@@ -1,36 +1,15 @@
{
- "keyboard_name": "BigSwitch PCB",
"manufacturer": "flehrad",
+ "keyboard_name": "BigSwitch PCB",
"maintainer": "qmk",
- "usb": {
- "vid": "0x1209",
- "pid": "0xB195",
- "device_version": "0.0.1"
- },
- "rgblight": {
- "led_count": 8,
- "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": "D3"
- },
+ "debounce": 50,
+ "development_board": "promicro",
+ "diode_direction": "ROW2COL",
"features": {
"bootmagic": false,
- "command": true,
"console": true,
- "extrakey": false,
- "mousekey": false,
+ "extrakey": true,
+ "mousekey": true,
"nkro": false,
"rgblight": true
},
@@ -38,10 +17,33 @@
"cols": ["B6"],
"rows": ["B5"]
},
- "diode_direction": "ROW2COL",
- "processor": "atmega32u4",
- "bootloader": "caterina",
- "debounce": 50,
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "default": {
+ "animation": "rainbow_swirl",
+ "val": 127
+ },
+ "led_count": 8
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0xB195",
+ "vid": "0x1209"
+ },
+ "ws2812": {
+ "pin": "D3"
+ },
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/flehrad/bigswitch/keymaps/default/keymap.c b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c
index 210d001236c..f5d99b656ba 100644
--- a/keyboards/flehrad/bigswitch/keymaps/default/keymap.c
+++ b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c
@@ -16,12 +16,7 @@ along with this program. If not, see .
*/
#include QMK_KEYBOARD_H
-#define KC_OSX_EJECT 0x66
-#define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
-#define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-LAYOUT(SLEEP_OSX),
-
+ [0] = LAYOUT(LALT(LGUI(KC_KB_POWER))) // OSX Sleep
};
diff --git a/keyboards/flehrad/bigswitch/keymaps/via/keymap.c b/keyboards/flehrad/bigswitch/keymaps/via/keymap.c
index f253f4b12e0..621b38605ce 100644
--- a/keyboards/flehrad/bigswitch/keymaps/via/keymap.c
+++ b/keyboards/flehrad/bigswitch/keymaps/via/keymap.c
@@ -18,12 +18,5 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(KC_TRNS),
-
- [1] = LAYOUT(KC_TRNS),
-
- [2] = LAYOUT(KC_TRNS),
-
- [3] = LAYOUT(KC_TRNS)
+ [0] = LAYOUT(LALT(LGUI(KC_KB_POWER))) // OSX Sleep
};
From 73e3053e255f83c3cbaeee454aa6b8233e9581a9 Mon Sep 17 00:00:00 2001
From: SmollChungus <38044391+SmollChungus@users.noreply.github.com>
Date: Mon, 1 Apr 2024 21:32:21 +0200
Subject: [PATCH 12/64] [Keyboard] Add rose75 (#22968)
Co-authored-by: Joel Challis
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre
---
keyboards/rose75/info.json | 128 ++++++++++++++++++++++
keyboards/rose75/keymaps/default/keymap.c | 16 +++
keyboards/rose75/keymaps/via/keymap.c | 16 +++
keyboards/rose75/keymaps/via/rules.mk | 1 +
keyboards/rose75/readme.md | 24 ++++
keyboards/rose75/rose75.c | 20 ++++
keyboards/rose75/rules.mk | 1 +
7 files changed, 206 insertions(+)
create mode 100644 keyboards/rose75/info.json
create mode 100644 keyboards/rose75/keymaps/default/keymap.c
create mode 100644 keyboards/rose75/keymaps/via/keymap.c
create mode 100644 keyboards/rose75/keymaps/via/rules.mk
create mode 100644 keyboards/rose75/readme.md
create mode 100644 keyboards/rose75/rose75.c
create mode 100644 keyboards/rose75/rules.mk
diff --git a/keyboards/rose75/info.json b/keyboards/rose75/info.json
new file mode 100644
index 00000000000..9306cb211b6
--- /dev/null
+++ b/keyboards/rose75/info.json
@@ -0,0 +1,128 @@
+{
+ "manufacturer": "Matthijs Muller",
+ "keyboard_name": "ROSE75",
+ "maintainer": "Matthijs Muller",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["GP23", "GP21", "GP20", "GP19", "GP28", "GP12", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP10"],
+ "rows": ["GP27", "GP26", "GP25", "GP24", "GP18", "GP22"]
+ },
+ "processor": "RP2040",
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 8},
+ {"matrix": [0, 1], "x": 15, "y": 15, "flags": 8}
+ ],
+ "max_brightness": 210,
+ "sleep": true
+ },
+ "url": "https://github.com/Smollchungus",
+ "usb": {
+ "device_version": "0.0.1",
+ "force_nkro": true,
+ "pid": "0x7503",
+ "vid": "0x5363"
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP29"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "F1", "matrix": [0, 1], "x": 1.5, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.5, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0},
+ {"label": "F5", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "F6", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "F7", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "F8", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "F9", "matrix": [0, 10], "x": 10.5, "y": 0},
+ {"label": "F10", "matrix": [0, 11], "x": 11.5, "y": 0},
+ {"label": "F11", "matrix": [0, 12], "x": 12.5, "y": 0},
+ {"label": "F12", "matrix": [0, 13], "x": 13.5, "y": 0},
+ {"label": "Del", "matrix": [0, 14], "x": 15, "y": 0},
+ {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.5},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.5},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.5},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.5},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.5},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.5},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.5},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.5},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.5},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.5},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.5},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.5},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
+ {"label": "Home", "matrix": [1, 14], "x": 15, "y": 1.5},
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5},
+ {"label": "LB", "matrix": [2, 11], "x": 11.5, "y": 2.5},
+ {"label": "RB", "matrix": [2, 12], "x": 12.5, "y": 2.5},
+ {"label": "Pipe", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
+ {"label": "PgUp", "matrix": [2, 14], "x": 15, "y": 2.5},
+ {"label": "Capslock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.5},
+ {"label": "Quote", "matrix": [3, 11], "x": 11.75, "y": 3.5},
+ {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
+ {"label": "PgDn", "matrix": [3, 14], "x": 15, "y": 3.5},
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.5},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.5},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.5},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
+ {"label": "Up", "matrix": [4, 13], "x": 14, "y": 4.5},
+ {"label": "End", "matrix": [4, 14], "x": 15, "y": 4.5},
+ {"label": "Control", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
+ {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
+ {"label": "Left", "matrix": [5, 12], "x": 13, "y": 5.5},
+ {"label": "Down", "matrix": [5, 13], "x": 14, "y": 5.5},
+ {"label": "Right", "matrix": [5, 14], "x": 15, "y": 5.5}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/rose75/keymaps/default/keymap.c b/keyboards/rose75/keymaps/default/keymap.c
new file mode 100644
index 00000000000..043edaecbc1
--- /dev/null
+++ b/keyboards/rose75/keymaps/default/keymap.c
@@ -0,0 +1,16 @@
+// Copyright 2023 Matthijs Muller (@Smollchungus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = 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_END,
+ 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,
+ KC_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, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/rose75/keymaps/via/keymap.c b/keyboards/rose75/keymaps/via/keymap.c
new file mode 100644
index 00000000000..043edaecbc1
--- /dev/null
+++ b/keyboards/rose75/keymaps/via/keymap.c
@@ -0,0 +1,16 @@
+// Copyright 2023 Matthijs Muller (@Smollchungus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = 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_END,
+ 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,
+ KC_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, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/rose75/keymaps/via/rules.mk b/keyboards/rose75/keymaps/via/rules.mk
new file mode 100644
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/rose75/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/rose75/readme.md b/keyboards/rose75/readme.md
new file mode 100644
index 00000000000..85d4763d9b4
--- /dev/null
+++ b/keyboards/rose75/readme.md
@@ -0,0 +1,24 @@
+# rose75
+
+
+
+* Keyboard Maintainer: [Matthijs Muller](https://github.com/Smollchungus)
+* Hardware Supported: Rose75 Keyboard
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rose75:default
+
+Flashing example for this keyboard:
+
+ make rose75: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 (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/rose75/rose75.c b/keyboards/rose75/rose75.c
new file mode 100644
index 00000000000..d84f3da1d43
--- /dev/null
+++ b/keyboards/rose75/rose75.c
@@ -0,0 +1,20 @@
+// Copyright 2023 Matthijs Muller (@Smollchungus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+bool rgb_matrix_indicators_kb(void) {
+ if (!rgb_matrix_indicators_user()) {
+ return false;
+ }
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(0, 200, 0, 0);
+ rgb_matrix_set_color(1, 200, 0, 0);
+ } else {
+ rgb_matrix_set_color(0, 0, 0, 0);
+ rgb_matrix_set_color(1, 0, 0, 0);
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/rose75/rules.mk b/keyboards/rose75/rules.mk
new file mode 100644
index 00000000000..6e7633bfe01
--- /dev/null
+++ b/keyboards/rose75/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
From 81b5ae9bdda30b798035d4ae6c25243efbaa6a2b Mon Sep 17 00:00:00 2001
From: Cipulot <40441626+Cipulot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 23:42:21 +0200
Subject: [PATCH 13/64] Add MNK 60 EC (#23167)
Co-authored-by: Duncan Sutherland
---
keyboards/cipulot/mnk_60_ec/config.h | 66 +++++
keyboards/cipulot/mnk_60_ec/halconf.h | 21 ++
keyboards/cipulot/mnk_60_ec/info.json | 225 ++++++++++++++++++
.../mnk_60_ec/keymaps/60_hhkb/keymap.c | 42 ++++
.../mnk_60_ec/keymaps/default/keymap.c | 42 ++++
.../cipulot/mnk_60_ec/keymaps/via/keymap.c | 42 ++++
.../cipulot/mnk_60_ec/keymaps/via/rules.mk | 1 +
keyboards/cipulot/mnk_60_ec/mcuconf.h | 22 ++
keyboards/cipulot/mnk_60_ec/post_rules.mk | 3 +
keyboards/cipulot/mnk_60_ec/readme.md | 26 ++
keyboards/cipulot/mnk_60_ec/rules.mk | 5 +
11 files changed, 495 insertions(+)
create mode 100644 keyboards/cipulot/mnk_60_ec/config.h
create mode 100644 keyboards/cipulot/mnk_60_ec/halconf.h
create mode 100644 keyboards/cipulot/mnk_60_ec/info.json
create mode 100644 keyboards/cipulot/mnk_60_ec/keymaps/60_hhkb/keymap.c
create mode 100644 keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
create mode 100644 keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c
create mode 100644 keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk
create mode 100644 keyboards/cipulot/mnk_60_ec/mcuconf.h
create mode 100644 keyboards/cipulot/mnk_60_ec/post_rules.mk
create mode 100644 keyboards/cipulot/mnk_60_ec/readme.md
create mode 100644 keyboards/cipulot/mnk_60_ec/rules.mk
diff --git a/keyboards/cipulot/mnk_60_ec/config.h b/keyboards/cipulot/mnk_60_ec/config.h
new file mode 100644
index 00000000000..1a7df486572
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/config.h
@@ -0,0 +1,66 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+#define MATRIX_ROW_PINS \
+ { B13, B14, B15, A8, A15 }
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
+ { B6, B5, B4 }
+
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 6 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 0, 3, 1, 2, 4, 5, 6, 7 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 0, 3, 1, 2, 4, 5 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
+#define DISCHARGE_PIN A3
+#define ANALOG_PORT A2
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 149
diff --git a/keyboards/cipulot/mnk_60_ec/halconf.h b/keyboards/cipulot/mnk_60_ec/halconf.h
new file mode 100644
index 00000000000..835d43b6a0a
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+
+#include_next
diff --git a/keyboards/cipulot/mnk_60_ec/info.json b/keyboards/cipulot/mnk_60_ec/info.json
new file mode 100644
index 00000000000..802e216f672
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/info.json
@@ -0,0 +1,225 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "MNK 60 EC",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "processor": "STM32F401",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BB6",
+ "vid": "0x6369"
+ },
+ "community_layouts": ["60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb"],
+ "layouts": {
+ "LAYOUT_60_ansi_wkl_split_bs_rshift": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 13], "x": 14, "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.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 12], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
+ ]
+ },
+ "LAYOUT_60_hhkb": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 13], "x": 14, "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.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 12], "x": 14, "y": 3},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_tsangan_hhkb": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 13], "x": 14, "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.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 12], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4},
+ {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/60_hhkb/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/60_hhkb/keymap.c
new file mode 100644
index 00000000000..6e2678d4f73
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/keymaps/60_hhkb/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_60_hhkb(
+ KC_ESC, 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_BSLS, KC_GRV,
+ 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_DEL,
+ 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_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
+
+ [1] = LAYOUT_60_hhkb(
+ _______, 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_INS, KC_DEL,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
+ _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, MO(2)),
+
+ [2] = LAYOUT_60_hhkb(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
new file mode 100644
index 00000000000..08599b93d3a
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_60_tsangan_hhkb(
+ KC_ESC, 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_BSLS, KC_GRV,
+ 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_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RGUI, KC_RALT),
+
+ [1] = LAYOUT_60_tsangan_hhkb(
+ _______, 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_INS, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
+ _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, _______, MO(2), _______),
+
+ [2] = LAYOUT_60_tsangan_hhkb(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c
new file mode 100644
index 00000000000..08599b93d3a
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_60_tsangan_hhkb(
+ KC_ESC, 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_BSLS, KC_GRV,
+ 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_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RGUI, KC_RALT),
+
+ [1] = LAYOUT_60_tsangan_hhkb(
+ _______, 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_INS, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
+ _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, _______, MO(2), _______),
+
+ [2] = LAYOUT_60_tsangan_hhkb(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk b/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk
new file mode 100644
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cipulot/mnk_60_ec/mcuconf.h b/keyboards/cipulot/mnk_60_ec/mcuconf.h
new file mode 100644
index 00000000000..fa3c955e0d8
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
diff --git a/keyboards/cipulot/mnk_60_ec/post_rules.mk b/keyboards/cipulot/mnk_60_ec/post_rules.mk
new file mode 100644
index 00000000000..d726a112a8c
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/mnk_60_ec/readme.md b/keyboards/cipulot/mnk_60_ec/readme.md
new file mode 100644
index 00000000000..85a770f1518
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/readme.md
@@ -0,0 +1,26 @@
+# MNK 60 EC
+
+
+
+EC version of the Monokei MNK 66.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: MNK 60 EC PCB
+* Hardware Availability: [Monokei](https://monokei.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/mnk_60_ec:default
+
+Flashing example for this keyboard:
+
+ make cipulot/mnk_60_ec: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 2 ways:
+
+* **Physical reset**: Long short the exposed pads on the top of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/mnk_60_ec/rules.mk b/keyboards/cipulot/mnk_60_ec/rules.mk
new file mode 100644
index 00000000000..ce525670a68
--- /dev/null
+++ b/keyboards/cipulot/mnk_60_ec/rules.mk
@@ -0,0 +1,5 @@
+CUSTOM_MATRIX = lite
+ANALOG_DRIVER_REQUIRED = yes
+VPATH += keyboards/cipulot/common
+SRC += matrix.c ec_board.c ec_switch_matrix.c
+OPT = 3
From 5fc4e331bda7025ebef63260f0085be5b5be9f9f Mon Sep 17 00:00:00 2001
From: Cipulot <40441626+Cipulot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 23:44:16 +0200
Subject: [PATCH 14/64] Add MNK 65 EC (#23168)
---
keyboards/cipulot/mnk_65_ec/config.h | 66 ++++++++++++
keyboards/cipulot/mnk_65_ec/halconf.h | 21 ++++
keyboards/cipulot/mnk_65_ec/info.json | 100 ++++++++++++++++++
.../mnk_65_ec/keymaps/default/keymap.c | 43 ++++++++
.../cipulot/mnk_65_ec/keymaps/via/keymap.c | 43 ++++++++
.../cipulot/mnk_65_ec/keymaps/via/rules.mk | 1 +
keyboards/cipulot/mnk_65_ec/mcuconf.h | 22 ++++
keyboards/cipulot/mnk_65_ec/post_rules.mk | 3 +
keyboards/cipulot/mnk_65_ec/readme.md | 26 +++++
keyboards/cipulot/mnk_65_ec/rules.mk | 5 +
10 files changed, 330 insertions(+)
create mode 100644 keyboards/cipulot/mnk_65_ec/config.h
create mode 100644 keyboards/cipulot/mnk_65_ec/halconf.h
create mode 100644 keyboards/cipulot/mnk_65_ec/info.json
create mode 100644 keyboards/cipulot/mnk_65_ec/keymaps/default/keymap.c
create mode 100644 keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c
create mode 100644 keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk
create mode 100644 keyboards/cipulot/mnk_65_ec/mcuconf.h
create mode 100644 keyboards/cipulot/mnk_65_ec/post_rules.mk
create mode 100644 keyboards/cipulot/mnk_65_ec/readme.md
create mode 100644 keyboards/cipulot/mnk_65_ec/rules.mk
diff --git a/keyboards/cipulot/mnk_65_ec/config.h b/keyboards/cipulot/mnk_65_ec/config.h
new file mode 100644
index 00000000000..01d1248c436
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/config.h
@@ -0,0 +1,66 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS \
+ { B14, B15, A8, B12, A15 }
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B7, B3 }
+
+#define AMUX_SEL_PINS \
+ { B6, B5, B4 }
+
+#define AMUX_COL_CHANNELS_SIZES \
+ { 8, 7 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 0, 3, 1, 2, 4, 5, 6, 7 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 0, 3, 1, 2, 4, 5, 6 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
+#define DISCHARGE_PIN A3
+#define ANALOG_PORT A2
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 159
diff --git a/keyboards/cipulot/mnk_65_ec/halconf.h b/keyboards/cipulot/mnk_65_ec/halconf.h
new file mode 100644
index 00000000000..835d43b6a0a
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+
+#include_next
diff --git a/keyboards/cipulot/mnk_65_ec/info.json b/keyboards/cipulot/mnk_65_ec/info.json
new file mode 100644
index 00000000000..5427601f760
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/info.json
@@ -0,0 +1,100 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "MNK 65 EC",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "processor": "STM32F401",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BB5",
+ "vid": "0x6369"
+ },
+ "layouts": {
+ "LAYOUT_65_ansi_blocker_tsangan": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 14], "x": 15, "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.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 12], "x": 14, "y": 3},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 13, "y": 4},
+ {"matrix": [4, 12], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/mnk_65_ec/keymaps/default/keymap.c b/keyboards/cipulot/mnk_65_ec/keymaps/default/keymap.c
new file mode 100644
index 00000000000..03b9c3de33e
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_blocker_tsangan(
+ KC_ESC, 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,
+ KC_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, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi_blocker_tsangan(
+ KC_GRV, 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_DEL, _______,
+ _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_65_ansi_blocker_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ // clang-format on
+};
diff --git a/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c b/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c
new file mode 100644
index 00000000000..03b9c3de33e
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_blocker_tsangan(
+ KC_ESC, 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,
+ KC_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, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi_blocker_tsangan(
+ KC_GRV, 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_DEL, _______,
+ _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_65_ansi_blocker_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ // clang-format on
+};
diff --git a/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk b/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk
new file mode 100644
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cipulot/mnk_65_ec/mcuconf.h b/keyboards/cipulot/mnk_65_ec/mcuconf.h
new file mode 100644
index 00000000000..fa3c955e0d8
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
diff --git a/keyboards/cipulot/mnk_65_ec/post_rules.mk b/keyboards/cipulot/mnk_65_ec/post_rules.mk
new file mode 100644
index 00000000000..d726a112a8c
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/post_rules.mk
@@ -0,0 +1,3 @@
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += keyboards/cipulot/common/via_ec.c
+endif
diff --git a/keyboards/cipulot/mnk_65_ec/readme.md b/keyboards/cipulot/mnk_65_ec/readme.md
new file mode 100644
index 00000000000..aeedcc51c7e
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/readme.md
@@ -0,0 +1,26 @@
+# Monokei MNK 65 EC
+
+
+
+EC version of the Monokei MNK 65.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: Monokei MNK 65 EC
+* Hardware Availability: [Monokei](https://monokei.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/mnk_65_ec:default
+
+Flashing example for this keyboard:
+
+ make cipulot/mnk_65_ec: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 2 ways:
+
+* **Physical reset**: Long short the exposed pads on the top of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/mnk_65_ec/rules.mk b/keyboards/cipulot/mnk_65_ec/rules.mk
new file mode 100644
index 00000000000..ce525670a68
--- /dev/null
+++ b/keyboards/cipulot/mnk_65_ec/rules.mk
@@ -0,0 +1,5 @@
+CUSTOM_MATRIX = lite
+ANALOG_DRIVER_REQUIRED = yes
+VPATH += keyboards/cipulot/common
+SRC += matrix.c ec_board.c ec_switch_matrix.c
+OPT = 3
From 8757a19375b4fdc65b4dd471b11cb4378c3e7177 Mon Sep 17 00:00:00 2001
From: Cipulot <40441626+Cipulot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 23:45:09 +0200
Subject: [PATCH 15/64] Fix in 60_iso_wkl_split_bs_rshift diagram (#22654)
---
.../default_60_iso_wkl_split_bs_rshift/keymap.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/layouts/default/60_iso_wkl_split_bs_rshift/default_60_iso_wkl_split_bs_rshift/keymap.c b/layouts/default/60_iso_wkl_split_bs_rshift/default_60_iso_wkl_split_bs_rshift/keymap.c
index b07d56ea206..228522f1b67 100644
--- a/layouts/default/60_iso_wkl_split_bs_rshift/default_60_iso_wkl_split_bs_rshift/keymap.c
+++ b/layouts/default/60_iso_wkl_split_bs_rshift/default_60_iso_wkl_split_bs_rshift/keymap.c
@@ -11,9 +11,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Sft│
- * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Sft│
+ * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
* │Ctrl │ │ Alt │ │ Alt │ │ Ctrl│
* └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
*/
From d4d8b0c6d32845c8a765afd615b8e2e2670f85fd Mon Sep 17 00:00:00 2001
From: Cipulot <40441626+Cipulot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 23:49:46 +0200
Subject: [PATCH 16/64] Add EC Type-K (#23193)
---
keyboards/cipulot/ec_typek/config.h | 81 +++
keyboards/cipulot/ec_typek/ec_switch_matrix.c | 318 +++++++++++
keyboards/cipulot/ec_typek/ec_switch_matrix.h | 84 +++
keyboards/cipulot/ec_typek/ec_typek.c | 119 +++++
keyboards/cipulot/ec_typek/halconf.h | 23 +
keyboards/cipulot/ec_typek/info.json | 133 +++++
.../cipulot/ec_typek/keymaps/default/keymap.c | 41 ++
.../cipulot/ec_typek/keymaps/via/keymap.c | 41 ++
.../cipulot/ec_typek/keymaps/via/rules.mk | 3 +
.../ec_typek/keymaps/via/via_ec_indicators.c | 502 ++++++++++++++++++
keyboards/cipulot/ec_typek/matrix.c | 42 ++
keyboards/cipulot/ec_typek/mcuconf.h | 28 +
keyboards/cipulot/ec_typek/readme.md | 26 +
keyboards/cipulot/ec_typek/rules.mk | 4 +
14 files changed, 1445 insertions(+)
create mode 100644 keyboards/cipulot/ec_typek/config.h
create mode 100644 keyboards/cipulot/ec_typek/ec_switch_matrix.c
create mode 100644 keyboards/cipulot/ec_typek/ec_switch_matrix.h
create mode 100644 keyboards/cipulot/ec_typek/ec_typek.c
create mode 100644 keyboards/cipulot/ec_typek/halconf.h
create mode 100644 keyboards/cipulot/ec_typek/info.json
create mode 100644 keyboards/cipulot/ec_typek/keymaps/default/keymap.c
create mode 100644 keyboards/cipulot/ec_typek/keymaps/via/keymap.c
create mode 100644 keyboards/cipulot/ec_typek/keymaps/via/rules.mk
create mode 100644 keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c
create mode 100644 keyboards/cipulot/ec_typek/matrix.c
create mode 100644 keyboards/cipulot/ec_typek/mcuconf.h
create mode 100644 keyboards/cipulot/ec_typek/readme.md
create mode 100644 keyboards/cipulot/ec_typek/rules.mk
diff --git a/keyboards/cipulot/ec_typek/config.h b/keyboards/cipulot/ec_typek/config.h
new file mode 100644
index 00000000000..a6619c600c8
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/config.h
@@ -0,0 +1,81 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS \
+ { B14, B13, B12, A6, A7 }
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 8
+
+#define AMUX_EN_PINS \
+ { B9, B8 }
+
+#define AMUX_SEL_PINS \
+ { B7, B6, B5 }
+
+#define AMUX_COL_CHANNELS_SIZES \
+ { 7, 8 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 3, 0, 1, 2, 4, 6, 7 }
+
+#define AMUX_1_COL_CHANNELS \
+ { 3, 0, 1, 2, 4, 6, 7, 5 }
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
+#define DISCHARGE_PIN A1
+#define ANALOG_PORT A2
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 100
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+
+#define EECONFIG_KB_DATA_SIZE 171
+
+// RGB & Indicators
+// PWM driver with direct memory access (DMA) support
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
+#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP
+
+#define RGBLIGHT_DEFAULT_VAL 200
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
+
+#define NUM_INDICATOR_INDEX 2
+#define CAPS_INDICATOR_INDEX 1
+#define SCROLL_INDICATOR_INDEX 0
diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.c b/keyboards/cipulot/ec_typek/ec_switch_matrix.c
new file mode 100644
index 00000000000..da58a75bbcf
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.c
@@ -0,0 +1,318 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include "ec_switch_matrix.h"
+#include "analog.h"
+#include "atomic_util.h"
+#include "math.h"
+#include "print.h"
+#include "wait.h"
+
+#if defined(__AVR__)
+# error "AVR platforms not supported due to a variety of reasons. Among them there are limited memory, limited number of pins and ADC not being able to give satisfactory results."
+#endif
+
+#define OPEN_DRAIN_SUPPORT defined(PAL_MODE_OUTPUT_OPENDRAIN)
+
+eeprom_ec_config_t eeprom_ec_config;
+ec_config_t ec_config;
+
+// Pin and port array
+const pin_t row_pins[] = MATRIX_ROW_PINS;
+const pin_t amux_sel_pins[] = AMUX_SEL_PINS;
+const pin_t amux_en_pins[] = AMUX_EN_PINS;
+const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES;
+const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS};
+
+#define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins)
+#define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT)
+// Checks for the correctness of the configuration
+_Static_assert(ARRAY_SIZE(amux_en_pins) == AMUX_COUNT, "AMUX_EN_PINS doesn't have the minimum number of bits required to enable all the multiplexers available");
+// Check that number of select pins is enough to select all the channels
+_Static_assert(AMUX_SEL_PINS_COUNT == EXPECTED_AMUX_SEL_PINS_COUNT), "AMUX_SEL_PINS doesn't have the minimum number of bits required address all the channels");
+// Check that number of elements in AMUX_COL_CHANNELS_SIZES is enough to specify the number of channels for all the multiplexers available
+_Static_assert(ARRAY_SIZE(amux_n_col_sizes) == AMUX_COUNT, "AMUX_COL_CHANNELS_SIZES doesn't have the minimum number of elements required to specify the number of channels for all the multiplexers available");
+// static ec_config_t config;
+static uint16_t sw_value[MATRIX_ROWS][MATRIX_COLS];
+
+static adc_mux adcMux;
+
+// Initialize the row pins
+void init_row(void) {
+ // Set all row pins as output and low
+ for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) {
+ gpio_set_pin_output(row_pins[idx]);
+ gpio_write_pin_low(row_pins[idx]);
+ }
+}
+
+// Initialize the multiplexers
+void init_amux(void) {
+ for (uint8_t idx = 0; idx < AMUX_COUNT; idx++) {
+ gpio_set_pin_output(amux_en_pins[idx]);
+ gpio_write_pin_low(amux_en_pins[idx]);
+ }
+ for (uint8_t idx = 0; idx < AMUX_SEL_PINS_COUNT; idx++) {
+ gpio_set_pin_output(amux_sel_pins[idx]);
+ }
+}
+
+// Select the multiplexer channel of the specified multiplexer
+void select_amux_channel(uint8_t channel, uint8_t col) {
+ // Get the channel for the specified multiplexer
+ uint8_t ch = amux_n_col_channels[channel][col];
+ // momentarily disable specified multiplexer
+ gpio_write_pin_high(amux_en_pins[channel]);
+ // Select the multiplexer channel
+ for (uint8_t i = 0; i < AMUX_SEL_PINS_COUNT; i++) {
+ gpio_write_pin(amux_sel_pins[i], ch & (1 << i));
+ }
+ // re enable specified multiplexer
+ gpio_write_pin_low(amux_en_pins[channel]);
+}
+
+// Disable all the unused multiplexers
+void disable_unused_amux(uint8_t channel) {
+ // disable all the other multiplexers apart from the current selected one
+ for (uint8_t idx = 0; idx < AMUX_COUNT; idx++) {
+ if (idx != channel) {
+ gpio_write_pin_high(amux_en_pins[idx]);
+ }
+ }
+}
+// Discharge the peak hold capacitor
+void discharge_capacitor(void) {
+#ifdef OPEN_DRAIN_SUPPORT
+ gpio_write_pin_low(DISCHARGE_PIN);
+#else
+ gpio_write_pin_low(DISCHARGE_PIN);
+ gpio_set_pin_output(DISCHARGE_PIN);
+#endif
+}
+
+// Charge the peak hold capacitor
+void charge_capacitor(uint8_t row) {
+#ifdef OPEN_DRAIN_SUPPORT
+ gpio_write_pin_high(DISCHARGE_PIN);
+#else
+ gpio_set_pin_input(DISCHARGE_PIN);
+#endif
+ gpio_write_pin_high(row_pins[row]);
+}
+
+// Initialize the peripherals pins
+int ec_init(void) {
+ // Initialize ADC
+ palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG);
+ adcMux = pinToMux(ANALOG_PORT);
+
+ // Dummy call to make sure that adcStart() has been called in the appropriate state
+ adc_read(adcMux);
+
+ // Initialize discharge pin as discharge mode
+ gpio_write_pin_low(DISCHARGE_PIN);
+#ifdef OPEN_DRAIN_SUPPORT
+ gpio_set_pin_output_open_drain(DISCHARGE_PIN);
+#else
+ gpio_set_pin_output(DISCHARGE_PIN);
+#endif
+
+ // Initialize drive lines
+ init_row();
+
+ // Initialize AMUXs
+ init_amux();
+
+ return 0;
+}
+
+// Get the noise floor
+void ec_noise_floor(void) {
+ // Initialize the noise floor
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.noise_floor[row][col] = 0;
+ }
+ }
+
+ // Sample the noise floor
+ for (uint8_t i = 0; i < DEFAULT_NOISE_FLOOR_SAMPLING_COUNT; i++) {
+ for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
+ disable_unused_amux(amux);
+ for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col);
+ }
+ }
+ }
+ wait_ms(5);
+ }
+
+ // Average the noise floor
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.noise_floor[row][col] /= DEFAULT_NOISE_FLOOR_SAMPLING_COUNT;
+ }
+ }
+}
+
+// Scan key values and update matrix state
+bool ec_matrix_scan(matrix_row_t current_matrix[]) {
+ bool updated = false;
+
+ for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
+ disable_unused_amux(amux);
+ for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
+ sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col);
+
+ if (ec_config.bottoming_calibration) {
+ if (ec_config.bottoming_calibration_starter[row][adjusted_col]) {
+ ec_config.bottoming_reading[row][adjusted_col] = sw_value[row][adjusted_col];
+ ec_config.bottoming_calibration_starter[row][adjusted_col] = false;
+ } else if (sw_value[row][adjusted_col] > ec_config.bottoming_reading[row][adjusted_col]) {
+ ec_config.bottoming_reading[row][adjusted_col] = sw_value[row][adjusted_col];
+ }
+ } else {
+ updated |= ec_update_key(¤t_matrix[row], row, adjusted_col, sw_value[row][adjusted_col]);
+ }
+ }
+ }
+ }
+
+ return ec_config.bottoming_calibration ? false : updated;
+}
+
+// Read the capacitive sensor value
+uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
+ uint16_t sw_value = 0;
+
+ // Select the multiplexer
+ select_amux_channel(channel, col);
+
+ // Set the row pin to low state to avoid ghosting
+ gpio_write_pin_low(row_pins[row]);
+
+ ATOMIC_BLOCK_FORCEON {
+ // Set the row pin to high state and have capacitor charge
+ charge_capacitor(row);
+ // Read the ADC value
+ sw_value = adc_read(adcMux);
+ }
+ // Discharge peak hold capacitor
+ discharge_capacitor();
+ // Waiting for the ghost capacitor to discharge fully
+ wait_us(DISCHARGE_TIME);
+
+ return sw_value;
+}
+
+// Update press/release state of key
+bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
+ bool current_state = (*current_row >> col) & 1;
+
+ // Real Time Noise Floor Calibration
+ if (sw_value < (ec_config.noise_floor[row][col] - NOISE_FLOOR_THRESHOLD)) {
+ uprintf("Noise Floor Change: %d, %d, %d\n", row, col, sw_value);
+ ec_config.noise_floor[row][col] = sw_value;
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+
+ // Normal board-wide APC
+ if (ec_config.actuation_mode == 0) {
+ if (current_state && sw_value < ec_config.rescaled_mode_0_release_threshold[row][col]) {
+ *current_row &= ~(1 << col);
+ uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ if ((!current_state) && sw_value > ec_config.rescaled_mode_0_actuation_threshold[row][col]) {
+ *current_row |= (1 << col);
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ // Rapid Trigger
+ else if (ec_config.actuation_mode == 1) {
+ // Is key in active zone?
+ if (sw_value > ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]) {
+ // Is key pressed while in active zone?
+ if (current_state) {
+ // Is the key still moving down?
+ if (sw_value > ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ }
+ // Has key moved up enough to be released?
+ else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row &= ~(1 << col);
+ uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ // Key is not pressed while in active zone
+ else {
+ // Is the key still moving up?
+ if (sw_value < ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ }
+ // Has key moved down enough to be pressed?
+ else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row |= (1 << col);
+ uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
+ return true;
+ }
+ }
+ }
+ // Key is not in active zone
+ else {
+ // Check to avoid key being stuck in pressed state near the active zone threshold
+ if (sw_value < ec_config.extremum[row][col]) {
+ ec_config.extremum[row][col] = sw_value;
+ *current_row &= ~(1 << col);
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+// Print the matrix values
+void ec_print_matrix(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", sw_value[row][col]);
+ }
+ uprintf("%4d\n", sw_value[row][MATRIX_COLS - 1]);
+ }
+ print("\n");
+}
+
+// Rescale the value to a different range
+uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) {
+ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
+}
diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.h b/keyboards/cipulot/ec_typek/ec_switch_matrix.h
new file mode 100644
index 00000000000..fad20360bc7
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.h
@@ -0,0 +1,84 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include
+#include
+#include "matrix.h"
+#include "eeconfig.h"
+#include "util.h"
+
+typedef struct _indicator_config_t {
+ uint8_t h;
+ uint8_t s;
+ uint8_t v;
+ bool enabled;
+} indicator_config;
+
+typedef struct PACKED {
+ indicator_config num;
+ indicator_config caps;
+ indicator_config scroll;
+ uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
+ uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
+ uint16_t mode_0_release_threshold; // threshold for key release in mode 0
+ uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255)
+ uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
+} eeprom_ec_config_t;
+
+typedef struct {
+ uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point (it can be very near that baseline noise and be "full travel")
+ uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
+ uint16_t mode_0_release_threshold; // threshold for key release in mode 0
+ uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
+ uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
+ uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
+ uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
+ bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
+ bool bottoming_calibration_starter[MATRIX_ROWS][MATRIX_COLS]; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
+ uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
+} ec_config_t;
+
+// Check if the size of the reserved persistent memory is the same as the size of struct eeprom_ec_config_t
+_Static_assert(sizeof(eeprom_ec_config_t) == EECONFIG_KB_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");
+
+extern eeprom_ec_config_t eeprom_ec_config;
+
+extern ec_config_t ec_config;
+
+void init_row(void);
+void init_amux(void);
+void select_amux_channel(uint8_t channel, uint8_t col);
+void disable_unused_amux(uint8_t channel);
+void discharge_capacitor(void);
+void charge_capacitor(uint8_t row);
+
+int ec_init(void);
+void ec_noise_floor(void);
+bool ec_matrix_scan(matrix_row_t current_matrix[]);
+uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col);
+bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value);
+void ec_print_matrix(void);
+
+uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
+bool indicators_callback(void);
diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c
new file mode 100644
index 00000000000..035c90303ca
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/ec_typek.c
@@ -0,0 +1,119 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include "ec_switch_matrix.h"
+#include "quantum.h"
+
+void eeconfig_init_kb(void) {
+ // Default values
+ eeprom_ec_config.num.h = 0;
+ eeprom_ec_config.num.s = 0;
+ eeprom_ec_config.num.v = 60;
+ eeprom_ec_config.num.enabled = true;
+ eeprom_ec_config.caps.h = 0;
+ eeprom_ec_config.caps.s = 0;
+ eeprom_ec_config.caps.v = 60;
+ eeprom_ec_config.caps.enabled = true;
+ eeprom_ec_config.scroll.h = 0;
+ eeprom_ec_config.scroll.s = 0;
+ eeprom_ec_config.scroll.v = 60;
+ eeprom_ec_config.scroll.enabled = true;
+ eeprom_ec_config.actuation_mode = DEFAULT_ACTUATION_MODE;
+ eeprom_ec_config.mode_0_actuation_threshold = DEFAULT_MODE_0_ACTUATION_LEVEL;
+ eeprom_ec_config.mode_0_release_threshold = DEFAULT_MODE_0_RELEASE_LEVEL;
+ eeprom_ec_config.mode_1_initial_deadzone_offset = DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET;
+ eeprom_ec_config.mode_1_actuation_offset = DEFAULT_MODE_1_ACTUATION_OFFSET;
+ eeprom_ec_config.mode_1_release_offset = DEFAULT_MODE_1_RELEASE_OFFSET;
+
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ eeprom_ec_config.bottoming_reading[row][col] = DEFAULT_BOTTOMING_READING;
+ }
+ }
+ // Write default value to EEPROM now
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+
+ eeconfig_init_user();
+}
+
+// On Keyboard startup
+void keyboard_post_init_kb(void) {
+ // Read custom menu variables from memory
+ eeconfig_read_kb_datablock(&eeprom_ec_config);
+
+ // Set runtime values to EEPROM values
+ ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
+ ec_config.mode_0_actuation_threshold = eeprom_ec_config.mode_0_actuation_threshold;
+ ec_config.mode_0_release_threshold = eeprom_ec_config.mode_0_release_threshold;
+ ec_config.mode_1_initial_deadzone_offset = eeprom_ec_config.mode_1_initial_deadzone_offset;
+ ec_config.mode_1_actuation_offset = eeprom_ec_config.mode_1_actuation_offset;
+ ec_config.mode_1_release_offset = eeprom_ec_config.mode_1_release_offset;
+ ec_config.bottoming_calibration = false;
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.bottoming_calibration_starter[row][col] = true;
+ ec_config.bottoming_reading[row][col] = eeprom_ec_config.bottoming_reading[row][col];
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+
+ // Set the RGB LEDs range that will be used for the effects
+ rgblight_set_effect_range(3, 66);
+ // Call the indicator callback to set the indicator color
+ indicators_callback();
+
+ keyboard_post_init_user();
+}
+
+// This function gets called when caps, num, scroll change
+bool led_update_kb(led_t led_state) {
+ indicators_callback();
+ return true;
+}
+
+// This function is called when layers change
+layer_state_t layer_state_set_user(layer_state_t state) {
+ indicators_callback();
+ return state;
+}
+
+// INDICATOR CALLBACK ------------------------------------------------------------------------------
+/* LED index to physical position
+ *
+ * LED2 | LED1 | LED0
+ * -----+------+--------
+ * Num | Caps | Scroll |
+ */
+bool indicators_callback(void) {
+ if ((eeprom_ec_config.num.enabled) && (host_keyboard_led_state().num_lock))
+ sethsv(eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v, (rgb_led_t *)&led[NUM_INDICATOR_INDEX]);
+ else
+ sethsv(0, 0, 0, (rgb_led_t *)&led[NUM_INDICATOR_INDEX]);
+
+ if ((eeprom_ec_config.caps.enabled) && (host_keyboard_led_state().caps_lock))
+ sethsv(eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v, (rgb_led_t *)&led[CAPS_INDICATOR_INDEX]);
+ else
+ sethsv(0, 0, 0, (rgb_led_t *)&led[CAPS_INDICATOR_INDEX]);
+
+ if ((eeprom_ec_config.scroll.enabled) && (host_keyboard_led_state().scroll_lock))
+ sethsv(eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v, (rgb_led_t *)&led[SCROLL_INDICATOR_INDEX]);
+ else
+ sethsv(0, 0, 0, (rgb_led_t *)&led[SCROLL_INDICATOR_INDEX]);
+
+ return true;
+}
diff --git a/keyboards/cipulot/ec_typek/halconf.h b/keyboards/cipulot/ec_typek/halconf.h
new file mode 100644
index 00000000000..24de0954858
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+#define HAL_USE_PWM TRUE
+#define HAL_USE_PAL TRUE
+
+#include_next
diff --git a/keyboards/cipulot/ec_typek/info.json b/keyboards/cipulot/ec_typek/info.json
new file mode 100644
index 00000000000..e4642ee5553
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/info.json
@@ -0,0 +1,133 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "EC Type-K",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": false,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "processor": "STM32F411",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "led_count": 69,
+ "led_map": [0, 1, 2, 3, 4, 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65],
+ "max_brightness": 200
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BB4",
+ "shared_endpoint": {
+ "keyboard": true
+ },
+ "vid": "0x6369"
+ },
+ "ws2812": {
+ "driver": "pwm",
+ "pin": "B15"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [1, 0], "x": 0.75, "y": 0},
+ {"matrix": [0, 0], "x": 2.5, "y": 0},
+ {"matrix": [0, 1], "x": 3.5, "y": 0},
+ {"matrix": [0, 2], "x": 4.5, "y": 0},
+ {"matrix": [0, 3], "x": 5.5, "y": 0},
+ {"matrix": [0, 4], "x": 6.5, "y": 0},
+ {"matrix": [0, 5], "x": 7.5, "y": 0},
+ {"matrix": [0, 6], "x": 8.5, "y": 0},
+ {"matrix": [0, 7], "x": 10.5, "y": 0},
+ {"matrix": [0, 8], "x": 11.5, "y": 0},
+ {"matrix": [0, 9], "x": 12.5, "y": 0},
+ {"matrix": [0, 10], "x": 13.5, "y": 0},
+ {"matrix": [0, 11], "x": 14.5, "y": 0},
+ {"matrix": [0, 12], "x": 15.5, "y": 0},
+ {"matrix": [0, 13], "x": 16.5, "y": 0},
+ {"matrix": [0, 14], "x": 17.5, "y": 0},
+ {"matrix": [2, 0], "x": 0.5, "y": 1},
+ {"matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 2], "x": 3.75, "y": 1},
+ {"matrix": [1, 3], "x": 4.75, "y": 1},
+ {"matrix": [1, 4], "x": 5.75, "y": 1},
+ {"matrix": [1, 5], "x": 6.75, "y": 1},
+ {"matrix": [1, 6], "x": 7.75, "y": 1},
+ {"matrix": [1, 7], "x": 10.25, "y": 1},
+ {"matrix": [1, 8], "x": 11.25, "y": 1},
+ {"matrix": [1, 9], "x": 12.25, "y": 1},
+ {"matrix": [1, 10], "x": 13.25, "y": 1},
+ {"matrix": [1, 11], "x": 14.25, "y": 1},
+ {"matrix": [1, 12], "x": 15.25, "y": 1},
+ {"matrix": [1, 13], "x": 16.25, "y": 1},
+ {"matrix": [1, 14], "x": 17.25, "y": 1, "w": 1.5},
+ {"matrix": [3, 0], "x": 0.25, "y": 2},
+ {"matrix": [2, 1], "x": 2, "y": 2, "w": 1.75},
+ {"matrix": [2, 2], "x": 3.75, "y": 2},
+ {"matrix": [2, 3], "x": 4.75, "y": 2},
+ {"matrix": [2, 4], "x": 5.75, "y": 2},
+ {"matrix": [2, 5], "x": 6.75, "y": 2},
+ {"matrix": [2, 6], "x": 7.75, "y": 2},
+ {"matrix": [2, 7], "x": 10.75, "y": 2},
+ {"matrix": [2, 8], "x": 11.75, "y": 2},
+ {"matrix": [2, 9], "x": 12.75, "y": 2},
+ {"matrix": [2, 10], "x": 13.75, "y": 2},
+ {"matrix": [2, 11], "x": 14.75, "y": 2},
+ {"matrix": [2, 12], "x": 15.75, "y": 2},
+ {"matrix": [2, 14], "x": 16.75, "y": 2, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 4, "y": 3},
+ {"matrix": [3, 3], "x": 5, "y": 3},
+ {"matrix": [3, 4], "x": 6, "y": 3},
+ {"matrix": [3, 5], "x": 7, "y": 3},
+ {"matrix": [3, 6], "x": 8, "y": 3},
+ {"matrix": [3, 7], "x": 10.5, "y": 3},
+ {"matrix": [3, 8], "x": 11.5, "y": 3},
+ {"matrix": [3, 9], "x": 12.5, "y": 3},
+ {"matrix": [3, 10], "x": 13.5, "y": 3},
+ {"matrix": [3, 11], "x": 14.5, "y": 3},
+ {"matrix": [3, 12], "x": 15.5, "y": 3},
+ {"matrix": [3, 13], "x": 16.5, "y": 3, "w": 1.25},
+ {"matrix": [3, 14], "x": 17.75, "y": 3},
+ {"matrix": [4, 1], "x": 1.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 5, "y": 4, "w": 1.5},
+ {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2},
+ {"matrix": [4, 6], "x": 8.5, "y": 4},
+ {"matrix": [4, 7], "x": 10, "y": 4},
+ {"matrix": [4, 8], "x": 11, "y": 4, "w": 2},
+ {"matrix": [4, 10], "x": 13, "y": 4, "w": 1.5},
+ {"matrix": [4, 13], "x": 16.75, "y": 4, "w": 1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/ec_typek/keymaps/default/keymap.c b/keyboards/cipulot/ec_typek/keymaps/default/keymap.c
new file mode 100644
index 00000000000..e47e50680e0
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT(
+ KC_ESC, 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_BSLS, KC_DEL,
+ 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_BSPC,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LGUI, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_RGUI, KC_SPC, KC_RALT, MO(1)
+ ),
+ [1] = LAYOUT(
+ _______, _______, 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_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______,
+ KC_END, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, MO(2), _______
+ ),
+ [2] = LAYOUT(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/keymap.c b/keyboards/cipulot/ec_typek/keymaps/via/keymap.c
new file mode 100644
index 00000000000..e47e50680e0
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/keymaps/via/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT(
+ KC_ESC, 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_BSLS, KC_DEL,
+ 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_BSPC,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LGUI, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_RGUI, KC_SPC, KC_RALT, MO(1)
+ ),
+ [1] = LAYOUT(
+ _______, _______, 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_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______,
+ KC_END, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, MO(2), _______
+ ),
+ [2] = LAYOUT(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/rules.mk b/keyboards/cipulot/ec_typek/keymaps/via/rules.mk
new file mode 100644
index 00000000000..b870b6349c0
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+
+SRC += via_ec_indicators.c
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c b/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c
new file mode 100644
index 00000000000..742dac0e6f1
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c
@@ -0,0 +1,502 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include "keyboards/cipulot/common/eeprom_tools.h"
+#include "ec_switch_matrix.h"
+#include "action.h"
+#include "print.h"
+#include "via.h"
+
+#ifdef VIA_ENABLE
+
+void ec_rescale_values(uint8_t item);
+void ec_save_threshold_data(uint8_t option);
+void ec_save_bottoming_reading(void);
+void ec_show_calibration_data(void);
+void ec_clear_bottoming_calibration_data(void);
+
+// Declaring enums for VIA config menu
+enum via_enums {
+ // clang-format off
+ id_num_indicator_enabled = 1,
+ id_num_indicator_brightness = 2,
+ id_num_indicator_color = 3,
+ id_caps_indicator_enabled = 4,
+ id_caps_indicator_brightness = 5,
+ id_caps_indicator_color = 6,
+ id_scroll_indicator_enabled = 7,
+ id_scroll_indicator_brightness = 8,
+ id_scroll_indicator_color = 9,
+ id_actuation_mode = 10,
+ id_mode_0_actuation_threshold = 11,
+ id_mode_0_release_threshold = 12,
+ id_save_threshold_data = 13,
+ id_mode_1_initial_deadzone_offset = 14,
+ id_mode_1_actuation_offset = 15,
+ id_mode_1_release_offset = 16,
+ id_bottoming_calibration = 17,
+ id_noise_floor_calibration = 18,
+ id_show_calibration_data = 19,
+ id_clear_bottoming_calibration_data = 20
+ // clang-format on
+};
+
+// Handle the data received by the keyboard from the VIA menus
+void via_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_num_indicator_enabled: {
+ if (value_data[0] == 1) {
+ eeprom_ec_config.num.enabled = true;
+ uprintf("#########################\n");
+ uprintf("# Num indicator enabled #\n");
+ uprintf("#########################\n");
+ } else {
+ eeprom_ec_config.num.enabled = false;
+ uprintf("##########################\n");
+ uprintf("# Num indicator disabled #\n");
+ uprintf("##########################\n");
+ }
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.enabled);
+ break;
+ }
+ case id_num_indicator_brightness: {
+ eeprom_ec_config.num.v = value_data[0];
+ uprintf("Num indicator brightness: %d\n", eeprom_ec_config.num.v);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.v);
+ break;
+ }
+ case id_num_indicator_color: {
+ eeprom_ec_config.num.h = value_data[0];
+ eeprom_ec_config.num.s = value_data[1];
+ uprintf("Num indicator color: %d, %d\n", eeprom_ec_config.num.h, eeprom_ec_config.num.s);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.h);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.s);
+ break;
+ }
+ case id_caps_indicator_enabled: {
+ if (value_data[0] == 1) {
+ eeprom_ec_config.caps.enabled = true;
+ uprintf("##########################\n");
+ uprintf("# Caps indicator enabled #\n");
+ uprintf("##########################\n");
+ } else {
+ eeprom_ec_config.caps.enabled = false;
+ uprintf("###########################\n");
+ uprintf("# Caps indicator disabled #\n");
+ uprintf("###########################\n");
+ }
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.enabled);
+ break;
+ }
+ case id_caps_indicator_brightness: {
+ eeprom_ec_config.caps.v = value_data[0];
+ uprintf("Caps indicator brightness: %d\n", eeprom_ec_config.caps.v);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.v);
+ break;
+ }
+ case id_caps_indicator_color: {
+ eeprom_ec_config.caps.h = value_data[0];
+ eeprom_ec_config.caps.s = value_data[1];
+ uprintf("Caps indicator color: %d, %d\n", eeprom_ec_config.caps.h, eeprom_ec_config.caps.s);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.h);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.s);
+ break;
+ }
+ case id_scroll_indicator_enabled: {
+ if (value_data[0] == 1) {
+ eeprom_ec_config.scroll.enabled = true;
+ uprintf("############################\n");
+ uprintf("# Scroll indicator enabled #\n");
+ uprintf("############################\n");
+ } else {
+ eeprom_ec_config.scroll.enabled = false;
+ uprintf("#############################\n");
+ uprintf("# Scroll indicator disabled #\n");
+ uprintf("#############################\n");
+ }
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.enabled);
+ break;
+ }
+ case id_scroll_indicator_brightness: {
+ eeprom_ec_config.scroll.v = value_data[0];
+ uprintf("Scroll indicator brightness: %d\n", eeprom_ec_config.scroll.v);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.v);
+ break;
+ }
+ case id_scroll_indicator_color: {
+ eeprom_ec_config.scroll.h = value_data[0];
+ eeprom_ec_config.scroll.s = value_data[1];
+ uprintf("Scroll indicator color: %d, %d\n", eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.h);
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.s);
+ break;
+ }
+ case id_actuation_mode: {
+ eeprom_ec_config.actuation_mode = value_data[0];
+ ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
+ if (ec_config.actuation_mode == 0) {
+ uprintf("#########################\n");
+ uprintf("# Actuation Mode: APC #\n");
+ uprintf("#########################\n");
+ } else if (ec_config.actuation_mode == 1) {
+ uprintf("#################################\n");
+ uprintf("# Actuation Mode: Rapid Trigger #\n");
+ uprintf("#################################\n");
+ }
+ EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode);
+ break;
+ }
+ case id_mode_0_actuation_threshold: {
+ ec_config.mode_0_actuation_threshold = value_data[1] | (value_data[0] << 8);
+ uprintf("APC Mode Actuation Threshold: %d\n", ec_config.mode_0_actuation_threshold);
+ break;
+ }
+ case id_mode_0_release_threshold: {
+ eeprom_ec_config.mode_0_release_threshold = value_data[1] | (value_data[0] << 8);
+ ec_config.mode_0_release_threshold = eeprom_ec_config.mode_0_release_threshold;
+ uprintf("APC Mode Release Threshold: %d\n", ec_config.mode_0_release_threshold);
+ break;
+ }
+ case id_mode_1_initial_deadzone_offset: {
+ ec_config.mode_1_initial_deadzone_offset = value_data[1] | (value_data[0] << 8);
+ uprintf("Rapid Trigger Mode Initial Deadzone Offset: %d\n", ec_config.mode_1_initial_deadzone_offset);
+ break;
+ }
+ case id_mode_1_actuation_offset: {
+ ec_config.mode_1_actuation_offset = value_data[0];
+ uprintf("Rapid Trigger Mode Actuation Sensitivity: %d\n", ec_config.mode_1_actuation_offset);
+ break;
+ }
+ case id_mode_1_release_offset: {
+ ec_config.mode_1_release_offset = value_data[0];
+ uprintf("Rapid Trigger Mode Release Sensitivity: %d\n", ec_config.mode_1_release_offset);
+ break;
+ }
+ case id_bottoming_calibration: {
+ if (value_data[0] == 1) {
+ ec_config.bottoming_calibration = true;
+ uprintf("##############################\n");
+ uprintf("# Bottoming calibration mode #\n");
+ uprintf("##############################\n");
+ } else {
+ ec_config.bottoming_calibration = false;
+ ec_save_bottoming_reading();
+ uprintf("## Bottoming calibration done ##\n");
+ ec_show_calibration_data();
+ }
+ break;
+ }
+ case id_save_threshold_data: {
+ ec_save_threshold_data(value_data[0]);
+ break;
+ }
+ case id_noise_floor_calibration: {
+ if (value_data[0] == 0) {
+ ec_noise_floor();
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ ec_rescale_values(2);
+ uprintf("#############################\n");
+ uprintf("# Noise floor data acquired #\n");
+ uprintf("#############################\n");
+ break;
+ }
+ }
+ case id_show_calibration_data: {
+ // Show calibration data once if the user toggle the switch
+ if (value_data[0] == 0) {
+ ec_show_calibration_data();
+ break;
+ }
+ }
+ case id_clear_bottoming_calibration_data: {
+ if (value_data[0] == 0) {
+ ec_clear_bottoming_calibration_data();
+ }
+ }
+ default: {
+ // Unhandled value.
+ break;
+ }
+ }
+
+ // Call the indicator callback to set the indicator color
+ indicators_callback();
+}
+
+// Handle the data sent by the keyboard to the VIA menus
+void via_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_num_indicator_enabled: {
+ value_data[0] = eeprom_ec_config.num.enabled;
+ break;
+ }
+ case id_num_indicator_brightness: {
+ value_data[0] = eeprom_ec_config.num.v;
+ break;
+ }
+ case id_num_indicator_color: {
+ value_data[0] = eeprom_ec_config.num.h;
+ value_data[1] = eeprom_ec_config.num.s;
+ break;
+ }
+ case id_caps_indicator_enabled: {
+ value_data[0] = eeprom_ec_config.caps.enabled;
+ break;
+ }
+ case id_caps_indicator_brightness: {
+ value_data[0] = eeprom_ec_config.caps.v;
+ break;
+ }
+ case id_caps_indicator_color: {
+ value_data[0] = eeprom_ec_config.caps.h;
+ value_data[1] = eeprom_ec_config.caps.s;
+ break;
+ }
+ case id_scroll_indicator_enabled: {
+ value_data[0] = eeprom_ec_config.scroll.enabled;
+ break;
+ }
+ case id_scroll_indicator_brightness: {
+ value_data[0] = eeprom_ec_config.scroll.v;
+ break;
+ }
+ case id_scroll_indicator_color: {
+ value_data[0] = eeprom_ec_config.scroll.h;
+ value_data[1] = eeprom_ec_config.scroll.s;
+ break;
+ }
+ case id_actuation_mode: {
+ value_data[0] = eeprom_ec_config.actuation_mode;
+ break;
+ }
+ case id_mode_0_actuation_threshold: {
+ value_data[0] = eeprom_ec_config.mode_0_actuation_threshold >> 8;
+ value_data[1] = eeprom_ec_config.mode_0_actuation_threshold & 0xFF;
+ break;
+ }
+ case id_mode_0_release_threshold: {
+ value_data[0] = eeprom_ec_config.mode_0_release_threshold >> 8;
+ value_data[1] = eeprom_ec_config.mode_0_release_threshold & 0xFF;
+ break;
+ }
+ case id_mode_1_initial_deadzone_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_initial_deadzone_offset >> 8;
+ value_data[1] = eeprom_ec_config.mode_1_initial_deadzone_offset & 0xFF;
+ break;
+ }
+ case id_mode_1_actuation_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_actuation_offset;
+ break;
+ }
+ case id_mode_1_release_offset: {
+ value_data[0] = eeprom_ec_config.mode_1_release_offset;
+ break;
+ }
+ default: {
+ // Unhandled value.
+ break;
+ }
+ }
+}
+
+// Handle the commands sent and received by the keyboard with VIA
+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: {
+ via_config_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value: {
+ via_config_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save: {
+ // Bypass the save function in favor of pinpointed saves
+ break;
+ }
+ default: {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ *command_id = id_unhandled;
+}
+
+// Rescale the values received by VIA to fit the new range
+void ec_rescale_values(uint8_t item) {
+ switch (item) {
+ // Rescale the APC mode actuation thresholds
+ case 0:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+ // Rescale the APC mode release thresholds
+ case 1:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+ // Rescale the Rapid Trigger mode initial deadzone offsets
+ case 2:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+
+ default:
+ // Unhandled item.
+ break;
+ }
+}
+
+void ec_save_threshold_data(uint8_t option) {
+ // Save APC mode thresholds and rescale them for runtime usage
+ if (option == 0) {
+ eeprom_ec_config.mode_0_actuation_threshold = ec_config.mode_0_actuation_threshold;
+ eeprom_ec_config.mode_0_release_threshold = ec_config.mode_0_release_threshold;
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ }
+ // Save Rapid Trigger mode thresholds and rescale them for runtime usage
+ else if (option == 1) {
+ eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset;
+ ec_rescale_values(2);
+ }
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+ uprintf("####################################\n");
+ uprintf("# New thresholds applied and saved #\n");
+ uprintf("####################################\n");
+}
+
+// Save the bottoming reading
+void ec_save_bottoming_reading(void) {
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ // If the bottom reading doesn't go over the noise floor by 100, it is likely that:
+ // 1. The key is not actually in the matrix
+ // 2. The key is on an alternative layout, therefore not being pressed
+ // 3. The key in in the current layout but not being pressed
+ if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + 100)) {
+ eeprom_ec_config.bottoming_reading[row][col] = 1023;
+ } else {
+ eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col];
+ }
+ }
+ }
+ // Rescale the values to fit the new range for runtime usage
+ ec_rescale_values(0);
+ ec_rescale_values(1);
+ ec_rescale_values(2);
+ eeconfig_update_kb_datablock(&eeprom_ec_config);
+}
+
+// Show the calibration data
+void ec_show_calibration_data(void) {
+ uprintf("\n###############\n");
+ uprintf("# Noise Floor #\n");
+ uprintf("###############\n");
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.noise_floor[row][col]);
+ }
+ uprintf("%4d\n", ec_config.noise_floor[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################\n");
+ uprintf("# Bottoming Readings #\n");
+ uprintf("######################\n");
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ uprintf("%4d\n", eeprom_ec_config.bottoming_reading[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################################\n");
+ uprintf("# Rescaled APC Mode Actuation Points #\n");
+ uprintf("######################################\n");
+ uprintf("Original APC Mode Actuation Point: %4d\n", ec_config.mode_0_actuation_threshold);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_0_actuation_threshold[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_0_actuation_threshold[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n######################################\n");
+ uprintf("# Rescaled APC Mode Release Points #\n");
+ uprintf("######################################\n");
+ uprintf("Original APC Mode Release Point: %4d\n", ec_config.mode_0_release_threshold);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_0_release_threshold[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_0_release_threshold[row][MATRIX_COLS - 1]);
+ }
+
+ uprintf("\n#######################################################\n");
+ uprintf("# Rescaled Rapid Trigger Mode Initial Deadzone Offset #\n");
+ uprintf("#######################################################\n");
+ uprintf("Original Rapid Trigger Mode Initial Deadzone Offset: %4d\n", ec_config.mode_1_initial_deadzone_offset);
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
+ uprintf("%4d,", ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]);
+ }
+ uprintf("%4d\n", ec_config.rescaled_mode_1_initial_deadzone_offset[row][MATRIX_COLS - 1]);
+ }
+ print("\n");
+}
+
+// Clear the calibration data
+void ec_clear_bottoming_calibration_data(void) {
+ // Clear the EEPROM data
+ eeconfig_init_kb();
+
+ // Reset the runtime values to the EEPROM values
+ keyboard_post_init_kb();
+
+ uprintf("######################################\n");
+ uprintf("# Bottoming calibration data cleared #\n");
+ uprintf("######################################\n");
+}
+
+#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/ec_typek/matrix.c b/keyboards/cipulot/ec_typek/matrix.c
new file mode 100644
index 00000000000..cfa2efe0506
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/matrix.c
@@ -0,0 +1,42 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 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 .
+ */
+
+#include "ec_switch_matrix.h"
+#include "matrix.h"
+
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+
+// Custom matrix init function
+void matrix_init_custom(void) {
+ // Initialize EC
+ ec_init();
+
+ // Get the noise floor at boot
+ ec_noise_floor();
+}
+
+// Custom matrix scan function
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ bool updated = ec_matrix_scan(current_matrix);
+
+ return updated;
+}
+
+// Bootmagic overriden to avoid conflicts with EC
+void bootmagic_scan(void) {
+ ;
+}
diff --git a/keyboards/cipulot/ec_typek/mcuconf.h b/keyboards/cipulot/ec_typek/mcuconf.h
new file mode 100644
index 00000000000..5f9ecca48dd
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/mcuconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2023 Cipulot
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
+
+#undef STM32_PWM_USE_ADVANCED
+#define STM32_PWM_USE_ADVANCED TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/cipulot/ec_typek/readme.md b/keyboards/cipulot/ec_typek/readme.md
new file mode 100644
index 00000000000..44f6fd89440
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/readme.md
@@ -0,0 +1,26 @@
+# EC Type-K
+
+
+
+EC Type-K Keyboard by gok.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: EC Type-K
+* Hardware Availability: [gok](https://www.gok.design/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/ec_typek:default
+
+Flashing example for this keyboard:
+
+ make cipulot/ec_typek: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 2 ways:
+
+* **Physical Boot0 pins**: Short the Boot0 pins on the back of the PCB while plugging in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_typek/rules.mk b/keyboards/cipulot/ec_typek/rules.mk
new file mode 100644
index 00000000000..1ff311f102d
--- /dev/null
+++ b/keyboards/cipulot/ec_typek/rules.mk
@@ -0,0 +1,4 @@
+CUSTOM_MATRIX = lite
+ANALOG_DRIVER_REQUIRED = yes
+SRC += matrix.c ec_switch_matrix.c
+OPT = 2
From 573db7a0eeddea94e692af85b90219d637567fc3 Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Tue, 2 Apr 2024 00:48:30 +0100
Subject: [PATCH 17/64] Produce warning if keyboard is not configured via
`keyboard.json` (#23321)
---
lib/python/qmk/info.py | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index e463ac8ce74..ffc9d57d682 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -83,6 +83,25 @@ def _find_invalid_encoder_index(info_data):
return ret
+def _validate_build_target(keyboard, info_data):
+ """Non schema checks
+ """
+ keyboard_json_path = Path('keyboards') / keyboard / 'keyboard.json'
+ config_files = find_info_json(keyboard)
+
+ # keyboard.json can only exist at the deepest part of the tree
+ keyboard_json_count = 0
+ for info_file in config_files:
+ if info_file.name == 'keyboard.json':
+ keyboard_json_count += 1
+ if info_file != keyboard_json_path:
+ _log_error(info_data, f'Invalid keyboard.json location detected: {info_file}.')
+
+ # Moving forward keyboard.json should be used as a build target
+ if keyboard_json_count == 0:
+ _log_warning(info_data, 'Build marker "keyboard.json" not found.')
+
+
def _validate_layouts(keyboard, info_data): # noqa C901
"""Non schema checks
"""
@@ -181,6 +200,7 @@ def _validate(keyboard, info_data):
validate(info_data, 'qmk.api.keyboard.v1')
# Additional validation
+ _validate_build_target(keyboard, info_data)
_validate_layouts(keyboard, info_data)
_validate_keycodes(keyboard, info_data)
_validate_encoders(keyboard, info_data)
@@ -890,14 +910,6 @@ def merge_info_jsons(keyboard, info_data):
"""
config_files = find_info_json(keyboard)
- # keyboard.json can only exist at the deepest part of the tree
- keyboard_json_count = 0
- for index, info_file in enumerate(config_files):
- if Path(info_file).name == 'keyboard.json':
- keyboard_json_count += 1
- if index != 0 or keyboard_json_count > 1:
- _log_error(info_data, f'Invalid keyboard.json location detected: {info_file}.')
-
for info_file in config_files:
# Load and validate the JSON data
new_info_data = json_load(info_file)
From 1bea8b9d31fff260c55d515dd221f5572d85b8ff Mon Sep 17 00:00:00 2001
From: Ryan
Date: Wed, 3 Apr 2024 01:32:48 +1100
Subject: [PATCH 18/64] 40percentclub/gherkin: remove `CONVERT_TO` at keyboard
level (#23396)
---
keyboards/40percentclub/gherkin/info.json | 15 +++++-------
.../gherkin/kb2040/keyboard.json | 12 ++++++++++
.../40percentclub/gherkin/kb2040/rules.mk | 1 -
.../gherkin/keymaps/default/keymap.c | 23 -------------------
.../gherkin/pro_micro/keyboard.json | 16 +++++++++++++
keyboards/40percentclub/gherkin/rules.mk | 16 -------------
6 files changed, 34 insertions(+), 49 deletions(-)
create mode 100644 keyboards/40percentclub/gherkin/kb2040/keyboard.json
delete mode 100644 keyboards/40percentclub/gherkin/kb2040/rules.mk
create mode 100644 keyboards/40percentclub/gherkin/pro_micro/keyboard.json
delete mode 100644 keyboards/40percentclub/gherkin/rules.mk
diff --git a/keyboards/40percentclub/gherkin/info.json b/keyboards/40percentclub/gherkin/info.json
index 808a82d4cea..d531c9408c1 100644
--- a/keyboards/40percentclub/gherkin/info.json
+++ b/keyboards/40percentclub/gherkin/info.json
@@ -8,16 +8,13 @@
"pid": "0x6060",
"device_version": "0.0.1"
},
- "matrix_pins": {
- "cols": ["B4", "E6", "D7", "C6", "D4", "D0"],
- "rows": ["F7", "B1", "B3", "B2", "B6"]
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "backlight": true
},
- "diode_direction": "COL2ROW",
- "backlight": {
- "pin": "B5"
- },
- "processor": "atmega32u4",
- "bootloader": "caterina",
"community_layouts": ["ortho_3x10"],
"layouts": {
"LAYOUT_ortho_3x10": {
diff --git a/keyboards/40percentclub/gherkin/kb2040/keyboard.json b/keyboards/40percentclub/gherkin/kb2040/keyboard.json
new file mode 100644
index 00000000000..431ac371eeb
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/kb2040/keyboard.json
@@ -0,0 +1,12 @@
+{
+ "development_board": "kb2040",
+ "matrix_pins": {
+ "cols": ["GP8", "GP7", "GP6", "GP5", "GP4", "GP3"],
+ "rows": ["GP26", "GP18", "GP20", "GP19", "GP10"]
+ },
+ "diode_direction": "COL2ROW",
+ "backlight": {
+ "pin": "GP9",
+ "driver": "software"
+ }
+}
diff --git a/keyboards/40percentclub/gherkin/kb2040/rules.mk b/keyboards/40percentclub/gherkin/kb2040/rules.mk
deleted file mode 100644
index 982c5817025..00000000000
--- a/keyboards/40percentclub/gherkin/kb2040/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONVERT_TO = kb2040
diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c
index f4d3032857c..420890a1083 100644
--- a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c
@@ -50,26 +50,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
-
- // Set our LED pins as output
- setPinOutput(D5);
- setPinOutput(B0);
-}
-
-bool led_update_user(led_t led_state) {
- if (led_state.num_lock) {
- writePinLow(D5);
- } else {
- writePinHigh(D5);
- }
-
- if (led_state.caps_lock) {
- writePinLow(B0);
- } else {
- writePinHigh(B0);
- }
- return false;
-}
diff --git a/keyboards/40percentclub/gherkin/pro_micro/keyboard.json b/keyboards/40percentclub/gherkin/pro_micro/keyboard.json
new file mode 100644
index 00000000000..882ea8f72b2
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/pro_micro/keyboard.json
@@ -0,0 +1,16 @@
+{
+ "development_board": "promicro",
+ "matrix_pins": {
+ "cols": ["B4", "E6", "D7", "C6", "D4", "D0"],
+ "rows": ["F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+ "indicators": {
+ "num_lock": "D5",
+ "caps_lock": "B0",
+ "on_state": 0
+ },
+ "backlight": {
+ "pin": "B5"
+ }
+}
diff --git a/keyboards/40percentclub/gherkin/rules.mk b/keyboards/40percentclub/gherkin/rules.mk
deleted file mode 100644
index e47c1c65726..00000000000
--- a/keyboards/40percentclub/gherkin/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-
-# Disable unsupported hardware
-RGBLIGHT_SUPPORTED = no
-AUDIO_SUPPORTED = no
From 05731202a2e26682b3601ae0812e18b4e2c9d694 Mon Sep 17 00:00:00 2001
From: Ryan
Date: Wed, 3 Apr 2024 01:37:11 +1100
Subject: [PATCH 19/64] 0xcb/splaytoraid: remove `CONVERT_TO` at keyboard level
(#23395)
---
keyboards/0xcb/splaytoraid/32u4/keyboard.json | 27 +++++++++++++
keyboards/0xcb/splaytoraid/32u4/rules.mk | 0
keyboards/0xcb/splaytoraid/info.json | 27 +------------
.../rp2040_ce/{info.json => keyboard.json} | 40 ++++++++++++++-----
keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk | 1 -
5 files changed, 58 insertions(+), 37 deletions(-)
create mode 100644 keyboards/0xcb/splaytoraid/32u4/keyboard.json
delete mode 100644 keyboards/0xcb/splaytoraid/32u4/rules.mk
rename keyboards/0xcb/splaytoraid/rp2040_ce/{info.json => keyboard.json} (50%)
delete mode 100644 keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk
diff --git a/keyboards/0xcb/splaytoraid/32u4/keyboard.json b/keyboards/0xcb/splaytoraid/32u4/keyboard.json
new file mode 100644
index 00000000000..7c3f0590a6f
--- /dev/null
+++ b/keyboards/0xcb/splaytoraid/32u4/keyboard.json
@@ -0,0 +1,27 @@
+{
+ "development_board": "promicro",
+ "bootloader": "qmk-dfu",
+ "matrix_pins": {
+ "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
+ "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
+ },
+ "diode_direction": "COL2ROW",
+ "rgb_matrix": {
+ "animations": {
+ "band_sat": true,
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "raindrops": true
+ }
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B5", "pin_b": "B6"}
+ ]
+ },
+ "ws2812": {
+ "pin": "D0"
+ }
+}
diff --git a/keyboards/0xcb/splaytoraid/32u4/rules.mk b/keyboards/0xcb/splaytoraid/32u4/rules.mk
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json
index 1d47f7d77ca..8c32b0dc115 100644
--- a/keyboards/0xcb/splaytoraid/info.json
+++ b/keyboards/0xcb/splaytoraid/info.json
@@ -3,13 +3,6 @@
"keyboard_name": "splaytoraid",
"maintainer": "freya-irl",
"url": "https://github.com/freya-irl/splaytoraid40",
- "development_board": "promicro",
- "bootloader": "qmk-dfu",
- "diode_direction": "COL2ROW",
- "matrix_pins": {
- "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"],
- "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"]
- },
"usb": {
"device_version": "1.0.0",
"pid": "0xCB00",
@@ -21,7 +14,8 @@
"bootmagic": true,
"console": true,
"mousekey": true,
- "nkro": true
+ "nkro": true,
+ "encoder": true
},
"bootmagic": {
"matrix": [1, 0]
@@ -29,21 +23,7 @@
"build": {
"lto": true
},
- "encoder": {
- "enabled": true,
- "rotary": [
- {"pin_a": "B5", "pin_b": "B6", "resolution": 4}
- ]
- },
"rgb_matrix": {
- "animations": {
- "breathing": true,
- "band_sat": true,
- "band_spiral_val": true,
- "cycle_all": true,
- "raindrops": true,
- "cycle_left_right": true
- },
"default": {
"animation": "breathing",
"hue": 152,
@@ -73,9 +53,6 @@
],
"max_brightness": 200
},
- "ws2812": {
- "pin": "D0"
- },
"layouts": {
"LAYOUT_36": {
"layout": [
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/info.json b/keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json
similarity index 50%
rename from keyboards/0xcb/splaytoraid/rp2040_ce/info.json
rename to keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json
index 49256b64827..b5a4f95c692 100644
--- a/keyboards/0xcb/splaytoraid/rp2040_ce/info.json
+++ b/keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json
@@ -1,26 +1,44 @@
{
+ "development_board": "promicro_rp2040",
+ "matrix_pins": {
+ "cols": ["GP28", "GP27", "GP26", "GP29", "GP20", "GP22", "GP23"],
+ "rows": ["GP0", "GP1", "GP2", "GP4", "GP6", "GP7", "GP8", "GP5"]
+ },
+ "diode_direction": "COL2ROW",
"rgb_matrix": {
"animations": {
- "cycle_up_down": true,
- "jellybean_raindrops": true,
+ "band_sat": true,
+ "band_spiral_val": true,
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
- "pixel_fractal": true,
- "rainbow_moving_chevron": true,
"cycle_pinwheel": true,
- "pixel_rain": true,
+ "cycle_up_down": true,
+ "digital_rain": true,
"dual_beacon": true,
"hue_breathing": true,
- "typing_heatmap": true,
- "digital_rain": true,
- "solid_reactive_simple": true,
- "solid_reactive": true,
- "splash": true,
+ "jellybean_raindrops": true,
"multisplash": true,
- "solid_splash": true
+ "pixel_fractal": true,
+ "pixel_rain": true,
+ "rainbow_moving_chevron": true,
+ "raindrops": true,
+ "solid_reactive": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "typing_heatmap": true
}
},
+ "encoder": {
+ "rotary": [
+ {"pin_a": "GP9", "pin_b": "GP21"}
+ ]
+ },
"ws2812": {
+ "pin": "GP3",
"driver": "vendor"
}
}
diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk b/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk
deleted file mode 100644
index 9617c1460ea..00000000000
--- a/keyboards/0xcb/splaytoraid/rp2040_ce/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONVERT_TO = rp2040_ce
From b108524314047b947031d1cb688e2a378cf586c7 Mon Sep 17 00:00:00 2001
From: Ryan
Date: Wed, 3 Apr 2024 02:05:32 +1100
Subject: [PATCH 20/64] merge/um80: remove pointless empty layers (#23398)
---
keyboards/merge/um80/keymaps/default/keymap.c | 27 +------------------
1 file changed, 1 insertion(+), 26 deletions(-)
diff --git a/keyboards/merge/um80/keymaps/default/keymap.c b/keyboards/merge/um80/keymaps/default/keymap.c
index 04dea2c1be2..cfd628e300d 100644
--- a/keyboards/merge/um80/keymaps/default/keymap.c
+++ b/keyboards/merge/um80/keymaps/default/keymap.c
@@ -41,31 +41,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_1, 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,
KC_2, KC_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_3, 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_4, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-[1] = LAYOUT_rspace_split_bksp(
- 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, KC_TRNS, KC_TRNS
-),
-[2] = LAYOUT_rspace_split_bksp(
- 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, KC_TRNS, KC_TRNS
-),
-[3] = LAYOUT_rspace_split_bksp(
- 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, KC_TRNS, KC_TRNS
+ KC_4, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
};
From 63bc7b63a650c4da63611900437e06ea7d051f14 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Tue, 2 Apr 2024 09:45:44 -0700
Subject: [PATCH 21/64] Data-Driven Keyboard Conversions: A (#23379)
---
keyboards/abacus/config.h | 39 ------------------
keyboards/abacus/keyboard.json | 6 +++
keyboards/abstract/ellipse/rev1/config.h | 39 ------------------
keyboards/abstract/ellipse/rev1/keyboard.json | 6 +++
keyboards/acekeyboard/titan60/config.h | 23 -----------
keyboards/acekeyboard/titan60/keyboard.json | 6 +++
keyboards/acheron/apollo/87h/delta/config.h | 5 ---
.../acheron/apollo/87h/delta/keyboard.json | 6 +++
keyboards/acheron/apollo/87h/gamma/config.h | 5 ---
.../87h/gamma/{info.json => keyboard.json} | 17 +++++++-
keyboards/acheron/apollo/87h/gamma/rules.mk | 15 -------
keyboards/acheron/apollo/87htsc/config.h | 5 ---
keyboards/acheron/apollo/87htsc/keyboard.json | 6 +++
keyboards/acheron/apollo/88htsc/config.h | 5 ---
keyboards/acheron/apollo/88htsc/keyboard.json | 6 +++
keyboards/acheron/arctic/config.h | 39 ------------------
keyboards/acheron/arctic/keyboard.json | 6 +++
keyboards/acheron/athena/alpha/config.h | 3 --
keyboards/acheron/athena/alpha/keyboard.json | 6 +++
keyboards/acheron/athena/beta/config.h | 3 --
keyboards/acheron/athena/beta/keyboard.json | 6 +++
keyboards/acheron/austin/config.h | 5 ---
keyboards/acheron/austin/keyboard.json | 6 +++
keyboards/acheron/elongate/beta/config.h | 39 ------------------
keyboards/acheron/elongate/beta/keyboard.json | 6 +++
keyboards/acheron/elongate/delta/config.h | 5 ---
.../acheron/elongate/delta/keyboard.json | 6 +++
keyboards/acheron/keebspcb/config.h | 39 ------------------
keyboards/acheron/keebspcb/keyboard.json | 6 +++
keyboards/acheron/lasgweloth/config.h | 39 ------------------
keyboards/acheron/lasgweloth/keyboard.json | 6 +++
keyboards/acheron/shark/alpha/config.h | 5 ---
keyboards/acheron/shark/alpha/info.json | 14 +++++++
keyboards/acheron/shark/alpha/rules.mk | 14 -------
keyboards/acheron/shark/beta/config.h | 3 --
keyboards/acheron/shark/beta/keyboard.json | 6 +++
keyboards/acheron/themis/87h/config.h | 3 --
keyboards/acheron/themis/87h/keyboard.json | 6 +++
keyboards/acheron/themis/87htsc/config.h | 3 --
keyboards/acheron/themis/87htsc/keyboard.json | 6 +++
keyboards/acheron/themis/88htsc/config.h | 3 --
keyboards/acheron/themis/88htsc/keyboard.json | 6 +++
keyboards/ada/infinity81/config.h | 25 ------------
keyboards/ada/infinity81/keyboard.json | 6 +++
keyboards/adafruit/macropad/info.json | 10 +++++
keyboards/adafruit/macropad/rules.mk | 15 -------
keyboards/adelheid/config.h | 39 ------------------
keyboards/adelheid/keyboard.json | 6 +++
keyboards/adkb96/rev1/config.h | 40 -------------------
.../adkb96/{info.json => rev1/keyboard.json} | 14 +++++++
keyboards/adkb96/rev1/rules.mk | 0
keyboards/adkb96/rules.mk | 15 -------
keyboards/aeboards/aegis/config.h | 23 -----------
keyboards/aeboards/aegis/keyboard.json | 6 +++
.../aeboards/constellation/rev1/config.h | 24 -----------
.../rev1/{info.json => keyboard.json} | 17 ++++++++
.../aeboards/constellation/rev1/rules.mk | 12 ------
.../aeboards/constellation/rev2/config.h | 6 ---
.../rev2/{info.json => keyboard.json} | 13 ++++++
.../aeboards/constellation/rev2/rules.mk | 11 -----
.../aeboards/constellation/rev3/config.h | 24 -----------
.../rev3/{info.json => keyboard.json} | 17 ++++++++
.../aeboards/constellation/rev3/rules.mk | 12 ------
.../ext65/rev1/{info.json => keyboard.json} | 6 +++
keyboards/aeboards/ext65/rev1/rules.mk | 11 -----
.../ext65/rev2/{info.json => keyboard.json} | 10 +++++
keyboards/aeboards/ext65/rev2/rules.mk | 14 -------
keyboards/aeboards/ext65/rev3/info.json | 9 +++++
keyboards/aeboards/ext65/rev3/rules.mk | 12 ------
keyboards/aeboards/satellite/rev1/info.json | 10 +++++
keyboards/aeboards/satellite/rev1/rules.mk | 15 -------
.../breeze/rev0/{info.json => keyboard.json} | 7 ++++
keyboards/afternoonlabs/breeze/rev0/rules.mk | 13 ------
.../breeze/rev1/{info.json => keyboard.json} | 7 ++++
keyboards/afternoonlabs/breeze/rev1/rules.mk | 13 ------
.../rev1/{info.json => keyboard.json} | 7 ++++
.../afternoonlabs/oceanbreeze/rev1/rules.mk | 13 ------
.../rev1/{info.json => keyboard.json} | 7 ++++
.../southern_breeze/rev1/rules.mk | 13 ------
.../rev1/{info.json => keyboard.json} | 7 ++++
.../afternoonlabs/summer_breeze/rev1/rules.mk | 13 ------
keyboards/ai03/andromeda/config.h | 23 -----------
keyboards/ai03/andromeda/keyboard.json | 6 +++
keyboards/ai03/equinox/config.h | 39 ------------------
keyboards/ai03/equinox/info.json | 6 +++
keyboards/ai03/jp60/config.h | 39 ------------------
keyboards/ai03/jp60/keyboard.json | 6 +++
keyboards/ai03/lunar/config.h | 39 ------------------
keyboards/ai03/lunar/keyboard.json | 6 +++
keyboards/ai03/lunar_ii/config.h | 5 ---
keyboards/ai03/lunar_ii/info.json | 14 +++++++
keyboards/ai03/lunar_ii/rules.mk | 14 -------
keyboards/ai03/orbit/config.h | 5 ---
.../ai03/orbit/{info.json => keyboard.json} | 14 +++++++
keyboards/ai03/orbit/rules.mk | 13 ------
keyboards/ai03/orbit_x/config.h | 5 ---
.../ai03/orbit_x/{info.json => keyboard.json} | 14 +++++++
keyboards/ai03/orbit_x/rules.mk | 13 ------
keyboards/ai03/polaris/config.h | 39 ------------------
keyboards/ai03/polaris/keyboard.json | 6 +++
keyboards/ai03/quasar/config.h | 39 ------------------
keyboards/ai03/quasar/keyboard.json | 6 +++
keyboards/ai03/soyuz/config.h | 39 ------------------
keyboards/ai03/soyuz/keyboard.json | 6 +++
keyboards/ai03/vega/config.h | 40 -------------------
keyboards/ai03/vega/keyboard.json | 6 +++
keyboards/akb/raine/config.h | 22 ----------
keyboards/akb/raine/keyboard.json | 6 +++
.../device_one/{info.json => keyboard.json} | 6 +++
keyboards/akegata_denki/device_one/rules.mk | 10 -----
keyboards/akko/5087/config.h | 5 ---
keyboards/akko/5087/keyboard.json | 6 +++
keyboards/akko/5108/config.h | 5 ---
keyboards/akko/5108/keyboard.json | 6 +++
keyboards/akko/acr87/config.h | 5 ---
keyboards/akko/acr87/keyboard.json | 6 +++
keyboards/akko/top40/config.h | 5 ---
keyboards/akko/top40/keyboard.json | 6 +++
keyboards/al1/config.h | 5 ---
keyboards/al1/info.json | 14 +++++++
keyboards/al1/rules.mk | 13 ------
keyboards/alas/info.json | 7 ++++
keyboards/alas/rules.mk | 15 -------
.../zodiark/{info.json => keyboard.json} | 11 +++++
keyboards/aleblazer/zodiark/rules.mk | 16 --------
keyboards/alf/dc60/config.h | 39 ------------------
keyboards/alf/dc60/keyboard.json | 6 +++
keyboards/alf/x11/config.h | 39 ------------------
keyboards/alf/x11/keyboard.json | 6 +++
keyboards/alf/x2/config.h | 23 -----------
keyboards/alf/x2/keyboard.json | 6 +++
keyboards/aliceh66/pianoforte/config.h | 23 -----------
keyboards/aliceh66/pianoforte/info.json | 15 +++++++
keyboards/aliceh66/pianoforte/rules.mk | 14 -------
keyboards/aliceh66/pianoforte_hs/config.h | 23 -----------
keyboards/aliceh66/pianoforte_hs/info.json | 15 +++++++
keyboards/aliceh66/pianoforte_hs/rules.mk | 14 -------
keyboards/alpha/config.h | 7 ----
keyboards/alpha/keyboard.json | 6 +++
keyboards/alpine65/config.h | 39 ------------------
keyboards/alpine65/keyboard.json | 6 +++
keyboards/alps64/config.h | 39 ------------------
keyboards/alps64/keyboard.json | 6 +++
keyboards/alt34/rev1/config.h | 5 ---
.../alt34/rev1/{info.json => keyboard.json} | 14 +++++++
keyboards/alt34/rev1/rules.mk | 14 -------
keyboards/amag23/config.h | 21 ----------
keyboards/amag23/keyboard.json | 6 +++
keyboards/amjkeyboard/amj40/config.h | 39 ------------------
keyboards/amjkeyboard/amj40/keyboard.json | 6 +++
keyboards/amjkeyboard/amj60/config.h | 39 ------------------
keyboards/amjkeyboard/amj60/keyboard.json | 6 +++
keyboards/amjkeyboard/amj66/config.h | 24 -----------
keyboards/amjkeyboard/amj66/info.json | 14 +++++++
keyboards/amjkeyboard/amj66/rules.mk | 12 ------
keyboards/amjkeyboard/amj84/config.h | 25 ------------
keyboards/amjkeyboard/amj84/keyboard.json | 6 +++
keyboards/amjkeyboard/amj96/config.h | 5 ---
keyboards/amjkeyboard/amj96/info.json | 14 +++++++
keyboards/amjkeyboard/amj96/rules.mk | 13 ------
keyboards/amjkeyboard/amjpad/config.h | 39 ------------------
keyboards/amjkeyboard/amjpad/keyboard.json | 6 +++
.../anavi/knob1/{info.json => keyboard.json} | 3 +-
keyboards/anavi/knob1/rules.mk | 1 -
.../anavi/knobs3/{info.json => keyboard.json} | 3 +-
keyboards/anavi/knobs3/rules.mk | 1 -
keyboards/ano/config.h | 38 ------------------
keyboards/ano/keyboard.json | 6 ++-
keyboards/anomalykb/a65i/config.h | 24 -----------
keyboards/anomalykb/a65i/keyboard.json | 6 +++
keyboards/aos/tkl/config.h | 22 ----------
keyboards/aos/tkl/keyboard.json | 6 +++
.../rev1/{info.json => keyboard.json} | 7 ++++
keyboards/arabica37/rev1/rules.mk | 14 -------
.../{info.json => keyboard.json} | 4 +-
.../argo_works/ishi/80/mk0_avr_extra/rules.mk | 2 -
keyboards/arisu/config.h | 39 ------------------
keyboards/arisu/keyboard.json | 6 +++
keyboards/ash1800/config.h | 39 ------------------
keyboards/ash1800/keyboard.json | 6 +++
keyboards/ash_xiix/config.h | 19 ---------
keyboards/ash_xiix/keyboard.json | 6 +++
keyboards/ask55/config.h | 23 -----------
keyboards/ask55/keyboard.json | 6 +++
keyboards/at_at/660m/config.h | 6 ---
.../at_at/660m/{info.json => keyboard.json} | 17 +++++++-
keyboards/at_at/660m/rules.mk | 14 -------
keyboards/atlantis/ak81_ve/config.h | 6 ---
keyboards/atlantis/ak81_ve/keyboard.json | 6 +++
.../ps17/{info.json => keyboard.json} | 3 ++
keyboards/atlantis/ps17/rules.mk | 1 -
keyboards/atlas_65/config.h | 38 ------------------
keyboards/atlas_65/keyboard.json | 6 +++
keyboards/atomic/config.h | 39 ------------------
keyboards/atomic/keyboard.json | 6 +++
.../atreus/f103/{info.json => keyboard.json} | 5 ++-
keyboards/atreus/f103/rules.mk | 2 -
keyboards/atreus/feather/info.json | 4 ++
keyboards/atreus/feather/rules.mk | 6 ---
keyboards/atreus62/config.h | 39 ------------------
keyboards/atreus62/keyboard.json | 6 +++
keyboards/atreyu/info.json | 8 ++++
keyboards/atreyu/rev1/config.h | 38 ------------------
keyboards/atreyu/rev1/keyboard.json | 6 +++
keyboards/atreyu/rev2/config.h | 38 ------------------
keyboards/atreyu/rev2/keyboard.json | 6 +++
keyboards/atreyu/rules.mk | 15 -------
keyboards/atset/at1/config.h | 21 ----------
keyboards/atset/at1/keyboard.json | 6 +++
keyboards/atset/at12/config.h | 21 ----------
keyboards/atset/at12/keyboard.json | 6 +++
keyboards/atset/at16/config.h | 21 ----------
keyboards/atset/at16/keyboard.json | 6 +++
keyboards/atset/at3/config.h | 21 ----------
keyboards/atset/at3/keyboard.json | 6 +++
keyboards/atset/at6/config.h | 21 ----------
keyboards/atset/at6/keyboard.json | 6 +++
keyboards/atset/at9/config.h | 21 ----------
keyboards/atset/at9/keyboard.json | 6 +++
keyboards/atxkb/1894/config.h | 39 ------------------
keyboards/atxkb/1894/keyboard.json | 6 +++
keyboards/aurora65/info.json | 7 ++++
keyboards/aurora65/rules.mk | 13 ------
.../avalanche/v1/{info.json => keyboard.json} | 7 ++++
keyboards/avalanche/v1/rules.mk | 14 -------
.../avalanche/v2/{info.json => keyboard.json} | 9 +++++
keyboards/avalanche/v2/rules.mk | 15 -------
.../avalanche/v3/{info.json => keyboard.json} | 8 ++++
keyboards/avalanche/v3/rules.mk | 15 -------
.../avalanche/v4/{info.json => keyboard.json} | 9 +++++
keyboards/avalanche/v4/rules.mk | 16 --------
keyboards/aves60/config.h | 25 ------------
keyboards/aves60/keyboard.json | 6 +++
keyboards/aves65/config.h | 23 -----------
keyboards/aves65/keyboard.json | 6 +++
keyboards/axolstudio/helpo/info.json | 5 +++
keyboards/axolstudio/helpo/rules.mk | 13 ------
keyboards/aya/{info.json => keyboard.json} | 9 +++++
keyboards/aya/rules.mk | 13 ------
239 files changed, 827 insertions(+), 2434 deletions(-)
delete mode 100644 keyboards/abacus/config.h
delete mode 100644 keyboards/abstract/ellipse/rev1/config.h
delete mode 100644 keyboards/acekeyboard/titan60/config.h
rename keyboards/acheron/apollo/87h/gamma/{info.json => keyboard.json} (95%)
delete mode 100644 keyboards/acheron/apollo/87h/gamma/rules.mk
delete mode 100644 keyboards/acheron/arctic/config.h
delete mode 100644 keyboards/acheron/elongate/beta/config.h
delete mode 100644 keyboards/acheron/keebspcb/config.h
delete mode 100644 keyboards/acheron/lasgweloth/config.h
delete mode 100644 keyboards/ada/infinity81/config.h
delete mode 100644 keyboards/adelheid/config.h
delete mode 100644 keyboards/adkb96/rev1/config.h
rename keyboards/adkb96/{info.json => rev1/keyboard.json} (95%)
delete mode 100644 keyboards/adkb96/rev1/rules.mk
delete mode 100644 keyboards/aeboards/aegis/config.h
delete mode 100755 keyboards/aeboards/constellation/rev1/config.h
rename keyboards/aeboards/constellation/rev1/{info.json => keyboard.json} (96%)
delete mode 100755 keyboards/aeboards/constellation/rev1/rules.mk
rename keyboards/aeboards/constellation/rev2/{info.json => keyboard.json} (97%)
delete mode 100755 keyboards/aeboards/constellation/rev2/rules.mk
delete mode 100755 keyboards/aeboards/constellation/rev3/config.h
rename keyboards/aeboards/constellation/rev3/{info.json => keyboard.json} (96%)
delete mode 100755 keyboards/aeboards/constellation/rev3/rules.mk
rename keyboards/aeboards/ext65/rev1/{info.json => keyboard.json} (97%)
delete mode 100644 keyboards/aeboards/ext65/rev1/rules.mk
rename keyboards/aeboards/ext65/rev2/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/aeboards/ext65/rev2/rules.mk
rename keyboards/afternoonlabs/breeze/rev0/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/afternoonlabs/breeze/rev0/rules.mk
rename keyboards/afternoonlabs/breeze/rev1/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/afternoonlabs/breeze/rev1/rules.mk
rename keyboards/afternoonlabs/oceanbreeze/rev1/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk
rename keyboards/afternoonlabs/southern_breeze/rev1/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/rules.mk
rename keyboards/afternoonlabs/summer_breeze/rev1/{info.json => keyboard.json} (97%)
delete mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/rules.mk
delete mode 100644 keyboards/ai03/andromeda/config.h
delete mode 100644 keyboards/ai03/equinox/config.h
delete mode 100644 keyboards/ai03/jp60/config.h
delete mode 100644 keyboards/ai03/lunar/config.h
rename keyboards/ai03/orbit/{info.json => keyboard.json} (94%)
delete mode 100644 keyboards/ai03/orbit/rules.mk
rename keyboards/ai03/orbit_x/{info.json => keyboard.json} (92%)
delete mode 100644 keyboards/ai03/orbit_x/rules.mk
delete mode 100644 keyboards/ai03/polaris/config.h
delete mode 100644 keyboards/ai03/quasar/config.h
delete mode 100644 keyboards/ai03/soyuz/config.h
delete mode 100644 keyboards/ai03/vega/config.h
delete mode 100644 keyboards/akb/raine/config.h
rename keyboards/akegata_denki/device_one/{info.json => keyboard.json} (99%)
delete mode 100644 keyboards/akegata_denki/device_one/rules.mk
rename keyboards/aleblazer/zodiark/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/aleblazer/zodiark/rules.mk
delete mode 100644 keyboards/alf/dc60/config.h
delete mode 100644 keyboards/alf/x11/config.h
delete mode 100644 keyboards/alf/x2/config.h
delete mode 100644 keyboards/aliceh66/pianoforte/config.h
delete mode 100644 keyboards/aliceh66/pianoforte_hs/config.h
delete mode 100755 keyboards/alpha/config.h
delete mode 100644 keyboards/alpine65/config.h
delete mode 100644 keyboards/alps64/config.h
rename keyboards/alt34/rev1/{info.json => keyboard.json} (90%)
delete mode 100644 keyboards/alt34/rev1/rules.mk
delete mode 100644 keyboards/amag23/config.h
delete mode 100755 keyboards/amjkeyboard/amj40/config.h
delete mode 100644 keyboards/amjkeyboard/amj60/config.h
delete mode 100644 keyboards/amjkeyboard/amj66/config.h
delete mode 100644 keyboards/amjkeyboard/amj84/config.h
delete mode 100644 keyboards/amjkeyboard/amjpad/config.h
rename keyboards/anavi/knob1/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/anavi/knob1/rules.mk
rename keyboards/anavi/knobs3/{info.json => keyboard.json} (97%)
delete mode 100644 keyboards/anavi/knobs3/rules.mk
delete mode 100644 keyboards/ano/config.h
delete mode 100644 keyboards/anomalykb/a65i/config.h
delete mode 100644 keyboards/aos/tkl/config.h
rename keyboards/arabica37/rev1/{info.json => keyboard.json} (95%)
delete mode 100644 keyboards/arabica37/rev1/rules.mk
rename keyboards/argo_works/ishi/80/mk0_avr_extra/{info.json => keyboard.json} (98%)
delete mode 100644 keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk
delete mode 100644 keyboards/arisu/config.h
delete mode 100644 keyboards/ash1800/config.h
delete mode 100644 keyboards/ash_xiix/config.h
delete mode 100644 keyboards/ask55/config.h
rename keyboards/at_at/660m/{info.json => keyboard.json} (92%)
delete mode 100644 keyboards/at_at/660m/rules.mk
rename keyboards/atlantis/ps17/{info.json => keyboard.json} (98%)
delete mode 100644 keyboards/atlantis/ps17/rules.mk
delete mode 100644 keyboards/atlas_65/config.h
delete mode 100644 keyboards/atomic/config.h
rename keyboards/atreus/f103/{info.json => keyboard.json} (73%)
delete mode 100644 keyboards/atreus/f103/rules.mk
delete mode 100644 keyboards/atreus62/config.h
create mode 100644 keyboards/atreyu/info.json
delete mode 100644 keyboards/atreyu/rev1/config.h
delete mode 100644 keyboards/atreyu/rev2/config.h
delete mode 100644 keyboards/atset/at1/config.h
delete mode 100644 keyboards/atset/at12/config.h
delete mode 100644 keyboards/atset/at16/config.h
delete mode 100644 keyboards/atset/at3/config.h
delete mode 100644 keyboards/atset/at6/config.h
delete mode 100644 keyboards/atset/at9/config.h
delete mode 100644 keyboards/atxkb/1894/config.h
rename keyboards/avalanche/v1/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/avalanche/v1/rules.mk
rename keyboards/avalanche/v2/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/avalanche/v2/rules.mk
rename keyboards/avalanche/v3/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/avalanche/v3/rules.mk
rename keyboards/avalanche/v4/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/avalanche/v4/rules.mk
delete mode 100644 keyboards/aves60/config.h
delete mode 100644 keyboards/aves65/config.h
rename keyboards/aya/{info.json => keyboard.json} (96%)
delete mode 100644 keyboards/aya/rules.mk
diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h
deleted file mode 100644
index 84e1acbb3c7..00000000000
--- a/keyboards/abacus/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 nickolaij
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/abacus/keyboard.json b/keyboards/abacus/keyboard.json
index c34fb32c52f..9622089bbfb 100644
--- a/keyboards/abacus/keyboard.json
+++ b/keyboards/abacus/keyboard.json
@@ -22,6 +22,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "D7", "B3", "E6", "B2", "B4", "B6", "B5"],
"rows": ["D3", "D2", "D4", "C6"]
diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h
deleted file mode 100644
index 81349657efa..00000000000
--- a/keyboards/abstract/ellipse/rev1/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 AbstractKB
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/abstract/ellipse/rev1/keyboard.json b/keyboards/abstract/ellipse/rev1/keyboard.json
index 31a17301a7a..8e38f29d56c 100644
--- a/keyboards/abstract/ellipse/rev1/keyboard.json
+++ b/keyboards/abstract/ellipse/rev1/keyboard.json
@@ -18,6 +18,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "B6", "B5"],
"rows": ["D3", "C7"]
diff --git a/keyboards/acekeyboard/titan60/config.h b/keyboards/acekeyboard/titan60/config.h
deleted file mode 100644
index 2bcc184a309..00000000000
--- a/keyboards/acekeyboard/titan60/config.h
+++ /dev/null
@@ -1,23 +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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/acekeyboard/titan60/keyboard.json b/keyboards/acekeyboard/titan60/keyboard.json
index 3111e1e9d7f..4446927ab8a 100644
--- a/keyboards/acekeyboard/titan60/keyboard.json
+++ b/keyboards/acekeyboard/titan60/keyboard.json
@@ -18,6 +18,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F7", "F5", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3"],
"rows": ["B1", "B2", "B3", "F0", "F1"]
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h
index 17c09f0f576..cda883bd631 100644
--- a/keyboards/acheron/apollo/87h/delta/config.h
+++ b/keyboards/acheron/apollo/87h/delta/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
diff --git a/keyboards/acheron/apollo/87h/delta/keyboard.json b/keyboards/acheron/apollo/87h/delta/keyboard.json
index c2d5e206923..5d01c1b8f77 100644
--- a/keyboards/acheron/apollo/87h/delta/keyboard.json
+++ b/keyboards/acheron/apollo/87h/delta/keyboard.json
@@ -68,6 +68,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
"rows": ["B3", "D2", "C12", "A6", "A5", "A4"]
diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h
index 42b27d55ba9..8870c3c9c99 100644
--- a/keyboards/acheron/apollo/87h/gamma/config.h
+++ b/keyboards/acheron/apollo/87h/gamma/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
// RGB Matrix defines
diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/keyboard.json
similarity index 95%
rename from keyboards/acheron/apollo/87h/gamma/info.json
rename to keyboards/acheron/apollo/87h/gamma/keyboard.json
index 150f838c89b..5c2087c968c 100644
--- a/keyboards/acheron/apollo/87h/gamma/info.json
+++ b/keyboards/acheron/apollo/87h/gamma/keyboard.json
@@ -2,7 +2,10 @@
"keyboard_name": "Apollo87H rev. Gamma",
"usb": {
"pid": "0x8774",
- "device_version": "0.0.3"
+ "device_version": "0.0.3",
+ "shared_endpoint": {
+ "keyboard": true
+ }
},
"rgb_matrix": {
"animations": {
@@ -57,6 +60,18 @@
"driver": "is31fl3741",
"sleep": true
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "rgb_matrix": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"],
"rows": ["C14", "C13", "B9", "B4", "A3", "A2"]
diff --git a/keyboards/acheron/apollo/87h/gamma/rules.mk b/keyboards/acheron/apollo/87h/gamma/rules.mk
deleted file mode 100644
index 4af646ec021..00000000000
--- a/keyboards/acheron/apollo/87h/gamma/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-RGB_MATRIX_ENABLE = yes
-KEYBOARD_SHARED_EP = yes
-
diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h
index 17c09f0f576..cda883bd631 100644
--- a/keyboards/acheron/apollo/87htsc/config.h
+++ b/keyboards/acheron/apollo/87htsc/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
diff --git a/keyboards/acheron/apollo/87htsc/keyboard.json b/keyboards/acheron/apollo/87htsc/keyboard.json
index 5f7d30e65a3..55229706b1d 100644
--- a/keyboards/acheron/apollo/87htsc/keyboard.json
+++ b/keyboards/acheron/apollo/87htsc/keyboard.json
@@ -72,6 +72,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
"rows": ["B3", "D2", "C12", "A6", "A5", "A4"]
diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h
index 17c09f0f576..cda883bd631 100644
--- a/keyboards/acheron/apollo/88htsc/config.h
+++ b/keyboards/acheron/apollo/88htsc/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
diff --git a/keyboards/acheron/apollo/88htsc/keyboard.json b/keyboards/acheron/apollo/88htsc/keyboard.json
index e29300019ca..9b9482874f6 100644
--- a/keyboards/acheron/apollo/88htsc/keyboard.json
+++ b/keyboards/acheron/apollo/88htsc/keyboard.json
@@ -72,6 +72,12 @@
"nkro": false,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
"rows": ["B3", "D2", "C12", "A6", "A5", "A4"]
diff --git a/keyboards/acheron/arctic/config.h b/keyboards/acheron/arctic/config.h
deleted file mode 100644
index f608132b5af..00000000000
--- a/keyboards/acheron/arctic/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/acheron/arctic/keyboard.json b/keyboards/acheron/arctic/keyboard.json
index e8c9e92f61c..cc686be5fa2 100644
--- a/keyboards/acheron/arctic/keyboard.json
+++ b/keyboards/acheron/arctic/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "A5", "A4", "A3", "A2", "A1", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8"],
"rows": ["B7", "B6", "A6", "A7", "B1"]
diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h
index c9f1d29f24b..b1264c3fa54 100644
--- a/keyboards/acheron/athena/alpha/config.h
+++ b/keyboards/acheron/athena/alpha/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
diff --git a/keyboards/acheron/athena/alpha/keyboard.json b/keyboards/acheron/athena/alpha/keyboard.json
index 8570fa12748..7e29cdc0372 100644
--- a/keyboards/acheron/athena/alpha/keyboard.json
+++ b/keyboards/acheron/athena/alpha/keyboard.json
@@ -17,6 +17,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["A8", "B14", "B12", "B10", "B1", "B0", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "A7", "B4", "B3", "A15"],
"rows": ["B9", "C13", "B8", "B5", "A14", "C14"]
diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h
index b2a8d2edf89..79add9aedcb 100644
--- a/keyboards/acheron/athena/beta/config.h
+++ b/keyboards/acheron/athena/beta/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define BACKLIGHT_PWM_DRIVER PWMD3
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5
diff --git a/keyboards/acheron/athena/beta/keyboard.json b/keyboards/acheron/athena/beta/keyboard.json
index 21aa189470e..ba96b201515 100644
--- a/keyboards/acheron/athena/beta/keyboard.json
+++ b/keyboards/acheron/athena/beta/keyboard.json
@@ -17,6 +17,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C7", "C6", "B14", "B12", "B10", "B1", "C4", "A7", "A6", "A5", "A4", "A3", "A2", "C5", "A10", "A8", "C9"],
"rows": ["C11", "C12", "C10", "A15", "C0", "A1"]
diff --git a/keyboards/acheron/austin/config.h b/keyboards/acheron/austin/config.h
index a47b76953a2..974ecf1c6c0 100644
--- a/keyboards/acheron/austin/config.h
+++ b/keyboards/acheron/austin/config.h
@@ -21,11 +21,6 @@ along with this program. If not, see .
#define BACKLIGHT_PWM_CHANNEL 1
#define BACKLIGHT_PAL_MODE 1
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json
index 6c467a7da05..bee675472c9 100755
--- a/keyboards/acheron/austin/keyboard.json
+++ b/keyboards/acheron/austin/keyboard.json
@@ -17,6 +17,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A5", "A15", "B3", "B4", "B5", "B8", "A3", "C15", "C14", "F1"],
"rows": ["C13", "A4", "A7", "B0", "B1", "B2"]
diff --git a/keyboards/acheron/elongate/beta/config.h b/keyboards/acheron/elongate/beta/config.h
deleted file mode 100644
index 62093e37b23..00000000000
--- a/keyboards/acheron/elongate/beta/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/acheron/elongate/beta/keyboard.json b/keyboards/acheron/elongate/beta/keyboard.json
index 80c984caab6..d15f1789911 100644
--- a/keyboards/acheron/elongate/beta/keyboard.json
+++ b/keyboards/acheron/elongate/beta/keyboard.json
@@ -41,6 +41,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F5", "F6", "F4", "F1", "F0", "B2", "B1", "C6", "B0", "B3", "E6", "D4", "B4"],
"rows": ["D3", "B7", "D5", "B5", "D6"]
diff --git a/keyboards/acheron/elongate/delta/config.h b/keyboards/acheron/elongate/delta/config.h
index 81342ef26dc..09ccd741640 100755
--- a/keyboards/acheron/elongate/delta/config.h
+++ b/keyboards/acheron/elongate/delta/config.h
@@ -23,11 +23,6 @@ along with this program. If not, see .
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
// Elongate has six indicator LEDs. These def's are the indicator pin defs. The LEDs are distributed in two clusters: one next to the numpad and another between spacebars; LEDs are numbered top-to-bottom.
#define LED1_PIN A2
diff --git a/keyboards/acheron/elongate/delta/keyboard.json b/keyboards/acheron/elongate/delta/keyboard.json
index 33fc5b55ddd..1c6d0927d63 100644
--- a/keyboards/acheron/elongate/delta/keyboard.json
+++ b/keyboards/acheron/elongate/delta/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B14", "B12", "B11", "B10", "B2", "B1", "A7", "A5", "B9", "B8", "B7", "B6"],
"rows": ["B3", "A15", "B0", "B4", "B5"]
diff --git a/keyboards/acheron/keebspcb/config.h b/keyboards/acheron/keebspcb/config.h
deleted file mode 100644
index 4b007cf387e..00000000000
--- a/keyboards/acheron/keebspcb/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/acheron/keebspcb/keyboard.json b/keyboards/acheron/keebspcb/keyboard.json
index 1017cf47ecf..a4815e10143 100644
--- a/keyboards/acheron/keebspcb/keyboard.json
+++ b/keyboards/acheron/keebspcb/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B12", "A1", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "B6", "B5"],
"rows": ["B4", "B3", "A2", "A3", "A4"]
diff --git a/keyboards/acheron/lasgweloth/config.h b/keyboards/acheron/lasgweloth/config.h
deleted file mode 100644
index f608132b5af..00000000000
--- a/keyboards/acheron/lasgweloth/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/acheron/lasgweloth/keyboard.json b/keyboards/acheron/lasgweloth/keyboard.json
index ccdf9d6f302..35d30e89b26 100644
--- a/keyboards/acheron/lasgweloth/keyboard.json
+++ b/keyboards/acheron/lasgweloth/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B12", "A2", "A1", "A0", "F1", "F0", "C15", "C14", "C13", "A7", "A6", "A5", "A4", "B7"],
"rows": ["B9", "B8", "A3", "B0", "B1"]
diff --git a/keyboards/acheron/shark/alpha/config.h b/keyboards/acheron/shark/alpha/config.h
index a34ea41cffb..0786a3ac0e6 100644
--- a/keyboards/acheron/shark/alpha/config.h
+++ b/keyboards/acheron/shark/alpha/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#define BACKLIGHT_PWM_DRIVER PWMD3
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/acheron/shark/alpha/info.json b/keyboards/acheron/shark/alpha/info.json
index 5250da47276..f88c312a255 100644
--- a/keyboards/acheron/shark/alpha/info.json
+++ b/keyboards/acheron/shark/alpha/info.json
@@ -6,6 +6,20 @@
"pid": "0x5368",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "encoder": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B1", "B12", "A1", "A7", "A5", "A4", "A3", "A2", "A0", "C15", "C14", "C13"],
"rows": ["B4", "A15", "B10", "B2"]
diff --git a/keyboards/acheron/shark/alpha/rules.mk b/keyboards/acheron/shark/alpha/rules.mk
index 27db06a0448..16051206467 100644
--- a/keyboards/acheron/shark/alpha/rules.mk
+++ b/keyboards/acheron/shark/alpha/rules.mk
@@ -1,17 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h
index 1182d39d3b5..4e1b46d085c 100644
--- a/keyboards/acheron/shark/beta/config.h
+++ b/keyboards/acheron/shark/beta/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
diff --git a/keyboards/acheron/shark/beta/keyboard.json b/keyboards/acheron/shark/beta/keyboard.json
index 7f182068a0d..2433f61fecf 100644
--- a/keyboards/acheron/shark/beta/keyboard.json
+++ b/keyboards/acheron/shark/beta/keyboard.json
@@ -15,6 +15,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["A5", "A10", "C13", "B9", "B8", "B5", "B4", "B3", "A15", "A0", "A1", "A2"],
"rows": ["A8", "B14", "A4", "A3"]
diff --git a/keyboards/acheron/themis/87h/config.h b/keyboards/acheron/themis/87h/config.h
index fb2a5e1ed7f..ebe7e5398a5 100644
--- a/keyboards/acheron/themis/87h/config.h
+++ b/keyboards/acheron/themis/87h/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87h/keyboard.json b/keyboards/acheron/themis/87h/keyboard.json
index ce2037bfade..488cb324c16 100644
--- a/keyboards/acheron/themis/87h/keyboard.json
+++ b/keyboards/acheron/themis/87h/keyboard.json
@@ -19,6 +19,12 @@
"rgblight": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"diode_direction": "COL2ROW",
"eeprom": {
"wear_leveling": {
diff --git a/keyboards/acheron/themis/87htsc/config.h b/keyboards/acheron/themis/87htsc/config.h
index fb2a5e1ed7f..ebe7e5398a5 100644
--- a/keyboards/acheron/themis/87htsc/config.h
+++ b/keyboards/acheron/themis/87htsc/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87htsc/keyboard.json b/keyboards/acheron/themis/87htsc/keyboard.json
index eaf8a323abb..46cdb092475 100644
--- a/keyboards/acheron/themis/87htsc/keyboard.json
+++ b/keyboards/acheron/themis/87htsc/keyboard.json
@@ -19,6 +19,12 @@
"rgblight": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"diode_direction": "COL2ROW",
"eeprom": {
"wear_leveling": {
diff --git a/keyboards/acheron/themis/88htsc/config.h b/keyboards/acheron/themis/88htsc/config.h
index fb2a5e1ed7f..ebe7e5398a5 100644
--- a/keyboards/acheron/themis/88htsc/config.h
+++ b/keyboards/acheron/themis/88htsc/config.h
@@ -17,9 +17,6 @@ along with this program. If not, see .
#pragma once
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/88htsc/keyboard.json b/keyboards/acheron/themis/88htsc/keyboard.json
index f8e65afbade..1e193d2661b 100644
--- a/keyboards/acheron/themis/88htsc/keyboard.json
+++ b/keyboards/acheron/themis/88htsc/keyboard.json
@@ -19,6 +19,12 @@
"rgblight": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"diode_direction": "COL2ROW",
"eeprom": {
"wear_leveling": {
diff --git a/keyboards/ada/infinity81/config.h b/keyboards/ada/infinity81/config.h
deleted file mode 100644
index 86415b251a0..00000000000
--- a/keyboards/ada/infinity81/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/ada/infinity81/keyboard.json b/keyboards/ada/infinity81/keyboard.json
index 934bd6fca2c..40c5bd2f180 100644
--- a/keyboards/ada/infinity81/keyboard.json
+++ b/keyboards/ada/infinity81/keyboard.json
@@ -38,6 +38,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F5", "F1", "F4"],
"rows": ["B3", "B2", "B1", "B0", "F6", "B7"]
diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json
index 295af783398..86601c0167f 100644
--- a/keyboards/adafruit/macropad/info.json
+++ b/keyboards/adafruit/macropad/info.json
@@ -8,6 +8,16 @@
"pid": "0x0108",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": true,
+ "nkro": true,
+ "audio": true,
+ "encoder": true,
+ "rgb_matrix": true,
+ "oled": true
+ },
"audio": {
"power_control": {
"pin": "GP14"
diff --git a/keyboards/adafruit/macropad/rules.mk b/keyboards/adafruit/macropad/rules.mk
index a84e29da3d1..1630b74ceae 100644
--- a/keyboards/adafruit/macropad/rules.mk
+++ b/keyboards/adafruit/macropad/rules.mk
@@ -1,17 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
AUDIO_DRIVER = pwm_hardware
-ENCODER_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-OLED_ENABLE = yes
OLED_TRANSPORT = spi
diff --git a/keyboards/adelheid/config.h b/keyboards/adelheid/config.h
deleted file mode 100644
index db23a531199..00000000000
--- a/keyboards/adelheid/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2020 floookay
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/adelheid/keyboard.json b/keyboards/adelheid/keyboard.json
index e066e5d5f18..7766a44a8d5 100644
--- a/keyboards/adelheid/keyboard.json
+++ b/keyboards/adelheid/keyboard.json
@@ -17,6 +17,12 @@
"mousekey": false,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "F6", "B6", "D4", "B1", "B0", "B7", "B5", "B4", "D7", "D6", "B3"],
"rows": ["D0", "F4", "D1", "D2", "D3", "D5", "F7"]
diff --git a/keyboards/adkb96/rev1/config.h b/keyboards/adkb96/rev1/config.h
deleted file mode 100644
index 0b8941e7760..00000000000
--- a/keyboards/adkb96/rev1/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/adkb96/info.json b/keyboards/adkb96/rev1/keyboard.json
similarity index 95%
rename from keyboards/adkb96/info.json
rename to keyboards/adkb96/rev1/keyboard.json
index aa7e5a6921e..77f9177555a 100644
--- a/keyboards/adkb96/info.json
+++ b/keyboards/adkb96/rev1/keyboard.json
@@ -8,12 +8,26 @@
"pid": "0xAD96",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
"rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D0"
},
"tapping": {
diff --git a/keyboards/adkb96/rev1/rules.mk b/keyboards/adkb96/rev1/rules.mk
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/keyboards/adkb96/rules.mk b/keyboards/adkb96/rules.mk
index 2b74eb41834..ac7561b21dd 100644
--- a/keyboards/adkb96/rules.mk
+++ b/keyboards/adkb96/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-SPLIT_KEYBOARD = yes
-
DEFAULT_FOLDER = adkb96/rev1
diff --git a/keyboards/aeboards/aegis/config.h b/keyboards/aeboards/aegis/config.h
deleted file mode 100644
index 8606067a4cf..00000000000
--- a/keyboards/aeboards/aegis/config.h
+++ /dev/null
@@ -1,23 +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 .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/aegis/keyboard.json b/keyboards/aeboards/aegis/keyboard.json
index 26414ba55a3..26f5f2a0c1c 100644
--- a/keyboards/aeboards/aegis/keyboard.json
+++ b/keyboards/aeboards/aegis/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": false,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C7", "C6", "B7", "D2", "D3", "B3", "B2", "B1", "B0"],
"rows": ["F5", "F6", "E6", "F7", "D1", "D0", "D6", "D4", "B4", "D7", "B6", "B5"]
diff --git a/keyboards/aeboards/constellation/rev1/config.h b/keyboards/aeboards/constellation/rev1/config.h
deleted file mode 100755
index 01155887a5e..00000000000
--- a/keyboards/aeboards/constellation/rev1/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- * 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 .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/constellation/rev1/info.json b/keyboards/aeboards/constellation/rev1/keyboard.json
similarity index 96%
rename from keyboards/aeboards/constellation/rev1/info.json
rename to keyboards/aeboards/constellation/rev1/keyboard.json
index 9001eec1c5e..5a43568d57c 100644
--- a/keyboards/aeboards/constellation/rev1/info.json
+++ b/keyboards/aeboards/constellation/rev1/keyboard.json
@@ -8,6 +8,23 @@
"pid": "0x065C",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["B0", "B1", "F0", "F1", "F4"]
diff --git a/keyboards/aeboards/constellation/rev1/rules.mk b/keyboards/aeboards/constellation/rev1/rules.mk
deleted file mode 100755
index bc5a3a3498a..00000000000
--- a/keyboards/aeboards/constellation/rev1/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
diff --git a/keyboards/aeboards/constellation/rev2/config.h b/keyboards/aeboards/constellation/rev2/config.h
index f4b7be6bdf7..2091bab964c 100755
--- a/keyboards/aeboards/constellation/rev2/config.h
+++ b/keyboards/aeboards/constellation/rev2/config.h
@@ -16,12 +16,6 @@
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
// I2C setup
#define I2C1_SCL_PIN B8
#define I2C1_SDA_PIN B9
diff --git a/keyboards/aeboards/constellation/rev2/info.json b/keyboards/aeboards/constellation/rev2/keyboard.json
similarity index 97%
rename from keyboards/aeboards/constellation/rev2/info.json
rename to keyboards/aeboards/constellation/rev2/keyboard.json
index b8dae5f20cf..f296b523e0b 100644
--- a/keyboards/aeboards/constellation/rev2/info.json
+++ b/keyboards/aeboards/constellation/rev2/keyboard.json
@@ -8,6 +8,19 @@
"pid": "0x065C",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B12", "A1", "H0", "C15", "C14", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
"rows": ["B15", "A14", "A2", "B13", "B14"]
diff --git a/keyboards/aeboards/constellation/rev2/rules.mk b/keyboards/aeboards/constellation/rev2/rules.mk
deleted file mode 100755
index c12086843f1..00000000000
--- a/keyboards/aeboards/constellation/rev2/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/aeboards/constellation/rev3/config.h b/keyboards/aeboards/constellation/rev3/config.h
deleted file mode 100755
index 01155887a5e..00000000000
--- a/keyboards/aeboards/constellation/rev3/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- * 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 .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/constellation/rev3/info.json b/keyboards/aeboards/constellation/rev3/keyboard.json
similarity index 96%
rename from keyboards/aeboards/constellation/rev3/info.json
rename to keyboards/aeboards/constellation/rev3/keyboard.json
index 6e38e99fe91..ab39641b74b 100644
--- a/keyboards/aeboards/constellation/rev3/info.json
+++ b/keyboards/aeboards/constellation/rev3/keyboard.json
@@ -8,6 +8,23 @@
"pid": "0x065D",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["B0", "B1", "F0", "F1", "F4"]
diff --git a/keyboards/aeboards/constellation/rev3/rules.mk b/keyboards/aeboards/constellation/rev3/rules.mk
deleted file mode 100755
index bc5a3a3498a..00000000000
--- a/keyboards/aeboards/constellation/rev3/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rev1/info.json b/keyboards/aeboards/ext65/rev1/keyboard.json
similarity index 97%
rename from keyboards/aeboards/ext65/rev1/info.json
rename to keyboards/aeboards/ext65/rev1/keyboard.json
index 0e110e92357..c254a671421 100644
--- a/keyboards/aeboards/ext65/rev1/info.json
+++ b/keyboards/aeboards/ext65/rev1/keyboard.json
@@ -7,6 +7,12 @@
"pid": "0xAE65",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": true,
+ "nkro": true
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
diff --git a/keyboards/aeboards/ext65/rev1/rules.mk b/keyboards/aeboards/ext65/rev1/rules.mk
deleted file mode 100644
index 29eb5c8fbe8..00000000000
--- a/keyboards/aeboards/ext65/rev1/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/aeboards/ext65/rev2/info.json b/keyboards/aeboards/ext65/rev2/keyboard.json
similarity index 96%
rename from keyboards/aeboards/ext65/rev2/info.json
rename to keyboards/aeboards/ext65/rev2/keyboard.json
index ab229e19ec6..0ab50f92582 100644
--- a/keyboards/aeboards/ext65/rev2/info.json
+++ b/keyboards/aeboards/ext65/rev2/keyboard.json
@@ -7,6 +7,16 @@
"pid": "0xA652",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "nkro": true,
+ "backlight": true,
+ "rgblight": true,
+ "sleep_led": true
+ },
"backlight": {
"pin": "B5",
"levels": 6,
diff --git a/keyboards/aeboards/ext65/rev2/rules.mk b/keyboards/aeboards/ext65/rev2/rules.mk
deleted file mode 100644
index b9637955ff7..00000000000
--- a/keyboards/aeboards/ext65/rev2/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SLEEP_LED_ENABLE = yes
-
diff --git a/keyboards/aeboards/ext65/rev3/info.json b/keyboards/aeboards/ext65/rev3/info.json
index 0faf6fa135a..8c8051fc444 100644
--- a/keyboards/aeboards/ext65/rev3/info.json
+++ b/keyboards/aeboards/ext65/rev3/info.json
@@ -7,6 +7,15 @@
"pid": "0xA653",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
"indicators": {
"caps_lock": "F4",
"num_lock": "F5",
diff --git a/keyboards/aeboards/ext65/rev3/rules.mk b/keyboards/aeboards/ext65/rev3/rules.mk
index f1ec6515067..1716098b3e1 100644
--- a/keyboards/aeboards/ext65/rev3/rules.mk
+++ b/keyboards/aeboards/ext65/rev3/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
OPT = 3
-LTO_ENABLE = yes
diff --git a/keyboards/aeboards/satellite/rev1/info.json b/keyboards/aeboards/satellite/rev1/info.json
index 68256ed8699..8b90704efa4 100644
--- a/keyboards/aeboards/satellite/rev1/info.json
+++ b/keyboards/aeboards/satellite/rev1/info.json
@@ -8,6 +8,16 @@
"pid": "0x6553",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "build": {
+ "lto": true
+ },
"rgb_matrix": {
"animations": {
"alphas_mods": true,
diff --git a/keyboards/aeboards/satellite/rev1/rules.mk b/keyboards/aeboards/satellite/rev1/rules.mk
index f95b0f015d7..7149ec106a1 100644
--- a/keyboards/aeboards/satellite/rev1/rules.mk
+++ b/keyboards/aeboards/satellite/rev1/rules.mk
@@ -1,18 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
-
-RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects.
-
COMMON_VPATH += $(DRIVER_PATH)/issi
# project specific files
diff --git a/keyboards/afternoonlabs/breeze/rev0/info.json b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
similarity index 96%
rename from keyboards/afternoonlabs/breeze/rev0/info.json
rename to keyboards/afternoonlabs/breeze/rev0/keyboard.json
index 0afb37957fe..f20f082ec96 100644
--- a/keyboards/afternoonlabs/breeze/rev0/info.json
+++ b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0001",
"device_version": "0.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": false,
+ "console": true
+ },
"matrix_pins": {
"cols": ["B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/breeze/rev0/rules.mk b/keyboards/afternoonlabs/breeze/rev0/rules.mk
deleted file mode 100644
index 7b63c0c2988..00000000000
--- a/keyboards/afternoonlabs/breeze/rev0/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/afternoonlabs/breeze/rev1/info.json b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
similarity index 96%
rename from keyboards/afternoonlabs/breeze/rev1/info.json
rename to keyboards/afternoonlabs/breeze/rev1/keyboard.json
index 21b6a7a4364..ccb13551c10 100644
--- a/keyboards/afternoonlabs/breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true
+ },
"matrix_pins": {
"cols": ["B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/breeze/rev1/rules.mk b/keyboards/afternoonlabs/breeze/rev1/rules.mk
deleted file mode 100644
index 151c93f7796..00000000000
--- a/keyboards/afternoonlabs/breeze/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-SPLIT_KEYBOARD = yes
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/info.json b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
similarity index 96%
rename from keyboards/afternoonlabs/oceanbreeze/rev1/info.json
rename to keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
index 44f7fa7006a..2a80a0bc2bd 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/info.json
+++ b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0003",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true
+ },
"matrix_pins": {
"cols": ["B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1", "B6"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk b/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk
deleted file mode 100644
index 904c6b60cbd..00000000000
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/info.json b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
similarity index 96%
rename from keyboards/afternoonlabs/southern_breeze/rev1/info.json
rename to keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
index c71feef8ba0..c4d38a7a69e 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0005",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": false,
+ "console": true
+ },
"matrix_pins": {
"cols": ["B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk b/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk
deleted file mode 100644
index 7b63c0c2988..00000000000
--- a/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/info.json b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
similarity index 97%
rename from keyboards/afternoonlabs/summer_breeze/rev1/info.json
rename to keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
index 4ec3db219cd..702a942a3cf 100644
--- a/keyboards/afternoonlabs/summer_breeze/rev1/info.json
+++ b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0004",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": false,
+ "console": true
+ },
"matrix_pins": {
"cols": ["B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk b/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk
deleted file mode 100644
index 7b63c0c2988..00000000000
--- a/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/ai03/andromeda/config.h b/keyboards/ai03/andromeda/config.h
deleted file mode 100644
index 056f54d5212..00000000000
--- a/keyboards/ai03/andromeda/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/ai03/andromeda/keyboard.json b/keyboards/ai03/andromeda/keyboard.json
index 5a9bf32ef15..d085b91ad17 100644
--- a/keyboards/ai03/andromeda/keyboard.json
+++ b/keyboards/ai03/andromeda/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "B5", "B8", "B9"],
"rows": ["B4", "B3", "A15", "A3", "A4", "A5"]
diff --git a/keyboards/ai03/equinox/config.h b/keyboards/ai03/equinox/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/ai03/equinox/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/equinox/info.json b/keyboards/ai03/equinox/info.json
index 2912f0c1d83..7c2cc465005 100644
--- a/keyboards/ai03/equinox/info.json
+++ b/keyboards/ai03/equinox/info.json
@@ -8,6 +8,12 @@
"pid": "0x0004",
"device_version": "0.0.1"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/ai03/jp60/config.h b/keyboards/ai03/jp60/config.h
deleted file mode 100644
index 9fe6627ecc1..00000000000
--- a/keyboards/ai03/jp60/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/jp60/keyboard.json b/keyboards/ai03/jp60/keyboard.json
index bc366e60e50..389993626d8 100644
--- a/keyboards/ai03/jp60/keyboard.json
+++ b/keyboards/ai03/jp60/keyboard.json
@@ -19,6 +19,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D2", "D1", "D3", "D5", "D4", "D6", "C6", "F0", "F1", "F4", "F5", "F6", "F7", "C7"],
"rows": ["B6", "B5", "B4", "D7", "E6"]
diff --git a/keyboards/ai03/lunar/config.h b/keyboards/ai03/lunar/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/ai03/lunar/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/lunar/keyboard.json b/keyboards/ai03/lunar/keyboard.json
index 8a5bc145765..00ff761d3f8 100644
--- a/keyboards/ai03/lunar/keyboard.json
+++ b/keyboards/ai03/lunar/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["B3", "D0", "D1", "D2", "D3"]
diff --git a/keyboards/ai03/lunar_ii/config.h b/keyboards/ai03/lunar_ii/config.h
index 1b02059356a..07dde6cb899 100644
--- a/keyboards/ai03/lunar_ii/config.h
+++ b/keyboards/ai03/lunar_ii/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-
-/* Mechanical lock switch support */
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
-
/* Solenoid support */
#define SOLENOID_PIN B7
#define SOLENOID_DEFAULT_DWELL 15
diff --git a/keyboards/ai03/lunar_ii/info.json b/keyboards/ai03/lunar_ii/info.json
index ee7f1527586..38729595a29 100644
--- a/keyboards/ai03/lunar_ii/info.json
+++ b/keyboards/ai03/lunar_ii/info.json
@@ -8,6 +8,20 @@
"pid": "0x0016",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "nkro": true,
+ "haptic": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
diff --git a/keyboards/ai03/lunar_ii/rules.mk b/keyboards/ai03/lunar_ii/rules.mk
index 7ad594e1f9f..a521203b326 100644
--- a/keyboards/ai03/lunar_ii/rules.mk
+++ b/keyboards/ai03/lunar_ii/rules.mk
@@ -1,15 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-HAPTIC_ENABLE = yes # Enable solenoid support
HAPTIC_DRIVER = solenoid
diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h
index 53a057875f9..f3a4ae2db34 100644
--- a/keyboards/ai03/orbit/config.h
+++ b/keyboards/ai03/orbit/config.h
@@ -21,11 +21,6 @@ along with this program. If not, see .
#define SPLIT_HAND_PIN D5
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ai03/orbit/info.json b/keyboards/ai03/orbit/keyboard.json
similarity index 94%
rename from keyboards/ai03/orbit/info.json
rename to keyboards/ai03/orbit/keyboard.json
index d7ff0b786cc..ec308028120 100644
--- a/keyboards/ai03/orbit/info.json
+++ b/keyboards/ai03/orbit/keyboard.json
@@ -8,6 +8,19 @@
"pid": "0x0003",
"device_version": "0.0.3"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "backlight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C7", "B4", "D7", "D6", "D4", "F1", "F0"],
"rows": ["F7", "F6", "F5", "F4", "D3"]
@@ -17,6 +30,7 @@
"pin": "B7"
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/ai03/orbit/rules.mk b/keyboards/ai03/orbit/rules.mk
deleted file mode 100644
index c95da2740d8..00000000000
--- a/keyboards/ai03/orbit/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes # Split keyboard flag disabled as manual edits had to be done to the split common files
diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h
index 05d319d030a..2c63852cbeb 100644
--- a/keyboards/ai03/orbit_x/config.h
+++ b/keyboards/ai03/orbit_x/config.h
@@ -21,11 +21,6 @@ along with this program. If not, see .
#define SPLIT_USB_DETECT
#define SPLIT_USB_TIMEOUT 2500
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ai03/orbit_x/info.json b/keyboards/ai03/orbit_x/keyboard.json
similarity index 92%
rename from keyboards/ai03/orbit_x/info.json
rename to keyboards/ai03/orbit_x/keyboard.json
index ebb11624fe2..edfbbb27969 100644
--- a/keyboards/ai03/orbit_x/info.json
+++ b/keyboards/ai03/orbit_x/keyboard.json
@@ -8,12 +8,26 @@
"pid": "0x0014",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "F6", "B1", "B0", "C7", "C6"],
"rows": ["D7", "D6", "D4", "F0"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/ai03/orbit_x/rules.mk b/keyboards/ai03/orbit_x/rules.mk
deleted file mode 100644
index 66711e46132..00000000000
--- a/keyboards/ai03/orbit_x/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes # Split keyboard
diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/ai03/polaris/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/polaris/keyboard.json b/keyboards/ai03/polaris/keyboard.json
index 169118a0cf6..decedbab3df 100644
--- a/keyboards/ai03/polaris/keyboard.json
+++ b/keyboards/ai03/polaris/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F7", "F5", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3"],
"rows": ["B1", "B2", "B3", "F0", "F1"]
diff --git a/keyboards/ai03/quasar/config.h b/keyboards/ai03/quasar/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/ai03/quasar/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/quasar/keyboard.json b/keyboards/ai03/quasar/keyboard.json
index b0514f9e9aa..52902e3067a 100644
--- a/keyboards/ai03/quasar/keyboard.json
+++ b/keyboards/ai03/quasar/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B7", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4"],
"rows": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"]
diff --git a/keyboards/ai03/soyuz/config.h b/keyboards/ai03/soyuz/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/ai03/soyuz/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/soyuz/keyboard.json b/keyboards/ai03/soyuz/keyboard.json
index 61e8375dd18..2abfbd5ead5 100644
--- a/keyboards/ai03/soyuz/keyboard.json
+++ b/keyboards/ai03/soyuz/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "B3", "D7", "B5"],
"rows": ["D4", "C6", "B6", "E6", "B4"]
diff --git a/keyboards/ai03/vega/config.h b/keyboards/ai03/vega/config.h
deleted file mode 100644
index b575a49f388..00000000000
--- a/keyboards/ai03/vega/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2015 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
-/*
- * 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/vega/keyboard.json b/keyboards/ai03/vega/keyboard.json
index 64eaf5eadd7..a58fa4fcaef 100644
--- a/keyboards/ai03/vega/keyboard.json
+++ b/keyboards/ai03/vega/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"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/akb/raine/config.h b/keyboards/akb/raine/config.h
deleted file mode 100644
index 4ffa418a091..00000000000
--- a/keyboards/akb/raine/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2019 Elliot Powell
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/akb/raine/keyboard.json b/keyboards/akb/raine/keyboard.json
index f3631068fd5..a8e841637ab 100644
--- a/keyboards/akb/raine/keyboard.json
+++ b/keyboards/akb/raine/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": false,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F6", "F5", "F4", "B1", "F1", "F0", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"],
"rows": ["E6", "C6", "F7", "B2", "B0"]
diff --git a/keyboards/akegata_denki/device_one/info.json b/keyboards/akegata_denki/device_one/keyboard.json
similarity index 99%
rename from keyboards/akegata_denki/device_one/info.json
rename to keyboards/akegata_denki/device_one/keyboard.json
index e1e69e2510e..b85f186ad6f 100644
--- a/keyboards/akegata_denki/device_one/info.json
+++ b/keyboards/akegata_denki/device_one/keyboard.json
@@ -7,6 +7,12 @@
"pid": "0xADD0",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": false,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["A2", "A3", "A4", "A5", "A6", "A7", "A1", "A10", "A15", "B3", "B4", "B5", "B6", "B7", "B8"],
"rows": ["B1", "B0", "A9", "A8", "A0"]
diff --git a/keyboards/akegata_denki/device_one/rules.mk b/keyboards/akegata_denki/device_one/rules.mk
deleted file mode 100644
index ecb62658826..00000000000
--- a/keyboards/akegata_denki/device_one/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BACKLIGHT_ENABLE = no
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
diff --git a/keyboards/akko/5087/config.h b/keyboards/akko/5087/config.h
index ceb98727385..888dfa6f800 100644
--- a/keyboards/akko/5087/config.h
+++ b/keyboards/akko/5087/config.h
@@ -20,11 +20,6 @@
#define LED_MAC_OS_PIN C10
#define LED_WIN_LOCK_PIN C11
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
diff --git a/keyboards/akko/5087/keyboard.json b/keyboards/akko/5087/keyboard.json
index 67ea54c169b..a2f72351ed6 100644
--- a/keyboards/akko/5087/keyboard.json
+++ b/keyboards/akko/5087/keyboard.json
@@ -21,6 +21,12 @@
"nkro": true,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"dynamic_keymap": {
"layer_count": 6
},
diff --git a/keyboards/akko/5108/config.h b/keyboards/akko/5108/config.h
index 6a509733d6a..f3d8ed4d67a 100644
--- a/keyboards/akko/5108/config.h
+++ b/keyboards/akko/5108/config.h
@@ -19,11 +19,6 @@
/* LED Indicators */
#define LED_WIN_LOCK_PIN C11
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
diff --git a/keyboards/akko/5108/keyboard.json b/keyboards/akko/5108/keyboard.json
index 5e97d151c34..e98e421089b 100644
--- a/keyboards/akko/5108/keyboard.json
+++ b/keyboards/akko/5108/keyboard.json
@@ -21,6 +21,12 @@
"nkro": true,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": [ "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14"],
"rows": ["B15", "C6", "C7", "C8", "C9", "A8"]
diff --git a/keyboards/akko/acr87/config.h b/keyboards/akko/acr87/config.h
index cdc4b6011a3..dc309c4a41b 100644
--- a/keyboards/akko/acr87/config.h
+++ b/keyboards/akko/acr87/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
diff --git a/keyboards/akko/acr87/keyboard.json b/keyboards/akko/acr87/keyboard.json
index 2702ee79152..9f37a91b9a8 100644
--- a/keyboards/akko/acr87/keyboard.json
+++ b/keyboards/akko/acr87/keyboard.json
@@ -21,6 +21,12 @@
"nkro": true,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": [ "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2", "B10"],
"rows": [ "B15", "C6", "C7", "C8", "C9", "A8"]
diff --git a/keyboards/akko/top40/config.h b/keyboards/akko/top40/config.h
index a23cf6db922..7924ae32148 100644
--- a/keyboards/akko/top40/config.h
+++ b/keyboards/akko/top40/config.h
@@ -16,11 +16,6 @@
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* SPI Config for spi flash*/
#define SPI_DRIVER SPIDQ
#define SPI_SCK_PIN B3
diff --git a/keyboards/akko/top40/keyboard.json b/keyboards/akko/top40/keyboard.json
index 183c9242f4e..fd7cf497e75 100644
--- a/keyboards/akko/top40/keyboard.json
+++ b/keyboards/akko/top40/keyboard.json
@@ -21,6 +21,12 @@
"nkro": true,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4"],
"rows": ["C7", "C8", "C9", "A8"]
diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h
index 32c7bcbd2a8..e864567cec7 100644
--- a/keyboards/al1/config.h
+++ b/keyboards/al1/config.h
@@ -27,11 +27,6 @@ along with this program. If not, see .
#define SN74X154_ADDRESS_PINS { D4, D5, D6, D7 }
#define SN74X154_E1_PIN D3
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/al1/info.json b/keyboards/al1/info.json
index 6051163dc73..7e6440560ff 100644
--- a/keyboards/al1/info.json
+++ b/keyboards/al1/info.json
@@ -8,6 +8,20 @@
"pid": "0x6050",
"device_version": "1.0.4"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "backlight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"backlight": {
"pin": "B6",
"breathing": true
diff --git a/keyboards/al1/rules.mk b/keyboards/al1/rules.mk
index ca917bc5480..73713d8a3f8 100644
--- a/keyboards/al1/rules.mk
+++ b/keyboards/al1/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += matrix.c sn74x154.c
diff --git a/keyboards/alas/info.json b/keyboards/alas/info.json
index 5c5e29f5956..b5617189dec 100755
--- a/keyboards/alas/info.json
+++ b/keyboards/alas/info.json
@@ -8,6 +8,12 @@
"pid": "0x414C",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ },
"indicators": {
"caps_lock": "B6",
"on_state": 0
@@ -19,6 +25,7 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_tsangan_hhkb"],
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/alas/rules.mk b/keyboards/alas/rules.mk
index 916e1bf9bb7..0ab54aaaf71 100644
--- a/keyboards/alas/rules.mk
+++ b/keyboards/alas/rules.mk
@@ -1,17 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan 60_iso 60_iso_split_bs_rshift 60_iso_tsangan 60_tsangan_hhkb
diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/keyboard.json
similarity index 96%
rename from keyboards/aleblazer/zodiark/info.json
rename to keyboards/aleblazer/zodiark/keyboard.json
index a66b5188b60..9f77049dee1 100644
--- a/keyboards/aleblazer/zodiark/info.json
+++ b/keyboards/aleblazer/zodiark/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0xF902",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "oled": true,
+ "encoder": true
+ },
+ "build": {
+ "lto": true
+ },
"ws2812": {
"pin": "B5"
},
@@ -49,6 +59,7 @@
]
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D3",
"encoder": {
"right": {
diff --git a/keyboards/aleblazer/zodiark/rules.mk b/keyboards/aleblazer/zodiark/rules.mk
deleted file mode 100644
index 8fc2f2ff256..00000000000
--- a/keyboards/aleblazer/zodiark/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-SPLIT_KEYBOARD = yes
-LTO_ENABLE = yes
diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h
deleted file mode 100644
index d876570c808..00000000000
--- a/keyboards/alf/dc60/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2018 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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/alf/dc60/keyboard.json b/keyboards/alf/dc60/keyboard.json
index 7fd360d726a..ea04748f847 100644
--- a/keyboards/alf/dc60/keyboard.json
+++ b/keyboards/alf/dc60/keyboard.json
@@ -17,6 +17,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B5", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F4", "F5", "F6", "F7"],
"rows": ["B0", "B1", "B2", "B3", "B4"]
diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h
deleted file mode 100644
index b5b661bef2a..00000000000
--- a/keyboards/alf/x11/config.h
+++ /dev/null
@@ -1,39 +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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/alf/x11/keyboard.json b/keyboards/alf/x11/keyboard.json
index 03abfc2dbed..c571705dc10 100644
--- a/keyboards/alf/x11/keyboard.json
+++ b/keyboards/alf/x11/keyboard.json
@@ -21,6 +21,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "F0", "F1", "F4", "F5", "F6"],
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6"]
diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h
deleted file mode 100644
index 02460e0beda..00000000000
--- a/keyboards/alf/x2/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2018-2021 @fixed, MechMerlin, QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/alf/x2/keyboard.json b/keyboards/alf/x2/keyboard.json
index fe700979327..9dd011c7f1c 100644
--- a/keyboards/alf/x2/keyboard.json
+++ b/keyboards/alf/x2/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"],
"rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/aliceh66/pianoforte/config.h b/keyboards/aliceh66/pianoforte/config.h
deleted file mode 100644
index ff87862693a..00000000000
--- a/keyboards/aliceh66/pianoforte/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2022 AliceH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aliceh66/pianoforte/info.json b/keyboards/aliceh66/pianoforte/info.json
index 6cc2546794c..b732b02db25 100644
--- a/keyboards/aliceh66/pianoforte/info.json
+++ b/keyboards/aliceh66/pianoforte/info.json
@@ -8,6 +8,21 @@
"pid": "0x7066",
"vid": "0x6168"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": false,
+ "extrakey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D4", "D6", "D7", "B4", "B5", "F1", "F0", "E6", "B6"],
"rows": ["D1", "D0", "D3", "D2", "D5", "B0", "C6", "C7", "F6", "F7", "F5", "F4"]
diff --git a/keyboards/aliceh66/pianoforte/rules.mk b/keyboards/aliceh66/pianoforte/rules.mk
index 2f9cd4eea95..4b54462335d 100644
--- a/keyboards/aliceh66/pianoforte/rules.mk
+++ b/keyboards/aliceh66/pianoforte/rules.mk
@@ -1,16 +1,2 @@
# Processor Frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
diff --git a/keyboards/aliceh66/pianoforte_hs/config.h b/keyboards/aliceh66/pianoforte_hs/config.h
deleted file mode 100644
index ff87862693a..00000000000
--- a/keyboards/aliceh66/pianoforte_hs/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2022 AliceH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aliceh66/pianoforte_hs/info.json b/keyboards/aliceh66/pianoforte_hs/info.json
index 7366e961c1f..ff73a00ea85 100644
--- a/keyboards/aliceh66/pianoforte_hs/info.json
+++ b/keyboards/aliceh66/pianoforte_hs/info.json
@@ -8,6 +8,21 @@
"pid": "0x7068",
"vid": "0x6168"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D6", "D7", "B4", "B5", "B6", "F6", "F5", "E6", "D4"],
"rows": ["D2", "D1", "D3", "D0", "D5", "B0", "F0", "F1", "F7", "F4", "C7", "C6"]
diff --git a/keyboards/aliceh66/pianoforte_hs/rules.mk b/keyboards/aliceh66/pianoforte_hs/rules.mk
index 3488ea0dd24..4b54462335d 100644
--- a/keyboards/aliceh66/pianoforte_hs/rules.mk
+++ b/keyboards/aliceh66/pianoforte_hs/rules.mk
@@ -1,16 +1,2 @@
# Processor Frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h
deleted file mode 100755
index 5f360813239..00000000000
--- a/keyboards/alpha/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/alpha/keyboard.json b/keyboards/alpha/keyboard.json
index f708ad2b9f5..1cb2fe71cd2 100644
--- a/keyboards/alpha/keyboard.json
+++ b/keyboards/alpha/keyboard.json
@@ -36,6 +36,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D7", "E6", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5"],
"rows": ["D4", "B4", "B5"]
diff --git a/keyboards/alpine65/config.h b/keyboards/alpine65/config.h
deleted file mode 100644
index f608132b5af..00000000000
--- a/keyboards/alpine65/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/alpine65/keyboard.json b/keyboards/alpine65/keyboard.json
index 4fccb3c564e..36bba880a8f 100644
--- a/keyboards/alpine65/keyboard.json
+++ b/keyboards/alpine65/keyboard.json
@@ -37,6 +37,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A9", "A8", "B14", "B12", "A10", "A0", "A1"],
"rows": ["C14", "C15", "C13", "A2", "A3"]
diff --git a/keyboards/alps64/config.h b/keyboards/alps64/config.h
deleted file mode 100644
index 4b007cf387e..00000000000
--- a/keyboards/alps64/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/alps64/keyboard.json b/keyboards/alps64/keyboard.json
index 72f21d0c33d..a6a60478f81 100644
--- a/keyboards/alps64/keyboard.json
+++ b/keyboards/alps64/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7"],
"rows": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "C2"]
diff --git a/keyboards/alt34/rev1/config.h b/keyboards/alt34/rev1/config.h
index ffff9dc8c6f..9dd9e9bdde5 100644
--- a/keyboards/alt34/rev1/config.h
+++ b/keyboards/alt34/rev1/config.h
@@ -17,11 +17,6 @@ along with this program. If not, see .
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define USE_I2C
/* Select hand configuration */
diff --git a/keyboards/alt34/rev1/info.json b/keyboards/alt34/rev1/keyboard.json
similarity index 90%
rename from keyboards/alt34/rev1/info.json
rename to keyboards/alt34/rev1/keyboard.json
index cf90324c142..712dd72943b 100644
--- a/keyboards/alt34/rev1/info.json
+++ b/keyboards/alt34/rev1/keyboard.json
@@ -8,6 +8,20 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": false
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "split": {
+ "enabled": true
+ },
"matrix_pins": {
"cols": ["B6", "B2", "B3", "B1", "F7"],
"rows": ["D7", "E6", "B4", "B5"]
diff --git a/keyboards/alt34/rev1/rules.mk b/keyboards/alt34/rev1/rules.mk
deleted file mode 100644
index 99541b285bd..00000000000
--- a/keyboards/alt34/rev1/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change to "no" to disable the options
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/amag23/config.h b/keyboards/amag23/config.h
deleted file mode 100644
index cdad6969cbc..00000000000
--- a/keyboards/amag23/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/amag23/keyboard.json b/keyboards/amag23/keyboard.json
index ed37a36e548..e3eb16cdad5 100644
--- a/keyboards/amag23/keyboard.json
+++ b/keyboards/amag23/keyboard.json
@@ -37,6 +37,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B4", "B5"],
"rows": ["A0", "A1", "A2", "A3"]
diff --git a/keyboards/amjkeyboard/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h
deleted file mode 100755
index b9449c4714b..00000000000
--- a/keyboards/amjkeyboard/amj40/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/amjkeyboard/amj40/keyboard.json b/keyboards/amjkeyboard/amj40/keyboard.json
index 8ce166728ca..de536cb55e4 100644
--- a/keyboards/amjkeyboard/amj40/keyboard.json
+++ b/keyboards/amjkeyboard/amj40/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7"],
"rows": ["F4", "F5", "F6", "F7"]
diff --git a/keyboards/amjkeyboard/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h
deleted file mode 100644
index b9449c4714b..00000000000
--- a/keyboards/amjkeyboard/amj60/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/amjkeyboard/amj60/keyboard.json b/keyboards/amjkeyboard/amj60/keyboard.json
index 0b65c742aa4..5ab353675a7 100644
--- a/keyboards/amjkeyboard/amj60/keyboard.json
+++ b/keyboards/amjkeyboard/amj60/keyboard.json
@@ -18,6 +18,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3"],
"rows": ["F7", "F6", "F5", "F4", "D5"]
diff --git a/keyboards/amjkeyboard/amj66/config.h b/keyboards/amjkeyboard/amj66/config.h
deleted file mode 100644
index b48aca77700..00000000000
--- a/keyboards/amjkeyboard/amj66/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2018 Alex Peters
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/amjkeyboard/amj66/info.json b/keyboards/amjkeyboard/amj66/info.json
index 07a170a3f6a..72646e4fc71 100644
--- a/keyboards/amjkeyboard/amj66/info.json
+++ b/keyboards/amjkeyboard/amj66/info.json
@@ -8,6 +8,20 @@
"pid": "0xBD66",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "backlight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "B3", "B2", "B1", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D6", "D7", "B4", "B5", "B6"],
"rows": ["F7", "F6", "F5", "F4", "F1"]
diff --git a/keyboards/amjkeyboard/amj66/rules.mk b/keyboards/amjkeyboard/amj66/rules.mk
index cb4a880111b..09057bea54b 100644
--- a/keyboards/amjkeyboard/amj66/rules.mk
+++ b/keyboards/amjkeyboard/amj66/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/amjkeyboard/amj84/config.h b/keyboards/amjkeyboard/amj84/config.h
deleted file mode 100644
index 86415b251a0..00000000000
--- a/keyboards/amjkeyboard/amj84/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2022 peepeetee (@peepeetee)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/amjkeyboard/amj84/keyboard.json b/keyboards/amjkeyboard/amj84/keyboard.json
index 217b685391f..b544ffc8b3c 100644
--- a/keyboards/amjkeyboard/amj84/keyboard.json
+++ b/keyboards/amjkeyboard/amj84/keyboard.json
@@ -18,6 +18,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F0", "E6", "C7", "C6", "B0", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3", "D1"],
"rows": ["D0", "F7", "F6", "F5", "F4", "D5"]
diff --git a/keyboards/amjkeyboard/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h
index b16c84d50eb..81cbb4a5e0b 100644
--- a/keyboards/amjkeyboard/amj96/config.h
+++ b/keyboards/amjkeyboard/amj96/config.h
@@ -36,11 +36,6 @@ along with this program. If not, see .
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/amjkeyboard/amj96/info.json b/keyboards/amjkeyboard/amj96/info.json
index 60cb8ee9e83..23a131c6150 100644
--- a/keyboards/amjkeyboard/amj96/info.json
+++ b/keyboards/amjkeyboard/amj96/info.json
@@ -8,6 +8,20 @@
"pid": "0x6074",
"device_version": "0.0.2"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"rgblight": {
"led_count": 16,
"animations": {
diff --git a/keyboards/amjkeyboard/amj96/rules.mk b/keyboards/amjkeyboard/amj96/rules.mk
index dfe1d12b556..8784813b335 100644
--- a/keyboards/amjkeyboard/amj96/rules.mk
+++ b/keyboards/amjkeyboard/amj96/rules.mk
@@ -1,15 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
CUSTOM_MATRIX = yes
SRC += matrix.c
diff --git a/keyboards/amjkeyboard/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h
deleted file mode 100644
index b9449c4714b..00000000000
--- a/keyboards/amjkeyboard/amjpad/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/amjkeyboard/amjpad/keyboard.json b/keyboards/amjkeyboard/amjpad/keyboard.json
index bd960d8c8ab..e331f3af191 100644
--- a/keyboards/amjkeyboard/amjpad/keyboard.json
+++ b/keyboards/amjkeyboard/amjpad/keyboard.json
@@ -17,6 +17,12 @@
"mousekey": false,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F0", "E6", "C7"],
"rows": ["F7", "F6", "F5", "F4", "D5", "D0"]
diff --git a/keyboards/anavi/knob1/info.json b/keyboards/anavi/knob1/keyboard.json
similarity index 96%
rename from keyboards/anavi/knob1/info.json
rename to keyboards/anavi/knob1/keyboard.json
index 551d059badf..9c4c60640ee 100644
--- a/keyboards/anavi/knob1/info.json
+++ b/keyboards/anavi/knob1/keyboard.json
@@ -12,7 +12,8 @@
"extrakey": true,
"mousekey": false,
"nkro": true,
- "rgblight": true
+ "rgblight": true,
+ "oled": true
},
"rgblight": {
"led_count": 1,
diff --git a/keyboards/anavi/knob1/rules.mk b/keyboards/anavi/knob1/rules.mk
deleted file mode 100644
index dd68e9d3b09..00000000000
--- a/keyboards/anavi/knob1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OLED_ENABLE = yes
diff --git a/keyboards/anavi/knobs3/info.json b/keyboards/anavi/knobs3/keyboard.json
similarity index 97%
rename from keyboards/anavi/knobs3/info.json
rename to keyboards/anavi/knobs3/keyboard.json
index ad51b7ce6ca..11081ee0863 100644
--- a/keyboards/anavi/knobs3/info.json
+++ b/keyboards/anavi/knobs3/keyboard.json
@@ -17,7 +17,8 @@
"extrakey": true,
"mousekey": false,
"nkro": true,
- "rgblight": true
+ "rgblight": true,
+ "oled": true
},
"rgblight": {
"led_count": 1,
diff --git a/keyboards/anavi/knobs3/rules.mk b/keyboards/anavi/knobs3/rules.mk
deleted file mode 100644
index dd68e9d3b09..00000000000
--- a/keyboards/anavi/knobs3/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-OLED_ENABLE = yes
diff --git a/keyboards/ano/config.h b/keyboards/ano/config.h
deleted file mode 100644
index fff04f05b3c..00000000000
--- a/keyboards/ano/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2022 Sebastien Sauve-Hoover (@sauvehoo)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
- #pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/ano/keyboard.json b/keyboards/ano/keyboard.json
index c522f816ce5..e676ce72707 100644
--- a/keyboards/ano/keyboard.json
+++ b/keyboards/ano/keyboard.json
@@ -28,7 +28,11 @@
]
},
"qmk": {
- "tap_keycode_delay": 10
+ "tap_keycode_delay": 10,
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
},
"processor": "STM32F303",
"bootloader": "stm32-dfu",
diff --git a/keyboards/anomalykb/a65i/config.h b/keyboards/anomalykb/a65i/config.h
deleted file mode 100644
index 947f85bbb2b..00000000000
--- a/keyboards/anomalykb/a65i/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright 2021 Lfgberg
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/anomalykb/a65i/keyboard.json b/keyboards/anomalykb/a65i/keyboard.json
index 98015fcd72b..8fadaadadb2 100644
--- a/keyboards/anomalykb/a65i/keyboard.json
+++ b/keyboards/anomalykb/a65i/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D7", "D6", "D4", "B4", "B6", "E6", "F1", "B7", "C6", "C7", "D5", "D3", "D2", "F0", "D1", "D0"],
"rows": ["B3", "B2", "B1", "B0", "B5"]
diff --git a/keyboards/aos/tkl/config.h b/keyboards/aos/tkl/config.h
deleted file mode 100644
index 66790ac3d39..00000000000
--- a/keyboards/aos/tkl/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2020 aholland909
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aos/tkl/keyboard.json b/keyboards/aos/tkl/keyboard.json
index 730a262366a..8cd47a44a54 100644
--- a/keyboards/aos/tkl/keyboard.json
+++ b/keyboards/aos/tkl/keyboard.json
@@ -37,6 +37,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"],
"rows": ["D3", "D2", "B7", "F1", "C7", "D5"]
diff --git a/keyboards/arabica37/rev1/info.json b/keyboards/arabica37/rev1/keyboard.json
similarity index 95%
rename from keyboards/arabica37/rev1/info.json
rename to keyboards/arabica37/rev1/keyboard.json
index 14d0c01cb9e..710a377ab9a 100644
--- a/keyboards/arabica37/rev1/info.json
+++ b/keyboards/arabica37/rev1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x3060",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": false,
+ "extrakey": false,
+ "rgblight": true
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"rgblight": {
diff --git a/keyboards/arabica37/rev1/rules.mk b/keyboards/arabica37/rev1/rules.mk
deleted file mode 100644
index 822a7cf01cb..00000000000
--- a/keyboards/arabica37/rev1/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/info.json b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
similarity index 98%
rename from keyboards/argo_works/ishi/80/mk0_avr_extra/info.json
rename to keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
index eeeb33f236f..89b9b1994f2 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/info.json
+++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
@@ -21,7 +21,9 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "encoder": true
+ "encoder": true,
+ "oled": true,
+ "wpm": true
},
"matrix_pins": {
"cols": ["D3", "F4", "F5", "F6", "F7", "D7", "C6", "D4", "D2"],
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk
deleted file mode 100644
index 76e55c05f48..00000000000
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
diff --git a/keyboards/arisu/config.h b/keyboards/arisu/config.h
deleted file mode 100644
index 3cf449a32bf..00000000000
--- a/keyboards/arisu/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 Fate
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/arisu/keyboard.json b/keyboards/arisu/keyboard.json
index af1cb819dc9..43bb668b990 100644
--- a/keyboards/arisu/keyboard.json
+++ b/keyboards/arisu/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "B0", "B7", "B5", "B4", "D7", "D6", "B3"],
"rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h
deleted file mode 100644
index 75e72d0e22a..00000000000
--- a/keyboards/ash1800/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2019 angelbirth
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/ash1800/keyboard.json b/keyboards/ash1800/keyboard.json
index 9e60de6b343..c2244a7ad70 100644
--- a/keyboards/ash1800/keyboard.json
+++ b/keyboards/ash1800/keyboard.json
@@ -21,6 +21,12 @@
"mousekey": false,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F4", "F5", "F6", "B0", "B2", "B1", "B3", "B7", "C7"],
"rows": ["C6", "B6", "B5", "B4", "D7", "D0", "D1", "D2", "D3", "D5", "D4", "D6"]
diff --git a/keyboards/ash_xiix/config.h b/keyboards/ash_xiix/config.h
deleted file mode 100644
index 08dd2458c88..00000000000
--- a/keyboards/ash_xiix/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 sh_xguitar
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json
index d1e32efec13..5cb21b488e9 100644
--- a/keyboards/ash_xiix/keyboard.json
+++ b/keyboards/ash_xiix/keyboard.json
@@ -22,6 +22,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F4", "F5", "F6", "B0", "B2", "B1", "B3", "B7", "C7"],
"rows": ["C6", "B6", "B5", "B4", "D7", "D0", "D1", "D2", "D3", "D5", "D4", "D6"]
diff --git a/keyboards/ask55/config.h b/keyboards/ask55/config.h
deleted file mode 100644
index f16fa8823e2..00000000000
--- a/keyboards/ask55/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2022 Yiancar / Keyboard-Magpie
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/ask55/keyboard.json b/keyboards/ask55/keyboard.json
index d47d79612d3..66efb1749ae 100644
--- a/keyboards/ask55/keyboard.json
+++ b/keyboards/ask55/keyboard.json
@@ -13,6 +13,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "D0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
"rows": ["B0", "B1", "D1", "F6", "F5"]
diff --git a/keyboards/at_at/660m/config.h b/keyboards/at_at/660m/config.h
index 70ad2757b92..ff79c3f7f89 100644
--- a/keyboards/at_at/660m/config.h
+++ b/keyboards/at_at/660m/config.h
@@ -23,12 +23,6 @@ along with this program. If not, see .
/* LSE clock */
#define STM32_LSECLK 32768
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/at_at/660m/info.json b/keyboards/at_at/660m/keyboard.json
similarity index 92%
rename from keyboards/at_at/660m/info.json
rename to keyboards/at_at/660m/keyboard.json
index 97f38080dc7..a9c5af73f85 100644
--- a/keyboards/at_at/660m/info.json
+++ b/keyboards/at_at/660m/keyboard.json
@@ -6,7 +6,22 @@
"usb": {
"vid": "0xA22A",
"pid": "0x6600",
- "device_version": "0.0.1"
+ "device_version": "0.0.1",
+ "no_startup_check": true
+ },
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "console": true,
+ "command": true,
+ "nkro": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
},
"matrix_pins": {
"cols": ["B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B9", "B8", "B7", "B6", "B5", "B3", "B4", "B0"],
diff --git a/keyboards/at_at/660m/rules.mk b/keyboards/at_at/660m/rules.mk
deleted file mode 100644
index e984f8dc96e..00000000000
--- a/keyboards/at_at/660m/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-# BACKLIGHT_ENABLE = yes
-# RGBLIGHT_ENABLE = yes
-NO_USB_STARTUP_CHECK = yes # Workaround for issue 6369
-
-
diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h
index 374119935e9..ab111a5ec5f 100644
--- a/keyboards/atlantis/ak81_ve/config.h
+++ b/keyboards/atlantis/ak81_ve/config.h
@@ -16,10 +16,4 @@
#pragma once
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define RGB_MATRIX_LED_COUNT 96
diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json
index 6b618646443..a2d064295c8 100644
--- a/keyboards/atlantis/ak81_ve/keyboard.json
+++ b/keyboards/atlantis/ak81_ve/keyboard.json
@@ -74,6 +74,12 @@
"nkro": true,
"rgb_matrix": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"],
"rows": ["F1", "F7", "F6", "F5", "F4", "D5"]
diff --git a/keyboards/atlantis/ps17/info.json b/keyboards/atlantis/ps17/keyboard.json
similarity index 98%
rename from keyboards/atlantis/ps17/info.json
rename to keyboards/atlantis/ps17/keyboard.json
index ac8f979d399..ee7255c8fa3 100644
--- a/keyboards/atlantis/ps17/info.json
+++ b/keyboards/atlantis/ps17/keyboard.json
@@ -11,6 +11,9 @@
"pid": "0x414B",
"vid": "0x0015"
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": false,
"command": false,
diff --git a/keyboards/atlantis/ps17/rules.mk b/keyboards/atlantis/ps17/rules.mk
deleted file mode 100644
index 4da205a168c..00000000000
--- a/keyboards/atlantis/ps17/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LTO_ENABLE = yes
diff --git a/keyboards/atlas_65/config.h b/keyboards/atlas_65/config.h
deleted file mode 100644
index d0851ac1fde..00000000000
--- a/keyboards/atlas_65/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2020 Joshua Nguyen
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atlas_65/keyboard.json b/keyboards/atlas_65/keyboard.json
index 896ecf6f20c..4e8db96d3af 100644
--- a/keyboards/atlas_65/keyboard.json
+++ b/keyboards/atlas_65/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "B0", "B7", "B5", "B4", "D7", "D6", "B3"],
"rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h
deleted file mode 100644
index b9449c4714b..00000000000
--- a/keyboards/atomic/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atomic/keyboard.json b/keyboards/atomic/keyboard.json
index cb4bddceae5..5a269316cfa 100644
--- a/keyboards/atomic/keyboard.json
+++ b/keyboards/atomic/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7", "D3", "D2", "D1"],
"rows": ["D0", "D5", "B5", "B6", "C6"]
diff --git a/keyboards/atreus/f103/info.json b/keyboards/atreus/f103/keyboard.json
similarity index 73%
rename from keyboards/atreus/f103/info.json
rename to keyboards/atreus/f103/keyboard.json
index 341ed4e8e64..813ef97e373 100644
--- a/keyboards/atreus/f103/info.json
+++ b/keyboards/atreus/f103/keyboard.json
@@ -5,5 +5,8 @@
},
"diode_direction": "COL2ROW",
"processor": "STM32F103",
- "bootloader": "stm32duino"
+ "bootloader": "stm32duino",
+ "features": {
+ "bootmagic": true
+ }
}
diff --git a/keyboards/atreus/f103/rules.mk b/keyboards/atreus/f103/rules.mk
deleted file mode 100644
index 22634018d2f..00000000000
--- a/keyboards/atreus/f103/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-
-BOOTMAGIC_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/atreus/feather/info.json b/keyboards/atreus/feather/info.json
index b0d7d554433..19e9654f127 100644
--- a/keyboards/atreus/feather/info.json
+++ b/keyboards/atreus/feather/info.json
@@ -6,6 +6,10 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "caterina",
+ "features": {
+ "bluetooth": true,
+ "console": false
+ },
"bluetooth": {
"driver": "bluefruit_le"
}
diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk
index c93cad90807..3437a35bdf1 100644
--- a/keyboards/atreus/feather/rules.mk
+++ b/keyboards/atreus/feather/rules.mk
@@ -1,8 +1,2 @@
# Processor frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BLUETOOTH_ENABLE = yes
-CONSOLE_ENABLE = no
diff --git a/keyboards/atreus62/config.h b/keyboards/atreus62/config.h
deleted file mode 100644
index 9b7700e0139..00000000000
--- a/keyboards/atreus62/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atreus62/keyboard.json b/keyboards/atreus62/keyboard.json
index 5263e799df3..c24c02e71e6 100644
--- a/keyboards/atreus62/keyboard.json
+++ b/keyboards/atreus62/keyboard.json
@@ -17,6 +17,12 @@
"nkro": false,
"unicode": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7", "C6"],
"rows": ["D2", "D3", "D1", "D0", "D4"]
diff --git a/keyboards/atreyu/info.json b/keyboards/atreyu/info.json
new file mode 100644
index 00000000000..26caa20330a
--- /dev/null
+++ b/keyboards/atreyu/info.json
@@ -0,0 +1,8 @@
+{
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ }
+}
diff --git a/keyboards/atreyu/rev1/config.h b/keyboards/atreyu/rev1/config.h
deleted file mode 100644
index d7c434426bc..00000000000
--- a/keyboards/atreyu/rev1/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2022 Jesus Climent (@climent)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atreyu/rev1/keyboard.json b/keyboards/atreyu/rev1/keyboard.json
index 8a38baabf81..dc632a74a7b 100644
--- a/keyboards/atreyu/rev1/keyboard.json
+++ b/keyboards/atreyu/rev1/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["C6", "D4", "D0", "D1", "D2", "D3"],
"rows": ["D7", "E6", "B4", "B5", "F6", "F7", "B1", "B3", "B6", "B2"]
diff --git a/keyboards/atreyu/rev2/config.h b/keyboards/atreyu/rev2/config.h
deleted file mode 100644
index d7c434426bc..00000000000
--- a/keyboards/atreyu/rev2/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2022 Jesus Climent (@climent)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atreyu/rev2/keyboard.json b/keyboards/atreyu/rev2/keyboard.json
index 6fcfd64d1ff..19dc8761c49 100644
--- a/keyboards/atreyu/rev2/keyboard.json
+++ b/keyboards/atreyu/rev2/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x0001",
"device_version": "0.0.2"
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F5", "C6", "D4", "D2", "D3"],
"rows": ["D7", "E6", "B4", "B5", "F6", "F7", "B1", "B3", "B6", "B2"]
diff --git a/keyboards/atreyu/rules.mk b/keyboards/atreyu/rules.mk
index 23ebd8ba330..4daffe6b9d4 100644
--- a/keyboards/atreyu/rules.mk
+++ b/keyboards/atreyu/rules.mk
@@ -1,16 +1 @@
DEFAULT_FOLDER = atreyu/rev1
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-ENCODER_ENABLE = no
diff --git a/keyboards/atset/at1/config.h b/keyboards/atset/at1/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at1/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at1/keyboard.json b/keyboards/atset/at1/keyboard.json
index e8fa5f8b5fe..4c4806c40bb 100644
--- a/keyboards/atset/at1/keyboard.json
+++ b/keyboards/atset/at1/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6"],
"rows": ["D2"]
diff --git a/keyboards/atset/at12/config.h b/keyboards/atset/at12/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at12/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at12/keyboard.json b/keyboards/atset/at12/keyboard.json
index c15ff3f46ea..8c7a3d4ea90 100644
--- a/keyboards/atset/at12/keyboard.json
+++ b/keyboards/atset/at12/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B5", "B4"],
"rows": ["D3", "D2", "D1", "D0"]
diff --git a/keyboards/atset/at16/config.h b/keyboards/atset/at16/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at16/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at16/keyboard.json b/keyboards/atset/at16/keyboard.json
index 0db5ad692c7..2c03c2295f7 100644
--- a/keyboards/atset/at16/keyboard.json
+++ b/keyboards/atset/at16/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B5", "B4", "B2"],
"rows": ["D3", "D2", "D1", "D0"]
diff --git a/keyboards/atset/at3/config.h b/keyboards/atset/at3/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at3/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at3/keyboard.json b/keyboards/atset/at3/keyboard.json
index 171faf984a0..e6d1d97bf0a 100644
--- a/keyboards/atset/at3/keyboard.json
+++ b/keyboards/atset/at3/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B5", "B4"],
"rows": ["D2"]
diff --git a/keyboards/atset/at6/config.h b/keyboards/atset/at6/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at6/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at6/keyboard.json b/keyboards/atset/at6/keyboard.json
index c24611f8b74..8cf2d9e9e01 100644
--- a/keyboards/atset/at6/keyboard.json
+++ b/keyboards/atset/at6/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B5", "B4"],
"rows": ["D2", "D1"]
diff --git a/keyboards/atset/at9/config.h b/keyboards/atset/at9/config.h
deleted file mode 100644
index dc6abdcaf25..00000000000
--- a/keyboards/atset/at9/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/atset/at9/keyboard.json b/keyboards/atset/at9/keyboard.json
index 35bdf95550e..c531397f3aa 100644
--- a/keyboards/atset/at9/keyboard.json
+++ b/keyboards/atset/at9/keyboard.json
@@ -15,6 +15,12 @@
"mousekey": true,
"nkro": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B6", "B5", "B4"],
"rows": ["D2", "D1", "D0"]
diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h
deleted file mode 100644
index 50001e978cc..00000000000
--- a/keyboards/atxkb/1894/config.h
+++ /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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/atxkb/1894/keyboard.json b/keyboards/atxkb/1894/keyboard.json
index 0ea4918bf38..5abaf88eb0b 100644
--- a/keyboards/atxkb/1894/keyboard.json
+++ b/keyboards/atxkb/1894/keyboard.json
@@ -21,6 +21,12 @@
"nkro": true,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["F4", "F7", "F5", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3"],
"rows": ["B1", "B2", "B3", "F0", "F1"]
diff --git a/keyboards/aurora65/info.json b/keyboards/aurora65/info.json
index 9311e0f8086..1c0dd684cb2 100644
--- a/keyboards/aurora65/info.json
+++ b/keyboards/aurora65/info.json
@@ -8,6 +8,13 @@
"pid": "0x4136",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/aurora65/rules.mk b/keyboards/aurora65/rules.mk
index cc9d7bb3f53..0ab54aaaf71 100644
--- a/keyboards/aurora65/rules.mk
+++ b/keyboards/aurora65/rules.mk
@@ -1,15 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/avalanche/v1/info.json b/keyboards/avalanche/v1/keyboard.json
similarity index 96%
rename from keyboards/avalanche/v1/info.json
rename to keyboards/avalanche/v1/keyboard.json
index 7787ae2a953..97acaf0d9f9 100644
--- a/keyboards/avalanche/v1/info.json
+++ b/keyboards/avalanche/v1/keyboard.json
@@ -8,12 +8,19 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"diode_direction": "COL2ROW",
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"processor": "atmega32u4",
diff --git a/keyboards/avalanche/v1/rules.mk b/keyboards/avalanche/v1/rules.mk
deleted file mode 100644
index ef90e04bc1d..00000000000
--- a/keyboards/avalanche/v1/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/avalanche/v2/info.json b/keyboards/avalanche/v2/keyboard.json
similarity index 96%
rename from keyboards/avalanche/v2/info.json
rename to keyboards/avalanche/v2/keyboard.json
index 62c284a8454..219e5bb6c6e 100644
--- a/keyboards/avalanche/v2/info.json
+++ b/keyboards/avalanche/v2/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x0002",
"device_version": "0.0.2"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true,
+ "encoder": true
+ },
"matrix_pins": {
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
@@ -26,6 +34,7 @@
"pin": "D3"
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"processor": "atmega32u4",
diff --git a/keyboards/avalanche/v2/rules.mk b/keyboards/avalanche/v2/rules.mk
deleted file mode 100644
index 8e241b2dfd6..00000000000
--- a/keyboards/avalanche/v2/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/avalanche/v3/info.json b/keyboards/avalanche/v3/keyboard.json
similarity index 96%
rename from keyboards/avalanche/v3/info.json
rename to keyboards/avalanche/v3/keyboard.json
index 8cf8187df7f..6104dbd7939 100644
--- a/keyboards/avalanche/v3/info.json
+++ b/keyboards/avalanche/v3/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x0003",
"device_version": "0.0.3"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "encoder": true
+ },
"matrix_pins": {
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
@@ -19,6 +26,7 @@
]
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"rgblight": {
diff --git a/keyboards/avalanche/v3/rules.mk b/keyboards/avalanche/v3/rules.mk
deleted file mode 100644
index 5a35722be4e..00000000000
--- a/keyboards/avalanche/v3/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/avalanche/v4/info.json b/keyboards/avalanche/v4/keyboard.json
similarity index 96%
rename from keyboards/avalanche/v4/info.json
rename to keyboards/avalanche/v4/keyboard.json
index 7bb047466b5..2a4909ba368 100644
--- a/keyboards/avalanche/v4/info.json
+++ b/keyboards/avalanche/v4/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x0004",
"device_version": "0.0.4"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "encoder": true,
+ "oled": true
+ },
"matrix_pins": {
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
@@ -19,6 +27,7 @@
]
},
"split": {
+ "enabled": true,
"soft_serial_pin": "D2"
},
"ws2812": {
diff --git a/keyboards/avalanche/v4/rules.mk b/keyboards/avalanche/v4/rules.mk
deleted file mode 100644
index 513c25d04d9..00000000000
--- a/keyboards/avalanche/v4/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
-OLED_ENABLE = yes
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/aves60/config.h b/keyboards/aves60/config.h
deleted file mode 100644
index 35ca2e0fc3c..00000000000
--- a/keyboards/aves60/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2021 Evelien Dekkers (@evyd13)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * 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/aves60/keyboard.json b/keyboards/aves60/keyboard.json
index fce12cd9f73..6d58d43b6a5 100644
--- a/keyboards/aves60/keyboard.json
+++ b/keyboards/aves60/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["B2", "B3", "D0", "D1", "D2", "D3", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["F6", "F7", "F5", "F1", "F4"]
diff --git a/keyboards/aves65/config.h b/keyboards/aves65/config.h
deleted file mode 100644
index 95af0f8e733..00000000000
--- a/keyboards/aves65/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2019 I/O 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 .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aves65/keyboard.json b/keyboards/aves65/keyboard.json
index fba7dcaf387..3ad686f83a1 100644
--- a/keyboards/aves65/keyboard.json
+++ b/keyboards/aves65/keyboard.json
@@ -17,6 +17,12 @@
"nkro": false,
"rgblight": true
},
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["D0", "D1", "D2", "D3", "D5", "B5", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6"],
"rows": ["D4", "D6", "D7", "B4", "E6"]
diff --git a/keyboards/axolstudio/helpo/info.json b/keyboards/axolstudio/helpo/info.json
index 14a3c8213e3..c90c967788e 100644
--- a/keyboards/axolstudio/helpo/info.json
+++ b/keyboards/axolstudio/helpo/info.json
@@ -8,6 +8,11 @@
"pid": "0xC89F",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true
+ },
"matrix_pins": {
"cols": ["A1", "B4", "B3", "B2", "B1"],
"rows": ["A2", "A3", "A4", "A5"]
diff --git a/keyboards/axolstudio/helpo/rules.mk b/keyboards/axolstudio/helpo/rules.mk
index 1e9f9255447..c2ee0bc86f9 100644
--- a/keyboards/axolstudio/helpo/rules.mk
+++ b/keyboards/axolstudio/helpo/rules.mk
@@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 16000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/aya/info.json b/keyboards/aya/keyboard.json
similarity index 96%
rename from keyboards/aya/info.json
rename to keyboards/aya/keyboard.json
index 6b65aa5521a..547f495ddd2 100644
--- a/keyboards/aya/info.json
+++ b/keyboards/aya/keyboard.json
@@ -8,6 +8,15 @@
"pid": "0x2925",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "mousekey": true,
+ "extrakey": true,
+ "command": true
+ },
+ "split": {
+ "enabled": true
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
diff --git a/keyboards/aya/rules.mk b/keyboards/aya/rules.mk
deleted file mode 100644
index b893863bb52..00000000000
--- a/keyboards/aya/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-SPLIT_KEYBOARD = yes
From 03a3a2673d6deff5a55c14033cc8b505d22a553b Mon Sep 17 00:00:00 2001
From: zlabkeeb <160311066+zlabkeeb@users.noreply.github.com>
Date: Wed, 3 Apr 2024 02:58:31 +0700
Subject: [PATCH 22/64] Update 15PAD & 6PAD (#23397)
---
keyboards/zlabkeeb/15pad/keyboard.json | 24 ++++++++++++------------
keyboards/zlabkeeb/6pad/readme.md | 3 ++-
2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/keyboards/zlabkeeb/15pad/keyboard.json b/keyboards/zlabkeeb/15pad/keyboard.json
index 9733d0169a8..6e28d594f20 100644
--- a/keyboards/zlabkeeb/15pad/keyboard.json
+++ b/keyboards/zlabkeeb/15pad/keyboard.json
@@ -59,18 +59,18 @@
{"x": 0, "y": 0, "matrix": [0, 0], "encoder": 0},
{"x": 1, "y": 0, "matrix": [0, 1], "encoder": 1},
{"x": 3, "y": 0, "matrix": [0, 3], "encoder": 2},
- {"x": 0, "y": 0, "matrix": [1, 0]},
- {"x": 1, "y": 0, "matrix": [1, 1]},
- {"x": 2, "y": 0, "matrix": [1, 2]},
- {"x": 3, "y": 0, "matrix": [1, 3]},
- {"x": 0, "y": 0, "matrix": [2, 0]},
- {"x": 1, "y": 0, "matrix": [2, 1]},
- {"x": 2, "y": 0, "matrix": [2, 2]},
- {"x": 3, "y": 0, "matrix": [2, 3]},
- {"x": 0, "y": 0, "matrix": [3, 0]},
- {"x": 1, "y": 0, "matrix": [3, 1]},
- {"x": 2, "y": 0, "matrix": [3, 2]},
- {"x": 3, "y": 0, "matrix": [3, 3]}
+ {"x": 0, "y": 1, "matrix": [1, 0]},
+ {"x": 1, "y": 1, "matrix": [1, 1]},
+ {"x": 2, "y": 1, "matrix": [1, 2]},
+ {"x": 3, "y": 1, "matrix": [1, 3]},
+ {"x": 0, "y": 2, "matrix": [2, 0]},
+ {"x": 1, "y": 2, "matrix": [2, 1]},
+ {"x": 2, "y": 2, "matrix": [2, 2]},
+ {"x": 3, "y": 2, "matrix": [2, 3]},
+ {"x": 0, "y": 3, "matrix": [3, 0]},
+ {"x": 1, "y": 3, "matrix": [3, 1]},
+ {"x": 2, "y": 3, "matrix": [3, 2]},
+ {"x": 3, "y": 3, "matrix": [3, 3]}
]
}
}
diff --git a/keyboards/zlabkeeb/6pad/readme.md b/keyboards/zlabkeeb/6pad/readme.md
index 9470ee1d6d9..4575f69088f 100644
--- a/keyboards/zlabkeeb/6pad/readme.md
+++ b/keyboards/zlabkeeb/6pad/readme.md
@@ -7,7 +7,7 @@
- Support RGB light UnderGlow
- Keyboard Maintainer: [zlabkeeb](https://github.com/zlabkeeb)
- Hardware Supported: 6Pad PCB, Promicro
-- Hardware Availability: (INDONESIA Only) Will be available at [Tokopedia](https://www.tokopedia.com/zahranetid)
+- Hardware Availability: (INDONESIA ONLY) [Tokopedia](https://www.tokopedia.com/zahranetid/macropad-6pad-via-compatible-by-zlabkeeb)
Make example for this keyboard (after setting up your build environment):
@@ -24,3 +24,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 1 way:
- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+
From 73daecdc2373b787cafdfca930ecb65d9de285f7 Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Wed, 3 Apr 2024 00:36:30 +0100
Subject: [PATCH 23/64] Fix spaceholdings/nebula68b (#23399)
---
.../spaceholdings/nebula68b/hs/keyboard.json | 86 +++++++++++++++++++
.../nebula68b/hs/keymaps/via/keymap.c | 32 +++++++
.../nebula68b/{ => hs}/keymaps/via/rules.mk | 0
keyboards/spaceholdings/nebula68b/hs/rules.mk | 0
keyboards/spaceholdings/nebula68b/info.json | 82 ++++++++++++++++++
.../nebula68b/keymaps/default/keymap.c | 24 +++---
.../nebula68b/keymaps/default/readme.md | 7 --
.../nebula68b/keymaps/via/keymap.c | 46 ----------
.../nebula68b/keymaps/via/readme.md | 7 --
keyboards/spaceholdings/nebula68b/readme.md | 4 +-
keyboards/spaceholdings/nebula68b/rules.mk | 1 +
.../nebula68b/{ => solder}/keyboard.json | 82 +-----------------
.../solder/keymaps/default_split_bs/keymap.c | 32 +++++++
.../nebula68b/solder/keymaps/via/keymap.c | 32 +++++++
.../nebula68b/solder/keymaps/via/rules.mk | 1 +
.../{nebula68b.c => solder/solder.c} | 2 -
16 files changed, 282 insertions(+), 156 deletions(-)
create mode 100755 keyboards/spaceholdings/nebula68b/hs/keyboard.json
create mode 100755 keyboards/spaceholdings/nebula68b/hs/keymaps/via/keymap.c
rename keyboards/spaceholdings/nebula68b/{ => hs}/keymaps/via/rules.mk (100%)
delete mode 100644 keyboards/spaceholdings/nebula68b/hs/rules.mk
create mode 100644 keyboards/spaceholdings/nebula68b/info.json
mode change 100755 => 100644 keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c
delete mode 100755 keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
delete mode 100755 keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c
delete mode 100755 keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
create mode 100644 keyboards/spaceholdings/nebula68b/rules.mk
rename keyboards/spaceholdings/nebula68b/{ => solder}/keyboard.json (76%)
create mode 100755 keyboards/spaceholdings/nebula68b/solder/keymaps/default_split_bs/keymap.c
create mode 100755 keyboards/spaceholdings/nebula68b/solder/keymaps/via/keymap.c
create mode 100755 keyboards/spaceholdings/nebula68b/solder/keymaps/via/rules.mk
rename keyboards/spaceholdings/nebula68b/{nebula68b.c => solder/solder.c} (97%)
diff --git a/keyboards/spaceholdings/nebula68b/hs/keyboard.json b/keyboards/spaceholdings/nebula68b/hs/keyboard.json
new file mode 100755
index 00000000000..ca41cff8e64
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/hs/keyboard.json
@@ -0,0 +1,86 @@
+{
+ "keyboard_name": "NEBULA68B HOTSWAP",
+ "community_layouts": ["68_ansi"],
+ "layouts": {
+ "LAYOUT_68_ansi": {
+ "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": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "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.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1},
+ {"matrix": [3, 14], "x": 16.25, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+
+ {"matrix": [3, 13], "x": 15.25, "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": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+ {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
+ {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
+
+ {"matrix": [4, 12], "x": 14.25, "y": 4},
+ {"matrix": [4, 13], "x": 15.25, "y": 4},
+ {"matrix": [4, 14], "x": 16.25, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/spaceholdings/nebula68b/hs/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68b/hs/keymaps/via/keymap.c
new file mode 100755
index 00000000000..c42ca071f3f
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/hs/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2021 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 .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_68_ansi( /* Base */
+ QK_GESC, 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_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_PGDN,
+ KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_68_ansi( /* FN */
+ KC_GRV, 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_DEL, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula68b/hs/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/spaceholdings/nebula68b/keymaps/via/rules.mk
rename to keyboards/spaceholdings/nebula68b/hs/keymaps/via/rules.mk
diff --git a/keyboards/spaceholdings/nebula68b/hs/rules.mk b/keyboards/spaceholdings/nebula68b/hs/rules.mk
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json
new file mode 100644
index 00000000000..3a7f6f9b25d
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/info.json
@@ -0,0 +1,82 @@
+{
+ "manufacturer": "Yiancar-Designs",
+ "url": "",
+ "maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x5338",
+ "device_version": "0.0.1"
+ },
+ "ws2812": {
+ "pin": "B7"
+ },
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 130,
+ "sleep": true
+ },
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
+ "rows": ["D4", "D6", "D7", "B4", "E6"]
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu"
+}
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c b/keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c
old mode 100755
new mode 100644
index 08c433bdb1a..c42ca071f3f
--- a/keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c
+++ b/keyboards/spaceholdings/nebula68b/keymaps/default/keymap.c
@@ -16,17 +16,17 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_68_ansi_split_bs( /* Base */
- QK_GESC, 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_DEL, KC_BSPC, KC_INS, 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_PGDN,
- KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+[0] = LAYOUT_68_ansi( /* Base */
+ QK_GESC, 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_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_PGDN,
+ KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-[1] = LAYOUT_68_ansi_split_bs( /* FN */
- KC_GRV, 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_TRNS, KC_DEL, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+[1] = LAYOUT_68_ansi( /* FN */
+ KC_GRV, 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_DEL, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______)
};
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
deleted file mode 100755
index a4a6c7facf7..00000000000
--- a/keyboards/spaceholdings/nebula68b/keymaps/default/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The default keymap for Nebula68B. VIA support disabled.
-
-
-
-
-
-Default layer is normal ANSI 68%
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c
deleted file mode 100755
index 87727200f43..00000000000
--- a/keyboards/spaceholdings/nebula68b/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2021 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 .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_68_ansi_split_bs( /* Base */
- QK_GESC, 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_DEL, KC_BSPC, KC_INS, 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_PGDN,
- KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_68_ansi_split_bs( /* FN */
- KC_GRV, 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_TRNS, KC_DEL, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_68_ansi_split_bs( /* Empty for dynamic keymaps */
- 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),
-
-[3] = LAYOUT_68_ansi_split_bs( /* Empty for dynamic keymaps */
- 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)
-};
diff --git a/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md b/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
deleted file mode 100755
index 583ddc02cf8..00000000000
--- a/keyboards/spaceholdings/nebula68b/keymaps/via/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The default keymap for Nebula68B. VIA support enabled.
-
-
-
-
-
-Default layer is normal ANSI 68%
diff --git a/keyboards/spaceholdings/nebula68b/readme.md b/keyboards/spaceholdings/nebula68b/readme.md
index 4c238e2ea0a..6ff3bc2b913 100755
--- a/keyboards/spaceholdings/nebula68b/readme.md
+++ b/keyboards/spaceholdings/nebula68b/readme.md
@@ -12,7 +12,9 @@ This is a standard fixed layout 68% PCB. It supports VIA, full per-key RGB and u
Make example for this keyboard (after setting up your build environment):
- make spaceholdings/nebula68b:via
+ make spaceholdings/nebula68b/hs:via
+ make spaceholdings/nebula68b/solder:via
+
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/spaceholdings/nebula68b/rules.mk b/keyboards/spaceholdings/nebula68b/rules.mk
new file mode 100644
index 00000000000..8fe37f83b32
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = spaceholdings/nebula68b/solder
diff --git a/keyboards/spaceholdings/nebula68b/keyboard.json b/keyboards/spaceholdings/nebula68b/solder/keyboard.json
similarity index 76%
rename from keyboards/spaceholdings/nebula68b/keyboard.json
rename to keyboards/spaceholdings/nebula68b/solder/keyboard.json
index 3be1f806391..3a50385fe33 100755
--- a/keyboards/spaceholdings/nebula68b/keyboard.json
+++ b/keyboards/spaceholdings/nebula68b/solder/keyboard.json
@@ -1,85 +1,5 @@
{
- "keyboard_name": "NEBULA68B",
- "manufacturer": "Yiancar-Designs",
- "url": "",
- "maintainer": "yiancar",
- "usb": {
- "vid": "0x8968",
- "pid": "0x5338",
- "device_version": "0.0.1"
- },
- "ws2812": {
- "pin": "B7"
- },
- "rgb_matrix": {
- "animations": {
- "alphas_mods": true,
- "gradient_up_down": true,
- "gradient_left_right": true,
- "breathing": true,
- "band_sat": true,
- "band_val": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_up_down": true,
- "rainbow_moving_chevron": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "dual_beacon": true,
- "rainbow_beacon": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "jellybean_raindrops": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "pixel_rain": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "typing_heatmap": true,
- "digital_rain": true,
- "solid_reactive_simple": true,
- "solid_reactive": true,
- "solid_reactive_wide": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_nexus": true,
- "solid_reactive_multinexus": true,
- "splash": true,
- "multisplash": true,
- "solid_splash": true,
- "solid_multisplash": true
- },
- "driver": "ws2812",
- "max_brightness": 130,
- "sleep": true
- },
- "build": {
- "lto": true
- },
- "features": {
- "bootmagic": true,
- "command": false,
- "console": false,
- "extrakey": true,
- "mousekey": true,
- "nkro": true,
- "rgb_matrix": true
- },
- "matrix_pins": {
- "cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
- "rows": ["D4", "D6", "D7", "B4", "E6"]
- },
- "diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
+ "keyboard_name": "NEBULA68B SOLDER",
"community_layouts": ["68_ansi"],
"layouts": {
"LAYOUT_68_ansi": {
diff --git a/keyboards/spaceholdings/nebula68b/solder/keymaps/default_split_bs/keymap.c b/keyboards/spaceholdings/nebula68b/solder/keymaps/default_split_bs/keymap.c
new file mode 100755
index 00000000000..68fe5d22fd4
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/solder/keymaps/default_split_bs/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2021 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 .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_68_ansi_split_bs( /* Base */
+ QK_GESC, 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_DEL, KC_BSPC, KC_INS, 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_PGDN,
+ KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_68_ansi_split_bs( /* FN */
+ KC_GRV, 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_DEL, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/spaceholdings/nebula68b/solder/keymaps/via/keymap.c b/keyboards/spaceholdings/nebula68b/solder/keymaps/via/keymap.c
new file mode 100755
index 00000000000..68fe5d22fd4
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/solder/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2021 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 .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_68_ansi_split_bs( /* Base */
+ QK_GESC, 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_DEL, KC_BSPC, KC_INS, 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_PGDN,
+ KC_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_68_ansi_split_bs( /* FN */
+ KC_GRV, 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_DEL, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/spaceholdings/nebula68b/solder/keymaps/via/rules.mk b/keyboards/spaceholdings/nebula68b/solder/keymaps/via/rules.mk
new file mode 100755
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/spaceholdings/nebula68b/solder/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/spaceholdings/nebula68b/nebula68b.c b/keyboards/spaceholdings/nebula68b/solder/solder.c
similarity index 97%
rename from keyboards/spaceholdings/nebula68b/nebula68b.c
rename to keyboards/spaceholdings/nebula68b/solder/solder.c
index b99777ff5be..352cee1d52b 100755
--- a/keyboards/spaceholdings/nebula68b/nebula68b.c
+++ b/keyboards/spaceholdings/nebula68b/solder/solder.c
@@ -16,7 +16,6 @@
#include "quantum.h"
-#ifndef KEYBOARD_spaceholdings_nebula68b_hs
#ifdef RGB_MATRIX_ENABLE
// clang-format off
led_config_t g_led_config = { {
@@ -40,4 +39,3 @@ led_config_t g_led_config = { {
} };
// clang-format on
#endif
-#endif
From 408f6e43cd2522b6a4073bedcfbe2ee7df2603dd Mon Sep 17 00:00:00 2001
From: DOIO2022 <116554792+DOIO2022@users.noreply.github.com>
Date: Wed, 3 Apr 2024 07:36:49 +0800
Subject: [PATCH 24/64] Change the VID and PID of the file kb38 info.json
(#23393)
---
keyboards/doio/kb38/info.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json
index a89c5951e39..a1775a2b107 100644
--- a/keyboards/doio/kb38/info.json
+++ b/keyboards/doio/kb38/info.json
@@ -21,8 +21,8 @@
"processor": "atmega32u4",
"usb": {
"device_version": "1.0.0",
- "pid": "0x0000",
- "vid": "0xFEED"
+ "pid": "0x3801",
+ "vid": "0xD010"
},
"encoder": {
"rotary": [
From c635733a7fd48c6692d818ac8621571cbc5f470a Mon Sep 17 00:00:00 2001
From: Ryan
Date: Wed, 3 Apr 2024 10:44:25 +1100
Subject: [PATCH 25/64] Remove `quantum.h` includes from keyboard code (#23394)
---
keyboards/25keys/cassette42/common/oled_helper.c | 4 +++-
.../keymaps/default_pimoroni/pimoroni_trackball.c | 4 ++++
.../keymaps/default_pimoroni/pimoroni_trackball.h | 4 +++-
keyboards/annepro2/annepro2_ble.h | 1 -
.../lib/satisfaction75/satisfaction_core.c | 3 +++
.../lib/satisfaction75/satisfaction_core.h | 3 ++-
.../lib/satisfaction75/satisfaction_encoder.c | 1 +
.../lib/satisfaction75/satisfaction_oled.c | 8 ++++++++
keyboards/clueboard/2x1800/2021/max7219.c | 4 ++++
keyboards/clueboard/2x1800/2021/max7219.h | 6 ++++--
keyboards/converter/usb_usb/custom_matrix.cpp | 4 ----
keyboards/converter/xt_usb/xt.h | 3 ++-
keyboards/duck/duck_led/duck_led.c | 3 +--
keyboards/duck/jetfire/indicator_leds.c | 5 +----
keyboards/duck/jetfire/indicator_leds.h | 2 ++
keyboards/fallacy/indicators.h | 3 +--
keyboards/handwired/d48/taphold.c | 3 +++
keyboards/handwired/d48/taphold.h | 4 +++-
.../dactyl_minidox/{3x5_3.c => dactyl_minidox.c} | 0
keyboards/handwired/dygma/raise/leds.c | 6 +++---
keyboards/handwired/dygma/raise/leds.h | 3 +--
keyboards/handwired/lagrange/transport.c | 4 +---
.../handwired/promethium/keymaps/default/keymap.c | 1 -
keyboards/horrortroll/nyx/rev1/{nyx.c => rev1.c} | 0
keyboards/hotdox/left.c | 1 +
keyboards/hotdox/left.h | 4 ----
keyboards/idobao/id61/keymaps/idobao/specialk.c | 3 +++
keyboards/idobao/id61/keymaps/idobao/specialk.h | 3 +--
keyboards/input_club/k_type/i2c_master.c | 5 +++--
keyboards/kagizaraya/chidori/board.c | 1 -
keyboards/keyboardio/model01/leds.c | 3 ++-
keyboards/keyboardio/model01/leds.h | 3 +--
keyboards/matrix/m20add/rgb_ring.c | 4 ++++
keyboards/miiiw/common/shift_register.c | 2 +-
keyboards/miiiw/common/shift_register.h | 1 +
keyboards/mntre_v3/{mntre.c => mntre_v3.c} | 0
keyboards/molecule/adns.c | 2 +-
keyboards/molecule/adns.h | 2 ++
keyboards/nullbitsco/common/bitc_led.h | 3 ++-
keyboards/nullbitsco/common/remote_kb.c | 3 +++
keyboards/nullbitsco/common/remote_kb.h | 3 ++-
keyboards/nullbitsco/nibble/big_led.h | 3 ++-
.../nibble/keymaps/oled_status/oled_display.c | 9 ++++++++-
.../nibble/keymaps/oled_status/oled_display.h | 2 ++
keyboards/rocketboard_16/keycode_lookup.c | 5 ++++-
keyboards/rocketboard_16/keycode_lookup.h | 2 +-
keyboards/sirius/unigo66/custom_matrix.cpp | 4 ----
keyboards/stront/keymaps/hid/hid_display.h | 3 ++-
keyboards/wilba_tech/via_test.c | 1 -
keyboards/wilba_tech/wt_mono_backlight.c | 5 ++---
keyboards/wilba_tech/wt_mono_backlight.h | 1 +
keyboards/wilba_tech/wt_rgb_backlight.c | 14 +++++---------
keyboards/wilba_tech/wt_rgb_backlight.h | 1 +
keyboards/wilba_tech/wt_rgb_backlight_keycodes.h | 2 ++
keyboards/work_louder/rgb_functions.c | 5 +++++
keyboards/work_louder/rgb_functions.h | 2 +-
keyboards/yushakobo/navpad/navpad_prefs.c | 5 +++++
keyboards/yushakobo/navpad/navpad_prefs.h | 2 +-
keyboards/yushakobo/quick17/quick17_prefs.h | 4 +++-
keyboards/yushakobo/quick17/rgb_matrix_kb.inc | 1 +
60 files changed, 123 insertions(+), 70 deletions(-)
rename keyboards/handwired/dactyl_minidox/{3x5_3.c => dactyl_minidox.c} (100%)
rename keyboards/horrortroll/nyx/rev1/{nyx.c => rev1.c} (100%)
rename keyboards/mntre_v3/{mntre.c => mntre_v3.c} (100%)
diff --git a/keyboards/25keys/cassette42/common/oled_helper.c b/keyboards/25keys/cassette42/common/oled_helper.c
index 1c4148a7d9f..83832a99474 100644
--- a/keyboards/25keys/cassette42/common/oled_helper.c
+++ b/keyboards/25keys/cassette42/common/oled_helper.c
@@ -1,5 +1,7 @@
#include "oled_helper.h"
-#include "quantum.h"
+#include "progmem.h"
+#include "rgblight.h"
+#include "oled_driver.h"
#include
#include
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
index 0db58bfabd6..c32f2a04d21 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c
@@ -14,8 +14,12 @@
* along with this program. If not, see .
*/
+#include QMK_KEYBOARD_H
#include "pimoroni_trackball.h"
#include "i2c_master.h"
+#include "action.h"
+#include "timer.h"
+#include "print.h"
static uint8_t scrolling = 0;
static int16_t x_offset = 0;
diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
index ca2559bec74..d85d4e60a9c 100644
--- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
+++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h
@@ -16,8 +16,10 @@
#pragma once
-#include "quantum.h"
+#include
+#include
#include "pointing_device.h"
+#include "report.h"
#ifndef TRACKBALL_ADDRESS
# define TRACKBALL_ADDRESS (0x0A << 1)
diff --git a/keyboards/annepro2/annepro2_ble.h b/keyboards/annepro2/annepro2_ble.h
index 0cfb68e0716..37dd6d31a1c 100644
--- a/keyboards/annepro2/annepro2_ble.h
+++ b/keyboards/annepro2/annepro2_ble.h
@@ -17,7 +17,6 @@
#pragma once
#include "annepro2.h"
-#include "quantum.h"
void annepro2_ble_bootload(void);
void annepro2_ble_startup(void);
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
index e148ae468a6..6f76582e4b2 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
@@ -4,6 +4,9 @@
#include "satisfaction_core.h"
#include "print.h"
#include "debug.h"
+#include "matrix.h"
+#include "quantum.h"
+#include "encoder.h"
#include
#include
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
index 9c466421952..70ee2a3fdaf 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
@@ -3,7 +3,8 @@
#pragma once
-#include "quantum.h"
+#include
+#include
#include "via.h" // only for EEPROM address
#include "satisfaction_keycodes.h"
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index 7122091ea3c..074fe262b3b 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "satisfaction_core.h"
+#include "backlight.h"
#include "eeprom.h"
void pre_encoder_mode_change(void){
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
index 18ae368e535..0361453c52b 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
@@ -2,6 +2,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "satisfaction_core.h"
+#include "action_layer.h"
+#include "action_util.h"
+#include "timer.h"
+#include "matrix.h"
+#include "led.h"
+#include "host.h"
+#include "oled_driver.h"
+#include "progmem.h"
#include
void draw_default(void);
diff --git a/keyboards/clueboard/2x1800/2021/max7219.c b/keyboards/clueboard/2x1800/2021/max7219.c
index 1ba22362fe4..81d26b9a518 100644
--- a/keyboards/clueboard/2x1800/2021/max7219.c
+++ b/keyboards/clueboard/2x1800/2021/max7219.c
@@ -40,6 +40,10 @@
*/
#include "max7219.h"
+#include "spi_master.h"
+#include "debug.h"
+#include "gpio.h"
+#include "wait.h"
#include "font.h"
// Datastructures
diff --git a/keyboards/clueboard/2x1800/2021/max7219.h b/keyboards/clueboard/2x1800/2021/max7219.h
index 95d1d9389d1..6d78345d5d9 100644
--- a/keyboards/clueboard/2x1800/2021/max7219.h
+++ b/keyboards/clueboard/2x1800/2021/max7219.h
@@ -26,8 +26,10 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
#pragma once
-#include "quantum.h"
-#include "spi_master.h"
+
+#include
+#include
+#include
// Set defaults if they're not set
#ifndef MAX7219_LOAD
diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp
index f5f751da14f..ca0855a82b9 100644
--- a/keyboards/converter/usb_usb/custom_matrix.cpp
+++ b/keyboards/converter/usb_usb/custom_matrix.cpp
@@ -35,10 +35,6 @@ along with this program. If not, see .
#include "host.h"
#include "keyboard.h"
-extern "C" {
-#include "quantum.h"
-}
-
/* KEY CODE to Matrix
*
* HID keycode(1 byte):
diff --git a/keyboards/converter/xt_usb/xt.h b/keyboards/converter/xt_usb/xt.h
index 538ff0e459f..e9c1c7751d8 100644
--- a/keyboards/converter/xt_usb/xt.h
+++ b/keyboards/converter/xt_usb/xt.h
@@ -38,7 +38,8 @@ POSSIBILITY OF SUCH DAMAGE.
#pragma once
-#include "quantum.h"
+#include
+#include "gpio.h"
#define XT_DATA_IN() \
do { \
diff --git a/keyboards/duck/duck_led/duck_led.c b/keyboards/duck/duck_led/duck_led.c
index 2fa920e4b61..ce9bd0fde10 100644
--- a/keyboards/duck/duck_led/duck_led.c
+++ b/keyboards/duck/duck_led/duck_led.c
@@ -1,6 +1,5 @@
-#include
#include "duck_led.h"
-#include "quantum.h"
+#include "wait.h"
void show(void) {
wait_us((RES / 1000UL) + 1);
diff --git a/keyboards/duck/jetfire/indicator_leds.c b/keyboards/duck/jetfire/indicator_leds.c
index 7dbdb1ff79b..200a9ce6ff6 100644
--- a/keyboards/duck/jetfire/indicator_leds.c
+++ b/keyboards/duck/jetfire/indicator_leds.c
@@ -12,13 +12,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
+#include "indicator_leds.h"
#include
#include
-#include
#include
-#include
-#include "indicator_leds.h"
-#include "quantum.h"
#define LED_T1H 900
#define LED_T1L 600
diff --git a/keyboards/duck/jetfire/indicator_leds.h b/keyboards/duck/jetfire/indicator_leds.h
index 36dda632fbc..27dcc1535b0 100644
--- a/keyboards/duck/jetfire/indicator_leds.h
+++ b/keyboards/duck/jetfire/indicator_leds.h
@@ -1,5 +1,7 @@
#pragma once
+#include
+#include
#include "duck_led/duck_led.h"
void backlight_init_ports(void);
diff --git a/keyboards/fallacy/indicators.h b/keyboards/fallacy/indicators.h
index 6de374cda8e..838a698f7b2 100755
--- a/keyboards/fallacy/indicators.h
+++ b/keyboards/fallacy/indicators.h
@@ -15,8 +15,7 @@
*/
#pragma once
-#include "quantum.h"
-
+#include
void init_fallacy_leds(void);
void update_fallacy_leds(void);
diff --git a/keyboards/handwired/d48/taphold.c b/keyboards/handwired/d48/taphold.c
index 0b56a5a6a10..5360391b970 100644
--- a/keyboards/handwired/d48/taphold.c
+++ b/keyboards/handwired/d48/taphold.c
@@ -1,4 +1,7 @@
#include "taphold.h"
+#include "action_layer.h"
+#include "keyboard.h"
+#include "timer.h"
bool taphold_process(uint16_t keycode, keyrecord_t *record) {
for (int i = 0; i < taphold_config_size; i++) {
diff --git a/keyboards/handwired/d48/taphold.h b/keyboards/handwired/d48/taphold.h
index 2a691aa63f6..8788c58f3d9 100644
--- a/keyboards/handwired/d48/taphold.h
+++ b/keyboards/handwired/d48/taphold.h
@@ -1,6 +1,8 @@
#pragma once
-#include "quantum.h"
+#include
+#include
+#include "action.h"
typedef enum taphold_mode_t {
TAPHOLD_LAYER,
diff --git a/keyboards/handwired/dactyl_minidox/3x5_3.c b/keyboards/handwired/dactyl_minidox/dactyl_minidox.c
similarity index 100%
rename from keyboards/handwired/dactyl_minidox/3x5_3.c
rename to keyboards/handwired/dactyl_minidox/dactyl_minidox.c
diff --git a/keyboards/handwired/dygma/raise/leds.c b/keyboards/handwired/dygma/raise/leds.c
index 53fa3892069..ad156445793 100644
--- a/keyboards/handwired/dygma/raise/leds.c
+++ b/keyboards/handwired/dygma/raise/leds.c
@@ -14,15 +14,15 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
+#include "leds.h"
+#include
#include "i2c_master.h"
#include "led_tables.h"
#include "rgb_matrix.h"
-#include
+#include "wait.h"
#include "raise.h"
#include "wire-protocol-constants.h"
#include "print.h"
-#include "leds.h"
// Color order of LEDs is Green, Red, Blue.
typedef struct PACKED {
diff --git a/keyboards/handwired/dygma/raise/leds.h b/keyboards/handwired/dygma/raise/leds.h
index c25a4326a90..1b7bfce2e2d 100644
--- a/keyboards/handwired/dygma/raise/leds.h
+++ b/keyboards/handwired/dygma/raise/leds.h
@@ -16,8 +16,7 @@
#pragma once
-#include "quantum.h"
-#include "rgb_matrix.h"
+#include
extern const uint8_t led_map[RGB_MATRIX_LED_COUNT];
diff --git a/keyboards/handwired/lagrange/transport.c b/keyboards/handwired/lagrange/transport.c
index 8f6973925ff..ec91cff3068 100644
--- a/keyboards/handwired/lagrange/transport.c
+++ b/keyboards/handwired/lagrange/transport.c
@@ -14,9 +14,7 @@
* along with this program. If not, see .
*/
-#include
-
-#include "quantum.h"
+#include "spi_master.h"
#include "split_util.h"
#include "transport.h"
#include "timer.h"
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index ff73e51d5eb..8af82d8297c 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -22,7 +22,6 @@ along with this program. If not, see .
#endif
#include "eeconfig.h"
#include "process_unicode.h"
-#include "quantum.h"
#ifdef RGBSPS_ENABLE
#include "rgbsps.h"
#include "rgbtheme.h"
diff --git a/keyboards/horrortroll/nyx/rev1/nyx.c b/keyboards/horrortroll/nyx/rev1/rev1.c
similarity index 100%
rename from keyboards/horrortroll/nyx/rev1/nyx.c
rename to keyboards/horrortroll/nyx/rev1/rev1.c
diff --git a/keyboards/hotdox/left.c b/keyboards/hotdox/left.c
index 5196fb3115e..ac513224767 100644
--- a/keyboards/hotdox/left.c
+++ b/keyboards/hotdox/left.c
@@ -1,5 +1,6 @@
#include "action.h"
#include "left.h"
+#include "print.h"
#include "wait.h"
bool i2c_initialized = false;
diff --git a/keyboards/hotdox/left.h b/keyboards/hotdox/left.h
index 32faadba219..931d98d8e56 100644
--- a/keyboards/hotdox/left.h
+++ b/keyboards/hotdox/left.h
@@ -1,9 +1,7 @@
#pragma once
-#include "quantum.h"
#include
#include "i2c_master.h"
-#include
#define MCP23017
#define MCP23017_A0 0
@@ -43,8 +41,6 @@ void left_scan(void);
uint8_t left_read_cols(void);
uint8_t left_get_col(uint8_t col);
-matrix_row_t left_read_row(void);
-
void left_unselect_rows(void);
void left_select_row(uint8_t row);
diff --git a/keyboards/idobao/id61/keymaps/idobao/specialk.c b/keyboards/idobao/id61/keymaps/idobao/specialk.c
index 03a31e68049..9b7e481d682 100644
--- a/keyboards/idobao/id61/keymaps/idobao/specialk.c
+++ b/keyboards/idobao/id61/keymaps/idobao/specialk.c
@@ -2,6 +2,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "specialk.h"
+#include "keycodes.h"
+#include "action_layer.h"
+#include "action_util.h"
bool delkey_registered = false;
uint32_t __keycode_raised = 0;
diff --git a/keyboards/idobao/id61/keymaps/idobao/specialk.h b/keyboards/idobao/id61/keymaps/idobao/specialk.h
index a2ec124de8a..a79cde5953f 100644
--- a/keyboards/idobao/id61/keymaps/idobao/specialk.h
+++ b/keyboards/idobao/id61/keymaps/idobao/specialk.h
@@ -5,8 +5,7 @@
#include
#include
-#include "util.h"
-#include "quantum.h"
+#include "action.h"
bool ID61_process_special_k(uint16_t keycode, keyrecord_t *record, bool arrow_mode, uint8_t k_norm, uint8_t k_spcl, uint8_t k_altr);
bool ID61_backspace_special(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/input_club/k_type/i2c_master.c b/keyboards/input_club/k_type/i2c_master.c
index e25ae2ef6f1..a55b2fb38ce 100644
--- a/keyboards/input_club/k_type/i2c_master.c
+++ b/keyboards/input_club/k_type/i2c_master.c
@@ -27,10 +27,11 @@
#ifdef RGB_MATRIX_ENABLE
-
-#include "quantum.h"
#include "i2c_master.h"
+#include "gpio.h"
+#include "chibios_config.h"
#include
+#include
#include
static uint8_t i2c_address;
diff --git a/keyboards/kagizaraya/chidori/board.c b/keyboards/kagizaraya/chidori/board.c
index 34e57a88741..2834f7625b8 100644
--- a/keyboards/kagizaraya/chidori/board.c
+++ b/keyboards/kagizaraya/chidori/board.c
@@ -19,7 +19,6 @@
#include "print.h"
#include "debug.h"
#include "matrix.h"
-#include "quantum.h"
#include "board.h"
#include "i2c_master.h"
diff --git a/keyboards/keyboardio/model01/leds.c b/keyboards/keyboardio/model01/leds.c
index 3fb502cb27d..656e176bfad 100644
--- a/keyboards/keyboardio/model01/leds.c
+++ b/keyboards/keyboardio/model01/leds.c
@@ -13,7 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+
+#include "leds.h"
#include "i2c_master.h"
#include "led_tables.h"
#include "rgb_matrix.h"
diff --git a/keyboards/keyboardio/model01/leds.h b/keyboards/keyboardio/model01/leds.h
index 4d185919b00..6f5e12a6a84 100644
--- a/keyboards/keyboardio/model01/leds.h
+++ b/keyboards/keyboardio/model01/leds.h
@@ -15,8 +15,7 @@
*/
#pragma once
-#include "quantum.h"
-#include "rgb_matrix.h"
+#include
void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b);
void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b);
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index f32875cf4f7..ecdac9130a6 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -18,9 +18,13 @@
#include "rgb_ring.h"
+#include
+#include
#include
#include "quantum.h"
#include "rgblight.h"
+#include "timer.h"
+#include "action.h"
#include "drivers/led/issi/is31fl3731.h"
#include "i2c_master.h"
diff --git a/keyboards/miiiw/common/shift_register.c b/keyboards/miiiw/common/shift_register.c
index 1f21c124683..2c9259180ea 100644
--- a/keyboards/miiiw/common/shift_register.c
+++ b/keyboards/miiiw/common/shift_register.c
@@ -14,8 +14,8 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
#include "shift_register.h"
+#include
static void shift_out(void);
diff --git a/keyboards/miiiw/common/shift_register.h b/keyboards/miiiw/common/shift_register.h
index f9895e63f82..8d72149be23 100644
--- a/keyboards/miiiw/common/shift_register.h
+++ b/keyboards/miiiw/common/shift_register.h
@@ -16,6 +16,7 @@
#pragma once
+#include
#include "gpio.h"
#ifndef GPIOH_BASE
diff --git a/keyboards/mntre_v3/mntre.c b/keyboards/mntre_v3/mntre_v3.c
similarity index 100%
rename from keyboards/mntre_v3/mntre.c
rename to keyboards/mntre_v3/mntre_v3.c
diff --git a/keyboards/molecule/adns.c b/keyboards/molecule/adns.c
index 96fc83ee0b5..0648193557e 100644
--- a/keyboards/molecule/adns.c
+++ b/keyboards/molecule/adns.c
@@ -16,7 +16,7 @@
#include "spi_master.h"
#include "adns.h"
#include "debug.h"
-#include "quantum.h"
+#include "wait.h"
#include "pointing_device.h"
#include "adns9800_srom_A6.h"
diff --git a/keyboards/molecule/adns.h b/keyboards/molecule/adns.h
index d684d3cbcb1..e557aeb2ece 100644
--- a/keyboards/molecule/adns.h
+++ b/keyboards/molecule/adns.h
@@ -15,6 +15,8 @@
*/
#pragma once
+#include
+
void adns_begin(void);
void adns_end(void);
diff --git a/keyboards/nullbitsco/common/bitc_led.h b/keyboards/nullbitsco/common/bitc_led.h
index 14cd4f15b7d..c649f1c1dd5 100644
--- a/keyboards/nullbitsco/common/bitc_led.h
+++ b/keyboards/nullbitsco/common/bitc_led.h
@@ -15,7 +15,8 @@
*/
#pragma once
-#include "quantum.h"
+#include
+#include "gpio.h"
#define LED_ON 2
#define LED_DIM 1
diff --git a/keyboards/nullbitsco/common/remote_kb.c b/keyboards/nullbitsco/common/remote_kb.c
index 8e3f7f6766d..bd2b396e6b5 100644
--- a/keyboards/nullbitsco/common/remote_kb.c
+++ b/keyboards/nullbitsco/common/remote_kb.c
@@ -27,7 +27,10 @@ This will require a new communication protocol, as the current one is limited.
*/
#include "remote_kb.h"
+#include "quantum.h"
#include "uart.h"
+#include "wait.h"
+#include "debug.h"
uint8_t
msg[UART_MSG_LEN],
diff --git a/keyboards/nullbitsco/common/remote_kb.h b/keyboards/nullbitsco/common/remote_kb.h
index da124bf5f4e..97d299189df 100644
--- a/keyboards/nullbitsco/common/remote_kb.h
+++ b/keyboards/nullbitsco/common/remote_kb.h
@@ -15,7 +15,8 @@
*/
#pragma once
-#include "quantum.h"
+#include
+#include "action.h"
#define SERIAL_UART_BAUD 76800 //low error rate for 32u4 @ 16MHz
diff --git a/keyboards/nullbitsco/nibble/big_led.h b/keyboards/nullbitsco/nibble/big_led.h
index 4ebcc35f08e..1198d3490bb 100644
--- a/keyboards/nullbitsco/nibble/big_led.h
+++ b/keyboards/nullbitsco/nibble/big_led.h
@@ -15,7 +15,8 @@
*/
#pragma once
-#include "quantum.h"
+#include
+#include "gpio.h"
/* Optional big LED pins */
#define BIG_LED_R_PIN D7
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
index c734e80cefe..11a0e1f11eb 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c
@@ -13,8 +13,15 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "quantum.h"
+
#include "oled_display.h"
+#include "keycodes.h"
+#include "progmem.h"
+#include "host.h"
+#include "timer.h"
+#include "wpm.h"
+#include "rgblight.h"
+#include "oled_driver.h"
static const char PROGMEM oled_mode_messages[5][15] = {
"",
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
index bd59d44b413..7f2b5e1e779 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h
@@ -15,6 +15,8 @@
*/
#pragma once
+#include
+
typedef enum {
OLED_MODE_IDLE = 0,
OLED_MODE_VOLUME_UP = 1,
diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c
index 61b73bd0c03..cb8b0330c2f 100644
--- a/keyboards/rocketboard_16/keycode_lookup.c
+++ b/keyboards/rocketboard_16/keycode_lookup.c
@@ -15,8 +15,11 @@
*/
#include "keycode_lookup.h"
+#include "quantum_keycodes.h"
+#include "keymap_us.h"
#include "print.h"
#include "via.h"
+#include "util.h"
#define num_keycodes ARRAY_SIZE(lookup_table)
static char UNKNOWN_KEYCODE[] = "UNKNOWN";
@@ -289,7 +292,7 @@ lookup_table_t lookup_table[333] =
{"KC_QUES", KC_QUES},
{"QK_BOOT", QK_BOOT},
{"DB_TOGG", DB_TOGG},
- {"MAGIC_TOGGLE_NKRO", MAGIC_TOGGLE_NKRO},
+ {"NK_TOGG", NK_TOGG},
{"QK_GESC", QK_GESC},
{"AU_ON", AU_ON},
{"AU_OFF", AU_OFF},
diff --git a/keyboards/rocketboard_16/keycode_lookup.h b/keyboards/rocketboard_16/keycode_lookup.h
index 35f0b66f25f..06f0efb53b6 100644
--- a/keyboards/rocketboard_16/keycode_lookup.h
+++ b/keyboards/rocketboard_16/keycode_lookup.h
@@ -16,7 +16,7 @@
#pragma once
-#include "quantum.h"
+#include
typedef struct
{
diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp
index 07c6df29819..25648a5f78e 100644
--- a/keyboards/sirius/unigo66/custom_matrix.cpp
+++ b/keyboards/sirius/unigo66/custom_matrix.cpp
@@ -35,10 +35,6 @@ along with this program. If not, see .
#include "host.h"
#include "keyboard.h"
-extern "C" {
-#include "quantum.h"
-}
-
/* KEY CODE to Matrix
*
* HID keycode(1 byte):
diff --git a/keyboards/stront/keymaps/hid/hid_display.h b/keyboards/stront/keymaps/hid/hid_display.h
index b93bf647169..e823d3e8a4c 100644
--- a/keyboards/stront/keymaps/hid/hid_display.h
+++ b/keyboards/stront/keymaps/hid/hid_display.h
@@ -1,7 +1,8 @@
// Copyright 2023 zzeneg (@zzeneg)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "quantum.h"
+#include
+#include
typedef enum {
_QWERTY = 0,
diff --git a/keyboards/wilba_tech/via_test.c b/keyboards/wilba_tech/via_test.c
index 6a74df51643..314ec4472c3 100644
--- a/keyboards/wilba_tech/via_test.c
+++ b/keyboards/wilba_tech/via_test.c
@@ -14,7 +14,6 @@
// - add `#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 128` to config.h
// (or change to match CHANNELS*VALUES*2)
-#include "quantum.h"
#include "via.h"
#ifdef VIA_ENABLE
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index 1523fbdb853..1426e09fc6f 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -14,16 +14,15 @@
* along with this program. If not, see .
*/
-#include "quantum.h"
#include "wt_mono_backlight.h"
#include "wt_rgb_backlight_api.h" // reuse these for now
#include "wt_rgb_backlight_keycodes.h" // reuse these for now
+#include
#include
#include "i2c_master.h"
-
+#include "host.h"
#include "progmem.h"
-#include "quantum/color.h"
#include "eeprom.h"
#include "via.h" // uses EEPROM address, lighting value IDs
diff --git a/keyboards/wilba_tech/wt_mono_backlight.h b/keyboards/wilba_tech/wt_mono_backlight.h
index 9bf76b44bb8..fb77ec66e19 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.h
+++ b/keyboards/wilba_tech/wt_mono_backlight.h
@@ -19,6 +19,7 @@
#include
#include
+#include "action.h"
#include "quantum/color.h"
typedef struct PACKED
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index d03d189b298..02bcdd610be 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -40,19 +40,15 @@
#error wt_rgb_backlight.c compiled without setting configuration symbol
#endif
-#ifndef MAX
- #define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
-#endif
-
-#ifndef MIN
- #define MIN(a,b) ((a) < (b)? (a): (b))
-#endif
-
-#include "quantum.h"
#include "wt_rgb_backlight.h"
#include "wt_rgb_backlight_api.h"
#include "wt_rgb_backlight_keycodes.h"
+#include
+#include "quantum.h"
+#include "host.h"
+#include "util.h"
+
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NK87) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined (RGB_BACKLIGHT_KW_MEGA)
#include
#include "i2c_master.h"
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.h b/keyboards/wilba_tech/wt_rgb_backlight.h
index 6fb2ee21220..56621781978 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.h
+++ b/keyboards/wilba_tech/wt_rgb_backlight.h
@@ -23,6 +23,7 @@
#include
#include
+#include "action.h"
#include "quantum/color.h"
typedef struct PACKED
diff --git a/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h b/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
index b8c23c4b073..79016744af9 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
+++ b/keyboards/wilba_tech/wt_rgb_backlight_keycodes.h
@@ -15,6 +15,8 @@
*/
#pragma once
+#include "keycodes.h"
+
enum wt_rgb_backlight_keycodes {
BR_INC = QK_KB_0, // brightness increase
BR_DEC, // brightness decrease
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index 36f9da013ec..bc31aab7c1f 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -15,6 +15,11 @@
*/
#include "rgb_functions.h"
+#include
+#include "quantum.h"
+#include "action.h"
+#include "rgblight.h"
+#include "rgb_matrix.h"
#ifdef RGBLIGHT_ENABLE
#undef WS2812_DI_PIN
diff --git a/keyboards/work_louder/rgb_functions.h b/keyboards/work_louder/rgb_functions.h
index 9ad7cdb19c1..eaef787a222 100644
--- a/keyboards/work_louder/rgb_functions.h
+++ b/keyboards/work_louder/rgb_functions.h
@@ -16,7 +16,7 @@
#pragma once
-#include "quantum.h"
+#include "keycodes.h"
#ifndef VIA_ENABLE
# ifndef RGB_MATRIX_TOGGLE
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.c b/keyboards/yushakobo/navpad/navpad_prefs.c
index 1ffd4416744..08b7464cf95 100644
--- a/keyboards/yushakobo/navpad/navpad_prefs.c
+++ b/keyboards/yushakobo/navpad/navpad_prefs.c
@@ -15,6 +15,11 @@
*/
#include "navpad_prefs.h"
+#include "quantum.h"
+#include "action.h"
+#include "action_layer.h"
+#include "rgblight.h"
+#include "led.h"
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) { return false; }
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.h b/keyboards/yushakobo/navpad/navpad_prefs.h
index d9d2286e5be..6c73e1ed07d 100644
--- a/keyboards/yushakobo/navpad/navpad_prefs.h
+++ b/keyboards/yushakobo/navpad/navpad_prefs.h
@@ -16,7 +16,7 @@
#pragma once
-#include "quantum.h"
+#include "keycodes.h"
enum custom_keycodes {
TAP_00 = QK_KB_0
diff --git a/keyboards/yushakobo/quick17/quick17_prefs.h b/keyboards/yushakobo/quick17/quick17_prefs.h
index 25f2e1e0ae5..a498381cee5 100644
--- a/keyboards/yushakobo/quick17/quick17_prefs.h
+++ b/keyboards/yushakobo/quick17/quick17_prefs.h
@@ -16,7 +16,9 @@
#pragma once
-#include "quantum.h"
+#include
+#include
+#include "color.h"
enum layer_names {
_CONTROL,
diff --git a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
index 34b410ce574..4998cce0291 100644
--- a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
+++ b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc
@@ -3,6 +3,7 @@ RGB_MATRIX_EFFECT(quick17_rgbm_effect)
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
#include "quick17_prefs.h"
+#include "quantum.h"
#define LED_LAYOUT(\
L00, L01, L02, L03, L04, L05, \
From 62af50ceeff95a49f381130008ed03fdb0cc9362 Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Wed, 3 Apr 2024 14:01:30 +0100
Subject: [PATCH 26/64] Fix failing keyboards on develop (#23406)
---
.../atreus/feather/{info.json => keyboard.json} | 3 +++
.../lib/satisfaction75/satisfaction_encoder.c | 4 +++-
keyboards/cipulot/ec_typek/ec_typek.c | 12 ++++++------
.../symmetric70_proto/matrix_debug/matrix.c | 2 ++
.../symmetric70_proto/matrix_fast/gpio_extr.h | 3 +++
.../handwired/symmetric70_proto/matrix_fast/matrix.c | 1 +
.../matrix_fast/matrix_extension_74hc15x.c | 4 ++++
7 files changed, 22 insertions(+), 7 deletions(-)
rename keyboards/atreus/feather/{info.json => keyboard.json} (90%)
diff --git a/keyboards/atreus/feather/info.json b/keyboards/atreus/feather/keyboard.json
similarity index 90%
rename from keyboards/atreus/feather/info.json
rename to keyboards/atreus/feather/keyboard.json
index 19e9654f127..7f5866e502a 100644
--- a/keyboards/atreus/feather/info.json
+++ b/keyboards/atreus/feather/keyboard.json
@@ -10,6 +10,9 @@
"bluetooth": true,
"console": false
},
+ "build": {
+ "lto": true
+ },
"bluetooth": {
"driver": "bluefruit_le"
}
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index 074fe262b3b..aab005ebd87 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -2,8 +2,10 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "satisfaction_core.h"
-#include "backlight.h"
#include "eeprom.h"
+#ifdef BACKLIGHT_ENABLE
+# include "backlight.h"
+#endif
void pre_encoder_mode_change(void){
if(encoder_mode == ENC_MODE_CLOCK_SET){
diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c
index 035c90303ca..7c3874d6b3f 100644
--- a/keyboards/cipulot/ec_typek/ec_typek.c
+++ b/keyboards/cipulot/ec_typek/ec_typek.c
@@ -101,19 +101,19 @@ layer_state_t layer_state_set_user(layer_state_t state) {
*/
bool indicators_callback(void) {
if ((eeprom_ec_config.num.enabled) && (host_keyboard_led_state().num_lock))
- sethsv(eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v, (rgb_led_t *)&led[NUM_INDICATOR_INDEX]);
+ rgblight_sethsv_at(eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v, NUM_INDICATOR_INDEX);
else
- sethsv(0, 0, 0, (rgb_led_t *)&led[NUM_INDICATOR_INDEX]);
+ rgblight_sethsv_at(0, 0, 0, NUM_INDICATOR_INDEX);
if ((eeprom_ec_config.caps.enabled) && (host_keyboard_led_state().caps_lock))
- sethsv(eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v, (rgb_led_t *)&led[CAPS_INDICATOR_INDEX]);
+ rgblight_sethsv_at(eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v, CAPS_INDICATOR_INDEX);
else
- sethsv(0, 0, 0, (rgb_led_t *)&led[CAPS_INDICATOR_INDEX]);
+ rgblight_sethsv_at(0, 0, 0, CAPS_INDICATOR_INDEX);
if ((eeprom_ec_config.scroll.enabled) && (host_keyboard_led_state().scroll_lock))
- sethsv(eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v, (rgb_led_t *)&led[SCROLL_INDICATOR_INDEX]);
+ rgblight_sethsv_at(eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v, SCROLL_INDICATOR_INDEX);
else
- sethsv(0, 0, 0, (rgb_led_t *)&led[SCROLL_INDICATOR_INDEX]);
+ rgblight_sethsv_at(0, 0, 0, SCROLL_INDICATOR_INDEX);
return true;
}
diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
index 22d92dd99a1..d6fcb0f7939 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
@@ -14,7 +14,9 @@ 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 .
*/
+#include "atomic_util.h"
#include "util.h"
+#include "wait.h"
#include "matrix.h"
#include "debounce.h"
#ifndef readPort
diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h b/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h
index e31cb5f3a5d..437fa93a201 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h
+++ b/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h
@@ -1,4 +1,7 @@
#pragma once
+
+#include
+
// clang-format off
#if defined(__AVR__)
diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
index 3acbdfbeda6..842df65dbd6 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c
@@ -18,6 +18,7 @@ along with this program. If not, see .
#ifndef readPort
# include "gpio_extr.h"
#endif
+#include "atomic_util.h"
#include "util.h"
#include "matrix.h"
#include "matrix_extr.h"
diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c
index bca53da24c2..202454a2215 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c
@@ -16,6 +16,10 @@ along with this program. If not, see .
*/
// clang-format off
+#include "atomic_util.h"
+#include "gpio.h"
+#include "wait.h"
+
#if defined(MATRIX_EXTENSION_74HC157)
# define MATRIX_DEVICES MCU_GPIOa, MCU_GPIOb
# define IS_74HC15x(dev) ((dev)==MCU_GPIOa || (dev)==MCU_GPIOb)
From f29daff9b6ed178d1d9c3bdb5d504ca8782f8d5a Mon Sep 17 00:00:00 2001
From: Joel Challis
Date: Wed, 3 Apr 2024 23:14:03 +0100
Subject: [PATCH 27/64] Miscellaneous keyboard.json migrations (#23378)
---
.../{info.json => v1/keyboard.json} | 0
keyboards/canary/canary60rgb/v1/rules.mk | 1 -
.../canary60rgb/{canary60rgb.c => v1/v1.c} | 0
.../qc60/{info.json => proto/keyboard.json} | 0
keyboards/handwired/qc60/proto/rules.mk | 1 -
.../{info.json => rev1/keyboard.json} | 0
.../split_5x7/{split_5x7.c => rev1/rev1.c} | 0
.../junco/{info.json => rev1/keyboard.json} | 4 ++
keyboards/junco/rev1/rules.mk | 1 +
keyboards/junco/rules.mk | 8 ----
.../{info.json => rev1/keyboard.json} | 0
keyboards/keaboard/rev1/rules.mk | 1 -
keyboards/melgeek/mj65/{ => rev3}/config.h | 0
.../mj65/{info.json => rev3/keyboard.json} | 7 ++++
keyboards/melgeek/mj65/rev3/rules.mk | 13 -------
keyboards/melgeek/mojo68/rev1/config.h | 3 ++
.../mojo68/{info.json => rev1/keyboard.json} | 0
keyboards/melgeek/mojo68/rev1/rules.mk | 1 -
keyboards/melgeek/mojo75/{ => rev1}/config.h | 0
.../mojo75/{info.json => rev1/keyboard.json} | 0
keyboards/melgeek/mojo75/rev1/rules.mk | 1 -
keyboards/melgeek/tegic/config.h | 20 ----------
.../melgeek/{mojo68 => tegic/rev1}/config.h | 0
.../tegic/{info.json => rev1/keyboard.json} | 0
keyboards/melgeek/tegic/rev1/rules.mk | 1 -
.../melgeek/z70ultra/{ => rev1}/config.h | 0
.../{info.json => rev1/keyboard.json} | 0
.../z70ultra/{z70ultra.c => rev1/rev1.c} | 0
keyboards/melgeek/z70ultra/rev1/rules.mk | 1 -
keyboards/miiiw/blackio83/config.h | 20 ----------
keyboards/miiiw/blackio83/rev_0100/config.h | 3 ++
.../miiiw/blackio83/{ => rev_0100}/halconf.h | 0
.../{info.json => rev_0100/keyboard.json} | 0
.../miiiw/blackio83/{ => rev_0100}/matrix.c | 0
.../miiiw/blackio83/{ => rev_0100}/mcuconf.h | 0
.../{blackio83.c => rev_0100/rev_0100.c} | 2 +-
.../{blackio83.h => rev_0100/rev_0100.h} | 0
keyboards/miiiw/blackio83/rev_0100/rules.mk | 2 -
.../{info.json => rev1/keyboard.json} | 0
keyboards/murcielago/rev1/rules.mk | 1 -
keyboards/polilla/{ => rev1}/chconf.h | 0
keyboards/polilla/rev1/config.h | 22 -----------
keyboards/polilla/{ => rev1}/halconf.h | 0
.../polilla/{info.json => rev1/keyboard.json} | 6 +++
keyboards/polilla/{ => rev1}/mcuconf.h | 0
keyboards/polilla/rev1/rules.mk | 1 -
keyboards/qwertyydox/{ => rev1}/config.h | 5 ---
.../{info.json => rev1/keyboard.json} | 10 +++++
keyboards/qwertyydox/rev1/rules.mk | 0
keyboards/qwertyydox/rules.mk | 15 -------
keyboards/spacetime/config.h | 39 -------------------
keyboards/spacetime/info.json | 6 +++
keyboards/spacetime/rev1/keyboard.json | 1 +
keyboards/spacetime/rev1/rules.mk | 1 -
keyboards/splitty/{ => rev1}/config.h | 0
.../splitty/{info.json => rev1/keyboard.json} | 7 ++++
keyboards/splitty/rev1/rules.mk | 0
keyboards/splitty/rules.mk | 15 -------
.../featherble/{info.json => keyboard.json} | 2 +
keyboards/woodkeys/meira/info.json | 5 ++-
.../woodkeys/meira/promicro/keyboard.json | 3 ++
keyboards/woodkeys/meira/rules.mk | 13 -------
62 files changed, 57 insertions(+), 185 deletions(-)
rename keyboards/canary/canary60rgb/{info.json => v1/keyboard.json} (100%)
delete mode 100644 keyboards/canary/canary60rgb/v1/rules.mk
rename keyboards/canary/canary60rgb/{canary60rgb.c => v1/v1.c} (100%)
rename keyboards/handwired/qc60/{info.json => proto/keyboard.json} (100%)
delete mode 100644 keyboards/handwired/qc60/proto/rules.mk
rename keyboards/handwired/stef9998/split_5x7/{info.json => rev1/keyboard.json} (100%)
rename keyboards/handwired/stef9998/split_5x7/{split_5x7.c => rev1/rev1.c} (100%)
rename keyboards/junco/{info.json => rev1/keyboard.json} (98%)
rename keyboards/keaboard/{info.json => rev1/keyboard.json} (100%)
delete mode 100644 keyboards/keaboard/rev1/rules.mk
rename keyboards/melgeek/mj65/{ => rev3}/config.h (100%)
rename keyboards/melgeek/mj65/{info.json => rev3/keyboard.json} (97%)
rename keyboards/melgeek/mojo68/{info.json => rev1/keyboard.json} (100%)
delete mode 100755 keyboards/melgeek/mojo68/rev1/rules.mk
rename keyboards/melgeek/mojo75/{ => rev1}/config.h (100%)
rename keyboards/melgeek/mojo75/{info.json => rev1/keyboard.json} (100%)
delete mode 100644 keyboards/melgeek/mojo75/rev1/rules.mk
delete mode 100755 keyboards/melgeek/tegic/config.h
rename keyboards/melgeek/{mojo68 => tegic/rev1}/config.h (100%)
rename keyboards/melgeek/tegic/{info.json => rev1/keyboard.json} (100%)
delete mode 100755 keyboards/melgeek/tegic/rev1/rules.mk
rename keyboards/melgeek/z70ultra/{ => rev1}/config.h (100%)
rename keyboards/melgeek/z70ultra/{info.json => rev1/keyboard.json} (100%)
rename keyboards/melgeek/z70ultra/{z70ultra.c => rev1/rev1.c} (100%)
delete mode 100644 keyboards/melgeek/z70ultra/rev1/rules.mk
delete mode 100644 keyboards/miiiw/blackio83/config.h
rename keyboards/miiiw/blackio83/{ => rev_0100}/halconf.h (100%)
rename keyboards/miiiw/blackio83/{info.json => rev_0100/keyboard.json} (100%)
rename keyboards/miiiw/blackio83/{ => rev_0100}/matrix.c (100%)
rename keyboards/miiiw/blackio83/{ => rev_0100}/mcuconf.h (100%)
rename keyboards/miiiw/blackio83/{blackio83.c => rev_0100/rev_0100.c} (99%)
rename keyboards/miiiw/blackio83/{blackio83.h => rev_0100/rev_0100.h} (100%)
rename keyboards/murcielago/{info.json => rev1/keyboard.json} (100%)
delete mode 100644 keyboards/murcielago/rev1/rules.mk
rename keyboards/polilla/{ => rev1}/chconf.h (100%)
rename keyboards/polilla/{ => rev1}/halconf.h (100%)
rename keyboards/polilla/{info.json => rev1/keyboard.json} (97%)
rename keyboards/polilla/{ => rev1}/mcuconf.h (100%)
delete mode 100644 keyboards/polilla/rev1/rules.mk
rename keyboards/qwertyydox/{ => rev1}/config.h (87%)
rename keyboards/qwertyydox/{info.json => rev1/keyboard.json} (95%)
delete mode 100644 keyboards/qwertyydox/rev1/rules.mk
delete mode 100644 keyboards/spacetime/config.h
create mode 100644 keyboards/spacetime/rev1/keyboard.json
delete mode 100644 keyboards/spacetime/rev1/rules.mk
rename keyboards/splitty/{ => rev1}/config.h (100%)
rename keyboards/splitty/{info.json => rev1/keyboard.json} (97%)
delete mode 100644 keyboards/splitty/rev1/rules.mk
rename keyboards/woodkeys/meira/featherble/{info.json => keyboard.json} (50%)
create mode 100644 keyboards/woodkeys/meira/promicro/keyboard.json
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/v1/keyboard.json
similarity index 100%
rename from keyboards/canary/canary60rgb/info.json
rename to keyboards/canary/canary60rgb/v1/keyboard.json
diff --git a/keyboards/canary/canary60rgb/v1/rules.mk b/keyboards/canary/canary60rgb/v1/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/canary/canary60rgb/v1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/v1/v1.c
similarity index 100%
rename from keyboards/canary/canary60rgb/canary60rgb.c
rename to keyboards/canary/canary60rgb/v1/v1.c
diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/proto/keyboard.json
similarity index 100%
rename from keyboards/handwired/qc60/info.json
rename to keyboards/handwired/qc60/proto/keyboard.json
diff --git a/keyboards/handwired/qc60/proto/rules.mk b/keyboards/handwired/qc60/proto/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/handwired/qc60/proto/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/handwired/stef9998/split_5x7/info.json b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
similarity index 100%
rename from keyboards/handwired/stef9998/split_5x7/info.json
rename to keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
diff --git a/keyboards/handwired/stef9998/split_5x7/split_5x7.c b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
similarity index 100%
rename from keyboards/handwired/stef9998/split_5x7/split_5x7.c
rename to keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
diff --git a/keyboards/junco/info.json b/keyboards/junco/rev1/keyboard.json
similarity index 98%
rename from keyboards/junco/info.json
rename to keyboards/junco/rev1/keyboard.json
index 6956ab4834b..855628d3b1c 100644
--- a/keyboards/junco/info.json
+++ b/keyboards/junco/rev1/keyboard.json
@@ -8,6 +8,9 @@
"pid": "0x4A13",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true
+ },
"matrix_pins": {
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
"rows": ["GP8", "GP9", "GP10", "GP11", "GP12"]
@@ -28,6 +31,7 @@
]
},
"split": {
+ "enabled": true,
"encoder": {
"right": {
"rotary": [
diff --git a/keyboards/junco/rev1/rules.mk b/keyboards/junco/rev1/rules.mk
index e69de29bb2d..161ec22b16e 100644
--- a/keyboards/junco/rev1/rules.mk
+++ b/keyboards/junco/rev1/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor
diff --git a/keyboards/junco/rules.mk b/keyboards/junco/rules.mk
index a04c7822f91..bb94741e5ad 100644
--- a/keyboards/junco/rules.mk
+++ b/keyboards/junco/rules.mk
@@ -1,9 +1 @@
-# Split Keyboard Stuff
-SPLIT_KEYBOARD = yes
-SERIAL_DRIVER = vendor
-
-# Enable Bootmagic Lite
-BOOTMAGIC_ENABLE = yes
-
-# Default Folder
DEFAULT_FOLDER = junco/rev1
diff --git a/keyboards/keaboard/info.json b/keyboards/keaboard/rev1/keyboard.json
similarity index 100%
rename from keyboards/keaboard/info.json
rename to keyboards/keaboard/rev1/keyboard.json
diff --git a/keyboards/keaboard/rev1/rules.mk b/keyboards/keaboard/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/keaboard/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/rev3/config.h
similarity index 100%
rename from keyboards/melgeek/mj65/config.h
rename to keyboards/melgeek/mj65/rev3/config.h
diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/rev3/keyboard.json
similarity index 97%
rename from keyboards/melgeek/mj65/info.json
rename to keyboards/melgeek/mj65/rev3/keyboard.json
index 773c9a31984..adf0ef94bc6 100644
--- a/keyboards/melgeek/mj65/info.json
+++ b/keyboards/melgeek/mj65/rev3/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x0065",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"rgb_matrix": {
"animations": {
"alphas_mods": true,
diff --git a/keyboards/melgeek/mj65/rev3/rules.mk b/keyboards/melgeek/mj65/rev3/rules.mk
index 7a3d7020d90..8b7f40c50b5 100644
--- a/keyboards/melgeek/mj65/rev3/rules.mk
+++ b/keyboards/melgeek/mj65/rev3/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # Use RGB matrix
-
RGB_MATRIX_SUPPORTED = yes
RGBLIGHT_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
diff --git a/keyboards/melgeek/mojo68/rev1/config.h b/keyboards/melgeek/mojo68/rev1/config.h
index 960bf58c52f..829eb63fe6b 100755
--- a/keyboards/melgeek/mojo68/rev1/config.h
+++ b/keyboards/melgeek/mojo68/rev1/config.h
@@ -16,4 +16,7 @@
#pragma once
+#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
+#define IS31FL3741_SDB_PIN B7
+
#define DRIVER_INDICATOR_LED_TOTAL 3
diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/mojo68/info.json
rename to keyboards/melgeek/mojo68/rev1/keyboard.json
diff --git a/keyboards/melgeek/mojo68/rev1/rules.mk b/keyboards/melgeek/mojo68/rev1/rules.mk
deleted file mode 100755
index 6e7633bfe01..00000000000
--- a/keyboards/melgeek/mojo68/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/mojo75/config.h
rename to keyboards/melgeek/mojo75/rev1/config.h
diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/mojo75/info.json
rename to keyboards/melgeek/mojo75/rev1/keyboard.json
diff --git a/keyboards/melgeek/mojo75/rev1/rules.mk b/keyboards/melgeek/mojo75/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/melgeek/mojo75/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/tegic/config.h b/keyboards/melgeek/tegic/config.h
deleted file mode 100755
index 68088ba7453..00000000000
--- a/keyboards/melgeek/tegic/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 MelGeek
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
-#define IS31FL3741_SDB_PIN B7
diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/tegic/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/mojo68/config.h
rename to keyboards/melgeek/tegic/rev1/config.h
diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/tegic/info.json
rename to keyboards/melgeek/tegic/rev1/keyboard.json
diff --git a/keyboards/melgeek/tegic/rev1/rules.mk b/keyboards/melgeek/tegic/rev1/rules.mk
deleted file mode 100755
index 6e7633bfe01..00000000000
--- a/keyboards/melgeek/tegic/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/rev1/config.h
similarity index 100%
rename from keyboards/melgeek/z70ultra/config.h
rename to keyboards/melgeek/z70ultra/rev1/config.h
diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/rev1/keyboard.json
similarity index 100%
rename from keyboards/melgeek/z70ultra/info.json
rename to keyboards/melgeek/z70ultra/rev1/keyboard.json
diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/rev1/rev1.c
similarity index 100%
rename from keyboards/melgeek/z70ultra/z70ultra.c
rename to keyboards/melgeek/z70ultra/rev1/rev1.c
diff --git a/keyboards/melgeek/z70ultra/rev1/rules.mk b/keyboards/melgeek/z70ultra/rev1/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/melgeek/z70ultra/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/miiiw/blackio83/config.h b/keyboards/miiiw/blackio83/config.h
deleted file mode 100644
index 055e8e35794..00000000000
--- a/keyboards/miiiw/blackio83/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 ArthurCyy
- *
- * 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