diff --git a/.gitignore b/.gitignore
index b268ab0d75..e36b9ae130 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,9 +68,20 @@ CMakeLists.txt
 tags
 
 # Ignore image/font files
+*.bmp
+*.wbmp
 *.gif
 *.jpg
+*.jpeg
 *.png
+*.apng
+*.mng
+*.svg
+*.webp
+*.webm
+*.avi
+*.mp4
+*.mpeg
 *.ttf
 *.otf
 
diff --git a/keyboards/aeboards/satellite/keymaps/default/keymap.c b/keyboards/aeboards/satellite/keymaps/default/keymap.c
new file mode 100755
index 0000000000..d48d918ca5
--- /dev/null
+++ b/keyboards/aeboards/satellite/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	// Default layer
+	[0] = LAYOUT_all(
+		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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+	// Fn1 Layer
+	[1] = LAYOUT_all(
+		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,  QK_BOOT, KC_TRNS,
+		KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	// Fn2 Layer
+	[2] = LAYOUT_all(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	// Fn3 Layer
+	[3] = LAYOUT_all(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/aeboards/satellite/keymaps/default/readme.md b/keyboards/aeboards/satellite/keymaps/default/readme.md
new file mode 100755
index 0000000000..f369959a37
--- /dev/null
+++ b/keyboards/aeboards/satellite/keymaps/default/readme.md
@@ -0,0 +1,2 @@
+# The Default Satellite Layout
+
diff --git a/keyboards/aeboards/satellite/keymaps/via/keymap.c b/keyboards/aeboards/satellite/keymaps/via/keymap.c
new file mode 100755
index 0000000000..d48d918ca5
--- /dev/null
+++ b/keyboards/aeboards/satellite/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	// Default layer
+	[0] = LAYOUT_all(
+		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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+	// Fn1 Layer
+	[1] = LAYOUT_all(
+		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,  QK_BOOT, KC_TRNS,
+		KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	// Fn2 Layer
+	[2] = LAYOUT_all(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+	// Fn3 Layer
+	[3] = LAYOUT_all(
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
+		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/aeboards/satellite/keymaps/via/readme.md b/keyboards/aeboards/satellite/keymaps/via/readme.md
new file mode 100755
index 0000000000..cce6dfd595
--- /dev/null
+++ b/keyboards/aeboards/satellite/keymaps/via/readme.md
@@ -0,0 +1,2 @@
+# The VIA Satellite Layout
+
diff --git a/keyboards/aeboards/satellite/keymaps/via/rules.mk b/keyboards/aeboards/satellite/keymaps/via/rules.mk
new file mode 100755
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/aeboards/satellite/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/aeboards/satellite/readme.md b/keyboards/aeboards/satellite/readme.md
new file mode 100755
index 0000000000..1de19abade
--- /dev/null
+++ b/keyboards/aeboards/satellite/readme.md
@@ -0,0 +1,13 @@
+# SATELLITE
+
+A RGB 65% keyboard by [aeboards](https://aeboards.com/)
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Satellite
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+    make aeboards/satellite/rev1: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).
diff --git a/keyboards/aeboards/satellite/rev1/config.h b/keyboards/aeboards/satellite/rev1/config.h
new file mode 100755
index 0000000000..b11d3a2e98
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/config.h
@@ -0,0 +1,82 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+//RGB Matrix defines
+#define DRIVER_ADDR_1 0x74
+#define DRIVER_ADDR_2 0x76
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 36
+#define DRIVER_2_LED_TOTAL 36
+#define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+#define DRIVER_LED_TOTAL ISSI_DRIVER_TOTAL
+
+#define RGB_MATRIX_STARTUP_VAL 80
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_FLOW
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/aeboards/satellite/rev1/info.json b/keyboards/aeboards/satellite/rev1/info.json
new file mode 100644
index 0000000000..4af84ee055
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/info.json
@@ -0,0 +1,93 @@
+{
+    "keyboard_name": "Satellite Rev1",
+    "manufacturer": "AEBoards",
+    "url": "",
+    "maintainer": "Xelus22",
+    "usb": {
+        "vid": "0x4145",
+        "pid": "0x6553",
+        "device_version": "0.0.1"
+    },
+    "diode_direction": "COL2ROW",
+    "matrix_pins": {
+        "cols": ["E6", "D5", "B2", "B3", "B7", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
+        "rows": ["B0", "B1", "F0", "F4", "F1"]
+    },
+    "layouts": {
+        "LAYOUT_all": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":1, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6, "y":0},
+                {"x":7, "y":0},
+                {"x":8, "y":0},
+                {"x":9, "y":0},
+                {"x":10, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0, "w":2},
+                {"x":15, "y":0},
+
+                {"x":0, "y":1, "w":1.5},
+                {"x":1.5, "y":1},
+                {"x":2.5, "y":1},
+                {"x":3.5, "y":1},
+                {"x":4.5, "y":1},
+                {"x":5.5, "y":1},
+                {"x":6.5, "y":1},
+                {"x":7.5, "y":1},
+                {"x":8.5, "y":1},
+                {"x":9.5, "y":1},
+                {"x":10.5, "y":1},
+                {"x":11.5, "y":1},
+                {"x":12.5, "y":1},
+                {"x":13.5, "y":1, "w":1.5},
+                {"x":15, "y":1},
+
+                {"x":0, "y":2, "w":1.75},
+                {"x":1.75, "y":2},
+                {"x":2.75, "y":2},
+                {"x":3.75, "y":2},
+                {"x":4.75, "y":2},
+                {"x":5.75, "y":2},
+                {"x":6.75, "y":2},
+                {"x":7.75, "y":2},
+                {"x":8.75, "y":2},
+                {"x":9.75, "y":2},
+                {"x":10.75, "y":2},
+                {"label":"\"", "x":11.75, "y":2},
+                {"x":12.75, "y":2, "w":2.25},
+                {"x":15, "y":2},
+
+                {"x":0, "y":3, "w":2.25},
+                {"x":2.25, "y":3},
+                {"x":3.25, "y":3},
+                {"x":4.25, "y":3},
+                {"x":5.25, "y":3},
+                {"x":6.25, "y":3},
+                {"x":7.25, "y":3},
+                {"x":8.25, "y":3},
+                {"x":9.25, "y":3},
+                {"x":10.25, "y":3},
+                {"x":11.25, "y":3},
+                {"x":12.25, "y":3, "w":1.75},
+                {"x":14, "y":3},
+                {"x":15, "y":3},
+
+                {"x":0, "y":4, "w":1.25},
+                {"x":1.25, "y":4, "w":1.25},
+                {"x":2.5, "y":4, "w":1.25},
+                {"x":3.75, "y":4, "w":6.25},
+                {"x":10, "y":4, "w":1.5},
+                {"x":11.5, "y":4, "w":1.5},
+                {"x":13, "y":4},
+                {"x":14, "y":4},
+                {"x":15, "y":4}
+            ]
+        }
+    }
+}
diff --git a/keyboards/aeboards/satellite/rev1/readme.md b/keyboards/aeboards/satellite/rev1/readme.md
new file mode 100755
index 0000000000..e3f311f6a6
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/readme.md
@@ -0,0 +1,19 @@
+# Satellite Rev1
+
+A gasket 65% keyboard by [aeboards](https://aeboards.com/)
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Satellite
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+    make aeboards/satellite/rev1:default
+    make aeboards/satellite/rev1:via
+
+Reset your keyboard in 3 ways:
+* Software reset on Fn + Backspace
+* Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
+* Physical reset: on the back of the PCB, there is a ISP header which you should short the RST and GND together
+
+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/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c
new file mode 100755
index 0000000000..bb66eda6fa
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/rev1.c
@@ -0,0 +1,182 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "rev1.h"
+#include "i2c_master.h"
+#include "drivers/led/issi/is31fl3731.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ *   driver
+ *   |  R location
+ *   |  |      G location
+ *   |  |      |      B location
+ *   |  |      |      | */
+    {0, C2_1,   C3_1,   C4_1}, //A0
+    {0, C1_1,   C3_2,   C4_2}, //A1
+    {0, C1_2,   C2_2,   C4_3}, //A2
+    {0, C1_3,   C2_3,   C3_3}, //A3
+    {0, C1_4,   C2_4,   C3_4}, //A4
+    {0, C1_5,   C2_5,   C3_5}, //A5
+    {0, C1_6,   C2_6,   C3_6}, //A6
+    {0, C1_7,   C2_7,   C3_7}, //A7
+    {0, C1_8,   C2_8,   C3_8}, //A8
+    {0, C9_1,   C8_1,   C7_1}, //A9
+    {0, C9_2,   C8_2,   C7_2}, //A10
+    {0, C9_3,   C8_3,   C7_3}, //A11
+    {0, C9_4,   C8_4,   C7_4}, //A12
+    {0, C9_5,   C8_5,   C7_5}, //A13
+    {0, C9_6,   C8_6,   C7_6}, //A14
+    {0, C9_7,   C8_7,   C6_6}, //A15
+    {0, C9_8,   C7_7,   C6_7}, //A16
+    {0, C8_8,   C7_8,   C6_8}, //A17
+
+    {0, C2_9,   C3_9,   C4_9},  //B0
+    {0, C1_9,   C3_10,  C4_10}, //B1
+    {0, C1_10,  C2_10,  C4_11}, //B2
+    {0, C1_11,  C2_11,  C3_11}, //B3
+    {0, C1_12,  C2_12,  C3_12}, //B4
+    {0, C1_13,  C2_13,  C3_13}, //B5
+    {0, C1_14,  C2_14,  C3_14}, //B6
+    {0, C1_15,  C2_15,  C3_15}, //B7
+    {0, C1_16,  C2_16,  C3_16}, //B8
+    {0, C9_9,   C8_9,   C7_9},  //B9
+    {0, C9_10,  C8_10,  C7_10}, //B10
+    {0, C9_11,  C8_11,  C7_11}, //B11
+    {0, C9_12,  C8_12,  C7_12}, //B12
+    {0, C9_13,  C8_13,  C7_13}, //B13
+    {0, C9_14,  C8_14,  C7_14}, //B14
+    {0, C9_15,  C8_15,  C6_14}, //B15
+    {0, C9_16,  C7_15,  C6_15}, //B16
+    {0, C8_16,  C7_16,  C6_16}, //B17
+
+    {1, C2_1,   C3_1,   C4_1}, //C0
+    {1, C1_1,   C3_2,   C4_2}, //C1
+    {1, C1_2,   C2_2,   C4_3}, //C2
+    {1, C1_3,   C2_3,   C3_3}, //C3
+    {1, C1_4,   C2_4,   C3_4}, //C4
+    {1, C1_5,   C2_5,   C3_5}, //C5
+    {1, C1_6,   C2_6,   C3_6}, //C6
+    {1, C1_7,   C2_7,   C3_7}, //C7
+    {1, C1_8,   C2_8,   C3_8}, //C8
+    {1, C9_1,   C8_1,   C7_1}, //C9
+    {1, C9_2,   C8_2,   C7_2}, //C10
+    {1, C9_3,   C8_3,   C7_3}, //C11
+    {1, C9_4,   C8_4,   C7_4}, //C12
+    {1, C9_5,   C8_5,   C7_5}, //C13
+    {1, C9_6,   C8_6,   C7_6}, //C14
+    {1, C9_7,   C8_7,   C6_6}, //C15
+    {1, C9_8,   C7_7,   C6_7}, //C16
+    {1, C8_8,   C7_8,   C6_8}, //C17
+
+    {1, C2_9,   C3_9,   C4_9},  //D0
+    {1, C1_9,   C3_10,  C4_10}, //D1
+    {1, C1_10,  C2_10,  C4_11}, //D2
+    {1, C1_11,  C2_11,  C3_11}, //D3
+    {1, C1_12,  C2_12,  C3_12}, //D4
+    {1, C1_13,  C2_13,  C3_13}, //D5
+    {1, C1_14,  C2_14,  C3_14}, //D6
+    {1, C1_15,  C2_15,  C3_15}, //D7
+    {1, C1_16,  C2_16,  C3_16}, //D8
+    {1, C9_9,    C8_9,   C7_9}, //D9
+    {1, C9_10,  C8_10,  C7_10}, //D10
+    {1, C9_11,  C8_11,  C7_11}, //D11
+    {1, C9_12,  C8_12,  C7_12}, //D12
+    {1, C9_13,  C8_13,  C7_13}, //D13
+    {1, C9_14,  C8_14,  C7_14}, //D14
+    {1, C9_15,  C8_15,  C6_14}, //D15
+    {1, C9_16,  C7_15,  C6_15}, //D16
+    {1, C8_16,  C7_16,  C6_16}  //D17
+};
+
+led_config_t g_led_config = { {
+    {   0+17,   0+16,   0+15,   0+14,   0+13,   0+12,   0+11,   0+10,   0+ 9,  18+ 0,  18+ 1,  18+ 2,  18+ 3,  18+ 4,  18+ 6 },
+    {   0+ 7,   0+ 6,   0+ 5,   0+ 4,   0+ 3,   0+ 2,   0+ 1,   0+ 0,  18+ 9,  18+10,  18+11,  18+12,  18+13,  18+14,  18+ 7 },
+    {   0+ 8,  36+14,  36+13,  36+12,  36+11,  36+10,  36+ 9,  54+ 0,  54+ 1,  54+ 2,  54+ 3,  54+ 4,  54+ 5, NO_LED,  18+ 8 },
+    {  36+15,  36+ 5,  36+ 4,  36+ 3,  36+ 2,  36+ 1,  54+ 9,  54+10,  54+11,  54+12,  54+ 6, NO_LED,  54+ 7,  54+ 8,  18+15 },
+    {  36+16,  36+ 8,  36+ 7, NO_LED, NO_LED,  36+ 0, NO_LED, NO_LED, NO_LED,  54+15,  54+16, NO_LED,  54+17,  18+17,  18+16 },
+}, {
+    //A0 .. A17
+    {112,16 }, { 97,16 }, { 82,16 }, { 67,16 }, { 52,16 }, { 37,16 }, { 22,16 }, {  4,16 }, {  6,32 },
+    {119,0  }, {105,0  }, { 90,0  }, { 75,0  }, { 60,0  }, { 45,0  }, { 30,0  }, { 15,0  }, {  0,0  },
+
+    //B0 .. B17
+    {134,0  }, {149,0  }, {164,0  }, {179,0  }, {202,0  }, {255,255}, {224,0  }, {224,16 }, {224,32 },
+    {127,16 }, {142,16 }, {157,16 }, {172,16 }, {187,16 }, {205,16 }, {224,48 }, {224,64 }, {209,64 },
+
+    //C0 .. C17
+    { 95,64 }, { 93,48 }, { 78,48 }, { 63,48 }, { 49,48 }, { 34,48 }, { 67,56 }, { 39,64 }, { 21,64 },
+    {101,32 }, { 86,32 }, { 71,32 }, { 56,32 }, { 41,32 }, { 26,32 }, {  9,48 }, {  2,64 }, {255,255},
+
+    //D0 .. D17
+    {116,32 }, {131,32 }, {146,32 }, {161,32 }, {175,32 }, {200,32 }, {168,48 }, {189,48 }, {209,48 },
+    {108,48 }, {123,48 }, {138,48 }, {153,48 }, {255,255}, {120,56 }, {153,64 }, {175,64 }, {194,64 }
+}, {
+    //A0 .. A17
+    4, 4, 4, 4, 4, 4, 4, 1, 1,
+    4, 4, 4, 4, 4, 4, 4, 4, 4,
+
+    //B0 .. B17
+    4, 4, 4, 4, 4, 4, 4, 4, 4,
+    4, 4, 4, 4, 4, 4, 4, 1, 1,
+
+    //C0 .. C17
+    4, 4, 4, 4, 4, 4, 4, 1, 1,
+    4, 4, 4, 4, 4, 4, 1, 1, 4,
+
+    //D0 .. D17
+    4, 4, 4, 4, 4, 4, 4, 4, 4,
+    4, 4, 4, 4, 4, 4, 1, 1, 1
+} };
+
+// Custom Driver
+static void init(void) {
+    i2c_init();
+    IS31FL3731_init(DRIVER_ADDR_1);
+    IS31FL3731_init(DRIVER_ADDR_2);
+    for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
+        bool enabled = !(   ( index == 18+5) || //B5
+                            ( index == 36+17) || //C17
+                            ( index == 54+13) //D13
+                        );
+        IS31FL3731_set_led_control_register(index, enabled, enabled, enabled);
+    }
+    IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0);
+    IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1);
+}
+
+static void flush(void) {
+    IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
+    IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
+}
+
+static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
+    IS31FL3731_set_color(index, red, green, blue);
+}
+
+static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+    IS31FL3731_set_color_all( red, green, blue );
+}
+
+
+const rgb_matrix_driver_t rgb_matrix_driver = {
+    .init = init,
+    .flush = flush,
+    .set_color = set_color,
+    .set_color_all = set_color_all
+};
+
+#endif
diff --git a/keyboards/aeboards/satellite/rev1/rev1.h b/keyboards/aeboards/satellite/rev1/rev1.h
new file mode 100755
index 0000000000..939adc6edb
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/rev1.h
@@ -0,0 +1,35 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+#define LAYOUT_all( \
+  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014,  \
+  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
+  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       K214, \
+  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312,       K313, K314, \
+  K400, K401, K402,             K405,                   K409, K410,       K412, K413, K414  \
+) { \
+  { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
+  { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
+  { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, ____, K214 }, \
+  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
+  { K400, K401, K402, ____, ____, K405, ____, ____, ____, K409, K410, ____, K412, K413, K414 } \
+}
diff --git a/keyboards/aeboards/satellite/rev1/rules.mk b/keyboards/aeboards/satellite/rev1/rules.mk
new file mode 100755
index 0000000000..f59ff57871
--- /dev/null
+++ b/keyboards/aeboards/satellite/rev1/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = 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.
+RGB_MATRIX_DRIVER = custom  # Enable RGB matrix effects.
+
+COMMON_VPATH += $(DRIVER_PATH)/issi
+
+# project specific files
+SRC +=  drivers/led/issi/is31fl3731.c
+
+QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/aeboards/satellite/rules.mk b/keyboards/aeboards/satellite/rules.mk
new file mode 100755
index 0000000000..bc32615d2b
--- /dev/null
+++ b/keyboards/aeboards/satellite/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = aeboards/satellite/rev1
diff --git a/keyboards/aeboards/satellite/satellite.c b/keyboards/aeboards/satellite/satellite.c
new file mode 100755
index 0000000000..97750559db
--- /dev/null
+++ b/keyboards/aeboards/satellite/satellite.c
@@ -0,0 +1,19 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Nothing to see here, move along... ;-)
+
+#include "satellite.h"
diff --git a/keyboards/aeboards/satellite/satellite.h b/keyboards/aeboards/satellite/satellite.h
new file mode 100755
index 0000000000..fcd03d72e4
--- /dev/null
+++ b/keyboards/aeboards/satellite/satellite.h
@@ -0,0 +1,23 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#if defined(KEYBOARD_aeboards_satellite_rev1)
+    #include "rev1.h"
+#endif
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
index 1e347df9b2..c2ff6d458a 100644
--- a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Nano (3x5) Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h
index 1368bce35b..0849d5968a 100644
--- a/keyboards/bastardkb/charybdis/3x5/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/config.h
@@ -31,17 +31,8 @@
 #define ROTATIONAL_TRANSFORM_ANGLE -25
 
 /* RGB settings. */
-#define RGBLED_NUM 36
-#define RGBLED_SPLIT \
-    { 18, 18 }
-
-/* RGB matrix support. */
 #ifdef RGB_MATRIX_ENABLE
-#    define SPLIT_TRANSPORT_MIRROR
-#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
-#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_DISABLE_WHEN_USB_SUSPENDED
-#    define RGB_MATRIX_KEYPRESSES
+#    define RGB_MATRIX_LED_COUNT 36
+#    define RGB_MATRIX_SPLIT \
+        { 18, 18 }
 #endif
diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json
index 41c80b457f..efa863ea4b 100644
--- a/keyboards/bastardkb/charybdis/3x5/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/info.json
@@ -1,9 +1,9 @@
 {
-    "url": "https://bastardkb.com/charybdis-nano",
     "manufacturer": "Bastard Keyboards",
+    "url": "https://bastardkb.com/charybdis-nano",
     "usb": {
-        "vid": "0xA8F8",
         "pid": "0x1832",
+        "vid": "0xA8F8"
     },
     "layouts": {
         "LAYOUT_charybdis_3x5": {
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/default/config.h
deleted file mode 100644
index f2dd86c653..0000000000
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif  // TAPPING_TERM
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Disable control of RGB matrix by keycodes (must use firmware implementation
-// to control the feature).
-#    define RGB_MATRIX_DISABLE_KEYCODES
-
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif  // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
index d20131e9cf..5d9d4662f0 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
@@ -24,49 +24,6 @@
 /* Disable unused features. */
 #define NO_ACTION_ONESHOT
 
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif // TAPPING_TERM
-
-/**
- * \brief Enable rapid switch from tap to hold.
- *
- * Note that a side-effect of this setting is to disable auto-repeat when
- * pressing key twice, except for one-shot keys.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
- */
-#define TAPPING_FORCE_HOLD
-
-/*
- * Tap-or-Hold decision modes.
- *
- * Note that the following flags behave differently when combined (ie. when 2 or
- * more are enabled).
- *
- * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
- * decision modes.
- */
-
-/**
- * \brief Faster tap-hold trigger.
- *
- * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
- *   Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
- * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
- *   Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
- */
-#define PERMISSIVE_HOLD
-
 /**
  * \brief Prevent normal rollover on alphas from accidentally triggering mods.
  *
@@ -76,8 +33,6 @@
  *   Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e
  * With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
  *   Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
  */
 #define IGNORE_MOD_TAP_INTERRUPT
 
@@ -89,25 +44,3 @@
 // - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
 // #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
 #endif // POINTING_DEVICE_ENABLE
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
index 9071212f33..b83dc6c3f8 100644
--- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Nano (3x5) Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
index 7c90e5d5a3..78453c44ff 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Nano (3x5) Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h
index d4688aef92..8e4a2de892 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
@@ -43,68 +35,3 @@
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
-
-/** RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Enable all animations on ARM boards since they have plenty of memory
-// available for it.
-#    define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#    define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#    define ENABLE_RGB_MATRIX_BREATHING
-#    define ENABLE_RGB_MATRIX_BAND_SAT
-#    define ENABLE_RGB_MATRIX_BAND_VAL
-#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#    define ENABLE_RGB_MATRIX_CYCLE_ALL
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#    define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#    define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#    define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#    define ENABLE_RGB_MATRIX_DUAL_BEACON
-#    define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#    define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#    define ENABLE_RGB_MATRIX_RAINDROPS
-#    define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#    define ENABLE_RGB_MATRIX_HUE_BREATHING
-#    define ENABLE_RGB_MATRIX_HUE_PENDULUM
-#    define ENABLE_RGB_MATRIX_HUE_WAVE
-#    define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#    define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#    define ENABLE_RGB_MATRIX_SPLASH
-#    define ENABLE_RGB_MATRIX_MULTISPLASH
-#    define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json
index 1aa1e8811d..98f436f52b 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Nano (3x5) Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/v2/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky/v2/config.h
index 70b65a97c7..516f3d9df7 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/v2/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP18
 #define SPI_MOSI_PIN GP19
 #define POINTING_DEVICE_CS_PIN GP14
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky/v3/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky/v3/config.h
index d53c5a3c41..09165a8e97 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky/v3/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP22
 #define SPI_MOSI_PIN GP23
 #define POINTING_DEVICE_CS_PIN GP16
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
index 2aee1fe40b..b344c1cbfc 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Nano (3x5) STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
index 73a1359e00..54eda1eadf 100644
--- a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Mini (3x6) Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x6/config.h b/keyboards/bastardkb/charybdis/3x6/config.h
index bf915b4faf..40d933f0b8 100644
--- a/keyboards/bastardkb/charybdis/3x6/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/config.h
@@ -18,8 +18,6 @@
 
 #pragma once
 
-#include "config_common.h"
-
 /* Key matrix configuration. */
 #define MATRIX_ROWS 8 // Rows are doubled-up.
 #define MATRIX_COLS 6
@@ -33,17 +31,8 @@
 #define ROTATIONAL_TRANSFORM_ANGLE -25
 
 /* RGB settings. */
-#define RGBLED_NUM 42
-#define RGBLED_SPLIT \
-    { 21, 21 }
-
-/* RGB matrix support. */
 #ifdef RGB_MATRIX_ENABLE
-#    define SPLIT_TRANSPORT_MIRROR
-#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
-#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_DISABLE_WHEN_USB_SUSPENDED
-#    define RGB_MATRIX_KEYPRESSES
+#    define RGB_MATRIX_LED_COUNT 42
+#    define RGB_MATRIX_SPLIT \
+        { 21, 21 }
 #endif
diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json
index 0b4428cdbe..4851da1d53 100644
--- a/keyboards/bastardkb/charybdis/3x6/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/info.json
@@ -1,98 +1,98 @@
 {
     "url": "https://bastardkb.com",
     "usb": {
-        "pid": "0x1834",
+        "pid": "0x1834"
     },
     "layouts": {
         "LAYOUT_charybdis_3x6": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"L05", "x":5, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"R05", "x":16, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"L15", "x":5, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"R15", "x":16, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"L25", "x":5, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"R25", "x":16, "y":2},
-                {"label":"L33", "x":5, "y":3},
-                {"label":"L34", "x":6, "y":3},
-                {"label":"L31", "x":7, "y":3},
-                {"label":"R31", "x":9, "y":3},
-                {"label":"R33", "x":10, "y":3}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "L05", "x": 5, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "R05", "x": 16, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "L15", "x": 5, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "R15", "x": 16, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "L25", "x": 5, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "R25", "x": 16, "y": 2 },
+                { "label": "L33", "x": 5, "y": 3 },
+                { "label": "L34", "x": 6, "y": 3 },
+                { "label": "L31", "x": 7, "y": 3 },
+                { "label": "R31", "x": 9, "y": 3 },
+                { "label": "R33", "x": 10, "y": 3 }
             ]
         },
         "LAYOUT_split_3x6_3": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"L05", "x":5, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"R05", "x":16, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"L15", "x":5, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"R15", "x":16, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"L25", "x":5, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"R25", "x":16, "y":2},
-                {"label":"L33", "x":5, "y":3},
-                {"label":"L34", "x":6, "y":3},
-                {"label":"L31", "x":7, "y":3},
-                {"label":"R33", "x":9, "y":3},
-                {"label":"R34", "x":10, "y":3},
-                {"label":"R31", "x":11, "y":3}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "L05", "x": 5, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "R05", "x": 16, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "L15", "x": 5, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "R15", "x": 16, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "L25", "x": 5, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "R25", "x": 16, "y": 2 },
+                { "label": "L33", "x": 5, "y": 3 },
+                { "label": "L34", "x": 6, "y": 3 },
+                { "label": "L31", "x": 7, "y": 3 },
+                { "label": "R33", "x": 9, "y": 3 },
+                { "label": "R34", "x": 10, "y": 3 },
+                { "label": "R31", "x": 11, "y": 3 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h b/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h
deleted file mode 100644
index 4b1bae3ca0..0000000000
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/default/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif // TAPPING_TERM
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Disable control of RGB matrix by keycodes (must use firmware implementation
-// to control the feature).
-#    define RGB_MATRIX_DISABLE_KEYCODES
-
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
index abbf492089..7c850d5e0e 100644
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
@@ -24,17 +24,6 @@
 /* Disable unused features. */
 #define NO_ACTION_ONESHOT
 
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif // TAPPING_TERM
-
 /* Charybdis-specific features. */
 
 #ifdef POINTING_DEVICE_ENABLE
@@ -43,29 +32,3 @@
 // - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
 // #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
 #endif // POINTING_DEVICE_ENABLE
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Disable control of RGB matrix by keycodes (must use firmware implementation
-// to control the feature).
-#    define RGB_MATRIX_DISABLE_KEYCODES
-
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
index bf7f1a35f2..7edaf111a9 100644
--- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Mini (3x6) Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
index 239a10f8a3..02fe2e9ef3 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Mini (3x6) Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h
index e68bf722e4..8e4a2de892 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json
index 7f3997158f..64c663c7c9 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Mini (3x6) Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/v2/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky/v2/config.h
index 7b7d94b320..f3d3e982e3 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/v2/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP18
 #define SPI_MOSI_PIN GP19
 #define POINTING_DEVICE_CS_PIN GP14
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky/v3/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky/v3/config.h
index 0e9f2257f0..5f5476b1f7 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky/v3/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP22
 #define SPI_MOSI_PIN GP23
 #define POINTING_DEVICE_CS_PIN GP16
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
index 516eb7dde3..8aa7bf24c9 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis Mini (3x6) STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
index 788783c679..a42035157b 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis (4x6) Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h
index 4c0f508948..68d4438315 100644
--- a/keyboards/bastardkb/charybdis/4x6/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/config.h
@@ -31,17 +31,8 @@
 #define ROTATIONAL_TRANSFORM_ANGLE -25
 
 /* RGB settings. */
-#define RGBLED_NUM 58
-#define RGBLED_SPLIT \
-    { 29, 29 }
-
-/* RGB matrix support. */
 #ifdef RGB_MATRIX_ENABLE
-#    define SPLIT_TRANSPORT_MIRROR
-#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
-#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_DISABLE_WHEN_USB_SUSPENDED
-#    define RGB_MATRIX_KEYPRESSES
+#    define RGB_MATRIX_LED_COUNT 58
+#    define RGB_MATRIX_SPLIT \
+        { 29, 29 }
 #endif
diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json
index c95bf07516..0b929a2188 100644
--- a/keyboards/bastardkb/charybdis/4x6/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/info.json
@@ -1,9 +1,9 @@
 {
-    "url": "https://bastardkb.com/charybdis",
     "manufacturer": "Bastard Keyboards",
+    "url": "https://bastardkb.com/charybdis",
     "usb": {
-        "vid": "0xA8F8",
         "pid": "0x1833",
+        "vid": "0xA8F8"
     },
     "layouts": {
         "LAYOUT_charybdis_4x6": {
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/default/config.h
deleted file mode 100644
index 383b3f9dc3..0000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif  // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
index c31e39261e..cb9013dbd1 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
@@ -24,17 +24,6 @@
 /* Disable unused features. */
 #define NO_ACTION_ONESHOT
 
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif // TAPPING_TERM
-
 /* Charybdis-specific features. */
 
 #ifdef POINTING_DEVICE_ENABLE
@@ -43,25 +32,3 @@
 // - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
 // #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
 #endif // POINTING_DEVICE_ENABLE
-
-/* RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-#    undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-#    define RGB_MATRIX_STARTUP_SPD 32
-
-// Startup values.
-#    define RGB_MATRIX_STARTUP_HUE 0
-#    define RGB_MATRIX_STARTUP_SAT 255
-#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
index 4ea658a7d9..e3924b49b2 100644
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis (4x6) Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
index 151c0e1ca3..3acba65a6b 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis (4x6) Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h
index 010de7c480..7d4ed86e84 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP29, GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json
index 0004eb81c9..928a850860 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis (4x6) Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h
index 7b7d94b320..f3d3e982e3 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v2/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP18
 #define SPI_MOSI_PIN GP19
 #define POINTING_DEVICE_CS_PIN GP14
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h
index 0e9f2257f0..5f5476b1f7 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky/v3/config.h
@@ -25,3 +25,11 @@
 #define SPI_SCK_PIN GP22
 #define SPI_MOSI_PIN GP23
 #define POINTING_DEVICE_CS_PIN GP16
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
index 7d687319b3..932bf09a32 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Charybdis (4x6) STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h
index c88451335e..2d2e09e403 100644
--- a/keyboards/bastardkb/charybdis/config.h
+++ b/keyboards/bastardkb/charybdis/config.h
@@ -18,8 +18,6 @@
 
 #pragma once
 
-#include "config_common.h"
-
 /* Pointing device configuration. */
 
 // Enable use of pointing device on slave split.
@@ -31,5 +29,75 @@
 // Limits the frequency that the sensor is polled for motion.
 #define POINTING_DEVICE_TASK_THROTTLE_MS 1
 
-/** \brief Invert X axis on mouse reports. */
+// Invert X axis on mouse reports.
 #define POINTING_DEVICE_INVERT_X
+
+/* RGB matrix support. */
+#ifdef RGB_MATRIX_ENABLE
+#    define SPLIT_TRANSPORT_MIRROR
+#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#    define RGB_DISABLE_WHEN_USB_SUSPENDED
+#    define RGB_MATRIX_KEYPRESSES
+
+// Startup values.
+#    define RGB_MATRIX_STARTUP_HUE 0
+#    define RGB_MATRIX_STARTUP_SAT 255
+#    define RGB_MATRIX_STARTUP_VAL 64
+#    define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
+
+// Rainbow swirl as startup mode.
+#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+
+// Slow swirl at startup.
+#    define RGB_MATRIX_STARTUP_SPD 32
+
+#    ifndef __arm__
+// Disable control of RGB matrix by keycodes (must use firmware implementation
+// to control the feature).
+#        define RGB_MATRIX_DISABLE_KEYCODES
+#    else // __arm__
+// Enable all animations on ARM boards since they have plenty of memory
+// available for it.
+#        define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#        define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#        define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#        define ENABLE_RGB_MATRIX_BREATHING
+#        define ENABLE_RGB_MATRIX_BAND_SAT
+#        define ENABLE_RGB_MATRIX_BAND_VAL
+#        define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#        define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#        define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#        define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#        define ENABLE_RGB_MATRIX_CYCLE_ALL
+#        define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#        define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#        define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#        define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#        define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#        define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#        define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#        define ENABLE_RGB_MATRIX_DUAL_BEACON
+#        define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#        define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#        define ENABLE_RGB_MATRIX_RAINDROPS
+#        define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#        define ENABLE_RGB_MATRIX_HUE_BREATHING
+#        define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#        define ENABLE_RGB_MATRIX_HUE_WAVE
+#        define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#        define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#        define ENABLE_RGB_MATRIX_SPLASH
+#        define ENABLE_RGB_MATRIX_MULTISPLASH
+#        define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#    endif // !__arm__
+#endif
diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/info.json b/keyboards/bastardkb/dilemma/3x5_2/assembled/info.json
index aae8dfc179..59f3b0d071 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/assembled/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/info.json
@@ -1,4 +1,3 @@
 {
     "keyboard_name": "Dilemma (3x5+2) Assembled"
 }
-
diff --git a/keyboards/bastardkb/dilemma/3x5_2/info.json b/keyboards/bastardkb/dilemma/3x5_2/info.json
index 5aa89bcded..bbbecd7efa 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_2/info.json
@@ -6,40 +6,40 @@
     "layouts": {
         "LAYOUT_split_3x5_2": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"L30", "x":4, "y":3},
-                {"label":"L32", "x":5, "y":3},
-                {"label":"R32", "x":10, "y":3},
-                {"label":"R30", "x":11, "y":3}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "L30", "x": 4, "y": 3 },
+                { "label": "L32", "x": 5, "y": 3 },
+                { "label": "R32", "x": 10, "y": 3 },
+                { "label": "R30", "x": 11, "y": 3 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h
index fbe61df03b..5bfac4b6c5 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h
@@ -21,52 +21,6 @@
 #    define DYNAMIC_KEYMAP_LAYER_COUNT 6
 #endif // VIA_ENABLE
 
-/* Disable unused features. */
-#define NO_ACTION_ONESHOT
-
-#ifndef TAPPING_TERM
-/**
- * \brief Configure the global tapping term (default: 200ms).
- *
- * If you have a lot of accidental mod activations, crank up the tapping term.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
- */
-#    define TAPPING_TERM 200
-#endif // TAPPING_TERM
-
-/**
- * \brief Enable rapid switch from tap to hold.
- *
- * Note that a side-effect of this setting is to disable auto-repeat when
- * pressing key twice, except for one-shot keys.
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
- */
-#define TAPPING_FORCE_HOLD
-
-/*
- * Tap-or-Hold decision modes.
- *
- * Note that the following flags behave differently when combined (ie. when 2 or
- * more are enabled).
- *
- * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
- * decision modes.
- */
-
-/**
- * \brief Faster tap-hold trigger.
- *
- * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
- *   Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
- * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
- *   Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
- */
-#define PERMISSIVE_HOLD
-
 /**
  * \brief Prevent normal rollover on alphas from accidentally triggering mods.
  *
@@ -76,8 +30,6 @@
  *   Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e
  * With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
  *   Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae
- *
- * See docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
  */
 #define IGNORE_MOD_TAP_INTERRUPT
 
diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json
index 2c1a68888b..777367903d 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_3/info.json
@@ -42,7 +42,7 @@
                 { "label": "L34", "x": 6, "y": 3 },
                 { "label": "R32", "x": 11, "y": 3 },
                 { "label": "R33", "x": 10, "y": 3 },
-                { "label": "R34", "x":  9, "y": 3 }
+                { "label": "R34", "x": 9, "y": 3 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/dilemma/info.json b/keyboards/bastardkb/dilemma/info.json
index 989d66a177..ef6a5dd42d 100644
--- a/keyboards/bastardkb/dilemma/info.json
+++ b/keyboards/bastardkb/dilemma/info.json
@@ -1,3 +1,3 @@
 {
-    "url": "https://bastardkb.com/dilemma",
+    "url": "https://bastardkb.com/dilemma"
 }
diff --git a/keyboards/bastardkb/info.json b/keyboards/bastardkb/info.json
index 2791a78b77..0a9cb94fef 100644
--- a/keyboards/bastardkb/info.json
+++ b/keyboards/bastardkb/info.json
@@ -1,8 +1,8 @@
 {
-    "url": "https://bastardkb.com",
     "manufacturer": "Bastard Keyboards",
     "maintainer": "Quentin Lebastard",
+    "url": "https://bastardkb.com",
     "usb": {
-        "vid": "0xA8F8",
-    },
+        "vid": "0xA8F8"
+    }
 }
diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json
index 587cc2bc04..8e09212116 100644
--- a/keyboards/bastardkb/scylla/blackpill/info.json
+++ b/keyboards/bastardkb/scylla/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Scylla Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json
index 026b0f742e..d8120f5070 100644
--- a/keyboards/bastardkb/scylla/info.json
+++ b/keyboards/bastardkb/scylla/info.json
@@ -1,69 +1,69 @@
 {
     "url": "https://bastardkb.com/scylla",
     "usb": {
-        "pid": "0x1829",
+        "pid": "0x1829"
     },
     "layouts": {
         "LAYOUT_split_4x6_5": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"L05", "x":5, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"R05", "x":16, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"L15", "x":5, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"R15", "x":16, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"L25", "x":5, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"R25", "x":16, "y":2},
-                {"label":"L30", "x":0, "y":3},
-                {"label":"L31", "x":1, "y":3},
-                {"label":"L32", "x":2, "y":3},
-                {"label":"L33", "x":3, "y":3},
-                {"label":"L34", "x":4, "y":3},
-                {"label":"L35", "x":5, "y":3},
-                {"label":"R30", "x":11, "y":3},
-                {"label":"R31", "x":12, "y":3},
-                {"label":"R32", "x":13, "y":3},
-                {"label":"R33", "x":14, "y":3},
-                {"label":"R34", "x":15, "y":3},
-                {"label":"R35", "x":16, "y":3},
-                {"label":"L43", "x":5, "y":4},
-                {"label":"L44", "x":6, "y":4},
-                {"label":"L45", "x":7, "y":4},
-                {"label":"R40", "x":9, "y":4},
-                {"label":"R41", "x":10, "y":4},
-                {"label":"R40", "x":11, "y":4},
-                {"label":"L52", "x":6, "y":5},
-                {"label":"L53", "x":7, "y":5},
-                {"label":"R52", "x":9, "y":5},
-                {"label":"R53", "x":10, "y":5}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "L05", "x": 5, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "R05", "x": 16, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "L15", "x": 5, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "R15", "x": 16, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "L25", "x": 5, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "R25", "x": 16, "y": 2 },
+                { "label": "L30", "x": 0, "y": 3 },
+                { "label": "L31", "x": 1, "y": 3 },
+                { "label": "L32", "x": 2, "y": 3 },
+                { "label": "L33", "x": 3, "y": 3 },
+                { "label": "L34", "x": 4, "y": 3 },
+                { "label": "L35", "x": 5, "y": 3 },
+                { "label": "R30", "x": 11, "y": 3 },
+                { "label": "R31", "x": 12, "y": 3 },
+                { "label": "R32", "x": 13, "y": 3 },
+                { "label": "R33", "x": 14, "y": 3 },
+                { "label": "R34", "x": 15, "y": 3 },
+                { "label": "R35", "x": 16, "y": 3 },
+                { "label": "L43", "x": 5, "y": 4 },
+                { "label": "L44", "x": 6, "y": 4 },
+                { "label": "L45", "x": 7, "y": 4 },
+                { "label": "R40", "x": 9, "y": 4 },
+                { "label": "R41", "x": 10, "y": 4 },
+                { "label": "R40", "x": 11, "y": 4 },
+                { "label": "L52", "x": 6, "y": 5 },
+                { "label": "L53", "x": 7, "y": 5 },
+                { "label": "R52", "x": 9, "y": 5 },
+                { "label": "R53", "x": 10, "y": 5 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/scylla/scylla.c b/keyboards/bastardkb/scylla/scylla.c
index b110d7ff5a..504cb0a219 100644
--- a/keyboards/bastardkb/scylla/scylla.c
+++ b/keyboards/bastardkb/scylla/scylla.c
@@ -1,4 +1,4 @@
-/*
+/**
  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
@@ -17,6 +17,7 @@
 
 #include "scylla.h"
 
+// clang-format off
 #ifdef RGB_MATRIX_ENABLE
 led_config_t g_led_config = { {
     // left
@@ -59,3 +60,4 @@ led_config_t g_led_config = { {
     2, 2, 2, 2, 2
 } };
 #endif
+// clang-format on
diff --git a/keyboards/bastardkb/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json
index 57b36e1e2a..a4949aaf5f 100644
--- a/keyboards/bastardkb/scylla/v1/elitec/info.json
+++ b/keyboards/bastardkb/scylla/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Scylla Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/scylla/v2/elitec/info.json b/keyboards/bastardkb/scylla/v2/elitec/info.json
index 213bb9a79c..8488a2e337 100644
--- a/keyboards/bastardkb/scylla/v2/elitec/info.json
+++ b/keyboards/bastardkb/scylla/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Scylla Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/scylla/v2/splinky/config.h b/keyboards/bastardkb/scylla/v2/splinky/config.h
index 8bfd59d28c..1628340822 100644
--- a/keyboards/bastardkb/scylla/v2/splinky/config.h
+++ b/keyboards/bastardkb/scylla/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP29, GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
diff --git a/keyboards/bastardkb/scylla/v2/splinky/info.json b/keyboards/bastardkb/scylla/v2/splinky/info.json
index 614e22eefa..e6bcc6ca2f 100644
--- a/keyboards/bastardkb/scylla/v2/splinky/info.json
+++ b/keyboards/bastardkb/scylla/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Scylla Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/scylla/v2/splinky/v2/config.h b/keyboards/bastardkb/scylla/v2/splinky/v2/config.h
index be0e2fb959..8397b931c5 100644
--- a/keyboards/bastardkb/scylla/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/scylla/v2/splinky/v2/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/scylla/v2/splinky/v3/config.h b/keyboards/bastardkb/scylla/v2/splinky/v3/config.h
index 72f5c0ffa8..36b25dffff 100644
--- a/keyboards/bastardkb/scylla/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/scylla/v2/splinky/v3/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP27, GP28, GP21, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/scylla/v2/stemcell/info.json b/keyboards/bastardkb/scylla/v2/stemcell/info.json
index 46e33a828c..7963834a79 100644
--- a/keyboards/bastardkb/scylla/v2/stemcell/info.json
+++ b/keyboards/bastardkb/scylla/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Scylla STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/bastardkb/skeletyl/blackpill/info.json b/keyboards/bastardkb/skeletyl/blackpill/info.json
index 16106f2f82..2e0f758704 100644
--- a/keyboards/bastardkb/skeletyl/blackpill/info.json
+++ b/keyboards/bastardkb/skeletyl/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Skeletyl Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json
index 55f68dc9b2..799f630124 100644
--- a/keyboards/bastardkb/skeletyl/info.json
+++ b/keyboards/bastardkb/skeletyl/info.json
@@ -1,47 +1,47 @@
 {
     "url": "https://www.bastardkb.com/skeletyl",
     "usb": {
-        "pid": "0x1830",
+        "pid": "0x1830"
     },
     "layouts": {
         "LAYOUT_split_3x5_3": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"L33", "x":4, "y":3},
-                {"label":"L34", "x":5, "y":3},
-                {"label":"L31", "x":6, "y":3},
-                {"label":"R33", "x":9, "y":3},
-                {"label":"R34", "x":10, "y":3},
-                {"label":"R31", "x":11, "y":3}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "L33", "x": 4, "y": 3 },
+                { "label": "L34", "x": 5, "y": 3 },
+                { "label": "L31", "x": 6, "y": 3 },
+                { "label": "R33", "x": 9, "y": 3 },
+                { "label": "R34", "x": 10, "y": 3 },
+                { "label": "R31", "x": 11, "y": 3 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
index f784c9423d..0d20c14c3d 100644
--- a/keyboards/bastardkb/skeletyl/v1/elitec/info.json
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Skeletyl Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/skeletyl/v1/info.json b/keyboards/bastardkb/skeletyl/v1/info.json
index 2443086ddf..ad889c2304 100644
--- a/keyboards/bastardkb/skeletyl/v1/info.json
+++ b/keyboards/bastardkb/skeletyl/v1/info.json
@@ -1,5 +1,5 @@
 {
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/info.json b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
index 0b50c1faa1..b339ca877c 100644
--- a/keyboards/bastardkb/skeletyl/v2/elitec/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Skeletyl Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/config.h b/keyboards/bastardkb/skeletyl/v2/splinky/config.h
index c4e5b3ff90..b5539989b4 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky/config.h
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/info.json b/keyboards/bastardkb/skeletyl/v2/splinky/info.json
index b90334c78d..cdcf967c35 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Skeletyl Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/v2/config.h b/keyboards/bastardkb/skeletyl/v2/splinky/v2/config.h
index ac86fa83e6..825370337d 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/v2/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky/v3/config.h b/keyboards/bastardkb/skeletyl/v2/splinky/v3/config.h
index d78a36c97f..bb1de74d3c 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/skeletyl/v2/splinky/v3/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP28, GP21, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
index df805a6229..34e40c9b38 100644
--- a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "Skeletyl STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h
index b6bb634121..213cfebf89 100644
--- a/keyboards/bastardkb/tbk/config.h
+++ b/keyboards/bastardkb/tbk/config.h
@@ -16,7 +16,6 @@
  */
 
 #pragma once
-#include "config_common.h"
 
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 6
diff --git a/keyboards/bastardkb/tbk/info.json b/keyboards/bastardkb/tbk/info.json
index d25ccd5cf6..9529c1305b 100644
--- a/keyboards/bastardkb/tbk/info.json
+++ b/keyboards/bastardkb/tbk/info.json
@@ -2,70 +2,70 @@
     "keyboard_name": "The Bastard Keyboard",
     "url": "https://bastardkb.com/",
     "usb": {
-        "pid": "0x1828",
-        "device_version": "0.0.1"
+        "device_version": "0.0.1",
+        "pid": "0x1828"
     },
     "layouts": {
         "LAYOUT_split_4x6_5": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"L05", "x":5, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"R05", "x":16, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"L15", "x":5, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"R15", "x":16, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"L25", "x":5, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"R25", "x":16, "y":2},
-                {"label":"L30", "x":0, "y":3},
-                {"label":"L31", "x":1, "y":3},
-                {"label":"L32", "x":2, "y":3},
-                {"label":"L33", "x":3, "y":3},
-                {"label":"L34", "x":4, "y":3},
-                {"label":"L35", "x":5, "y":3},
-                {"label":"R30", "x":11, "y":3},
-                {"label":"R31", "x":12, "y":3},
-                {"label":"R32", "x":13, "y":3},
-                {"label":"R33", "x":14, "y":3},
-                {"label":"R34", "x":15, "y":3},
-                {"label":"R35", "x":16, "y":3},
-                {"label":"L43", "x":5, "y":4},
-                {"label":"L44", "x":6, "y":4},
-                {"label":"L45", "x":7, "y":4},
-                {"label":"R40", "x":9, "y":4},
-                {"label":"R41", "x":10, "y":4},
-                {"label":"R40", "x":11, "y":4},
-                {"label":"L52", "x":6, "y":5},
-                {"label":"L53", "x":7, "y":5},
-                {"label":"R52", "x":9, "y":5},
-                {"label":"R53", "x":10, "y":5}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "L05", "x": 5, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "R05", "x": 16, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "L15", "x": 5, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "R15", "x": 16, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "L25", "x": 5, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "R25", "x": 16, "y": 2 },
+                { "label": "L30", "x": 0, "y": 3 },
+                { "label": "L31", "x": 1, "y": 3 },
+                { "label": "L32", "x": 2, "y": 3 },
+                { "label": "L33", "x": 3, "y": 3 },
+                { "label": "L34", "x": 4, "y": 3 },
+                { "label": "L35", "x": 5, "y": 3 },
+                { "label": "R30", "x": 11, "y": 3 },
+                { "label": "R31", "x": 12, "y": 3 },
+                { "label": "R32", "x": 13, "y": 3 },
+                { "label": "R33", "x": 14, "y": 3 },
+                { "label": "R34", "x": 15, "y": 3 },
+                { "label": "R35", "x": 16, "y": 3 },
+                { "label": "L43", "x": 5, "y": 4 },
+                { "label": "L44", "x": 6, "y": 4 },
+                { "label": "L45", "x": 7, "y": 4 },
+                { "label": "R40", "x": 9, "y": 4 },
+                { "label": "R41", "x": 10, "y": 4 },
+                { "label": "R40", "x": 11, "y": 4 },
+                { "label": "L52", "x": 6, "y": 5 },
+                { "label": "L53", "x": 7, "y": 5 },
+                { "label": "R52", "x": 9, "y": 5 },
+                { "label": "R53", "x": 10, "y": 5 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/tbk/tbk.c b/keyboards/bastardkb/tbk/tbk.c
index dabfcf35c7..4cebec2a54 100644
--- a/keyboards/bastardkb/tbk/tbk.c
+++ b/keyboards/bastardkb/tbk/tbk.c
@@ -1,4 +1,4 @@
-/* 
+/**
  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
diff --git a/keyboards/bastardkb/tbk/tbk.h b/keyboards/bastardkb/tbk/tbk.h
index 196982952f..3f9cd9915d 100644
--- a/keyboards/bastardkb/tbk/tbk.h
+++ b/keyboards/bastardkb/tbk/tbk.h
@@ -1,4 +1,4 @@
-/* 
+/**
  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
@@ -17,26 +17,26 @@
 
 
 #pragma once
-#include "quantum.h"
 
-// SWITCHED 91 and 95 - check on left ?
+// clang-format off
 #define LAYOUT_split_4x6_5( \
-	k00, k01, k02, k03, k04, k05,			k55, k54, k53, k52, k51, k50, \
-	k10, k11, k12, k13, k14, k15,			k65, k64, k63, k62, k61, k60, \
-	k20, k21, k22, k23, k24, k25,			k75, k74, k73, k72, k71, k70, \
-	k30, k31, k32, k33, k34, k35,			k85, k84, k83, k82, k81, k80, \
-		       k43, k44, k41,		        k91, k94, k93, \
-		            k45, k42,                   k92, k95 \
-)\
-{\
-	{ k00, k01, k02, k03, k04, k05 }, \
-	{ k10, k11, k12, k13, k14, k15 }, \
-	{ k20, k21, k22, k23, k24, k25 }, \
-	{ k30, k31, k32, k33, k34, k35 }, \
-	{ KC_NO, k41, k42, k43, k44, k45 }, \
-	{ k50, k51, k52, k53, k54, k55 }, \
-	{ k60, k61, k62, k63, k64, k65 }, \
-	{ k70, k71, k72, k73, k74, k75 }, \
-	{ k80, k81, k82, k83, k84, k85 }, \
-	{ KC_NO, k91, k92, k93, k94, k95 }, \
+    k00, k01, k02, k03, k04, k05,            k55, k54, k53, k52, k51, k50, \
+    k10, k11, k12, k13, k14, k15,            k65, k64, k63, k62, k61, k60, \
+    k20, k21, k22, k23, k24, k25,            k75, k74, k73, k72, k71, k70, \
+    k30, k31, k32, k33, k34, k35,            k85, k84, k83, k82, k81, k80, \
+                   k43, k44, k41,            k91, k94, k93, \
+                        k45, k42,            k92, k95 \
+) \
+{ \
+    {   k00, k01, k02, k03, k04, k05 }, \
+    {   k10, k11, k12, k13, k14, k15 }, \
+    {   k20, k21, k22, k23, k24, k25 }, \
+    {   k30, k31, k32, k33, k34, k35 }, \
+    { KC_NO, k41, k42, k43, k44, k45 }, \
+    {   k50, k51, k52, k53, k54, k55 }, \
+    {   k60, k61, k62, k63, k64, k65 }, \
+    {   k70, k71, k72, k73, k74, k75 }, \
+    {   k80, k81, k82, k83, k84, k85 }, \
+    { KC_NO, k91, k92, k93, k94, k95 }, \
 }
+// clang-format on
diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json
index d4f15e44f1..24664f13ef 100644
--- a/keyboards/bastardkb/tbkmini/blackpill/info.json
+++ b/keyboards/bastardkb/tbkmini/blackpill/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "TBK Mini Blackpill",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json
index 4233599432..cb4d3378bc 100644
--- a/keyboards/bastardkb/tbkmini/info.json
+++ b/keyboards/bastardkb/tbkmini/info.json
@@ -1,53 +1,53 @@
 {
     "url": "https://www.bastardkb.com/tbk-mini",
     "usb": {
-        "pid": "0x1828",
+        "pid": "0x1828"
     },
     "layouts": {
         "LAYOUT_split_3x6_3": {
             "layout": [
-                {"label":"L00", "x":0, "y":0},
-                {"label":"L01", "x":1, "y":0},
-                {"label":"L02", "x":2, "y":0},
-                {"label":"L03", "x":3, "y":0},
-                {"label":"L04", "x":4, "y":0},
-                {"label":"L05", "x":5, "y":0},
-                {"label":"R00", "x":11, "y":0},
-                {"label":"R01", "x":12, "y":0},
-                {"label":"R02", "x":13, "y":0},
-                {"label":"R03", "x":14, "y":0},
-                {"label":"R04", "x":15, "y":0},
-                {"label":"R05", "x":16, "y":0},
-                {"label":"L10", "x":0, "y":1},
-                {"label":"L11", "x":1, "y":1},
-                {"label":"L12", "x":2, "y":1},
-                {"label":"L13", "x":3, "y":1},
-                {"label":"L14", "x":4, "y":1},
-                {"label":"L15", "x":5, "y":1},
-                {"label":"R10", "x":11, "y":1},
-                {"label":"R11", "x":12, "y":1},
-                {"label":"R12", "x":13, "y":1},
-                {"label":"R13", "x":14, "y":1},
-                {"label":"R14", "x":15, "y":1},
-                {"label":"R15", "x":16, "y":1},
-                {"label":"L20", "x":0, "y":2},
-                {"label":"L21", "x":1, "y":2},
-                {"label":"L22", "x":2, "y":2},
-                {"label":"L23", "x":3, "y":2},
-                {"label":"L24", "x":4, "y":2},
-                {"label":"L25", "x":5, "y":2},
-                {"label":"R20", "x":11, "y":2},
-                {"label":"R21", "x":12, "y":2},
-                {"label":"R22", "x":13, "y":2},
-                {"label":"R23", "x":14, "y":2},
-                {"label":"R24", "x":15, "y":2},
-                {"label":"R25", "x":16, "y":2},
-                {"label":"L33", "x":5, "y":3},
-                {"label":"L34", "x":6, "y":3},
-                {"label":"L31", "x":7, "y":3},
-                {"label":"R33", "x":9, "y":3},
-                {"label":"R34", "x":10, "y":3},
-                {"label":"R31", "x":11, "y":3}
+                { "label": "L00", "x": 0, "y": 0 },
+                { "label": "L01", "x": 1, "y": 0 },
+                { "label": "L02", "x": 2, "y": 0 },
+                { "label": "L03", "x": 3, "y": 0 },
+                { "label": "L04", "x": 4, "y": 0 },
+                { "label": "L05", "x": 5, "y": 0 },
+                { "label": "R00", "x": 11, "y": 0 },
+                { "label": "R01", "x": 12, "y": 0 },
+                { "label": "R02", "x": 13, "y": 0 },
+                { "label": "R03", "x": 14, "y": 0 },
+                { "label": "R04", "x": 15, "y": 0 },
+                { "label": "R05", "x": 16, "y": 0 },
+                { "label": "L10", "x": 0, "y": 1 },
+                { "label": "L11", "x": 1, "y": 1 },
+                { "label": "L12", "x": 2, "y": 1 },
+                { "label": "L13", "x": 3, "y": 1 },
+                { "label": "L14", "x": 4, "y": 1 },
+                { "label": "L15", "x": 5, "y": 1 },
+                { "label": "R10", "x": 11, "y": 1 },
+                { "label": "R11", "x": 12, "y": 1 },
+                { "label": "R12", "x": 13, "y": 1 },
+                { "label": "R13", "x": 14, "y": 1 },
+                { "label": "R14", "x": 15, "y": 1 },
+                { "label": "R15", "x": 16, "y": 1 },
+                { "label": "L20", "x": 0, "y": 2 },
+                { "label": "L21", "x": 1, "y": 2 },
+                { "label": "L22", "x": 2, "y": 2 },
+                { "label": "L23", "x": 3, "y": 2 },
+                { "label": "L24", "x": 4, "y": 2 },
+                { "label": "L25", "x": 5, "y": 2 },
+                { "label": "R20", "x": 11, "y": 2 },
+                { "label": "R21", "x": 12, "y": 2 },
+                { "label": "R22", "x": 13, "y": 2 },
+                { "label": "R23", "x": 14, "y": 2 },
+                { "label": "R24", "x": 15, "y": 2 },
+                { "label": "R25", "x": 16, "y": 2 },
+                { "label": "L33", "x": 5, "y": 3 },
+                { "label": "L34", "x": 6, "y": 3 },
+                { "label": "L31", "x": 7, "y": 3 },
+                { "label": "R33", "x": 9, "y": 3 },
+                { "label": "R34", "x": 10, "y": 3 },
+                { "label": "R31", "x": 11, "y": 3 }
             ]
         }
     }
diff --git a/keyboards/bastardkb/tbkmini/tbkmini.c b/keyboards/bastardkb/tbkmini/tbkmini.c
index 7bbd374c01..34b42951a0 100644
--- a/keyboards/bastardkb/tbkmini/tbkmini.c
+++ b/keyboards/bastardkb/tbkmini/tbkmini.c
@@ -1,4 +1,4 @@
-/*
+/**
  * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
@@ -17,6 +17,7 @@
 
 #include "tbkmini.h"
 
+// clang-format off
 #ifdef RGB_MATRIX_ENABLE
 led_config_t g_led_config = { {
     // left
@@ -57,3 +58,4 @@ led_config_t g_led_config = { {
     2, 2, 2
 } };
 #endif
+// clang-format on
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
index 83a9e799e1..f9ebb18069 100644
--- a/keyboards/bastardkb/tbkmini/v1/elitec/info.json
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "TBK Mini Elite-C",
     "usb": {
-      "device_version": "1.0.0",
-    },
+        "device_version": "1.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
index 50cfe860dd..a0ef2767f9 100644
--- a/keyboards/bastardkb/tbkmini/v2/elitec/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "TBK Mini Elite-C",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
index c4e5b3ff90..b5539989b4 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky/config.h
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/config.h
@@ -21,14 +21,6 @@
 #define MATRIX_ROW_PINS \
     { GP26, GP5, GP4, GP9 }
 
-/* Handedness. */
-#define MASTER_RIGHT
-
-// To use the handedness pin, resistors need to be installed on the adapter PCB.
-// If so, uncomment the following code, and undefine MASTER_RIGHT above.
-// #define SPLIT_HAND_PIN GP13
-// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
-
 /* serial.c configuration (for split keyboard). */
 #define SOFT_SERIAL_PIN GP1
 
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/info.json b/keyboards/bastardkb/tbkmini/v2/splinky/info.json
index ca66bceeff..b0b05fba8a 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "TBK Mini Splinky",
     "usb": {
-      "device_version": "2.0.0",
-    },
+        "device_version": "2.0.0"
+    }
 }
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h
index be0e2fb959..8397b931c5 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/v2/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP27, GP28, GP15, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP13
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h b/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h
index 72f5c0ffa8..36b25dffff 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h
+++ b/keyboards/bastardkb/tbkmini/v2/splinky/v3/config.h
@@ -20,3 +20,11 @@
 /* Key matrix configuration. */
 #define MATRIX_COL_PINS \
     { GP27, GP28, GP21, GP6, GP7, GP8 }
+
+/* Handedness. */
+#define MASTER_RIGHT
+
+// To use the handedness pin, resistors need to be installed on the adapter PCB.
+// If so, uncomment the following code, and undefine MASTER_RIGHT above.
+// #define SPLIT_HAND_PIN GP15
+// #define SPLIT_HAND_PIN_LOW_IS_LEFT  // High -> right, Low -> left.
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
index b56c455ae3..7595dab436 100644
--- a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
@@ -1,6 +1,6 @@
 {
     "keyboard_name": "TBK Mini STeMCell",
     "usb": {
-      "device_version": "2.0.0"
+        "device_version": "2.0.0"
     }
 }
diff --git a/keyboards/dztech/og60/info.json b/keyboards/dztech/og60/info.json
new file mode 100644
index 0000000000..6da1094cd1
--- /dev/null
+++ b/keyboards/dztech/og60/info.json
@@ -0,0 +1,426 @@
+{
+    "manufacturer": "KBDFans",
+    "keyboard_name": "Og60",
+    "maintainer": "moyi4681",
+    "bootloader": "rp2040",
+    "diode_direction": "COL2ROW",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
+    "indicators": {
+        "caps_lock": "GP28",
+        "on_state": 1
+    },
+    "matrix_pins": {
+        "cols": ["GP2", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP18", "GP19", "GP20", "GP21", "GP22", "GP23"],
+        "rows": ["GP4", "GP3", "GP17", "GP24", "GP25"]
+    },
+    "processor": "RP2040",
+    "usb": {
+        "device_version": "0.0.1",
+        "pid": "0x6071",
+        "vid": "0x4B42"
+    },
+    "layouts": {
+        "LAYOUT_60_ansi": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Backspace", "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+                { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
+                { "label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 },
+                { "label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+            ]
+        },
+        "LAYOUT_60_hhkb": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Del", "matrix": [0, 13], "w": 1, "x": 13, "y": 0 },
+                { "label": "Backspace", "matrix": [2, 12], "w": 1, "x": 14, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
+                { "label": "Fn", "matrix": [3, 13], "w": 1, "x": 14, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+                { "label": "Alt", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 }
+            ]
+        },
+        "LAYOUT_60_iso": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Backspace", "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "h": 2, "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "@", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "~", "matrix": [1, 13], "w": 1, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+                { "label": "|", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+                { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+                { "label": "AltGr", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
+                { "label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 },
+                { "label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+            ]
+        },
+        "LAYOUT_60_tsangan": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Backspace", "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
+                { "label": "Fn", "matrix": [3, 13], "w": 1, "x": 14, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+                { "label": "Win", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+                { "label": "Alt", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
+                { "label": "Win", "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+            ]
+        },
+        "LAYOUT_60_tsangan_hhkb": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Del", "matrix": [0, 13], "w": 1, "x": 13, "y": 0 },
+                { "label": "Backspace", "matrix": [2, 12], "w": 1, "x": 14, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
+                { "label": "Fn", "matrix": [3, 13], "w": 1, "x": 14, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+                { "label": "Win", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+                { "label": "Alt", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
+                { "label": "Win", "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+            ]
+        },
+        "LAYOUT_all": {
+            "layout": [
+                { "label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+                { "label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+                { "label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+                { "label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+                { "label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+                { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+                { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+                { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+                { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+                { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+                { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+                { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+                { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+                { "label": "Del", "matrix": [2, 12], "w": 1, "x": 13, "y": 0 },
+                { "label": "Backspace", "matrix": [0, 13], "w": 1, "x": 14, "y": 0 },
+                { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+                { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+                { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+                { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+                { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+                { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+                { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+                { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+                { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+                { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+                { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+                { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+                { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+                { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+                { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+                { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+                { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+                { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+                { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+                { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+                { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+                { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+                { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+                { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+                { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+                { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+                { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+                { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+                { "label": "|", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+                { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+                { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+                { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+                { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+                { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+                { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+                { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+                { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+                { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+                { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+                { "label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
+                { "label": "Fn", "matrix": [3, 13], "w": 1, "x": 14, "y": 3 },
+                { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+                { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+                { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+                { "label": "K47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
+                { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
+                { "label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 },
+                { "label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
+                { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }
+            ]
+        }
+    }
+}
+
diff --git a/keyboards/dztech/og60/keymaps/default/keymap.c b/keyboards/dztech/og60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..0bf690aab0
--- /dev/null
+++ b/keyboards/dztech/og60/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 DZTECH <moyi4681@Live.cn>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT_all(
+        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_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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+    [1] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+    [2] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+     [3] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+};
+
+
diff --git a/keyboards/dztech/og60/keymaps/via/keymap.c b/keyboards/dztech/og60/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0bf690aab0
--- /dev/null
+++ b/keyboards/dztech/og60/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2022 DZTECH <moyi4681@Live.cn>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT_all(
+        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_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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+    [1] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+    [2] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+     [3] = LAYOUT_all(
+        QK_GESC, 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_BSPC, KC_DEL,
+        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_NUHS,
+        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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_INS,
+        KC_LCTL, KC_LGUI, KC_LALT,                                     KC_SPC,                    KC_RALT, KC_APP,  KC_RGUI, KC_RCTL
+    ),
+};
+
+
diff --git a/keyboards/dztech/og60/keymaps/via/rules.mk b/keyboards/dztech/og60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/dztech/og60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/dztech/og60/readme.md b/keyboards/dztech/og60/readme.md
new file mode 100644
index 0000000000..07d6e6a658
--- /dev/null
+++ b/keyboards/dztech/og60/readme.md
@@ -0,0 +1,22 @@
+# OG60
+A customizable 60% HotSwap keyboard.
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: OG60
+* Hardware Availability: [KBDfans](https://kbdfans.com/)
+
+## Bootloader mode
+
+Enter the bootloader in 3 ways:
+
+* Bootmagic reset: Hold down the left top key then plug in the USB cable.
+* Physical reset button: Double tap the reset button.
+* Keycode in layout: Press the key mapped to QK_BOOT if it is available.
+
+## Making firmware
+
+Make example for this keyboard (after setting up your build environment):
+
+    make dztech/og60: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).
diff --git a/keyboards/dztech/og60/rules.mk b/keyboards/dztech/og60/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/sofle/keymaps/default/keymap.c b/keyboards/sofle/keymaps/default/keymap.c
index 2fc27b816d..377b4498e6 100644
--- a/keyboards/sofle/keymaps/default/keymap.c
+++ b/keyboards/sofle/keymaps/default/keymap.c
@@ -12,9 +12,6 @@ enum sofle_layers {
 enum custom_keycodes {
     KC_QWERTY = SAFE_RANGE,
     KC_COLEMAK,
-    KC_LOWER,
-    KC_RAISE,
-    KC_ADJUST,
     KC_PRVWD,
     KC_NXTWD,
     KC_LSTRT,
@@ -45,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_ESC,   KC_Q,   KC_W,    KC_E,    KC_R,    KC_T,                     KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,  KC_BSPC,
   KC_TAB,   KC_A,   KC_S,    KC_D,    KC_F,    KC_G,                     KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN,  KC_QUOT,
   KC_LSFT,  KC_Z,   KC_X,    KC_C,    KC_V,    KC_B, KC_MUTE,     XXXXXXX,KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,  KC_RSFT,
-                 KC_LGUI,KC_LALT,KC_LCTL, KC_LOWER, KC_ENT,      KC_SPC,  KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
+                 KC_LGUI,KC_LALT,KC_LCTL, MO(_LOWER), KC_ENT,      KC_SPC,  MO(_RAISE), KC_RCTL, KC_RALT, KC_RGUI
 ),
 /*
  * COLEMAK
@@ -68,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_ESC,   KC_Q,   KC_W,    KC_F,    KC_P,    KC_G,                      KC_J,    KC_L,    KC_U,    KC_Y, KC_SCLN,  KC_BSPC,
   KC_TAB,   KC_A,   KC_R,    KC_S,    KC_T,    KC_D,                      KC_H,    KC_N,    KC_E,    KC_I,    KC_O,  KC_QUOT,
   KC_LSFT,  KC_Z,   KC_X,    KC_C,    KC_V,    KC_B, KC_MUTE,      XXXXXXX,KC_K,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,  KC_RSFT,
-                 KC_LGUI,KC_LALT,KC_LCTL,KC_LOWER, KC_ENT,      KC_SPC,  KC_RAISE, KC_RCTL, KC_RALT, KC_RGUI
+                 KC_LGUI,KC_LALT,KC_LCTL,MO(_LOWER), KC_ENT,        KC_SPC,  MO(_RAISE), KC_RCTL, KC_RALT, KC_RGUI
 ),
 /* LOWER
  * ,-----------------------------------------.                    ,-----------------------------------------.
@@ -211,6 +208,10 @@ bool oled_task_user(void) {
 
 #endif
 
+layer_state_t layer_state_set_user(layer_state_t state) {
+    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
         case KC_QWERTY:
@@ -223,31 +224,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
                 set_single_persistent_default_layer(_COLEMAK);
             }
             return false;
-        case KC_LOWER:
-            if (record->event.pressed) {
-                layer_on(_LOWER);
-                update_tri_layer(_LOWER, _RAISE, _ADJUST);
-            } else {
-                layer_off(_LOWER);
-                update_tri_layer(_LOWER, _RAISE, _ADJUST);
-            }
-            return false;
-        case KC_RAISE:
-            if (record->event.pressed) {
-                layer_on(_RAISE);
-                update_tri_layer(_LOWER, _RAISE, _ADJUST);
-            } else {
-                layer_off(_RAISE);
-                update_tri_layer(_LOWER, _RAISE, _ADJUST);
-            }
-            return false;
-        case KC_ADJUST:
-            if (record->event.pressed) {
-                layer_on(_ADJUST);
-            } else {
-                layer_off(_ADJUST);
-            }
-            return false;
         case KC_PRVWD:
             if (record->event.pressed) {
                 if (keymap_config.swap_lctl_lgui) {