diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index 31fa9ed36e3b..42a57aec19c4 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -741,3 +741,42 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
}
}
```
+
+#### Examples :id=indicator-examples
+
+This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver).
+
+```c
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ HSV hsv = {0, 255, 255};
+
+ if (layer_state_is(layer_state, 2)) {
+ hsv = {130, 255, 255};
+ } else {
+ hsv = {30, 255, 255};
+ }
+
+ if (hsv.v > rgb_matrix_get_val()) {
+ hsv.v = rgb_matrix_get_val();
+ }
+ RGB rgb = hsv_to_rgb(hsv);
+
+ for (uint8_t i = led_min; i <= led_max; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], 0x01)) { // 0x01 == LED_FLAG_MODIFIER
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ }
+}
+```
+
+If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key:
+
+```c
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0);
+ }
+}
+```
diff --git a/keyboards/kprepublic/bm16a/readme.md b/keyboards/kprepublic/bm16a/readme.md
index 8d43b7014d03..b1c111b74bc3 100644
--- a/keyboards/kprepublic/bm16a/readme.md
+++ b/keyboards/kprepublic/bm16a/readme.md
@@ -4,12 +4,12 @@
A 16 key macropad, with USB C, RGB underglow and backlight.
-Keyboard Maintainer: QMK Community
-Hardware Supported: The PCBs, controllers supported
-Hardware Availability: [KPrepublic](https://kprepublic.com/products/bm16a-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx); [AliExpress](https://www.aliexpress.com/store/product/bm16a-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom/3034003_32970629907.html)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: The PCBs, controllers supported
+* Hardware Availability: [KPrepublic](https://kprepublic.com/products/bm16a-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx); [AliExpress](https://www.aliexpress.com/store/product/bm16a-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom/3034003_32970629907.html)
Make example for this keyboard (after setting up your build environment):
- make bm16a:default
+ make kprepublic/bm16a: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/kprepublic/bm16s/readme.md b/keyboards/kprepublic/bm16s/readme.md
index 097a38008031..6a887e553ae1 100644
--- a/keyboards/kprepublic/bm16s/readme.md
+++ b/keyboards/kprepublic/bm16s/readme.md
@@ -2,12 +2,12 @@
A 16-key macropad, with USB C and per-key RGB backlighting. This is a variant of the BM16A, but with low profile Choc switches.
-Keyboard Maintainer: QMK Community
-Hardware Supported: The PCBs, controllers supported
-Hardware Availability: [KPrepublic](https://kprepublic.com/collections/pcb/products/bm16s-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch-leds-choc-switch); [AliExpress](https://www.aliexpress.com/item/bm16s-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch/32999247908.html); [Massdrop](https://www.massdrop.com/buy/78169)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: The PCBs, controllers supported
+* Hardware Availability: [KPrepublic](https://kprepublic.com/collections/pcb/products/bm16s-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch-leds-choc-switch); [AliExpress](https://www.aliexpress.com/item/bm16s-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch/32999247908.html); [Massdrop](https://www.massdrop.com/buy/78169)
Make example for this keyboard (after setting up your build environment):
- make bm16s:default
+ make kprepublic/bm16s: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/kprepublic/bm40hsrgb/readme.md b/keyboards/kprepublic/bm40hsrgb/readme.md
index a2448f9571da..609b3c418494 100644
--- a/keyboards/kprepublic/bm40hsrgb/readme.md
+++ b/keyboards/kprepublic/bm40hsrgb/readme.md
@@ -12,10 +12,10 @@ This firmware was originally taken from a kbfirmware.json and manually converted
Make example for this keyboard (after setting up your build environment):
- make bm40hsrgb:default
+ make kprepublic/bm40hsrgb:default
Flashing example for this keyboard:
- make bm40hsrgb:default:flash
+ make kprepublic/bm40hsrgb:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kprepublic/bm43a/readme.md b/keyboards/kprepublic/bm43a/readme.md
index ee5c173338f1..6be28a7ef3da 100644
--- a/keyboards/kprepublic/bm43a/readme.md
+++ b/keyboards/kprepublic/bm43a/readme.md
@@ -4,13 +4,12 @@ A 40% mechanical keyboard.
This firmware was originally taken from a kbfirmware.json and converted through [kbf_qmk_converter](https://noroadsleft.github.io/kbf_qmk_converter/). You may find the original `.json` files [here](https://drive.google.com/drive/folders/11DowBYrFN_uCNa9Q9bXwuMn91vmZYBcG).
-
-Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
-Hardware Supported: bm43a PCB
-Hardware Availability: [KPRepublic](https://kprepublic.com/products/bm43a-bm43-43-keys-40-custom-mechanical-keyboard-pcb-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx)
+* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
+* Hardware Supported: bm43a PCB
+* Hardware Availability: [KPRepublic](https://kprepublic.com/products/bm43a-bm43-43-keys-40-custom-mechanical-keyboard-pcb-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx)
Make example for this keyboard (after setting up your build environment):
- make bm43a:default
+ make kprepublic/bm43a: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/kprepublic/bm60poker/readme.md b/keyboards/kprepublic/bm60poker/readme.md
index 62dde405c469..b276a15555e8 100644
--- a/keyboards/kprepublic/bm60poker/readme.md
+++ b/keyboards/kprepublic/bm60poker/readme.md
@@ -8,8 +8,6 @@ A 60% hotswap inswitch RGB (north facing) keyboard from KP Republic.
Make example for this keyboard (after setting up your build environment):
- make bm60poker:default
+ make kprepublic/bm60poker: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).
-
-Video tutorials for customizing the layout: [QMK Tutorials](https://www.youtube.com/playlist?list=PLZlceRZZjRugJFL-vnenYnDrbMc6wu_e_) - By MechMerlin
diff --git a/keyboards/kprepublic/bm60rgb/readme.md b/keyboards/kprepublic/bm60rgb/readme.md
index dc093c7b40ad..d0d5ff1a41fb 100644
--- a/keyboards/kprepublic/bm60rgb/readme.md
+++ b/keyboards/kprepublic/bm60rgb/readme.md
@@ -8,6 +8,6 @@ A 60% hotswap inswitch RGB keyboard from KP Republic.
Make example for this keyboard (after setting up your build environment):
- make bm60rgb:default
+ make kprepublic/bm60rgb: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/kprepublic/bm60rgb_iso/readme.md b/keyboards/kprepublic/bm60rgb_iso/readme.md
index 8ae86e4a6fc4..fec112650efa 100644
--- a/keyboards/kprepublic/bm60rgb_iso/readme.md
+++ b/keyboards/kprepublic/bm60rgb_iso/readme.md
@@ -10,10 +10,10 @@ A 60% ISO hotswap inswitch RGB keyboard.
Make example for this keyboard (after setting up your build environment):
- make bm60rgb_iso:default
+ make kprepublic/bm60rgb_iso:default
Flashing example for this keyboard:
- make bm60rgb_iso:default:flash
+ make kprepublic/bm60rgb_iso:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kprepublic/bm65iso/readme.md b/keyboards/kprepublic/bm65iso/readme.md
index 5b6083ba479f..466a0341a28e 100644
--- a/keyboards/kprepublic/bm65iso/readme.md
+++ b/keyboards/kprepublic/bm65iso/readme.md
@@ -10,11 +10,11 @@ A 65% hotswap in switch RGB keyboard from KPRepublic.
Make example for this keyboard (after setting up your build environment):
- make bm65iso:default
+ make kprepublic/bm65iso:default
Flashing example for this keyboard:
- make bm65iso:default:flash
+ make kprepublic/bm65iso:default:flash
To reset the board into bootloader mode, do one of the following:
diff --git a/keyboards/kprepublic/bm68rgb/readme.md b/keyboards/kprepublic/bm68rgb/readme.md
index 4087fd8664e5..f09efb1ab635 100644
--- a/keyboards/kprepublic/bm68rgb/readme.md
+++ b/keyboards/kprepublic/bm68rgb/readme.md
@@ -10,11 +10,11 @@ A 65% hotswap in switch RGB keyboard from KPRepublic.
Make example for this keyboard (after setting up your build environment):
- make bm68rgb:default
+ make kprepublic/bm68rgb:default
Flashing example for this keyboard:
- make bm68rgb:default:flash
+ make kprepublic/bm68rgb:default:flash
To reset the board into bootloader mode, do one of the following:
diff --git a/keyboards/kprepublic/cospad/readme.md b/keyboards/kprepublic/cospad/readme.md
index 9bb3dfdc0ee2..70f9658cfccf 100644
--- a/keyboards/kprepublic/cospad/readme.md
+++ b/keyboards/kprepublic/cospad/readme.md
@@ -13,6 +13,6 @@ Supported Layouts:
Make example for this keyboard (after setting up your build environment):
- make cospad:default
+ make kprepublic/cospad: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/kprepublic/jj40/readme.md b/keyboards/kprepublic/jj40/readme.md
index 5f4d2c8a99d1..06ca2e657ee7 100644
--- a/keyboards/kprepublic/jj40/readme.md
+++ b/keyboards/kprepublic/jj40/readme.md
@@ -10,11 +10,11 @@ A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress.
Make example for this keyboard (after setting up your build environment):
- make jj40:default
+ make kprepublic/jj40:default
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
- make jj40:default:flash
+ make kprepublic/jj40:default:flash
**Reset Key**: Hold down the *Top Right Key* key, commonly programmed as *Backspace* while plugging in the keyboard.
diff --git a/keyboards/kprepublic/jj4x4/readme.md b/keyboards/kprepublic/jj4x4/readme.md
index 714e8e88f7f6..b6e58661682b 100644
--- a/keyboards/kprepublic/jj4x4/readme.md
+++ b/keyboards/kprepublic/jj4x4/readme.md
@@ -10,11 +10,11 @@ A 4x4 keypad kit made and KPRepublic on AliExpress. This is a chopped off versio
Make example for this keyboard (after setting up your build environment):
- make jj4x4:default
+ make kprepublic/jj4x4:default
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
- make jj4x4:default:flash
+ make kprepublic/jj4x4:default:flash
**Reset Key**:
diff --git a/keyboards/kprepublic/jj50/readme.md b/keyboards/kprepublic/jj50/readme.md
index 9719f01ecac1..c34b5d8eebad 100644
--- a/keyboards/kprepublic/jj50/readme.md
+++ b/keyboards/kprepublic/jj50/readme.md
@@ -10,11 +10,11 @@ A compact 50% (5x12) ortholinear keyboard made and sold by KPrepublic.
Make example for this keyboard (after setting up your build environment):
- make jj50:default
+ make kprepublic/jj50:default
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
- make jj50:default:flash
+ make kprepublic/jj50:default:flash
**Reset Key**: Hold down the key `Backspace` (`Key below the top right key`) while plugging in the keyboard.
diff --git a/keyboards/ktec/daisy/readme.md b/keyboards/ktec/daisy/readme.md
index a8a93bf79127..b6a8e6012873 100644
--- a/keyboards/ktec/daisy/readme.md
+++ b/keyboards/ktec/daisy/readme.md
@@ -10,6 +10,6 @@ A 40% keyboard kit sold by KPrepublic.
Make example for this keyboard (after setting up your build environment):
- make daisy:default
+ make ktec/daisy: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/ktec/ergodone/readme.md b/keyboards/ktec/ergodone/readme.md
index 82c1043dad21..7998a274f03d 100644
--- a/keyboards/ktec/ergodone/readme.md
+++ b/keyboards/ktec/ergodone/readme.md
@@ -1,5 +1,4 @@
-ErgoDone
-========
+# ErgoDone

@@ -12,17 +11,13 @@ The ErgoDone is a modified version of the ErgoDox, made by K.T.E.C., with pre-so
- [AliExpress](https://www.aliexpress.com/store/product/ergodone-Custom-Mechanical-Keyboard-TKG-TOOLS-PCB-programmed-Ergonomic-Keyboard-Kit-similar-with-infinity-ergodox/3034003_32830050940.html)
- [KBDfans](https://kbdfans.myshopify.com/collections/pcb/products/ergodone-keyboard-pcb-1pcs-free-shipping)
-# Building the firmware
+Make example for this keyboard (after setting up your build environment):
-[Install the build tools.](https://docs.qmk.fm/#/getting_started_build_tools)
+ make ktec/ergodone:default
-In the root directory of the repository, build the firmware with a command like:
+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).
- make ergodone:default
-
-For more information on the layout option and other ones, see the [`make` guide](https://docs.qmk.fm/#/getting_started_make_guide).
-
-# Flashing the firmware onto the keyboard
+## Flashing the firmware onto the keyboard
The ErgoDone uses a customized HID bootloader rather than the Teensy one. It doesn't need an OS driver, and the required actions before flashing are a little different than with an ErgoDox.
diff --git a/keyboards/ktec/staryu/readme.md b/keyboards/ktec/staryu/readme.md
index 1b2f9e8f531c..f0d019de23fd 100644
--- a/keyboards/ktec/staryu/readme.md
+++ b/keyboards/ktec/staryu/readme.md
@@ -4,12 +4,12 @@
A 5 key macropad, designed by Kai and sold by KPRepublic.
-Keyboard Maintainer: QMK Community
-Hardware Supported: Staryu (only the non-lite version has been tested)
-Hardware Availability: [AliExpress](https://www.aliexpress.com/item/Staryu-Mini-Macro-Pad-custom-keyboard-by-tkg-kai-Mini-macro-pad-mechanical-keyboard-5-keys/32817560746.html)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: Staryu (only the non-lite version has been tested)
+* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/Staryu-Mini-Macro-Pad-custom-keyboard-by-tkg-kai-Mini-macro-pad-mechanical-keyboard-5-keys/32817560746.html)
Make example for this keyboard (after setting up your build environment):
- make staryu:default
+ make ktec/staryu:default
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/lazydesigners/cassette8/cassette8.c b/keyboards/lazydesigners/cassette8/cassette8.c
new file mode 100755
index 000000000000..a36de6d7a638
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/cassette8.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 LAZYDESIGNERS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "cassette8.h"
diff --git a/keyboards/lazydesigners/cassette8/cassette8.h b/keyboards/lazydesigners/cassette8/cassette8.h
new file mode 100755
index 000000000000..9b640638f6d2
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/cassette8.h
@@ -0,0 +1,28 @@
+/* Copyright 2021 LAZYDESIGNERS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+
+#define LAYOUT( \
+ K00, K01, K02, K03, \
+ K10, K11, K12, K13 \
+) { \
+ { K00, K01, K02, K03, }, \
+ { K10, K11, K12, K13 }, \
+}
diff --git a/keyboards/lazydesigners/cassette8/config.h b/keyboards/lazydesigners/cassette8/config.h
new file mode 100755
index 000000000000..ee20577e3dc5
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/config.h
@@ -0,0 +1,58 @@
+/* Copyright 2021 LAZYDESIGNERS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4C44 // "LD"
+#define PRODUCT_ID 0x0008
+#define DEVICE_VER 0x0001
+#define MANUFACTURER LAZYDESIGNERS
+#define PRODUCT Cassette8
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B3, B2 }
+#define MATRIX_COL_PINS { B5, B4, B1, B0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* RBG underglow */
+#define RGB_DI_PIN C2
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+ #define RGBLIGHT_SLEEP
+ #define RGBLED_NUM 15
+ /* #define RGBLIGHT_HUE_STEP 8 */
+ /* #define RGBLIGHT_SAT_STEP 8 */
+ /* #define RGBLIGHT_VAL_STEP 8 */
+#endif
+
diff --git a/keyboards/lazydesigners/cassette8/info.json b/keyboards/lazydesigners/cassette8/info.json
new file mode 100755
index 000000000000..173023700f3e
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/info.json
@@ -0,0 +1,21 @@
+{
+ "keyboard_name": "Cassette8",
+ "url": "http://lazydesigners.cn",
+ "maintainer": "Jacky@LAZYDESIGNERS",
+ "width": 4,
+ "height": 2,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"1", "x":0, "y":0},
+ {"label":"2", "x":1, "y":0},
+ {"label":"3", "x":2, "y":0},
+ {"label":"4", "x":3, "y":0},
+ {"label":"5", "x":0, "y":1},
+ {"label":"6", "x":1, "y":1},
+ {"label":"7", "x":2, "y":1},
+ {"label":"8", "x":3, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c b/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c
new file mode 100755
index 000000000000..3d1eb395c663
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2021 LAZYDESIGNERS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+#define LT1_SPC LT(1, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, LT1_SPC
+ ),
+ [1] = LAYOUT(
+ RESET, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [2] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c b/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c
new file mode 100755
index 000000000000..3d1eb395c663
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/keymaps/via/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2021 LAZYDESIGNERS
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+#define LT1_SPC LT(1, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ KC_5, KC_6, KC_7, LT1_SPC
+ ),
+ [1] = LAYOUT(
+ RESET, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [2] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/lazydesigners/cassette8/keymaps/via/rules.mk b/keyboards/lazydesigners/cassette8/keymaps/via/rules.mk
new file mode 100755
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/lazydesigners/cassette8/readme.md b/keyboards/lazydesigners/cassette8/readme.md
new file mode 100755
index 000000000000..7211bf5e97e1
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/readme.md
@@ -0,0 +1,21 @@
+# Cassette8
+
+A 8 key macropad designed and produced by [LAZYDESIGNERS](http://lazydesigners.cn).
+
+
+
+* Keyboard Maintainer: [LAZYDESIGNERS](https://github.com/jackytrabbit)
+* Hardware Supported: Cassette8
+* Hardware Availability: Check [LAZYDESIGNERS's homepage.](http://lazydesigners.cn)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make lazydesigners/cassette8:default
+
+Flashing example for this keyboard:
+
+ make lazydesigners/cassette8:default:flash
+
+**Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the RESET button on the FN layer.
+
+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/lazydesigners/cassette8/rules.mk b/keyboards/lazydesigners/cassette8/rules.mk
new file mode 100755
index 000000000000..6cbcba21002c
--- /dev/null
+++ b/keyboards/lazydesigners/cassette8/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+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
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/skeletn87/soldered/config.h b/keyboards/skeletn87/soldered/config.h
index 3cff08e15e19..7580d0a43e3a 100644
--- a/keyboards/skeletn87/soldered/config.h
+++ b/keyboards/skeletn87/soldered/config.h
@@ -45,7 +45,7 @@ along with this program. If not, see .
#define BACKLIGHT_LEVELS 8
#define BACKLIGHT_BREATHING
-#define RGB_DI_PIN B3
+#define RGB_DI_PIN B2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 10
diff --git a/keyboards/v4n4g0rth0n/config.h b/keyboards/v4n4g0rth0n/config.h
new file mode 100644
index 000000000000..e023875feb65
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/config.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2021 jpuerto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xB33F
+#define PRODUCT_ID 0x58E4
+#define MANUFACTURER s8erdude
+#define PRODUCT v4n4g0rth0n
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 12
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+// TOP, MID, BOT
+// B4, D7, D6
+#define LED_NUM_LOCK_PIN B4
+#define LED_CAPS_LOCK_PIN D7
+#define LED_SCROLL_LOCK_PIN D6
diff --git a/keyboards/v4n4g0rth0n/info.json b/keyboards/v4n4g0rth0n/info.json
new file mode 100644
index 000000000000..2be13c39e211
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/info.json
@@ -0,0 +1,66 @@
+{
+ "keyboard_name": "v4n4g0rth0n",
+ "url": "https://github.com/jpuerto96/v4n4g0rth0n",
+ "maintainer": "jpuerto96 (s8erdude)",
+ "width": 12.75,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"1", "x":0.5, "y":0},
+ {"label":"2", "x":1.5, "y":0},
+ {"label":"3", "x":2.5, "y":0},
+ {"label":"4", "x":3.5, "y":0},
+ {"label":"5", "x":4.5, "y":0},
+ {"label":"6", "x":5.5, "y":0},
+ {"label":"Tab", "x":0, "y":1},
+
+ {"label":"Q", "x":1, "y":1},
+ {"label":"W", "x":2, "y":1},
+ {"label":"E", "x":3, "y":1},
+ {"label":"R", "x":4, "y":1},
+ {"label":"T", "x":5, "y":1},
+ {"label":"Y", "x":6.75, "y":1},
+ {"label":"U", "x":7.75, "y":1},
+ {"label":"I", "x":8.75, "y":1},
+ {"label":"O", "x":9.75, "y":1},
+ {"label":"P", "x":10.75, "y":1},
+ {"label":"Back Space", "x":11.75, "y":1},
+
+ {"label":"Esc", "x":0, "y":2},
+ {"label":"A", "x":1, "y":2},
+ {"label":"S", "x":2, "y":2},
+ {"label":"D", "x":3, "y":2},
+ {"label":"F", "x":4, "y":2},
+ {"label":"G", "x":5, "y":2},
+ {"label":"H", "x":6.75, "y":2},
+ {"label":"J", "x":7.75, "y":2},
+ {"label":"K", "x":8.75, "y":2},
+ {"label":"L", "x":9.75, "y":2},
+ {"label":";", "x":10.75, "y":2},
+ {"label":"'", "x":11.75, "y":2},
+
+ {"label":"Shift", "x":0, "y":3},
+ {"label":"Z", "x":1, "y":3},
+ {"label":"X", "x":2, "y":3},
+ {"label":"C", "x":3, "y":3},
+ {"label":"V", "x":4, "y":3},
+ {"label":"B", "x":5, "y":3},
+ {"label":"N", "x":6.75, "y":3},
+ {"label":"M", "x":7.75, "y":3},
+ {"label":",", "x":8.75, "y":3},
+ {"label":".", "x":9.75, "y":3},
+ {"label":"↑", "x":10.75, "y":3},
+ {"label":"Return", "x":11.75, "y":3},
+
+ {"label":"Gui", "x":0, "y":4},
+ {"label":"Ctrl", "x":1, "y":4},
+ {"label":"Alt", "x":2, "y":4},
+ {"label":"Space", "x":3, "y":4, "w":3},
+ {"label":"Enter", "x":6.75, "y":4, "w":3},
+ {"label":"←", "x":9.75, "y":4},
+ {"label":"↓", "x":10.75, "y":4},
+ {"label":"→", "x":11.75, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/v4n4g0rth0n/readme.md b/keyboards/v4n4g0rth0n/readme.md
new file mode 100644
index 000000000000..dd44c95e8217
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/readme.md
@@ -0,0 +1,17 @@
+# v4n4g0rth0n
+
+Drop in ortholinear PCB replacement for V4N4G0N
+
+* Keyboard Maintainer: [jpuerto](https://github.com/jpuerto96)
+* Hardware Supported: Only supports v4n4g0rth0n PCB
+* Hardware Availability: [GitHub](https://github.com/jpuerto96/v4n4g0rth0n)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make v4n4g0rth0n/v1:default
+
+Flashing example for this keyboard:
+
+ make v4n4g0rth0n/v1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/v4n4g0rth0n/v1/config.h b/keyboards/v4n4g0rth0n/v1/config.h
new file mode 100644
index 000000000000..dd72cf650035
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v1/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2021 jpuerto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#define DEVICE_VER 0x0001
+
+#define MATRIX_ROW_PINS { C7, C6, B6, B5, B7}
+#define MATRIX_COL_PINS { D3, D2, D1, D0, D5, F7, F6, E6, F5, F4, F1, F0}
diff --git a/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c b/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c
new file mode 100644
index 000000000000..a1c547e8840d
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
+/* Copyright 2021 jpuerto
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _NUM,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
+ KC_LGUI, MO(_NUM), MO(_FN), KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_NUM] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_LCTL, RESET, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
+ RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_FN] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
+ KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
+ RESET, KC_TRNS, KC_TRNS, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
+ )
+};
diff --git a/keyboards/v4n4g0rth0n/v1/readme.md b/keyboards/v4n4g0rth0n/v1/readme.md
new file mode 100644
index 000000000000..957511705a83
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v1/readme.md
@@ -0,0 +1 @@
+Revision 1 of this PCB that does not support a slider.
diff --git a/keyboards/v4n4g0rth0n/v1/rules.mk b/keyboards/v4n4g0rth0n/v1/rules.mk
new file mode 100644
index 000000000000..cb9faecf748f
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v1/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/v4n4g0rth0n/v2/config.h b/keyboards/v4n4g0rth0n/v2/config.h
new file mode 100644
index 000000000000..6e78e7357323
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v2/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2021 jpuerto
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#define DEVICE_VER 0x0002
+
+#define MATRIX_ROW_PINS { C7, C6, B6, B5, B7}
+#define MATRIX_COL_PINS { D3, D2, D1, D0, D5, F7, F6, E6, F5, F4, F1, B0}
diff --git a/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c b/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c
new file mode 100644
index 000000000000..11616b2e7b8a
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c
@@ -0,0 +1,86 @@
+/* Copyright 2021 jpuerto
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+#include "analog.h"
+int16_t max_pot_val = 1023;
+int16_t max_ticks = 20;
+int16_t pot_oldVal = 0;
+int16_t pot_val = 0;
+bool moving = false;
+#define POT_TOLERANCE 50
+#define POT_PIN F0
+#include "print.h"
+
+
+void matrix_init_user(void) {
+ analogReference(ADC_REF_POWER);
+}
+
+void matrix_scan_user(void){
+ pot_val = (analogReadPin(POT_PIN));
+
+ // If there is a big enough change, then we need to do something
+ if (abs(pot_val - pot_oldVal) > POT_TOLERANCE) {
+ moving = true;
+ pot_oldVal = pot_val;
+ }
+ else{
+ if (moving){
+ // Do some fancy conversion to get 'absolute' position to num tap_codes to send
+ // Reset moving to 0 so that we don't get multiple attempts to do this
+ int num_ticks = ((float)pot_val/max_pot_val)*max_ticks;
+ for (int i = 0; i.
+ */
+
+#include "v4n4g0rth0n.h"
diff --git a/keyboards/v4n4g0rth0n/v4n4g0rth0n.h b/keyboards/v4n4g0rth0n/v4n4g0rth0n.h
new file mode 100644
index 000000000000..7c8edfeb1255
--- /dev/null
+++ b/keyboards/v4n4g0rth0n/v4n4g0rth0n.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 jpuerto
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \
+ k40, k41, k42, k44, k47, k49, k4A, k4B \
+) { \
+ { k00, k01, k02, k03, k04, k05, XXX, XXX, XXX, XXX, XXX, XXX }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B }, \
+ { k40, k41, k42, XXX, k44, XXX, XXX, k47, XXX, k49, k4A, k4B } \
+}
diff --git a/keyboards/xiudi/xd002/readme.md b/keyboards/xiudi/xd002/readme.md
index 6358bc754e4c..65522fda2c28 100644
--- a/keyboards/xiudi/xd002/readme.md
+++ b/keyboards/xiudi/xd002/readme.md
@@ -12,7 +12,7 @@
Make example for this keyboard (after setting up your build environment):
- make xd002:default
+ make xiudi/xd002: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/xiudi/xd004/readme.md b/keyboards/xiudi/xd004/readme.md
index 8f858a84111e..6ee2fa2cd9de 100644
--- a/keyboards/xiudi/xd004/readme.md
+++ b/keyboards/xiudi/xd004/readme.md
@@ -1,13 +1,12 @@
-XD004
-==
+# XD004
4-keys board

-Keyboard Maintainer: QMK Community
-Hardware Supported: XD004 PCB v1.0
-Hardware Availability: [KPRepublic](https://kprepublic.com/products/xd004-xiudi-4-custom-mechanical-keyboard-4-keys-switch-leds-pcb-programmed-hot-swappable-macro-key-silver-case-micro-port)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: XD004 PCB v1.0
+* Hardware Availability: [KPRepublic](https://kprepublic.com/products/xd004-xiudi-4-custom-mechanical-keyboard-4-keys-switch-leds-pcb-programmed-hot-swappable-macro-key-silver-case-micro-port)
To put this board in DFU (firmware update) mode, bridge the last two pins (#5 & 6) of the 6-pin "J2" header on the opposite edge of the board to the USB port"
```
@@ -23,8 +22,12 @@ To put this board in DFU (firmware update) mode, bridge the last two pins (#5 &
----+
```
-To build with a default keymap (not useful at all, have a look at other keymaps):
+Make example for this keyboard (after setting up your build environment):
-```make xd004/v1:default```
+ make xiudi/xd004/v1:default
+
+Flashing example for this keyboard:
+
+ make xiudi/xd004/v1:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xiudi/xd60/readme.md b/keyboards/xiudi/xd60/readme.md
index f4926d01a55b..db03613b8ddd 100644
--- a/keyboards/xiudi/xd60/readme.md
+++ b/keyboards/xiudi/xd60/readme.md
@@ -11,7 +11,7 @@ Compact 60% with arrows.
Make example for this keyboard (after setting up your build environment):
- make xd60/rev2:default # rev2
- make xd60/rev3:default # rev3
+ make xiudi/xd60/rev2:default # rev2
+ make xiudi/xd60/rev3:default # rev3
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/xiudi/xd68/readme.md b/keyboards/xiudi/xd68/readme.md
index a62d9c7c56db..dd12ad632cb3 100644
--- a/keyboards/xiudi/xd68/readme.md
+++ b/keyboards/xiudi/xd68/readme.md
@@ -12,8 +12,8 @@
Make example for this keyboard (after setting up your build environment):
- make xd68:default
- make xd68:default_iso # default ISO UK layout
+ make xiudi/xd68:default
+ make xiudi/xd68:default_iso # default ISO UK layout
## Layouts
diff --git a/keyboards/xiudi/xd75/readme.md b/keyboards/xiudi/xd75/readme.md
index 65da5cc02a58..4b0bf1c3b8ec 100644
--- a/keyboards/xiudi/xd75/readme.md
+++ b/keyboards/xiudi/xd75/readme.md
@@ -12,11 +12,11 @@ This port of the QMK firmware is my first shot at using QMK, so if you see any f
Make example for this keyboard (after setting up your build environment):
- make xd75:default
+ make xiudi/xd75:default
Flashing example for this keyboard:
- make xd75:default:flash
+ make xiudi/xd75:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xiudi/xd84/readme.md b/keyboards/xiudi/xd84/readme.md
index b8d9c5dbb807..4efedca36bda 100644
--- a/keyboards/xiudi/xd84/readme.md
+++ b/keyboards/xiudi/xd84/readme.md
@@ -8,16 +8,16 @@ Keyboard with 84 Keys & RGB LED Underglow
- iso and ansi support
- Uses Kimera core
-Keyboard Maintainer: QMK Community
-Hardware Supported: XD84
-Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd84-xiudi-70-custom-keyboard-pcb)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: XD84
+* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd84-xiudi-70-custom-keyboard-pcb)
Make example for this keyboard (after setting up your build environment):
- make xd84:default
+ make xiudi/xd84:default
-Install examples:
+Flashing example for this keyboard:
- make xd84:default:dfu
+ make xiudi/xd84:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xiudi/xd84pro/readme.md b/keyboards/xiudi/xd84pro/readme.md
index 76e83c6c5d10..7641a26b7525 100644
--- a/keyboards/xiudi/xd84pro/readme.md
+++ b/keyboards/xiudi/xd84pro/readme.md
@@ -15,10 +15,10 @@ The silkscreen printing on the PCB refers to this as the "XD84 v2.0".
Make example for this keyboard (after setting up your build environment):
- make xd84pro:default
+ make xiudi/xd84pro:default
Flashing example for this keyboard:
- make xd84pro:default:flash
+ make xiudi/xd84pro:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xiudi/xd87/readme.md b/keyboards/xiudi/xd87/readme.md
index 0b9389740da8..7beae2c6c80f 100644
--- a/keyboards/xiudi/xd87/readme.md
+++ b/keyboards/xiudi/xd87/readme.md
@@ -11,16 +11,16 @@
Make example for this keyboard (after setting up your build environment):
- make xd87:default
+ make xiudi/xd87:default
It also supports the tkl_ansi and tkl_iso community layouts:
# Build firmware with ANSI layout
- make xd87:default_tkl_ansi
+ make xiudi/xd87:default_tkl_ansi
# Build firmware with ISO layout
- make xd87:default_tkl_iso
+ make xiudi/xd87:default_tkl_iso
-The keyboard can be reset to bootloader by using bootmagic (space+b by default) or short out the small connector between the Delete and End keys.
+The keyboard can be reset to bootloader by using bootmagic (top left key by default) or short out the small connector between the Delete and End keys.
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).
\ No newline at end of file
diff --git a/keyboards/xiudi/xd96/readme.md b/keyboards/xiudi/xd96/readme.md
index bf01db8bb7e4..5f4038ef3fdc 100644
--- a/keyboards/xiudi/xd96/readme.md
+++ b/keyboards/xiudi/xd96/readme.md
@@ -7,16 +7,16 @@ Keyboard with 96 Keys & RGB LED Underglow
- ISO and ANSI support
- Uses Kimera core
-Keyboard Maintainer: QMK Community
-Hardware Supported: XD96
-Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html)
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: XD96
+* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html)
Make example for this keyboard (after setting up your build environment):
- make xd96:default
+ make xiudi/xd96:default
-Install examples:
+Flashing example for this keyboard:
- make xd96:default:dfu
+ make xiudi/xd96:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/platforms/chibios/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld b/platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld
similarity index 100%
rename from platforms/chibios/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld
rename to platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld
diff --git a/platforms/chibios/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld b/platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld
similarity index 100%
rename from platforms/chibios/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld
rename to platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld