From 1f8e54691d232b723e98378c698a2a6ae29f34f5 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Wed, 24 Jun 2020 19:53:34 -0400
Subject: [PATCH 01/39] Initial upload - sedan and coupe keyboards
---
keyboards/clawsome/coupe/config.h | 47 +++++++++++
keyboards/clawsome/coupe/coupe.c | 16 ++++
keyboards/clawsome/coupe/coupe.h | 37 ++++++++
keyboards/clawsome/coupe/info.json | 77 +++++++++++++++++
.../clawsome/coupe/keymaps/default/keymap.c | 28 +++++++
keyboards/clawsome/coupe/readme.md | 13 +++
keyboards/clawsome/coupe/rules.mk | 26 ++++++
keyboards/clawsome/sedan/config.h | 47 +++++++++++
keyboards/clawsome/sedan/info.json | 84 +++++++++++++++++++
.../clawsome/sedan/keymap/default/keymap.c | 28 +++++++
keyboards/clawsome/sedan/readme.md | 13 +++
keyboards/clawsome/sedan/rules.mk | 26 ++++++
keyboards/clawsome/sedan/sedan.c | 16 ++++
keyboards/clawsome/sedan/sedan.h | 37 ++++++++
14 files changed, 495 insertions(+)
create mode 100644 keyboards/clawsome/coupe/config.h
create mode 100644 keyboards/clawsome/coupe/coupe.c
create mode 100644 keyboards/clawsome/coupe/coupe.h
create mode 100644 keyboards/clawsome/coupe/info.json
create mode 100644 keyboards/clawsome/coupe/keymaps/default/keymap.c
create mode 100644 keyboards/clawsome/coupe/readme.md
create mode 100644 keyboards/clawsome/coupe/rules.mk
create mode 100644 keyboards/clawsome/sedan/config.h
create mode 100644 keyboards/clawsome/sedan/info.json
create mode 100644 keyboards/clawsome/sedan/keymap/default/keymap.c
create mode 100644 keyboards/clawsome/sedan/readme.md
create mode 100644 keyboards/clawsome/sedan/rules.mk
create mode 100644 keyboards/clawsome/sedan/sedan.c
create mode 100644 keyboards/clawsome/sedan/sedan.h
diff --git a/keyboards/clawsome/coupe/config.h b/keyboards/clawsome/coupe/config.h
new file mode 100644
index 000000000000..6e88c42d6b69
--- /dev/null
+++ b/keyboards/clawsome/coupe/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 AAClawson (AlisGraveNil)
+
+This 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 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER AlisGraveNil
+#define PRODUCT The Coupe
+#define DESCRIPTION A 61-key/60% QMK-powered custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 7
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { D7, D2, C6, B5, D4, B4, D0, D3, D1, E6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B3, B2 }
+
+#define DIODE_DIRECTION COL2ROW
\ No newline at end of file
diff --git a/keyboards/clawsome/coupe/coupe.c b/keyboards/clawsome/coupe/coupe.c
new file mode 100644
index 000000000000..80aca53943e3
--- /dev/null
+++ b/keyboards/clawsome/coupe/coupe.c
@@ -0,0 +1,16 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This 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 "coupe.h"
\ No newline at end of file
diff --git a/keyboards/clawsome/coupe/coupe.h b/keyboards/clawsome/coupe/coupe.h
new file mode 100644
index 000000000000..d432a40d859b
--- /dev/null
+++ b/keyboards/clawsome/coupe/coupe.h
@@ -0,0 +1,37 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This 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, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
+ K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
+ K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
+ K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \
+ K80, K90, K81, K83, K85, K95, K86, K96 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06 }, \
+ { K10, K11, K12, K13, K14, K15, K16 }, \
+ { K20, K21, K22, K23, K24, K25, K26 }, \
+ { K30, K31, K32, K33, K34, K35, K36 }, \
+ { K40, K41, K42, K43, K44, K45, KC_NO }, \
+ { K50, K51, K52, K53, K54, K55, K56 }, \
+ { K60, K61, K62, K63, K64, K65, KC_NO }, \
+ { KC_NO, K71, K72, K73, K74, K75, K76 }, \
+ { K80, K81, KC_NO, K83, KC_NO, K85, K86 }, \
+ { K90, KC_NO, KC_NO, KC_NO, KC_NO, K95, K96 }, \
+}
\ No newline at end of file
diff --git a/keyboards/clawsome/coupe/info.json b/keyboards/clawsome/coupe/info.json
new file mode 100644
index 000000000000..89a1ded98090
--- /dev/null
+++ b/keyboards/clawsome/coupe/info.json
@@ -0,0 +1,77 @@
+{
+ "keyboard_name": "Coupe",
+ "url": "www.clawboards.xyz",
+ "maintainer": "AAClawson (AlisGraveNil)",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "key_count": 61,
+ "layout": [
+ {"label":"K00 (D7,F4)", "x":0, "y":0},
+ {"label":"K10 (D2,F4)", "x":1, "y":0},
+ {"label":"K01 (D7,F5)", "x":2, "y":0},
+ {"label":"K11 (D2,F5)", "x":3, "y":0},
+ {"label":"K02 (D7,F6)", "x":4, "y":0},
+ {"label":"K12 (D2,F6)", "x":5, "y":0},
+ {"label":"K03 (D7,F7)", "x":6, "y":0},
+ {"label":"K13 (D2,F7)", "x":7, "y":0},
+ {"label":"K04 (D7,B6)", "x":8, "y":0},
+ {"label":"K14 (D2,B6)", "x":9, "y":0},
+ {"label":"K05 (D7,B3)", "x":10, "y":0},
+ {"label":"K15 (D2,B3)", "x":11, "y":0},
+ {"label":"K06 (D7,B2)", "x":12, "y":0},
+ {"label":"K16 (D2,B2)", "x":13, "y":0, "w":2},
+ {"label":"K20 (C6,F4)", "x":0, "y":1, "w":1.5},
+ {"label":"K30 (B5,F4)", "x":1.5, "y":1},
+ {"label":"K21 (C6,F5)", "x":2.5, "y":1},
+ {"label":"K31 (B5,F5)", "x":3.5, "y":1},
+ {"label":"K22 (C6,F6)", "x":4.5, "y":1},
+ {"label":"K32 (B5,F6)", "x":5.5, "y":1},
+ {"label":"K23 (C6,F7)", "x":6.5, "y":1},
+ {"label":"K33 (B5,F7)", "x":7.5, "y":1},
+ {"label":"K24 (C6,B6)", "x":8.5, "y":1},
+ {"label":"K34 (B5,B6)", "x":9.5, "y":1},
+ {"label":"K25 (C6,B3)", "x":10.5, "y":1},
+ {"label":"K35 (B5,B3)", "x":11.5, "y":1},
+ {"label":"K26 (C6,B2)", "x":12.5, "y":1},
+ {"label":"K36 (B5,B2)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K40 (D4,F4)", "x":0, "y":2, "w":1.75},
+ {"label":"K50 (B4,F4)", "x":1.75, "y":2},
+ {"label":"K41 (D4,F5)", "x":2.75, "y":2},
+ {"label":"K51 (B4,F5)", "x":3.75, "y":2},
+ {"label":"K42 (D4,F6)", "x":4.75, "y":2},
+ {"label":"K52 (B4,F6)", "x":5.75, "y":2},
+ {"label":"K43 (D4,F7)", "x":6.75, "y":2},
+ {"label":"K53 (B4,F7)", "x":7.75, "y":2},
+ {"label":"K44 (D4,B6)", "x":8.75, "y":2},
+ {"label":"K54 (B4,B6)", "x":9.75, "y":2},
+ {"label":"K45 (D4,B3)", "x":10.75, "y":2},
+ {"label":"K55 (B4,B3)", "x":11.75, "y":2},
+ {"label":"K56 (B4,B2)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K60 (D0,F4)", "x":0, "y":3, "w":2.25},
+ {"label":"K61 (D0,F5)", "x":2.25, "y":3},
+ {"label":"K71 (D3,F5)", "x":3.25, "y":3},
+ {"label":"K62 (D0,F6)", "x":4.25, "y":3},
+ {"label":"K72 (D3,F6)", "x":5.25, "y":3},
+ {"label":"K63 (D0,F7)", "x":6.25, "y":3},
+ {"label":"K73 (D3,F7)", "x":7.25, "y":3},
+ {"label":"K64 (D0,B6)", "x":8.25, "y":3},
+ {"label":"K74 (D3,B6)", "x":9.25, "y":3},
+ {"label":"K65 (D0,B3)", "x":10.25, "y":3},
+ {"label":"K75 (D3,B3)", "x":11.25, "y":3},
+ {"label":"K76 (D3,B2)", "x":12.25, "y":3, "w":2.75},
+ {"label":"K80 (D1,F4)", "x":0, "y":4, "w":1.25},
+ {"label":"K90 (E6,F4)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K81 (D1,F5)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K83 (D1,F7)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K85 (D1,B3)", "x":10, "y":4, "w":1.25},
+ {"label":"K95 (E6,B3)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K86 (D1,B2)", "x":12.5, "y":4, "w":1.25},
+ {"label":"K96 (E6,B2)", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
+
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c
new file mode 100644
index 000000000000..4cc496d4e161
--- /dev/null
+++ b/keyboards/clawsome/coupe/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
+ ),
+
+};
+
diff --git a/keyboards/clawsome/coupe/readme.md b/keyboards/clawsome/coupe/readme.md
new file mode 100644
index 000000000000..a5d7ccf2ee23
--- /dev/null
+++ b/keyboards/clawsome/coupe/readme.md
@@ -0,0 +1,13 @@
+#Coupe
+
+This is a 5x14 keyboard in a 60% layout.
+
+* Keyboard Maintainer: [AAClawson](http://github.com/AlisGraveNil)
+* Hardware Supported: The Coupe, Pro Micro, Elite-C
+* Hardware Availability: www.clawboards.xyz
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clawsome/coupe: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/clawsome/coupe/rules.mk b/keyboards/clawsome/coupe/rules.mk
new file mode 100644
index 000000000000..e95b67989ee0
--- /dev/null
+++ b/keyboards/clawsome/coupe/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# 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 = yes # 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
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
new file mode 100644
index 000000000000..948bfbb44a44
--- /dev/null
+++ b/keyboards/clawsome/sedan/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 AAClawson (AlisGraveNil)
+
+This 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 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER AlisGravenNil
+#define PRODUCT The Sedan
+#define DESCRIPTION A QMK-powered 68% custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { B5, B6, B7, C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, D2, D3 }
+
+#define DIODE_DIRECTION COL2ROW
\ No newline at end of file
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
new file mode 100644
index 000000000000..483d8344769c
--- /dev/null
+++ b/keyboards/clawsome/sedan/info.json
@@ -0,0 +1,84 @@
+{
+ "keyboard_name": "sedan",
+ "url": "www.clawboards.xyz",
+ "maintainer": "AAClawson (AlisGraveNil)",
+ "width": 16,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "key_count": 68,
+ "layout": [
+ {"label":"K00 (B0,B5)", "x":0, "y":1},
+ {"label":"K01 (B0,B6)", "x":1, "y":1},
+ {"label":"K02 (B0,B7)", "x":2, "y":1},
+ {"label":"K03 (B0,C0)", "x":3, "y":1},
+ {"label":"K04 (B0,C1)", "x":4, "y":1},
+ {"label":"K05 (B0,C2)", "x":5, "y":1},
+ {"label":"K06 (B0,C3)", "x":6, "y":1},
+ {"label":"K07 (B0,C4)", "x":7, "y":1},
+ {"label":"K08 (B0,C5)", "x":8, "y":1},
+ {"label":"K09 (B0,C6)", "x":9, "y":1},
+ {"label":"K0A (B0,C7)", "x":10, "y":1},
+ {"label":"K0B (B0,D0)", "x":11, "y":1},
+ {"label":"K0C (B0,D1)", "x":12, "y":1},
+ {"label":"K0D (B0,D2)", "x":13, "y":1, "w":2},
+ {"label":"K0E (B0,D3)", "x":15, "y":1},
+ {"label":"K10 (B1,B5)", "x":0, "y":2, "w":1.5},
+ {"label":"K11 (B1,B6)", "x":1.5, "y":2},
+ {"label":"K12 (B1,B7)", "x":2.5, "y":2},
+ {"label":"K13 (B1,C0)", "x":3.5, "y":2},
+ {"label":"K14 (B1,C1)", "x":4.5, "y":2},
+ {"label":"K15 (B1,C2)", "x":5.5, "y":2},
+ {"label":"K16 (B1,C3)", "x":6.5, "y":2},
+ {"label":"K17 (B1,C4)", "x":7.5, "y":2},
+ {"label":"K18 (B1,C5)", "x":8.5, "y":2},
+ {"label":"K19 (B1,C6)", "x":9.5, "y":2},
+ {"label":"K1A (B1,C7)", "x":10.5, "y":2},
+ {"label":"K1B (B1,D0)", "x":11.5, "y":2},
+ {"label":"K1C (B1,D1)", "x":12.5, "y":2},
+ {"label":"K1D (B1,D2)", "x":13.5, "y":2, "w":1.5},
+ {"label":"K1E (B1,D3)", "x":15, "y":2},
+ {"label":"K20 (B2,B5)", "x":0, "y":3, "w":1.75},
+ {"label":"K21 (B2,B6)", "x":1.75, "y":3},
+ {"label":"K22 (B2,B7)", "x":2.75, "y":3},
+ {"label":"K23 (B2,C0)", "x":3.75, "y":3},
+ {"label":"K24 (B2,C1)", "x":4.75, "y":3},
+ {"label":"K25 (B2,C2)", "x":5.75, "y":3},
+ {"label":"K26 (B2,C3)", "x":6.75, "y":3},
+ {"label":"K27 (B2,C4)", "x":7.75, "y":3},
+ {"label":"K28 (B2,C5)", "x":8.75, "y":3},
+ {"label":"K29 (B2,C6)", "x":9.75, "y":3},
+ {"label":"K2A (B2,C7)", "x":10.75, "y":3},
+ {"label":"K2B (B2,D0)", "x":11.75, "y":3},
+ {"label":"K2D (B2,D2)", "x":12.75, "y":3, "w":2.25},
+ {"label":"K2E (B2,D3)", "x":15, "y":3},
+ {"label":"K30 (B3,B5)", "x":0, "y":4, "w":2.25},
+ {"label":"K31 (B3,B6)", "x":2.25, "y":4},
+ {"label":"K32 (B3,B7)", "x":3.25, "y":4},
+ {"label":"K33 (B3,C0)", "x":4.25, "y":4},
+ {"label":"K34 (B3,C1)", "x":5.25, "y":4},
+ {"label":"K35 (B3,C2)", "x":6.25, "y":4},
+ {"label":"K36 (B3,C3)", "x":7.25, "y":4},
+ {"label":"K37 (B3,C4)", "x":8.25, "y":4},
+ {"label":"K38 (B3,C5)", "x":9.25, "y":4},
+ {"label":"K39 (B3,C6)", "x":10.25, "y":4},
+ {"label":"K3A (B3,C7)", "x":11.25, "y":4},
+ {"label":"K3B (B3,D0)", "x":12.25, "y":4, "w":1.75},
+ {"label":"K3D (B3,D2)", "x":14, "y":4},
+ {"label":"K3E (B3,D3)", "x":15, "y":4},
+ {"label":"K40 (B4,B5)", "x":0, "y":5, "w":1.25},
+ {"label":"K41 (B4,B6)", "x":1.25, "y":5, "w":1.25},
+ {"label":"K42 (B4,B7)", "x":2.5, "y":5, "w":1.25},
+ {"label":"K45 (B4,C2)", "x":3.75, "y":5, "w":6.25},
+ {"label":"K49 (B4,C6)", "x":10, "y":5},
+ {"label":"K4A (B4,C7)", "x":11, "y":5},
+ {"label":"K4B (B4,D0)", "x":12, "y":5},
+ {"label":"K4C (B4,D1)", "x":13, "y":5},
+ {"label":"K4D (B4,D2)", "x":14, "y":5},
+ {"label":"K4E (B4,D3)", "x":15, "y":5}
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
+
diff --git a/keyboards/clawsome/sedan/keymap/default/keymap.c b/keyboards/clawsome/sedan/keymap/default/keymap.c
new file mode 100644
index 000000000000..a0563ca999fe
--- /dev/null
+++ b/keyboards/clawsome/sedan/keymap/default/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+
+ KC_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_LSFT, XXXXXXX, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, XXXXXXX, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, ),
+
+};
+
diff --git a/keyboards/clawsome/sedan/readme.md b/keyboards/clawsome/sedan/readme.md
new file mode 100644
index 000000000000..583025474d88
--- /dev/null
+++ b/keyboards/clawsome/sedan/readme.md
@@ -0,0 +1,13 @@
+#Sedan
+
+This is a 5x15 keyboard in a 68% layout.
+
+* Keyboard Maintainer: [AAClawson](http://github.com/AlisGraveNil)
+* Hardware Supported: The Sedan, Pro Micro, Elite-C
+* Hardware Availability: www.clawboards.xyz
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clawsome/sedan: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/clawsome/sedan/rules.mk b/keyboards/clawsome/sedan/rules.mk
new file mode 100644
index 000000000000..e95b67989ee0
--- /dev/null
+++ b/keyboards/clawsome/sedan/rules.mk
@@ -0,0 +1,26 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# 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 = yes # 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
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
diff --git a/keyboards/clawsome/sedan/sedan.c b/keyboards/clawsome/sedan/sedan.c
new file mode 100644
index 000000000000..4977bf697834
--- /dev/null
+++ b/keyboards/clawsome/sedan/sedan.c
@@ -0,0 +1,16 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This 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 "sedan.h"
\ No newline at end of file
diff --git a/keyboards/clawsome/sedan/sedan.h b/keyboards/clawsome/sedan/sedan.h
new file mode 100644
index 000000000000..6b76eb1ae96f
--- /dev/null
+++ b/keyboards/clawsome/sedan/sedan.h
@@ -0,0 +1,37 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This 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, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
+
From e62a30182f84d555dbf7efd07611f836158c167b Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Wed, 24 Jun 2020 19:59:19 -0400
Subject: [PATCH 02/39] Update coupe.h
---
keyboards/clawsome/coupe/coupe.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/clawsome/coupe/coupe.h b/keyboards/clawsome/coupe/coupe.h
index d432a40d859b..38afda4ce4bb 100644
--- a/keyboards/clawsome/coupe/coupe.h
+++ b/keyboards/clawsome/coupe/coupe.h
@@ -17,7 +17,7 @@
#include "quantum.h"
-#define LAYOUT( \
+#define LAYOUT(
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
@@ -34,4 +34,4 @@
{ KC_NO, K71, K72, K73, K74, K75, K76 }, \
{ K80, K81, KC_NO, K83, KC_NO, K85, K86 }, \
{ K90, KC_NO, KC_NO, KC_NO, KC_NO, K95, K96 }, \
-}
\ No newline at end of file
+}
From 7aa48d201a8ec6836c8a3250040f787f94484c3a Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Wed, 24 Jun 2020 20:05:42 -0400
Subject: [PATCH 03/39] Update coupe.h
---
keyboards/clawsome/coupe/coupe.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/keyboards/clawsome/coupe/coupe.h b/keyboards/clawsome/coupe/coupe.h
index 38afda4ce4bb..5b9d04ce21db 100644
--- a/keyboards/clawsome/coupe/coupe.h
+++ b/keyboards/clawsome/coupe/coupe.h
@@ -23,7 +23,8 @@
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \
K80, K90, K81, K83, K85, K95, K86, K96 \
-) { \
+);
+{ \
{ K00, K01, K02, K03, K04, K05, K06 }, \
{ K10, K11, K12, K13, K14, K15, K16 }, \
{ K20, K21, K22, K23, K24, K25, K26 }, \
@@ -34,4 +35,4 @@
{ KC_NO, K71, K72, K73, K74, K75, K76 }, \
{ K80, K81, KC_NO, K83, KC_NO, K85, K86 }, \
{ K90, KC_NO, KC_NO, KC_NO, KC_NO, K95, K96 }, \
-}
+};
From 64dc4bd942e372097b3a76e3ec8d26d35042d67b Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Wed, 24 Jun 2020 20:14:57 -0400
Subject: [PATCH 04/39] Update coupe.h
---
keyboards/clawsome/coupe/coupe.h | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/keyboards/clawsome/coupe/coupe.h b/keyboards/clawsome/coupe/coupe.h
index 5b9d04ce21db..effd7fb11591 100644
--- a/keyboards/clawsome/coupe/coupe.h
+++ b/keyboards/clawsome/coupe/coupe.h
@@ -17,14 +17,13 @@
#include "quantum.h"
-#define LAYOUT(
+#define LAYOUT( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \
K80, K90, K81, K83, K85, K95, K86, K96 \
-);
-{ \
+) { \
{ K00, K01, K02, K03, K04, K05, K06 }, \
{ K10, K11, K12, K13, K14, K15, K16 }, \
{ K20, K21, K22, K23, K24, K25, K26 }, \
@@ -35,4 +34,4 @@
{ KC_NO, K71, K72, K73, K74, K75, K76 }, \
{ K80, K81, KC_NO, K83, KC_NO, K85, K86 }, \
{ K90, KC_NO, KC_NO, KC_NO, KC_NO, K95, K96 }, \
-};
+}
From 67b50996cc9804edc846d8b771f04e8c489c180b Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Wed, 24 Jun 2020 20:17:36 -0400
Subject: [PATCH 05/39] Update sedan.h
---
keyboards/clawsome/sedan/sedan.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/keyboards/clawsome/sedan/sedan.h b/keyboards/clawsome/sedan/sedan.h
index 6b76eb1ae96f..96a6e33054b4 100644
--- a/keyboards/clawsome/sedan/sedan.h
+++ b/keyboards/clawsome/sedan/sedan.h
@@ -17,13 +17,12 @@
#include "quantum.h"
-#define LAYOUT(
- \
+#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E, \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
@@ -31,7 +30,3 @@
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E }, \
}
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
-
From f175061ca5855ae55d917ad0f101340e616ca690 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:50:29 -0400
Subject: [PATCH 06/39] Update keyboards/clawsome/coupe/readme.md
Co-authored-by: Ryan
---
keyboards/clawsome/coupe/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/readme.md b/keyboards/clawsome/coupe/readme.md
index a5d7ccf2ee23..870c622cb8d5 100644
--- a/keyboards/clawsome/coupe/readme.md
+++ b/keyboards/clawsome/coupe/readme.md
@@ -8,6 +8,6 @@ This is a 5x14 keyboard in a 60% layout.
Make example for this keyboard (after setting up your build environment):
- make clawsome/coupe:default
+ make clawsome/coupe: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).
From bb70d252c297492062bb440c68717fefd26e6928 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:50:39 -0400
Subject: [PATCH 07/39] Update keyboards/clawsome/sedan/config.h
Co-authored-by: Ryan
---
keyboards/clawsome/sedan/config.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
index 948bfbb44a44..9e1a18e0d0c8 100644
--- a/keyboards/clawsome/sedan/config.h
+++ b/keyboards/clawsome/sedan/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see .
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
-#define MANUFACTURER AlisGravenNil
+#define MANUFACTURER AlisGraveNil
#define PRODUCT The Sedan
#define DESCRIPTION A QMK-powered 68% custom keyboard
@@ -44,4 +44,4 @@ along with this program. If not, see .
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
#define MATRIX_COL_PINS { B5, B6, B7, C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, D2, D3 }
-#define DIODE_DIRECTION COL2ROW
\ No newline at end of file
+#define DIODE_DIRECTION COL2ROW
From be28c5aff025afe8a1f63bfffab611b89d58fb1e Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:50:50 -0400
Subject: [PATCH 08/39] Update keyboards/clawsome/sedan/config.h
Co-authored-by: Ryan
---
keyboards/clawsome/sedan/config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
index 9e1a18e0d0c8..60f7834f18a8 100644
--- a/keyboards/clawsome/sedan/config.h
+++ b/keyboards/clawsome/sedan/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see .
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
+#define PRODUCT_ID 0x8C78
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT The Sedan
From 311e86d0ac385a19f943af12bab295873a891cce Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:50:57 -0400
Subject: [PATCH 09/39] Update keyboards/clawsome/coupe/config.h
Co-authored-by: Ryan
---
keyboards/clawsome/coupe/config.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/clawsome/coupe/config.h b/keyboards/clawsome/coupe/config.h
index 6e88c42d6b69..9fd1070159c8 100644
--- a/keyboards/clawsome/coupe/config.h
+++ b/keyboards/clawsome/coupe/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see .
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
+#define PRODUCT_ID 0x7E94
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT The Coupe
@@ -44,4 +44,4 @@ along with this program. If not, see .
#define MATRIX_ROW_PINS { D7, D2, C6, B5, D4, B4, D0, D3, D1, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B3, B2 }
-#define DIODE_DIRECTION COL2ROW
\ No newline at end of file
+#define DIODE_DIRECTION COL2ROW
From 8ad22f952f8ec1c64965dc9af761b36571596c75 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:51:05 -0400
Subject: [PATCH 10/39] Update keyboards/clawsome/sedan/readme.md
Co-authored-by: Ryan
---
keyboards/clawsome/sedan/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/readme.md b/keyboards/clawsome/sedan/readme.md
index 583025474d88..58e13ea1c1ae 100644
--- a/keyboards/clawsome/sedan/readme.md
+++ b/keyboards/clawsome/sedan/readme.md
@@ -8,6 +8,6 @@ This is a 5x15 keyboard in a 68% layout.
Make example for this keyboard (after setting up your build environment):
- make clawsome/sedan:default
+ make clawsome/sedan: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).
From 591ce23b3d4e332f02d4c5464c8eee52d4277ceb Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:51:24 -0400
Subject: [PATCH 11/39] Update keyboards/clawsome/sedan/info.json
Co-authored-by: Ryan
---
keyboards/clawsome/sedan/info.json | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
index 483d8344769c..3ac92b8c8927 100644
--- a/keyboards/clawsome/sedan/info.json
+++ b/keyboards/clawsome/sedan/info.json
@@ -6,7 +6,6 @@
"height": 5,
"layouts": {
"LAYOUT": {
- "key_count": 68,
"layout": [
{"label":"K00 (B0,B5)", "x":0, "y":1},
{"label":"K01 (B0,B6)", "x":1, "y":1},
@@ -81,4 +80,3 @@
}
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
-
From 9ceae58b3c98a44922bd53c828ed8fc64b974ea1 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:51:32 -0400
Subject: [PATCH 12/39] Update keyboards/clawsome/sedan/readme.md
Co-authored-by: Ryan
---
keyboards/clawsome/sedan/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/readme.md b/keyboards/clawsome/sedan/readme.md
index 58e13ea1c1ae..752dbae26309 100644
--- a/keyboards/clawsome/sedan/readme.md
+++ b/keyboards/clawsome/sedan/readme.md
@@ -1,4 +1,4 @@
-#Sedan
+# Sedan
This is a 5x15 keyboard in a 68% layout.
From 06db31fa49e10c7b5a11f3dac2d608b482fc536d Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:51:43 -0400
Subject: [PATCH 13/39] Update keyboards/clawsome/coupe/readme.md
Co-authored-by: Ryan
---
keyboards/clawsome/coupe/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/readme.md b/keyboards/clawsome/coupe/readme.md
index 870c622cb8d5..021cc901c02f 100644
--- a/keyboards/clawsome/coupe/readme.md
+++ b/keyboards/clawsome/coupe/readme.md
@@ -1,4 +1,4 @@
-#Coupe
+# Coupe
This is a 5x14 keyboard in a 60% layout.
From 7deca48fe7fd2751d3324a9d8963094cfabeb960 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:51:51 -0400
Subject: [PATCH 14/39] Update keyboards/clawsome/coupe/info.json
Co-authored-by: Ryan
---
keyboards/clawsome/coupe/info.json | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/clawsome/coupe/info.json b/keyboards/clawsome/coupe/info.json
index 89a1ded98090..02b535d78ea0 100644
--- a/keyboards/clawsome/coupe/info.json
+++ b/keyboards/clawsome/coupe/info.json
@@ -6,7 +6,6 @@
"height": 5,
"layouts": {
"LAYOUT": {
- "key_count": 61,
"layout": [
{"label":"K00 (D7,F4)", "x":0, "y":0},
{"label":"K10 (D2,F4)", "x":1, "y":0},
@@ -74,4 +73,3 @@
}
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
-
From 9221c789239e2d0b165e0d4d8ef17d3ae2e72ee6 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:52:13 -0400
Subject: [PATCH 15/39] Update keyboards/clawsome/coupe/coupe.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/coupe.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/coupe.h b/keyboards/clawsome/coupe/coupe.h
index effd7fb11591..360dbb24f291 100644
--- a/keyboards/clawsome/coupe/coupe.h
+++ b/keyboards/clawsome/coupe/coupe.h
@@ -17,7 +17,7 @@
#include "quantum.h"
-#define LAYOUT( \
+#define LAYOUT_60_ansi( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
From 49ca1cdd944e78ed47c7b5ef38ab0b96ce2a413c Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:52:21 -0400
Subject: [PATCH 16/39] Update keyboards/clawsome/coupe/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/info.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/info.json b/keyboards/clawsome/coupe/info.json
index 02b535d78ea0..870b6d77806c 100644
--- a/keyboards/clawsome/coupe/info.json
+++ b/keyboards/clawsome/coupe/info.json
@@ -5,7 +5,7 @@
"width": 15,
"height": 5,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_60_ansi": {
"layout": [
{"label":"K00 (D7,F4)", "x":0, "y":0},
{"label":"K10 (D2,F4)", "x":1, "y":0},
From 547a30b620c357670e9345b562d089af53e26459 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:52:32 -0400
Subject: [PATCH 17/39] Update keyboards/clawsome/coupe/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/info.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/info.json b/keyboards/clawsome/coupe/info.json
index 870b6d77806c..6c930922a5cf 100644
--- a/keyboards/clawsome/coupe/info.json
+++ b/keyboards/clawsome/coupe/info.json
@@ -71,5 +71,4 @@
]
}
}
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
From 6eb95e365d73ad233b7cc5dd4743cba6bb6d0a01 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:52:39 -0400
Subject: [PATCH 18/39] Update
keyboards/clawsome/coupe/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/keymaps/default/keymap.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c
index 4cc496d4e161..28fb2cf4fc7c 100644
--- a/keyboards/clawsome/coupe/keymaps/default/keymap.c
+++ b/keyboards/clawsome/coupe/keymaps/default/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
+ [0] = LAYOUT_60_ansi(
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_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_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,
@@ -25,4 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-
From 8eb2543cc1fb799423c282bbe9bc9b088067c03f Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:03 -0400
Subject: [PATCH 19/39] Update keyboards/clawsome/sedan/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/info.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
index 3ac92b8c8927..2c32552642dd 100644
--- a/keyboards/clawsome/sedan/info.json
+++ b/keyboards/clawsome/sedan/info.json
@@ -78,5 +78,4 @@
]
}
}
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}
From b96cf1657faab3d09e4e4a72933195c1471da461 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:22 -0400
Subject: [PATCH 20/39] Update keyboards/clawsome/sedan/sedan.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/sedan.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/sedan.h b/keyboards/clawsome/sedan/sedan.h
index 96a6e33054b4..7f70f7129243 100644
--- a/keyboards/clawsome/sedan/sedan.h
+++ b/keyboards/clawsome/sedan/sedan.h
@@ -22,7 +22,7 @@
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
From b9fa5a13c71d7c00c1f6c44dcac7572d14af222d Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:32 -0400
Subject: [PATCH 21/39] Update keyboards/clawsome/sedan/rules.mk
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/rules.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/keyboards/clawsome/sedan/rules.mk b/keyboards/clawsome/sedan/rules.mk
index e95b67989ee0..c06c0806fd26 100644
--- a/keyboards/clawsome/sedan/rules.mk
+++ b/keyboards/clawsome/sedan/rules.mk
@@ -24,3 +24,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+LAYOUTS = 65_ansi
From b3349f4c1f602ef3c405bc40744a068e416a408f Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:40 -0400
Subject: [PATCH 22/39] Update keyboards/clawsome/sedan/sedan.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/sedan.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/sedan.h b/keyboards/clawsome/sedan/sedan.h
index 7f70f7129243..7af9476676e6 100644
--- a/keyboards/clawsome/sedan/sedan.h
+++ b/keyboards/clawsome/sedan/sedan.h
@@ -17,7 +17,7 @@
#include "quantum.h"
-#define LAYOUT( \
+#define LAYOUT_65_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
From 0cc417e95acbe6d147806caf8de399cdd6502592 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:51 -0400
Subject: [PATCH 23/39] Update keyboards/clawsome/sedan/keymap/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/keymap/default/keymap.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/keyboards/clawsome/sedan/keymap/default/keymap.c b/keyboards/clawsome/sedan/keymap/default/keymap.c
index a0563ca999fe..e4b0ecbeff0c 100644
--- a/keyboards/clawsome/sedan/keymap/default/keymap.c
+++ b/keyboards/clawsome/sedan/keymap/default/keymap.c
@@ -17,12 +17,11 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
-
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_LSFT, XXXXXXX, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, XXXXXXX, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, ),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, XXXXXXX, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX
+ )
};
-
From 154fea98164affe8cb6ff8cbf60a588c0d43e83e Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:53:59 -0400
Subject: [PATCH 24/39] Update keyboards/clawsome/sedan/keymap/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/keymap/default/keymap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/keymap/default/keymap.c b/keyboards/clawsome/sedan/keymap/default/keymap.c
index e4b0ecbeff0c..ed710a912dae 100644
--- a/keyboards/clawsome/sedan/keymap/default/keymap.c
+++ b/keyboards/clawsome/sedan/keymap/default/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
+ [0] = LAYOUT_65_ansi(
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,
From b88b824975cec7499ce54096fcd7b811a04fba49 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:54:07 -0400
Subject: [PATCH 25/39] Update keyboards/clawsome/coupe/rules.mk
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/rules.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/keyboards/clawsome/coupe/rules.mk b/keyboards/clawsome/coupe/rules.mk
index e95b67989ee0..d0ec2731c5ef 100644
--- a/keyboards/clawsome/coupe/rules.mk
+++ b/keyboards/clawsome/coupe/rules.mk
@@ -24,3 +24,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+LAYOUTS = 60_ansi
From 9bcebc55647827ed062b9bc13f10f359f9f390a4 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:54:17 -0400
Subject: [PATCH 26/39] Update keyboards/clawsome/sedan/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/info.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
index 2c32552642dd..8eb13ea6c926 100644
--- a/keyboards/clawsome/sedan/info.json
+++ b/keyboards/clawsome/sedan/info.json
@@ -5,7 +5,7 @@
"width": 16,
"height": 5,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_65_ansi": {
"layout": [
{"label":"K00 (B0,B5)", "x":0, "y":1},
{"label":"K01 (B0,B6)", "x":1, "y":1},
From be8e72f5294fe1909e3cfeb2afac37f9484ec754 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 17:54:37 -0400
Subject: [PATCH 27/39] Update keyboards/clawsome/sedan/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/info.json | 136 ++++++++++++++---------------
1 file changed, 68 insertions(+), 68 deletions(-)
diff --git a/keyboards/clawsome/sedan/info.json b/keyboards/clawsome/sedan/info.json
index 8eb13ea6c926..ecf4c7212aa4 100644
--- a/keyboards/clawsome/sedan/info.json
+++ b/keyboards/clawsome/sedan/info.json
@@ -7,74 +7,74 @@
"layouts": {
"LAYOUT_65_ansi": {
"layout": [
- {"label":"K00 (B0,B5)", "x":0, "y":1},
- {"label":"K01 (B0,B6)", "x":1, "y":1},
- {"label":"K02 (B0,B7)", "x":2, "y":1},
- {"label":"K03 (B0,C0)", "x":3, "y":1},
- {"label":"K04 (B0,C1)", "x":4, "y":1},
- {"label":"K05 (B0,C2)", "x":5, "y":1},
- {"label":"K06 (B0,C3)", "x":6, "y":1},
- {"label":"K07 (B0,C4)", "x":7, "y":1},
- {"label":"K08 (B0,C5)", "x":8, "y":1},
- {"label":"K09 (B0,C6)", "x":9, "y":1},
- {"label":"K0A (B0,C7)", "x":10, "y":1},
- {"label":"K0B (B0,D0)", "x":11, "y":1},
- {"label":"K0C (B0,D1)", "x":12, "y":1},
- {"label":"K0D (B0,D2)", "x":13, "y":1, "w":2},
- {"label":"K0E (B0,D3)", "x":15, "y":1},
- {"label":"K10 (B1,B5)", "x":0, "y":2, "w":1.5},
- {"label":"K11 (B1,B6)", "x":1.5, "y":2},
- {"label":"K12 (B1,B7)", "x":2.5, "y":2},
- {"label":"K13 (B1,C0)", "x":3.5, "y":2},
- {"label":"K14 (B1,C1)", "x":4.5, "y":2},
- {"label":"K15 (B1,C2)", "x":5.5, "y":2},
- {"label":"K16 (B1,C3)", "x":6.5, "y":2},
- {"label":"K17 (B1,C4)", "x":7.5, "y":2},
- {"label":"K18 (B1,C5)", "x":8.5, "y":2},
- {"label":"K19 (B1,C6)", "x":9.5, "y":2},
- {"label":"K1A (B1,C7)", "x":10.5, "y":2},
- {"label":"K1B (B1,D0)", "x":11.5, "y":2},
- {"label":"K1C (B1,D1)", "x":12.5, "y":2},
- {"label":"K1D (B1,D2)", "x":13.5, "y":2, "w":1.5},
- {"label":"K1E (B1,D3)", "x":15, "y":2},
- {"label":"K20 (B2,B5)", "x":0, "y":3, "w":1.75},
- {"label":"K21 (B2,B6)", "x":1.75, "y":3},
- {"label":"K22 (B2,B7)", "x":2.75, "y":3},
- {"label":"K23 (B2,C0)", "x":3.75, "y":3},
- {"label":"K24 (B2,C1)", "x":4.75, "y":3},
- {"label":"K25 (B2,C2)", "x":5.75, "y":3},
- {"label":"K26 (B2,C3)", "x":6.75, "y":3},
- {"label":"K27 (B2,C4)", "x":7.75, "y":3},
- {"label":"K28 (B2,C5)", "x":8.75, "y":3},
- {"label":"K29 (B2,C6)", "x":9.75, "y":3},
- {"label":"K2A (B2,C7)", "x":10.75, "y":3},
- {"label":"K2B (B2,D0)", "x":11.75, "y":3},
- {"label":"K2D (B2,D2)", "x":12.75, "y":3, "w":2.25},
- {"label":"K2E (B2,D3)", "x":15, "y":3},
- {"label":"K30 (B3,B5)", "x":0, "y":4, "w":2.25},
- {"label":"K31 (B3,B6)", "x":2.25, "y":4},
- {"label":"K32 (B3,B7)", "x":3.25, "y":4},
- {"label":"K33 (B3,C0)", "x":4.25, "y":4},
- {"label":"K34 (B3,C1)", "x":5.25, "y":4},
- {"label":"K35 (B3,C2)", "x":6.25, "y":4},
- {"label":"K36 (B3,C3)", "x":7.25, "y":4},
- {"label":"K37 (B3,C4)", "x":8.25, "y":4},
- {"label":"K38 (B3,C5)", "x":9.25, "y":4},
- {"label":"K39 (B3,C6)", "x":10.25, "y":4},
- {"label":"K3A (B3,C7)", "x":11.25, "y":4},
- {"label":"K3B (B3,D0)", "x":12.25, "y":4, "w":1.75},
- {"label":"K3D (B3,D2)", "x":14, "y":4},
- {"label":"K3E (B3,D3)", "x":15, "y":4},
- {"label":"K40 (B4,B5)", "x":0, "y":5, "w":1.25},
- {"label":"K41 (B4,B6)", "x":1.25, "y":5, "w":1.25},
- {"label":"K42 (B4,B7)", "x":2.5, "y":5, "w":1.25},
- {"label":"K45 (B4,C2)", "x":3.75, "y":5, "w":6.25},
- {"label":"K49 (B4,C6)", "x":10, "y":5},
- {"label":"K4A (B4,C7)", "x":11, "y":5},
- {"label":"K4B (B4,D0)", "x":12, "y":5},
- {"label":"K4C (B4,D1)", "x":13, "y":5},
- {"label":"K4D (B4,D2)", "x":14, "y":5},
- {"label":"K4E (B4,D3)", "x":15, "y":5}
+ {"label":"K00 (B0,B5)", "x":0, "y":0},
+ {"label":"K01 (B0,B6)", "x":1, "y":0},
+ {"label":"K02 (B0,B7)", "x":2, "y":0},
+ {"label":"K03 (B0,C0)", "x":3, "y":0},
+ {"label":"K04 (B0,C1)", "x":4, "y":0},
+ {"label":"K05 (B0,C2)", "x":5, "y":0},
+ {"label":"K06 (B0,C3)", "x":6, "y":0},
+ {"label":"K07 (B0,C4)", "x":7, "y":0},
+ {"label":"K08 (B0,C5)", "x":8, "y":0},
+ {"label":"K09 (B0,C6)", "x":9, "y":0},
+ {"label":"K0A (B0,C7)", "x":10, "y":0},
+ {"label":"K0B (B0,D0)", "x":11, "y":0},
+ {"label":"K0C (B0,D1)", "x":12, "y":0},
+ {"label":"K0D (B0,D2)", "x":13, "y":0, "w":2},
+ {"label":"K0E (B0,D3)", "x":15, "y":0},
+ {"label":"K10 (B1,B5)", "x":0, "y":1, "w":1.5},
+ {"label":"K11 (B1,B6)", "x":1.5, "y":1},
+ {"label":"K12 (B1,B7)", "x":2.5, "y":1},
+ {"label":"K13 (B1,C0)", "x":3.5, "y":1},
+ {"label":"K14 (B1,C1)", "x":4.5, "y":1},
+ {"label":"K15 (B1,C2)", "x":5.5, "y":1},
+ {"label":"K16 (B1,C3)", "x":6.5, "y":1},
+ {"label":"K17 (B1,C4)", "x":7.5, "y":1},
+ {"label":"K18 (B1,C5)", "x":8.5, "y":1},
+ {"label":"K19 (B1,C6)", "x":9.5, "y":1},
+ {"label":"K1A (B1,C7)", "x":10.5, "y":1},
+ {"label":"K1B (B1,D0)", "x":11.5, "y":1},
+ {"label":"K1C (B1,D1)", "x":12.5, "y":1},
+ {"label":"K1D (B1,D2)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K1E (B1,D3)", "x":15, "y":1},
+ {"label":"K20 (B2,B5)", "x":0, "y":2, "w":1.75},
+ {"label":"K21 (B2,B6)", "x":1.75, "y":2},
+ {"label":"K22 (B2,B7)", "x":2.75, "y":2},
+ {"label":"K23 (B2,C0)", "x":3.75, "y":2},
+ {"label":"K24 (B2,C1)", "x":4.75, "y":2},
+ {"label":"K25 (B2,C2)", "x":5.75, "y":2},
+ {"label":"K26 (B2,C3)", "x":6.75, "y":2},
+ {"label":"K27 (B2,C4)", "x":7.75, "y":2},
+ {"label":"K28 (B2,C5)", "x":8.75, "y":2},
+ {"label":"K29 (B2,C6)", "x":9.75, "y":2},
+ {"label":"K2A (B2,C7)", "x":10.75, "y":2},
+ {"label":"K2B (B2,D0)", "x":11.75, "y":2},
+ {"label":"K2D (B2,D2)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K2E (B2,D3)", "x":15, "y":2},
+ {"label":"K30 (B3,B5)", "x":0, "y":3, "w":2.25},
+ {"label":"K31 (B3,B6)", "x":2.25, "y":3},
+ {"label":"K32 (B3,B7)", "x":3.25, "y":3},
+ {"label":"K33 (B3,C0)", "x":4.25, "y":3},
+ {"label":"K34 (B3,C1)", "x":5.25, "y":3},
+ {"label":"K35 (B3,C2)", "x":6.25, "y":3},
+ {"label":"K36 (B3,C3)", "x":7.25, "y":3},
+ {"label":"K37 (B3,C4)", "x":8.25, "y":3},
+ {"label":"K38 (B3,C5)", "x":9.25, "y":3},
+ {"label":"K39 (B3,C6)", "x":10.25, "y":3},
+ {"label":"K3A (B3,C7)", "x":11.25, "y":3},
+ {"label":"K3B (B3,D0)", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3D (B3,D2)", "x":14, "y":3},
+ {"label":"K3E (B3,D3)", "x":15, "y":3},
+ {"label":"K40 (B4,B5)", "x":0, "y":4, "w":1.25},
+ {"label":"K41 (B4,B6)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K42 (B4,B7)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K45 (B4,C2)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K49 (B4,C6)", "x":10, "y":4},
+ {"label":"K4A (B4,C7)", "x":11, "y":4},
+ {"label":"K4B (B4,D0)", "x":12, "y":4},
+ {"label":"K4C (B4,D1)", "x":13, "y":4},
+ {"label":"K4D (B4,D2)", "x":14, "y":4},
+ {"label":"K4E (B4,D3)", "x":15, "y":4}
]
}
}
From 9ec3d2ff9f6222eaab1c8ef1513337205d95062e Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 20:17:32 -0400
Subject: [PATCH 28/39] Rename keymap.c to keymaps.c
---
keyboards/clawsome/coupe/keymaps/default/{keymap.c => keymaps.c} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename keyboards/clawsome/coupe/keymaps/default/{keymap.c => keymaps.c} (100%)
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymaps.c
similarity index 100%
rename from keyboards/clawsome/coupe/keymaps/default/keymap.c
rename to keyboards/clawsome/coupe/keymaps/default/keymaps.c
From 70f670267e8f77274c087ba6764fe7baab82dabe Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Thu, 25 Jun 2020 20:17:50 -0400
Subject: [PATCH 29/39] Rename keymap.c to keymaps.c
---
keyboards/clawsome/sedan/keymap/default/{keymap.c => keymaps.c} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename keyboards/clawsome/sedan/keymap/default/{keymap.c => keymaps.c} (100%)
diff --git a/keyboards/clawsome/sedan/keymap/default/keymap.c b/keyboards/clawsome/sedan/keymap/default/keymaps.c
similarity index 100%
rename from keyboards/clawsome/sedan/keymap/default/keymap.c
rename to keyboards/clawsome/sedan/keymap/default/keymaps.c
From 201014d3f0190992951840673c3f0d754d1261a1 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Fri, 26 Jun 2020 07:05:53 -0400
Subject: [PATCH 30/39] folder name updated
---
keyboards/clawsome/coupe/keymaps/default/{keymaps.c => keymap.c} | 0
.../sedan/{keymap/default/keymaps.c => keymaps/default/keymap.c} | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename keyboards/clawsome/coupe/keymaps/default/{keymaps.c => keymap.c} (100%)
rename keyboards/clawsome/sedan/{keymap/default/keymaps.c => keymaps/default/keymap.c} (100%)
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymaps.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/clawsome/coupe/keymaps/default/keymaps.c
rename to keyboards/clawsome/coupe/keymaps/default/keymap.c
diff --git a/keyboards/clawsome/sedan/keymap/default/keymaps.c b/keyboards/clawsome/sedan/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/clawsome/sedan/keymap/default/keymaps.c
rename to keyboards/clawsome/sedan/keymaps/default/keymap.c
From 3e720d010a9c36212388d33d05fd957b51a5dbe7 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Fri, 26 Jun 2020 20:19:31 -0400
Subject: [PATCH 31/39] updated keymaps
---
.../4x12/keymaps/default/keymap 2.c | 36 +
.../5x12/keymaps/default/keymap 2.c | 39 +
keyboards/clawsome/coupe/info 2.json | 74 +
.../clawsome/coupe/keymaps/default/keymap.c | 23 +-
.../clawsome/sedan/keymaps/default/keymap.c | 22 +-
keyboards/clawsome/sedan/sedan 2.h | 32 +
.../exclusive/e85/keymaps/default/keymap 2.c | 37 +
.../exclusive/e85/keymaps/standard/keymap 2.c | 37 +
.../exclusive/e85/keymaps/tsangan/keymap 2.c | 37 +
.../exclusive/e85/keymaps/via/config 2.h | 1 +
.../exclusive/e85/keymaps/via/keymap 2.c | 45 +
.../exclusive/e85/keymaps/via/rules 2.mk | 3 +
.../hineybush/h60/keymaps/default/keymap 2.c | 28 +
.../hineybush/h60/keymaps/default/readme 2.md | 1 +
.../hineybush/h60/keymaps/kei/keymap 2.c | 26 +
.../hineybush/h60/keymaps/kei/readme 2.md | 1 +
.../hineybush/h60/keymaps/via/keymap 2.c | 40 +
.../hineybush/h60/keymaps/via/readme 2.md | 1 +
.../hineybush/h60/keymaps/via/rules 2.mk | 1 +
keyboards/maartenwut/eon75/config 2.h | 221 ++
keyboards/maartenwut/eon75/eon75 2.c | 45 +
keyboards/maartenwut/eon75/eon75 2.h | 97 +
keyboards/maartenwut/eon75/info 2.json | 289 ++
.../eon75/keymaps/default/keymap 2.c | 34 +
.../maartenwut/eon75/keymaps/via/keymap 2.c | 47 +
.../maartenwut/eon75/keymaps/via/rules 2.mk | 2 +
keyboards/maartenwut/eon75/readme 2.md | 13 +
keyboards/maartenwut/eon75/rules 2.mk | 32 +
keyboards/maartenwut/eon87/config 2.h | 220 ++
keyboards/maartenwut/eon87/eon87 2.c | 16 +
keyboards/maartenwut/eon87/eon87 2.h | 79 +
keyboards/maartenwut/eon87/info 2.json | 319 +++
.../eon87/keymaps/default/keymap 2.c | 42 +
.../eon87/keymaps/default/readme 2.md | 1 +
.../maartenwut/eon87/keymaps/via/keymap 2.c | 50 +
.../maartenwut/eon87/keymaps/via/rules 2.mk | 2 +
keyboards/maartenwut/eon87/readme 2.md | 13 +
keyboards/maartenwut/eon87/rules 2.mk | 34 +
keyboards/maartenwut/omrontkl/config 2.h | 220 ++
keyboards/maartenwut/omrontkl/info 2.json | 299 +++
.../omrontkl/keymaps/default/keymap 2.c | 42 +
keyboards/maartenwut/omrontkl/omrontkl 2.c | 16 +
keyboards/maartenwut/omrontkl/omrontkl 2.h | 79 +
keyboards/maartenwut/omrontkl/readme 2.md | 13 +
keyboards/maartenwut/omrontkl/rules 2.mk | 32 +
.../massdrop/alt/keymaps/ewersp/README 2.md | 30 +
.../massdrop/alt/keymaps/ewersp/config 2.h | 3 +
.../massdrop/alt/keymaps/ewersp/keymap 2.c | 196 ++
keyboards/mechlovin/infinity87/config 2.h | 73 +
keyboards/mechlovin/infinity87/infinity87 2.c | 38 +
keyboards/mechlovin/infinity87/infinity87 2.h | 37 +
keyboards/mechlovin/infinity87/info 2.json | 106 +
.../infinity87/keymaps/default/keymap 2.c | 27 +
.../infinity87/keymaps/default/readme 2.md | 1 +
.../infinity87/keymaps/via/keymap 2.c | 52 +
.../infinity87/keymaps/via/readme 2.md | 1 +
.../infinity87/keymaps/via/rules 2.mk | 1 +
keyboards/mechlovin/infinity87/readme 2.md | 15 +
keyboards/mechlovin/infinity87/rules 2.mk | 21 +
keyboards/mixi/config 2.h | 47 +
keyboards/mixi/info 2.json | 22 +
keyboards/mixi/keymaps/default/keymap 2.c | 117 +
keyboards/mixi/keymaps/default/readme 2.md | 10 +
keyboards/mixi/keymaps/via/keymap 2.c | 134 +
keyboards/mixi/keymaps/via/rules 2.mk | 2 +
keyboards/mixi/mixi 2.c | 14 +
keyboards/mixi/mixi 2.h | 13 +
keyboards/mixi/readme 2.md | 15 +
keyboards/mixi/rules 2.mk | 27 +
keyboards/montsinger/rebound/rev4/config 2.h | 65 +
keyboards/montsinger/rebound/rev4/info 2.json | 128 +
.../rebound/rev4/keymaps/default/keymap 2.c | 102 +
.../rev4/keymaps/rossman360/keymap 2.c | 120 +
.../rev4/keymaps/rossman360/rules 2.mk | 4 +
keyboards/montsinger/rebound/rev4/rev4 2.h | 59 +
keyboards/montsinger/rebound/rev4/rules 2.mk | 33 +
.../boards/ST_STM32F072B_DISCOVERY/board 2.c | 268 ++
.../boards/ST_STM32F072B_DISCOVERY/board 2.h | 940 +++++++
.../boards/ST_STM32F072B_DISCOVERY/board 2.mk | 5 +
.../ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg | 703 +++++
keyboards/nebula12/bootloader_defs 2.h | 7 +
keyboards/nebula12/chconf 2.h | 714 +++++
keyboards/nebula12/halconf 2.h | 525 ++++
keyboards/nebula12/info 2.json | 14 +
keyboards/nebula12/keymaps/default/keymap 2.c | 42 +
.../nebula12/keymaps/default/readme 2.md | 7 +
keyboards/nebula12/keymaps/via/keymap 2.c | 42 +
keyboards/nebula12/keymaps/via/readme 2.md | 5 +
keyboards/nebula12/keymaps/via/rules 2.mk | 1 +
keyboards/nebula12/mcuconf 2.h | 176 ++
keyboards/nebula12/nebula12 2.c | 20 +
keyboards/nebula12/nebula12 2.h | 35 +
keyboards/nebula12/readme 2.md | 32 +
keyboards/nebula12/rules 2.mk | 34 +
keyboards/nebula65/chconf 2.h | 714 +++++
keyboards/nebula65/config 2.h | 163 ++
keyboards/nebula65/halconf 2.h | 525 ++++
keyboards/nebula65/info 2.json | 85 +
keyboards/nebula65/keymaps/default/keymap 2.c | 46 +
.../nebula65/keymaps/default/readme 2.md | 7 +
keyboards/nebula65/keymaps/via/keymap 2.c | 46 +
keyboards/nebula65/keymaps/via/readme 2.md | 7 +
keyboards/nebula65/keymaps/via/rules 2.mk | 1 +
keyboards/nebula65/mcuconf 2.h | 273 ++
keyboards/nebula65/nebula65 2.c | 20 +
keyboards/nebula65/nebula65 2.h | 37 +
keyboards/nebula65/readme 2.md | 32 +
keyboards/nebula65/rules 2.mk | 34 +
keyboards/noxary/220/keymaps/via/keymap 2.c | 122 +
keyboards/noxary/220/keymaps/via/readme 2.md | 3 +
keyboards/noxary/220/keymaps/via/rules 2.mk | 5 +
keyboards/noxary/260/keymaps/via/keymap 2.c | 85 +
keyboards/noxary/260/keymaps/via/rules 2.mk | 2 +
keyboards/noxary/268/keymaps/via/keymap 2.c | 110 +
keyboards/noxary/268/keymaps/via/readme 2.md | 3 +
keyboards/noxary/268/keymaps/via/rules 2.mk | 5 +
keyboards/noxary/268_2/keymaps/via/keymap 2.c | 110 +
.../noxary/268_2/keymaps/via/readme 2.md | 3 +
keyboards/noxary/268_2/keymaps/via/rules 2.mk | 5 +
keyboards/noxary/x268/keymaps/via/keymap 2.c | 111 +
keyboards/noxary/x268/keymaps/via/readme 2.md | 3 +
keyboards/noxary/x268/keymaps/via/rules 2.mk | 5 +
keyboards/planck/keymaps/buffet/config 2.h | 46 +
keyboards/planck/keymaps/buffet/keymap 2.c | 384 +++
keyboards/planck/keymaps/buffet/readme 2.md | 104 +
.../keymaps/buffet/rgb_matrix_user 2.inc | 18 +
keyboards/planck/keymaps/buffet/rules 2.mk | 6 +
.../planck/keymaps/charlesrocket/config 2.h | 38 +
.../planck/keymaps/charlesrocket/keymap 2.c | 203 ++
.../planck/keymaps/charlesrocket/readme 2.md | 55 +
.../planck/keymaps/charlesrocket/rules 2.mk | 8 +
.../preonic/keymaps/shwilliam/config 2.h | 19 +
.../preonic/keymaps/shwilliam/keymap 2.c | 299 +++
.../preonic/keymaps/shwilliam/readme 2.md | 40 +
.../preonic/keymaps/shwilliam/rules 2.mk | 1 +
.../prime_e/keymaps/madhatter/config 2.h | 6 +
.../prime_e/keymaps/madhatter/keymap 2.c | 160 ++
keyboards/s7_elephant/rev1/config 2.h | 48 +
keyboards/s7_elephant/rev1/info 2.json | 2348 +++++++++++++++++
.../rev1/keymaps/default/config 2.h | 1 +
.../rev1/keymaps/default/keymap 2.c | 64 +
.../rev1/keymaps/default/readme 2.md | 35 +
keyboards/s7_elephant/rev1/readme 2.md | 17 +
keyboards/s7_elephant/rev1/rev1 2.c | 1 +
keyboards/s7_elephant/rev1/rev1 2.h | 853 ++++++
keyboards/s7_elephant/rev1/rules 2.mk | 25 +
keyboards/s7_elephant/rev2/config 2.h | 83 +
keyboards/s7_elephant/rev2/info 2.json | 167 ++
.../rev2/keymaps/default/keymap 2.c | 65 +
.../rev2/keymaps/default/readme 2.md | 35 +
.../s7_elephant/rev2/keymaps/via/keymap 2.c | 92 +
.../s7_elephant/rev2/keymaps/via/readme 2.md | 35 +
.../s7_elephant/rev2/keymaps/via/rules 2.mk | 1 +
keyboards/s7_elephant/rev2/readme 2.md | 17 +
keyboards/s7_elephant/rev2/rev2 2.c | 19 +
keyboards/s7_elephant/rev2/rev2 2.h | 61 +
keyboards/s7_elephant/rev2/rules 2.mk | 33 +
keyboards/suihankey/alpha/info 2.json | 34 +
keyboards/westfoxtrot/prophet/info 2.json | 76 +
.../wt75_b/keymaps/madhatter/config 2.h | 4 +
keyboards/xd75/keymaps/hybrid/config 2.h | 20 +
keyboards/xd75/keymaps/hybrid/keymap 2.c | 310 +++
keyboards/xd75/keymaps/hybrid/readme 2.md | 13 +
keyboards/xd75/keymaps/hybrid/rules 2.mk | 21 +
keyboards/ymdk/sp64/config 2.h | 45 +
keyboards/ymdk/sp64/info 2.json | 79 +
keyboards/ymdk/sp64/keymaps/daed/keymap 2.c | 140 +
.../ymdk/sp64/keymaps/default/keymap 2.c | 74 +
.../ymdk/sp64/keymaps/walston/keymap 2.c | 94 +
.../ymdk/sp64/keymaps/walston/rules 2.mk | 1 +
keyboards/ymdk/sp64/matrix 2.c | 169 ++
keyboards/ymdk/sp64/readme 2.md | 17 +
keyboards/ymdk/sp64/rules 2.mk | 32 +
keyboards/ymdk/sp64/sp64 2.c | 93 +
keyboards/ymdk/sp64/sp64 2.h | 84 +
keyboards/yncognito/batpad/batpad 2.c | 35 +
keyboards/yncognito/batpad/batpad 2.h | 29 +
keyboards/yncognito/batpad/config 2.h | 60 +
keyboards/yncognito/batpad/info 2.json | 23 +
.../batpad/keymaps/default/keymap 2.c | 34 +
.../batpad/keymaps/default/readme 2.md | 1 +
.../yncognito/batpad/keymaps/via/keymap 2.c | 36 +
.../yncognito/batpad/keymaps/via/rules 2.mk | 1 +
keyboards/yncognito/batpad/readme 2.md | 14 +
keyboards/yncognito/batpad/rules 2.mk | 35 +
.../ergodox/manna-harbour_miryoku/config 2.h | 20 +
.../manna-harbour_miryoku/config 2.h | 31 +
quantum/keymap_extras/keymap_hebrew 2.h | 151 ++
188 files changed, 17540 insertions(+), 9 deletions(-)
create mode 100644 keyboards/boardsource/4x12/keymaps/default/keymap 2.c
create mode 100644 keyboards/boardsource/5x12/keymaps/default/keymap 2.c
create mode 100644 keyboards/clawsome/coupe/info 2.json
create mode 100644 keyboards/clawsome/sedan/sedan 2.h
create mode 100644 keyboards/exclusive/e85/keymaps/default/keymap 2.c
create mode 100644 keyboards/exclusive/e85/keymaps/standard/keymap 2.c
create mode 100644 keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
create mode 100644 keyboards/exclusive/e85/keymaps/via/config 2.h
create mode 100644 keyboards/exclusive/e85/keymaps/via/keymap 2.c
create mode 100644 keyboards/exclusive/e85/keymaps/via/rules 2.mk
create mode 100644 keyboards/hineybush/h60/keymaps/default/keymap 2.c
create mode 100644 keyboards/hineybush/h60/keymaps/default/readme 2.md
create mode 100644 keyboards/hineybush/h60/keymaps/kei/keymap 2.c
create mode 100644 keyboards/hineybush/h60/keymaps/kei/readme 2.md
create mode 100644 keyboards/hineybush/h60/keymaps/via/keymap 2.c
create mode 100644 keyboards/hineybush/h60/keymaps/via/readme 2.md
create mode 100644 keyboards/hineybush/h60/keymaps/via/rules 2.mk
create mode 100644 keyboards/maartenwut/eon75/config 2.h
create mode 100644 keyboards/maartenwut/eon75/eon75 2.c
create mode 100644 keyboards/maartenwut/eon75/eon75 2.h
create mode 100644 keyboards/maartenwut/eon75/info 2.json
create mode 100644 keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
create mode 100644 keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
create mode 100644 keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
create mode 100644 keyboards/maartenwut/eon75/readme 2.md
create mode 100644 keyboards/maartenwut/eon75/rules 2.mk
create mode 100644 keyboards/maartenwut/eon87/config 2.h
create mode 100644 keyboards/maartenwut/eon87/eon87 2.c
create mode 100644 keyboards/maartenwut/eon87/eon87 2.h
create mode 100644 keyboards/maartenwut/eon87/info 2.json
create mode 100644 keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
create mode 100644 keyboards/maartenwut/eon87/keymaps/default/readme 2.md
create mode 100644 keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
create mode 100644 keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
create mode 100644 keyboards/maartenwut/eon87/readme 2.md
create mode 100644 keyboards/maartenwut/eon87/rules 2.mk
create mode 100644 keyboards/maartenwut/omrontkl/config 2.h
create mode 100644 keyboards/maartenwut/omrontkl/info 2.json
create mode 100644 keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
create mode 100644 keyboards/maartenwut/omrontkl/omrontkl 2.c
create mode 100644 keyboards/maartenwut/omrontkl/omrontkl 2.h
create mode 100644 keyboards/maartenwut/omrontkl/readme 2.md
create mode 100644 keyboards/maartenwut/omrontkl/rules 2.mk
create mode 100644 keyboards/massdrop/alt/keymaps/ewersp/README 2.md
create mode 100644 keyboards/massdrop/alt/keymaps/ewersp/config 2.h
create mode 100644 keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
create mode 100644 keyboards/mechlovin/infinity87/config 2.h
create mode 100644 keyboards/mechlovin/infinity87/infinity87 2.c
create mode 100644 keyboards/mechlovin/infinity87/infinity87 2.h
create mode 100644 keyboards/mechlovin/infinity87/info 2.json
create mode 100644 keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
create mode 100644 keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
create mode 100644 keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
create mode 100644 keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
create mode 100644 keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
create mode 100644 keyboards/mechlovin/infinity87/readme 2.md
create mode 100644 keyboards/mechlovin/infinity87/rules 2.mk
create mode 100644 keyboards/mixi/config 2.h
create mode 100644 keyboards/mixi/info 2.json
create mode 100644 keyboards/mixi/keymaps/default/keymap 2.c
create mode 100644 keyboards/mixi/keymaps/default/readme 2.md
create mode 100644 keyboards/mixi/keymaps/via/keymap 2.c
create mode 100644 keyboards/mixi/keymaps/via/rules 2.mk
create mode 100644 keyboards/mixi/mixi 2.c
create mode 100644 keyboards/mixi/mixi 2.h
create mode 100644 keyboards/mixi/readme 2.md
create mode 100644 keyboards/mixi/rules 2.mk
create mode 100644 keyboards/montsinger/rebound/rev4/config 2.h
create mode 100644 keyboards/montsinger/rebound/rev4/info 2.json
create mode 100644 keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
create mode 100644 keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
create mode 100644 keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
create mode 100644 keyboards/montsinger/rebound/rev4/rev4 2.h
create mode 100644 keyboards/montsinger/rebound/rev4/rules 2.mk
create mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
create mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
create mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
create mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
create mode 100644 keyboards/nebula12/bootloader_defs 2.h
create mode 100644 keyboards/nebula12/chconf 2.h
create mode 100644 keyboards/nebula12/halconf 2.h
create mode 100755 keyboards/nebula12/info 2.json
create mode 100755 keyboards/nebula12/keymaps/default/keymap 2.c
create mode 100755 keyboards/nebula12/keymaps/default/readme 2.md
create mode 100755 keyboards/nebula12/keymaps/via/keymap 2.c
create mode 100755 keyboards/nebula12/keymaps/via/readme 2.md
create mode 100755 keyboards/nebula12/keymaps/via/rules 2.mk
create mode 100644 keyboards/nebula12/mcuconf 2.h
create mode 100755 keyboards/nebula12/nebula12 2.c
create mode 100755 keyboards/nebula12/nebula12 2.h
create mode 100755 keyboards/nebula12/readme 2.md
create mode 100755 keyboards/nebula12/rules 2.mk
create mode 100644 keyboards/nebula65/chconf 2.h
create mode 100755 keyboards/nebula65/config 2.h
create mode 100644 keyboards/nebula65/halconf 2.h
create mode 100755 keyboards/nebula65/info 2.json
create mode 100755 keyboards/nebula65/keymaps/default/keymap 2.c
create mode 100755 keyboards/nebula65/keymaps/default/readme 2.md
create mode 100755 keyboards/nebula65/keymaps/via/keymap 2.c
create mode 100755 keyboards/nebula65/keymaps/via/readme 2.md
create mode 100755 keyboards/nebula65/keymaps/via/rules 2.mk
create mode 100644 keyboards/nebula65/mcuconf 2.h
create mode 100755 keyboards/nebula65/nebula65 2.c
create mode 100755 keyboards/nebula65/nebula65 2.h
create mode 100755 keyboards/nebula65/readme 2.md
create mode 100755 keyboards/nebula65/rules 2.mk
create mode 100644 keyboards/noxary/220/keymaps/via/keymap 2.c
create mode 100644 keyboards/noxary/220/keymaps/via/readme 2.md
create mode 100644 keyboards/noxary/220/keymaps/via/rules 2.mk
create mode 100644 keyboards/noxary/260/keymaps/via/keymap 2.c
create mode 100644 keyboards/noxary/260/keymaps/via/rules 2.mk
create mode 100644 keyboards/noxary/268/keymaps/via/keymap 2.c
create mode 100644 keyboards/noxary/268/keymaps/via/readme 2.md
create mode 100644 keyboards/noxary/268/keymaps/via/rules 2.mk
create mode 100644 keyboards/noxary/268_2/keymaps/via/keymap 2.c
create mode 100644 keyboards/noxary/268_2/keymaps/via/readme 2.md
create mode 100644 keyboards/noxary/268_2/keymaps/via/rules 2.mk
create mode 100644 keyboards/noxary/x268/keymaps/via/keymap 2.c
create mode 100644 keyboards/noxary/x268/keymaps/via/readme 2.md
create mode 100644 keyboards/noxary/x268/keymaps/via/rules 2.mk
create mode 100644 keyboards/planck/keymaps/buffet/config 2.h
create mode 100644 keyboards/planck/keymaps/buffet/keymap 2.c
create mode 100644 keyboards/planck/keymaps/buffet/readme 2.md
create mode 100644 keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
create mode 100644 keyboards/planck/keymaps/buffet/rules 2.mk
create mode 100644 keyboards/planck/keymaps/charlesrocket/config 2.h
create mode 100644 keyboards/planck/keymaps/charlesrocket/keymap 2.c
create mode 100644 keyboards/planck/keymaps/charlesrocket/readme 2.md
create mode 100644 keyboards/planck/keymaps/charlesrocket/rules 2.mk
create mode 100644 keyboards/preonic/keymaps/shwilliam/config 2.h
create mode 100644 keyboards/preonic/keymaps/shwilliam/keymap 2.c
create mode 100644 keyboards/preonic/keymaps/shwilliam/readme 2.md
create mode 100644 keyboards/preonic/keymaps/shwilliam/rules 2.mk
create mode 100644 keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
create mode 100644 keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
create mode 100644 keyboards/s7_elephant/rev1/config 2.h
create mode 100644 keyboards/s7_elephant/rev1/info 2.json
create mode 100644 keyboards/s7_elephant/rev1/keymaps/default/config 2.h
create mode 100644 keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
create mode 100644 keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
create mode 100644 keyboards/s7_elephant/rev1/readme 2.md
create mode 100644 keyboards/s7_elephant/rev1/rev1 2.c
create mode 100644 keyboards/s7_elephant/rev1/rev1 2.h
create mode 100644 keyboards/s7_elephant/rev1/rules 2.mk
create mode 100644 keyboards/s7_elephant/rev2/config 2.h
create mode 100644 keyboards/s7_elephant/rev2/info 2.json
create mode 100644 keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
create mode 100644 keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
create mode 100644 keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
create mode 100644 keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
create mode 100644 keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
create mode 100644 keyboards/s7_elephant/rev2/readme 2.md
create mode 100644 keyboards/s7_elephant/rev2/rev2 2.c
create mode 100644 keyboards/s7_elephant/rev2/rev2 2.h
create mode 100644 keyboards/s7_elephant/rev2/rules 2.mk
create mode 100644 keyboards/suihankey/alpha/info 2.json
create mode 100644 keyboards/westfoxtrot/prophet/info 2.json
create mode 100644 keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
create mode 100644 keyboards/xd75/keymaps/hybrid/config 2.h
create mode 100644 keyboards/xd75/keymaps/hybrid/keymap 2.c
create mode 100644 keyboards/xd75/keymaps/hybrid/readme 2.md
create mode 100644 keyboards/xd75/keymaps/hybrid/rules 2.mk
create mode 100644 keyboards/ymdk/sp64/config 2.h
create mode 100644 keyboards/ymdk/sp64/info 2.json
create mode 100644 keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
create mode 100644 keyboards/ymdk/sp64/keymaps/default/keymap 2.c
create mode 100644 keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
create mode 100644 keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
create mode 100644 keyboards/ymdk/sp64/matrix 2.c
create mode 100644 keyboards/ymdk/sp64/readme 2.md
create mode 100644 keyboards/ymdk/sp64/rules 2.mk
create mode 100644 keyboards/ymdk/sp64/sp64 2.c
create mode 100644 keyboards/ymdk/sp64/sp64 2.h
create mode 100644 keyboards/yncognito/batpad/batpad 2.c
create mode 100644 keyboards/yncognito/batpad/batpad 2.h
create mode 100644 keyboards/yncognito/batpad/config 2.h
create mode 100644 keyboards/yncognito/batpad/info 2.json
create mode 100644 keyboards/yncognito/batpad/keymaps/default/keymap 2.c
create mode 100644 keyboards/yncognito/batpad/keymaps/default/readme 2.md
create mode 100644 keyboards/yncognito/batpad/keymaps/via/keymap 2.c
create mode 100644 keyboards/yncognito/batpad/keymaps/via/rules 2.mk
create mode 100644 keyboards/yncognito/batpad/readme 2.md
create mode 100644 keyboards/yncognito/batpad/rules 2.mk
create mode 100644 layouts/community/ergodox/manna-harbour_miryoku/config 2.h
create mode 100644 layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
create mode 100644 quantum/keymap_extras/keymap_hebrew 2.h
diff --git a/keyboards/boardsource/4x12/keymaps/default/keymap 2.c b/keyboards/boardsource/4x12/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..d9a0c47a6b39
--- /dev/null
+++ b/keyboards/boardsource/4x12/keymaps/default/keymap 2.c
@@ -0,0 +1,36 @@
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _MAIN,
+ _RAISE,
+ _LOWER,
+};
+
+// Readability keycodes
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_MAIN] = LAYOUT_ortho_4x12(
+ 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [_RAISE] = LAYOUT_ortho_4x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ [_LOWER] = LAYOUT_ortho_4x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ )
+
+};
diff --git a/keyboards/boardsource/5x12/keymaps/default/keymap 2.c b/keyboards/boardsource/5x12/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..19bdde0ffb9c
--- /dev/null
+++ b/keyboards/boardsource/5x12/keymaps/default/keymap 2.c
@@ -0,0 +1,39 @@
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _MAIN,
+ _RAISE,
+ _LOWER,
+};
+
+// Readability keycodes
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_MAIN] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [_RAISE] = LAYOUT_ortho_5x12(
+ 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
+ RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+
+ [_LOWER] = LAYOUT_ortho_5x12(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ )
+
+};
diff --git a/keyboards/clawsome/coupe/info 2.json b/keyboards/clawsome/coupe/info 2.json
new file mode 100644
index 000000000000..6c930922a5cf
--- /dev/null
+++ b/keyboards/clawsome/coupe/info 2.json
@@ -0,0 +1,74 @@
+{
+ "keyboard_name": "Coupe",
+ "url": "www.clawboards.xyz",
+ "maintainer": "AAClawson (AlisGraveNil)",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"label":"K00 (D7,F4)", "x":0, "y":0},
+ {"label":"K10 (D2,F4)", "x":1, "y":0},
+ {"label":"K01 (D7,F5)", "x":2, "y":0},
+ {"label":"K11 (D2,F5)", "x":3, "y":0},
+ {"label":"K02 (D7,F6)", "x":4, "y":0},
+ {"label":"K12 (D2,F6)", "x":5, "y":0},
+ {"label":"K03 (D7,F7)", "x":6, "y":0},
+ {"label":"K13 (D2,F7)", "x":7, "y":0},
+ {"label":"K04 (D7,B6)", "x":8, "y":0},
+ {"label":"K14 (D2,B6)", "x":9, "y":0},
+ {"label":"K05 (D7,B3)", "x":10, "y":0},
+ {"label":"K15 (D2,B3)", "x":11, "y":0},
+ {"label":"K06 (D7,B2)", "x":12, "y":0},
+ {"label":"K16 (D2,B2)", "x":13, "y":0, "w":2},
+ {"label":"K20 (C6,F4)", "x":0, "y":1, "w":1.5},
+ {"label":"K30 (B5,F4)", "x":1.5, "y":1},
+ {"label":"K21 (C6,F5)", "x":2.5, "y":1},
+ {"label":"K31 (B5,F5)", "x":3.5, "y":1},
+ {"label":"K22 (C6,F6)", "x":4.5, "y":1},
+ {"label":"K32 (B5,F6)", "x":5.5, "y":1},
+ {"label":"K23 (C6,F7)", "x":6.5, "y":1},
+ {"label":"K33 (B5,F7)", "x":7.5, "y":1},
+ {"label":"K24 (C6,B6)", "x":8.5, "y":1},
+ {"label":"K34 (B5,B6)", "x":9.5, "y":1},
+ {"label":"K25 (C6,B3)", "x":10.5, "y":1},
+ {"label":"K35 (B5,B3)", "x":11.5, "y":1},
+ {"label":"K26 (C6,B2)", "x":12.5, "y":1},
+ {"label":"K36 (B5,B2)", "x":13.5, "y":1, "w":1.5},
+ {"label":"K40 (D4,F4)", "x":0, "y":2, "w":1.75},
+ {"label":"K50 (B4,F4)", "x":1.75, "y":2},
+ {"label":"K41 (D4,F5)", "x":2.75, "y":2},
+ {"label":"K51 (B4,F5)", "x":3.75, "y":2},
+ {"label":"K42 (D4,F6)", "x":4.75, "y":2},
+ {"label":"K52 (B4,F6)", "x":5.75, "y":2},
+ {"label":"K43 (D4,F7)", "x":6.75, "y":2},
+ {"label":"K53 (B4,F7)", "x":7.75, "y":2},
+ {"label":"K44 (D4,B6)", "x":8.75, "y":2},
+ {"label":"K54 (B4,B6)", "x":9.75, "y":2},
+ {"label":"K45 (D4,B3)", "x":10.75, "y":2},
+ {"label":"K55 (B4,B3)", "x":11.75, "y":2},
+ {"label":"K56 (B4,B2)", "x":12.75, "y":2, "w":2.25},
+ {"label":"K60 (D0,F4)", "x":0, "y":3, "w":2.25},
+ {"label":"K61 (D0,F5)", "x":2.25, "y":3},
+ {"label":"K71 (D3,F5)", "x":3.25, "y":3},
+ {"label":"K62 (D0,F6)", "x":4.25, "y":3},
+ {"label":"K72 (D3,F6)", "x":5.25, "y":3},
+ {"label":"K63 (D0,F7)", "x":6.25, "y":3},
+ {"label":"K73 (D3,F7)", "x":7.25, "y":3},
+ {"label":"K64 (D0,B6)", "x":8.25, "y":3},
+ {"label":"K74 (D3,B6)", "x":9.25, "y":3},
+ {"label":"K65 (D0,B3)", "x":10.25, "y":3},
+ {"label":"K75 (D3,B3)", "x":11.25, "y":3},
+ {"label":"K76 (D3,B2)", "x":12.25, "y":3, "w":2.75},
+ {"label":"K80 (D1,F4)", "x":0, "y":4, "w":1.25},
+ {"label":"K90 (E6,F4)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K81 (D1,F5)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K83 (D1,F7)", "x":3.75, "y":4, "w":6.25},
+ {"label":"K85 (D1,B3)", "x":10, "y":4, "w":1.25},
+ {"label":"K95 (E6,B3)", "x":11.25, "y":4, "w":1.25},
+ {"label":"K86 (D1,B2)", "x":12.5, "y":4, "w":1.25},
+ {"label":"K96 (E6,B2)", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c
index 28fb2cf4fc7c..a36017d7c396 100644
--- a/keyboards/clawsome/coupe/keymaps/default/keymap.c
+++ b/keyboards/clawsome/coupe/keymaps/default/keymap.c
@@ -16,12 +16,25 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ *-----------------------------------------------------------------------
+ *|ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | DEL|
+ *-----------------------------------------------------------------------
+ *|TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
+ *-----------------------------------------------------------------------
+ *|CAPS | A | S | D | F | G | H | J | K | L | ; | " | ENTER |
+ *-----------------------------------------------------------------------
+ *| SHIFT | Z | X | C | V | B | N | M | , | . | ? | SHIFT |
+ *-----------------------------------------------------------------------
+ *|CTRL|GUI |ALT | SPACE |ALT |GUI |MENU |CTRL|
+ *-----------------------------------------------------------------------
+ */
[0] = LAYOUT_60_ansi(
- 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
+ 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
),
};
diff --git a/keyboards/clawsome/sedan/keymaps/default/keymap.c b/keyboards/clawsome/sedan/keymaps/default/keymap.c
index ed710a912dae..3e84ab6cdccc 100644
--- a/keyboards/clawsome/sedan/keymaps/default/keymap.c
+++ b/keyboards/clawsome/sedan/keymaps/default/keymap.c
@@ -16,12 +16,26 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ *---------------------------------------------------------------------------------
+ *|ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BSPC |HOME|
+ *---------------------------------------------------------------------------------
+ *| TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |END |
+ *---------------------------------------------------------------------------------
+ *| CAPS | A | S | D | F | G | H | J | K | L | ; | " | ENTER |PGUP|
+ *---------------------------------------------------------------------------------
+ *| SHIFT | Z | X | C | V | B | N | M | , | . | ? | SHIFT | ^ |PGDN|
+ *---------------------------------------------------------------------------------
+ *|CTRL|GUI |ALT | SPACE |ALT |GUI |MENU |CTRL| < | v | > |
+ *---------------------------------------------------------------------------------
+ */
[0] = LAYOUT_65_ansi(
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_LSFT, XXXXXXX, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, XXXXXXX, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX
+ 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_END,
+ 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_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_GALT, KC_RGUI, KC_GCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
diff --git a/keyboards/clawsome/sedan/sedan 2.h b/keyboards/clawsome/sedan/sedan 2.h
new file mode 100644
index 000000000000..7af9476676e6
--- /dev/null
+++ b/keyboards/clawsome/sedan/sedan 2.h
@@ -0,0 +1,32 @@
+/* Copyright 2020 AAClawson (AlisGraveNil)
+ *
+ * This 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_65_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E }, \
+}
diff --git a/keyboards/exclusive/e85/keymaps/default/keymap 2.c b/keyboards/exclusive/e85/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..80f8e0eeb4b4
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/default/keymap 2.c
@@ -0,0 +1,37 @@
+/* Copyright 2020 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/exclusive/e85/keymaps/standard/keymap 2.c b/keyboards/exclusive/e85/keymaps/standard/keymap 2.c
new file mode 100644
index 000000000000..c6778180be1a
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/standard/keymap 2.c
@@ -0,0 +1,37 @@
+/* Copyright 2020 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi_standard(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_standard(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c b/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
new file mode 100644
index 000000000000..80f8e0eeb4b4
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
@@ -0,0 +1,37 @@
+/* Copyright 2020 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/exclusive/e85/keymaps/via/config 2.h b/keyboards/exclusive/e85/keymaps/via/config 2.h
new file mode 100644
index 000000000000..78f3f6a69656
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/via/config 2.h
@@ -0,0 +1 @@
+ #define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file
diff --git a/keyboards/exclusive/e85/keymaps/via/keymap 2.c b/keyboards/exclusive/e85/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..c55c35ce192f
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/via/keymap 2.c
@@ -0,0 +1,45 @@
+/* Copyright 2020 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [2] = LAYOUT_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/exclusive/e85/keymaps/via/rules 2.mk b/keyboards/exclusive/e85/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..29a6f75191f0
--- /dev/null
+++ b/keyboards/exclusive/e85/keymaps/via/rules 2.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
\ No newline at end of file
diff --git a/keyboards/hineybush/h60/keymaps/default/keymap 2.c b/keyboards/hineybush/h60/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..9195da4b8587
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/default/keymap 2.c
@@ -0,0 +1,28 @@
+/* Copyright 2020 hineybush
+
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+ [_BASE] = LAYOUT_60_ansi(
+ 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
+
+ [_FN] = LAYOUT_60_ansi(
+ KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/hineybush/h60/keymaps/default/readme 2.md b/keyboards/hineybush/h60/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..08aa4a5c8fe2
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/default/readme 2.md
@@ -0,0 +1 @@
+# The default keymap for h60
diff --git a/keyboards/hineybush/h60/keymaps/kei/keymap 2.c b/keyboards/hineybush/h60/keymaps/kei/keymap 2.c
new file mode 100644
index 000000000000..528e1ac970d5
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/kei/keymap 2.c
@@ -0,0 +1,26 @@
+/* Copyright 2020 hineybush
+
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_60_hhkb(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
+ [_FN] = LAYOUT_60_hhkb(
+ KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/hineybush/h60/keymaps/kei/readme 2.md b/keyboards/hineybush/h60/keymaps/kei/readme 2.md
new file mode 100644
index 000000000000..c7b8dd630121
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/kei/readme 2.md
@@ -0,0 +1 @@
+# The default keymap for the Kei keyboard
diff --git a/keyboards/hineybush/h60/keymaps/via/keymap 2.c b/keyboards/hineybush/h60/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..75c9ac2dd2c5
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/via/keymap 2.c
@@ -0,0 +1,40 @@
+/* Copyright 2020 hineybush
+
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = 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_TRNS,
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
+ [_FN1] = LAYOUT_all(
+ KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [_FN2] = 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),
+ [_FN3] = 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),
+};
diff --git a/keyboards/hineybush/h60/keymaps/via/readme 2.md b/keyboards/hineybush/h60/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..a8d6e39e1513
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/via/readme 2.md
@@ -0,0 +1 @@
+# The via keymap for h60
diff --git a/keyboards/hineybush/h60/keymaps/via/rules 2.mk b/keyboards/hineybush/h60/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/hineybush/h60/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/maartenwut/eon75/config 2.h b/keyboards/maartenwut/eon75/config 2.h
new file mode 100644
index 000000000000..41be76245b7a
--- /dev/null
+++ b/keyboards/maartenwut/eon75/config 2.h
@@ -0,0 +1,221 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4705
+#define PRODUCT_ID 0x5C62
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Maartenwut
+#define PRODUCT Eon75
+#define DESCRIPTION A 75% PCB
+
+/* key matrix size */
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 8
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
+#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3}
+#define UNUSED_PINS {B2,B1}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN D0
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 12
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #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
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP H
+//#define MAGIC_KEY_HELP_ALT SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER0_ALT GRAVE
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER B
+//#define MAGIC_KEY_BOOTLOADER_ALT ESC
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
+
diff --git a/keyboards/maartenwut/eon75/eon75 2.c b/keyboards/maartenwut/eon75/eon75 2.c
new file mode 100644
index 000000000000..86b462dd9ecc
--- /dev/null
+++ b/keyboards/maartenwut/eon75/eon75 2.c
@@ -0,0 +1,45 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include "eon75.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+ matrix_init_user();
+ led_init_ports();
+};
+
+void led_init_ports(void) {
+ // * Set our LED pins as output and high
+ setPinOutput(D5);
+ writePinHigh(D5);
+
+ setPinOutput(B7);
+ writePinHigh(B7);
+
+ setPinOutput(B0);
+ writePinHigh(B0);
+}
+
+bool led_update_kb(led_t led_state) {
+ if(led_update_user(led_state)) {
+ writePin(D5, !led_state.caps_lock);
+ writePin(B7, !led_state.num_lock);
+ writePin(B0, !led_state.scroll_lock);
+ }
+
+ return true;
+}
diff --git a/keyboards/maartenwut/eon75/eon75 2.h b/keyboards/maartenwut/eon75/eon75 2.h
new file mode 100644
index 000000000000..5ce932a6467f
--- /dev/null
+++ b/keyboards/maartenwut/eon75/eon75 2.h
@@ -0,0 +1,97 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#include "quantum.h"
+#define XXX KC_NO
+
+/* This 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_all( \
+ k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
+ k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
+ k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
+ k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
+ k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
+ ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47 }, \
+ { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
+ { k60, k61, k62, k63, k64, k65, k66, XXX }, \
+ { k70, k71, k72, k73, k74, k75, k76, k77 }, \
+ { k80, k81, k82, k83, k84, k85, k86, k87 }, \
+ { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
+ { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
+ { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
+}
+
+#define LAYOUT_ansi( \
+ k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
+ k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
+ k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
+ k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
+ k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
+ ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47 }, \
+ { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
+ { k60, k61, k62, k63, k64, k65, XXX, XXX }, \
+ { k70, k71, k72, k73, k74, k75, k76, k77 }, \
+ { k80, k81, k82, k83, k84, k85, k86, k87 }, \
+ { XXX, k91, k92, k93, k94, k95, XXX, k97 }, \
+ { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
+ { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
+}
+
+#define LAYOUT_iso( \
+ k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
+ k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
+ k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, \
+ k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
+ k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
+ ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+ { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+ { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
+ { k40, k41, k42, k43, k44, k45, k46, XXX }, \
+ { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
+ { k60, k61, k62, k63, k64, k65, k66, XXX }, \
+ { k70, k71, k72, k73, k74, k75, k76, k77 }, \
+ { k80, k81, k82, k83, k84, k85, k86, k87 }, \
+ { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
+ { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
+ { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
+}
diff --git a/keyboards/maartenwut/eon75/info 2.json b/keyboards/maartenwut/eon75/info 2.json
new file mode 100644
index 000000000000..9066542a1f36
--- /dev/null
+++ b/keyboards/maartenwut/eon75/info 2.json
@@ -0,0 +1,289 @@
+{
+ "keyboard_name": "Eon75",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 16.5,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.5, "y":0},
+ {"x":2.5, "y":0},
+ {"x":3.5, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.75, "y":0},
+ {"x":6.75, "y":0},
+ {"x":7.75, "y":0},
+ {"x":8.75, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14.5, "y":0},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25},
+ {"x":14, "y":1.25},
+ {"x":15.5, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+ {"x":15.5, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25},
+ {"x":13.75, "y":3.25, "w":1.25},
+ {"x":15.5, "y":3.25},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+ {"x":14.25, "y":4.5},
+ {"x":15.5, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.25},
+ {"x":1.25, "y":5.25, "w":1.25},
+ {"x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"x":10, "y":5.25},
+ {"x":11, "y":5.25},
+ {"x":12, "y":5.25},
+ {"x":13.25, "y":5.5},
+ {"x":14.25, "y":5.5},
+ {"x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.5, "y":0},
+ {"x":2.5, "y":0},
+ {"x":3.5, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.75, "y":0},
+ {"x":6.75, "y":0},
+ {"x":7.75, "y":0},
+ {"x":8.75, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14.5, "y":0},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+ {"x":15.5, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+ {"x":15.5, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25, "w":2.25},
+ {"x":15.5, "y":3.25},
+
+ {"x":0, "y":4.25, "w":2.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+ {"x":14.25, "y":4.5},
+ {"x":15.5, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.25},
+ {"x":1.25, "y":5.25, "w":1.25},
+ {"x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"x":10, "y":5.25},
+ {"x":11, "y":5.25},
+ {"x":12, "y":5.25},
+ {"x":13.25, "y":5.5},
+ {"x":14.25, "y":5.5},
+ {"x":15.25, "y":5.5}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.5, "y":0},
+ {"x":2.5, "y":0},
+ {"x":3.5, "y":0},
+ {"x":4.5, "y":0},
+ {"x":5.75, "y":0},
+ {"x":6.75, "y":0},
+ {"x":7.75, "y":0},
+ {"x":8.75, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14.5, "y":0},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+ {"x":15.5, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":15.5, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25},
+ {"x":13.75, "y":2.25, "w":1.25, "h":2},
+ {"x":15.5, "y":3.25},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+ {"x":14.25, "y":4.5},
+ {"x":15.5, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.25},
+ {"x":1.25, "y":5.25, "w":1.25},
+ {"x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"x":10, "y":5.25},
+ {"x":11, "y":5.25},
+ {"x":12, "y":5.25},
+ {"x":13.25, "y":5.5},
+ {"x":14.25, "y":5.5},
+ {"x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c b/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..fcfba4c866db
--- /dev/null
+++ b/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
@@ -0,0 +1,34 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+[1] = LAYOUT_all(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c b/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..070d38b09faa
--- /dev/null
+++ b/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
@@ -0,0 +1,47 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+[1] = LAYOUT_all(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+[2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+[3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk b/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/maartenwut/eon75/readme 2.md b/keyboards/maartenwut/eon75/readme 2.md
new file mode 100644
index 000000000000..8c697c1c6886
--- /dev/null
+++ b/keyboards/maartenwut/eon75/readme 2.md
@@ -0,0 +1,13 @@
+# Eon75
+
+## Support
+* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
+* Hardware Supported: Eon75
+* Hardware Availability: None
+
+## Build
+Make example for this keyboard (after setting up your build environment):
+
+ make maartenwut/eon75: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/rules 2.mk b/keyboards/maartenwut/eon75/rules 2.mk
new file mode 100644
index 000000000000..264e0ea67d2d
--- /dev/null
+++ b/keyboards/maartenwut/eon75/rules 2.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # 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
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/maartenwut/eon87/config 2.h b/keyboards/maartenwut/eon87/config 2.h
new file mode 100644
index 000000000000..14fec2e584c0
--- /dev/null
+++ b/keyboards/maartenwut/eon87/config 2.h
@@ -0,0 +1,220 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4705
+#define PRODUCT_ID 0xAA6B
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Maartenwut
+#define PRODUCT Eon87
+#define DESCRIPTION A TKL PCB
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS {B1,B2,B3,D4,D1,D5}
+#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,E6,B7,D3,D2}
+#define UNUSED_PINS {B0}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+ #define RGB_DI_PIN D0
+// #ifdef RGB_DI_PIN
+ #define RGBLED_NUM 12
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #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
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP H
+//#define MAGIC_KEY_HELP_ALT SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER0_ALT GRAVE
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER B
+//#define MAGIC_KEY_BOOTLOADER_ALT ESC
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/maartenwut/eon87/eon87 2.c b/keyboards/maartenwut/eon87/eon87 2.c
new file mode 100644
index 000000000000..4f6b4037621d
--- /dev/null
+++ b/keyboards/maartenwut/eon87/eon87 2.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include "eon87.h"
diff --git a/keyboards/maartenwut/eon87/eon87 2.h b/keyboards/maartenwut/eon87/eon87 2.h
new file mode 100644
index 000000000000..08aa3d55b00b
--- /dev/null
+++ b/keyboards/maartenwut/eon87/eon87 2.h
@@ -0,0 +1,79 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#include "quantum.h"
+#define XXX KC_NO
+
+/* This 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_all( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k54, k56, k58, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, k54, XXX, k56, XXX, k58, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
+
+#define LAYOUT_tkl_ansi( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
+ k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
+ { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
+
+#define LAYOUT_tkl_iso( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
diff --git a/keyboards/maartenwut/eon87/info 2.json b/keyboards/maartenwut/eon87/info 2.json
new file mode 100644
index 000000000000..b0ed86a7ead0
--- /dev/null
+++ b/keyboards/maartenwut/eon87/info 2.json
@@ -0,0 +1,319 @@
+{
+ "keyboard_name": "Eon87",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 18.25,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6.5, "y": 0},
+ {"x": 7.5, "y": 0},
+ {"x": 8.5, "y": 0},
+ {"x": 9.5, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 15.25, "y": 0},
+ {"x": 16.25, "y": 0},
+ {"x": 17.25, "y": 0},
+
+ {"x": 0, "y": 1.25},
+ {"x": 1, "y": 1.25},
+ {"x": 2, "y": 1.25},
+ {"x": 3, "y": 1.25},
+ {"x": 4, "y": 1.25},
+ {"x": 5, "y": 1.25},
+ {"x": 6, "y": 1.25},
+ {"x": 7, "y": 1.25},
+ {"x": 8, "y": 1.25},
+ {"x": 9, "y": 1.25},
+ {"x": 10, "y": 1.25},
+ {"x": 11, "y": 1.25},
+ {"x": 12, "y": 1.25},
+ {"x": 13, "y": 1.25},
+ {"x": 14, "y": 1.25},
+
+ {"x": 15.25, "y": 1.25},
+ {"x": 16.25, "y": 1.25},
+ {"x": 17.25, "y": 1.25},
+
+ {"x": 0, "y": 2.25, "w": 1.5},
+ {"x": 1.5, "y": 2.25},
+ {"x": 2.5, "y": 2.25},
+ {"x": 3.5, "y": 2.25},
+ {"x": 4.5, "y": 2.25},
+ {"x": 5.5, "y": 2.25},
+ {"x": 6.5, "y": 2.25},
+ {"x": 7.5, "y": 2.25},
+ {"x": 8.5, "y": 2.25},
+ {"x": 9.5, "y": 2.25},
+ {"x": 10.5, "y": 2.25},
+ {"x": 11.5, "y": 2.25},
+ {"x": 12.5, "y": 2.25},
+ {"x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"x": 15.25, "y": 2.25},
+ {"x": 16.25, "y": 2.25},
+ {"x": 17.25, "y": 2.25},
+
+ {"x": 0, "y": 3.25, "w": 1.75},
+ {"x": 1.75, "y": 3.25},
+ {"x": 2.75, "y": 3.25},
+ {"x": 3.75, "y": 3.25},
+ {"x": 4.75, "y": 3.25},
+ {"x": 5.75, "y": 3.25},
+ {"x": 6.75, "y": 3.25},
+ {"x": 7.75, "y": 3.25},
+ {"x": 8.75, "y": 3.25},
+ {"x": 9.75, "y": 3.25},
+ {"x": 10.75, "y": 3.25},
+ {"x": 11.75, "y": 3.25},
+ {"x": 12.75, "y": 3.25},
+ {"x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"x": 0, "y": 4.25, "w": 1.25},
+ {"x": 1.25, "y": 4.25},
+ {"x": 2.25, "y": 4.25},
+ {"x": 3.25, "y": 4.25},
+ {"x": 4.25, "y": 4.25},
+ {"x": 5.25, "y": 4.25},
+ {"x": 6.25, "y": 4.25},
+ {"x": 7.25, "y": 4.25},
+ {"x": 8.25, "y": 4.25},
+ {"x": 9.25, "y": 4.25},
+ {"x": 10.25, "y": 4.25},
+ {"x": 11.25, "y": 4.25},
+ {"x": 12.25, "y": 4.25, "w": 1.75},
+ {"x": 14, "y": 4.25},
+
+ {"x": 16.25, "y": 4.25},
+
+ {"x": 0, "y": 5.25, "w": 1.25},
+ {"x": 1.25, "y": 5.25, "w": 1.25},
+ {"x": 2.5, "y": 5.25, "w": 1.25},
+ {"x": 3.75, "y": 5.25, "w": 2.25},
+ {"x": 6, "y": 5.25, "w": 1.25},
+ {"x": 7.25, "y": 5.25, "w": 2.75},
+ {"x": 10, "y": 5.25, "w": 1.25},
+ {"x": 11.25, "y": 5.25, "w": 1.25},
+ {"x": 12.5, "y": 5.25, "w": 1.25},
+ {"x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"x": 15.25, "y": 5.25},
+ {"x": 16.25, "y": 5.25},
+ {"x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6.5, "y": 0},
+ {"x": 7.5, "y": 0},
+ {"x": 8.5, "y": 0},
+ {"x": 9.5, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 15.25, "y": 0},
+ {"x": 16.25, "y": 0},
+ {"x": 17.25, "y": 0},
+
+ {"x": 0, "y": 1.25},
+ {"x": 1, "y": 1.25},
+ {"x": 2, "y": 1.25},
+ {"x": 3, "y": 1.25},
+ {"x": 4, "y": 1.25},
+ {"x": 5, "y": 1.25},
+ {"x": 6, "y": 1.25},
+ {"x": 7, "y": 1.25},
+ {"x": 8, "y": 1.25},
+ {"x": 9, "y": 1.25},
+ {"x": 10, "y": 1.25},
+ {"x": 11, "y": 1.25},
+ {"x": 12, "y": 1.25},
+ {"x": 13, "y": 1.25, "w": 2},
+
+ {"x": 15.25, "y": 1.25},
+ {"x": 16.25, "y": 1.25},
+ {"x": 17.25, "y": 1.25},
+
+ {"x": 0, "y": 2.25, "w": 1.5},
+ {"x": 1.5, "y": 2.25},
+ {"x": 2.5, "y": 2.25},
+ {"x": 3.5, "y": 2.25},
+ {"x": 4.5, "y": 2.25},
+ {"x": 5.5, "y": 2.25},
+ {"x": 6.5, "y": 2.25},
+ {"x": 7.5, "y": 2.25},
+ {"x": 8.5, "y": 2.25},
+ {"x": 9.5, "y": 2.25},
+ {"x": 10.5, "y": 2.25},
+ {"x": 11.5, "y": 2.25},
+ {"x": 12.5, "y": 2.25},
+ {"x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"x": 15.25, "y": 2.25},
+ {"x": 16.25, "y": 2.25},
+ {"x": 17.25, "y": 2.25},
+
+ {"x": 0, "y": 3.25, "w": 1.75},
+ {"x": 1.75, "y": 3.25},
+ {"x": 2.75, "y": 3.25},
+ {"x": 3.75, "y": 3.25},
+ {"x": 4.75, "y": 3.25},
+ {"x": 5.75, "y": 3.25},
+ {"x": 6.75, "y": 3.25},
+ {"x": 7.75, "y": 3.25},
+ {"x": 8.75, "y": 3.25},
+ {"x": 9.75, "y": 3.25},
+ {"x": 10.75, "y": 3.25},
+ {"x": 11.75, "y": 3.25},
+ {"x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"x": 0, "y": 4.25, "w": 2.25},
+ {"x": 2.25, "y": 4.25},
+ {"x": 3.25, "y": 4.25},
+ {"x": 4.25, "y": 4.25},
+ {"x": 5.25, "y": 4.25},
+ {"x": 6.25, "y": 4.25},
+ {"x": 7.25, "y": 4.25},
+ {"x": 8.25, "y": 4.25},
+ {"x": 9.25, "y": 4.25},
+ {"x": 10.25, "y": 4.25},
+ {"x": 11.25, "y": 4.25},
+ {"x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"x": 16.25, "y": 4.25},
+
+ {"x": 0, "y": 5.25, "w": 1.25},
+ {"x": 1.25, "y": 5.25, "w": 1.25},
+ {"x": 2.5, "y": 5.25, "w": 1.25},
+ {"x": 3.75, "y": 5.25, "w": 6.25},
+ {"x": 10, "y": 5.25, "w": 1.25},
+ {"x": 11.25, "y": 5.25, "w": 1.25},
+ {"x": 12.5, "y": 5.25, "w": 1.25},
+ {"x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"x": 15.25, "y": 5.25},
+ {"x": 16.25, "y": 5.25},
+ {"x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_iso": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6.5, "y": 0},
+ {"x": 7.5, "y": 0},
+ {"x": 8.5, "y": 0},
+ {"x": 9.5, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 15.25, "y": 0},
+ {"x": 16.25, "y": 0},
+ {"x": 17.25, "y": 0},
+
+ {"x": 0, "y": 1.25},
+ {"x": 1, "y": 1.25},
+ {"x": 2, "y": 1.25},
+ {"x": 3, "y": 1.25},
+ {"x": 4, "y": 1.25},
+ {"x": 5, "y": 1.25},
+ {"x": 6, "y": 1.25},
+ {"x": 7, "y": 1.25},
+ {"x": 8, "y": 1.25},
+ {"x": 9, "y": 1.25},
+ {"x": 10, "y": 1.25},
+ {"x": 11, "y": 1.25},
+ {"x": 12, "y": 1.25},
+ {"x": 13, "y": 1.25, "w": 2},
+
+ {"x": 15.25, "y": 1.25},
+ {"x": 16.25, "y": 1.25},
+ {"x": 17.25, "y": 1.25},
+
+ {"x": 0, "y": 2.25, "w": 1.5},
+ {"x": 1.5, "y": 2.25},
+ {"x": 2.5, "y": 2.25},
+ {"x": 3.5, "y": 2.25},
+ {"x": 4.5, "y": 2.25},
+ {"x": 5.5, "y": 2.25},
+ {"x": 6.5, "y": 2.25},
+ {"x": 7.5, "y": 2.25},
+ {"x": 8.5, "y": 2.25},
+ {"x": 9.5, "y": 2.25},
+ {"x": 10.5, "y": 2.25},
+ {"x": 11.5, "y": 2.25},
+ {"x": 12.5, "y": 2.25},
+
+ {"x": 15.25, "y": 2.25},
+ {"x": 16.25, "y": 2.25},
+ {"x": 17.25, "y": 2.25},
+
+ {"x": 0, "y": 3.25, "w": 1.75},
+ {"x": 1.75, "y": 3.25},
+ {"x": 2.75, "y": 3.25},
+ {"x": 3.75, "y": 3.25},
+ {"x": 4.75, "y": 3.25},
+ {"x": 5.75, "y": 3.25},
+ {"x": 6.75, "y": 3.25},
+ {"x": 7.75, "y": 3.25},
+ {"x": 8.75, "y": 3.25},
+ {"x": 9.75, "y": 3.25},
+ {"x": 10.75, "y": 3.25},
+ {"x": 11.75, "y": 3.25},
+ {"x": 12.75, "y": 3.25},
+ {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"x": 0, "y": 4.25, "w": 1.25},
+ {"x": 1.25, "y": 4.25},
+ {"x": 2.25, "y": 4.25},
+ {"x": 3.25, "y": 4.25},
+ {"x": 4.25, "y": 4.25},
+ {"x": 5.25, "y": 4.25},
+ {"x": 6.25, "y": 4.25},
+ {"x": 7.25, "y": 4.25},
+ {"x": 8.25, "y": 4.25},
+ {"x": 9.25, "y": 4.25},
+ {"x": 10.25, "y": 4.25},
+ {"x": 11.25, "y": 4.25},
+ {"x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"x": 16.25, "y": 4.25},
+
+ {"x": 0, "y": 5.25, "w": 1.25},
+ {"x": 1.25, "y": 5.25, "w": 1.25},
+ {"x": 2.5, "y": 5.25, "w": 1.25},
+ {"x": 3.75, "y": 5.25, "w": 6.25},
+ {"x": 10, "y": 5.25, "w": 1.25},
+ {"x": 11.25, "y": 5.25, "w": 1.25},
+ {"x": 12.5, "y": 5.25, "w": 1.25},
+ {"x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"x": 15.25, "y": 5.25},
+ {"x": 16.25, "y": 5.25},
+ {"x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c b/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..4eaff0f4a522
--- /dev/null
+++ b/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
@@ -0,0 +1,42 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define _MA 0 //Main layer
+#define _FN 1 //Main layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_MA] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(_FN), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
+[_FN] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/keymaps/default/readme 2.md b/keyboards/maartenwut/eon87/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..a70270cfacca
--- /dev/null
+++ b/keyboards/maartenwut/eon87/keymaps/default/readme 2.md
@@ -0,0 +1 @@
+This is the default keymap for the Eon87.
diff --git a/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c b/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..67543b54cc30
--- /dev/null
+++ b/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
@@ -0,0 +1,50 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
+[1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+[2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+[3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk b/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/maartenwut/eon87/readme 2.md b/keyboards/maartenwut/eon87/readme 2.md
new file mode 100644
index 000000000000..bfd5afd1a9b9
--- /dev/null
+++ b/keyboards/maartenwut/eon87/readme 2.md
@@ -0,0 +1,13 @@
+# Eon87
+
+## Support
+* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
+* Hardware Supported: Eon87
+* Hardware Availability: [maartenwut.com](https://maartenwut.com)
+
+## Build
+Make example for this keyboard (after setting up your build environment):
+
+ make maartenwut/eon87: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/rules 2.mk b/keyboards/maartenwut/eon87/rules 2.mk
new file mode 100644
index 000000000000..65cfca7d4bb5
--- /dev/null
+++ b/keyboards/maartenwut/eon87/rules 2.mk
@@ -0,0 +1,34 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = qmk-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# 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 = yes # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
+LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/maartenwut/omrontkl/config 2.h b/keyboards/maartenwut/omrontkl/config 2.h
new file mode 100644
index 000000000000..a07500edfb0a
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/config 2.h
@@ -0,0 +1,220 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4705
+#define PRODUCT_ID 0xEA78
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Maartenwut
+#define PRODUCT OmronTKL
+#define DESCRIPTION A TKL PCB for Omron switches
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS {D0,D1,D2,D3,D4,B7}
+#define MATRIX_COL_PINS {F0,C7,F1,C6,F4,B6,F5,B5,F6,B4,F7,D7,D6,D5,B3,B1,B2}
+#define UNUSED_PINS {E6,B0}
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN D0
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 12
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #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
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP H
+//#define MAGIC_KEY_HELP_ALT SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER0_ALT GRAVE
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER B
+//#define MAGIC_KEY_BOOTLOADER_ALT ESC
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/maartenwut/omrontkl/info 2.json b/keyboards/maartenwut/omrontkl/info 2.json
new file mode 100644
index 000000000000..faf9569644b2
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/info 2.json
@@ -0,0 +1,299 @@
+{
+ "keyboard_name": "OmronTKL",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 18.25,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25},
+ {"x":14, "y":1.25},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+ {"x":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25},
+ {"x":13.75, "y":3.25, "w":1.25},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+ {"x":14, "y":4.25},
+ {"x":16.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.5},
+ {"x":1.5, "y":5.25, "w":1.25},
+ {"x":2.75, "y":5.25, "w":1.5},
+ {"x":4.25, "y":5.25, "w":6.5},
+ {"x":10.75, "y":5.25, "w":1.5},
+ {"x":12.25, "y":5.25, "w":1.25},
+ {"x":13.5, "y":5.25, "w":1.5},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+ {"x":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25, "w":2.25},
+
+ {"x":0, "y":4.25, "w":2.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":2.75},
+ {"x":16.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.5},
+ {"x":1.5, "y":5.25, "w":1.25},
+ {"x":2.75, "y":5.25, "w":1.5},
+ {"x":4.25, "y":5.25, "w":6.5},
+ {"x":10.75, "y":5.25, "w":1.5},
+ {"x":12.25, "y":5.25, "w":1.25},
+ {"x":13.5, "y":5.25, "w":1.5},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+ {"x":9.5, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0},
+ {"x":14, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+ {"x":15.25, "y":1.25},
+ {"x":16.25, "y":1.25},
+ {"x":17.25, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":15.25, "y":2.25},
+ {"x":16.25, "y":2.25},
+ {"x":17.25, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25},
+ {"x":13.75, "y":2.25, "w":1.25, "h":2},
+
+ {"x":0, "y":4.25, "w":1.25},
+ {"x":1.25, "y":4.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":2.75},
+ {"x":16.25, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.5},
+ {"x":1.5, "y":5.25, "w":1.25},
+ {"x":2.75, "y":5.25, "w":1.5},
+ {"x":4.25, "y":5.25, "w":6.5},
+ {"x":10.75, "y":5.25, "w":1.5},
+ {"x":12.25, "y":5.25, "w":1.25},
+ {"x":13.5, "y":5.25, "w":1.5},
+ {"x":15.25, "y":5.25},
+ {"x":16.25, "y":5.25},
+ {"x":17.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c b/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..7d8304ed74f8
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
@@ -0,0 +1,42 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define _MA 0 //Main layer
+#define _FN 1 //Main layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_MA] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(_FN), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
+[_FN] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+};
\ No newline at end of file
diff --git a/keyboards/maartenwut/omrontkl/omrontkl 2.c b/keyboards/maartenwut/omrontkl/omrontkl 2.c
new file mode 100644
index 000000000000..e8748ea61219
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/omrontkl 2.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include "omrontkl.h"
diff --git a/keyboards/maartenwut/omrontkl/omrontkl 2.h b/keyboards/maartenwut/omrontkl/omrontkl 2.h
new file mode 100644
index 000000000000..c8292def401e
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/omrontkl 2.h
@@ -0,0 +1,79 @@
+/* Copyright 2019 Maarten Dekkers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#include "quantum.h"
+#define XXX KC_NO
+
+/* This 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_all( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
+ k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
+
+#define LAYOUT_ansi( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
+ k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
+ { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
+
+#define LAYOUT_iso( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
+ k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
+ { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
+}
diff --git a/keyboards/maartenwut/omrontkl/readme 2.md b/keyboards/maartenwut/omrontkl/readme 2.md
new file mode 100644
index 000000000000..2141fbc8e29a
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/readme 2.md
@@ -0,0 +1,13 @@
+# OmronTKL
+
+## Support
+* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
+* Hardware Supported: OmronTKL
+* Hardware Availability: none
+
+## Build
+Make example for this keyboard (after setting up your build environment):
+
+ make maartenwut/omrontkl: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/omrontkl/rules 2.mk b/keyboards/maartenwut/omrontkl/rules 2.mk
new file mode 100644
index 000000000000..8fc9b9c73d44
--- /dev/null
+++ b/keyboards/maartenwut/omrontkl/rules 2.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = qmk-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# 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
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/README 2.md b/keyboards/massdrop/alt/keymaps/ewersp/README 2.md
new file mode 100644
index 000000000000..d2e691a9ef51
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/ewersp/README 2.md
@@ -0,0 +1,30 @@
+## Greetings, Traveler!
+
+This layout is for the [Massdrop ALT Keyboard](https://drop.com/buy/massdrop-alt-mechanical-keyboard) and targets Windows machines.
+
+This keymap is very similar to the default keymap for the Drop ALT, but it overloads the left alt key to behave like an additional 'Fn' key while keeping the functionality of the alt key intact.
+
+### For example:
+```
+LeftAlt + 1...N -> F1...FN
+LeftAlt + L/R Arrows -> Home/End
+LeftAlt + Home -> End
+LeftAlt + Backspace -> Delete
+LeftAlt + Esc -> Backtick (`)
+```
+
+The novel part of this keymap is that it **preserves the default functionality** of the left alt key, so ```'alt + tab', 'ctrl + alt + del', 'alt + f4'```, etc. all work as expected without using any janky timers.
+
+Everything also works with other modifier keys, so ```'alt + L/R' and 'alt + shift + L/R'``` work great for text manipulation to select lines.
+
+This **'super alt'** keymap will feel very familiar for anyone **coming from macOS** since the Windows alt key is in the same position as CMD on macOS keyboards.
+
+And finally, the original alt key functionality can be toggled at any time by pressing **```'Fn + period'```** so even if you don't like it, you can turn it off.
+
+This keymap was based on the 'default' Drop ALT keymap (and _not_ 'default_md') which means it supports all the fancy QMK RGB patterns, and isn't limited to the stock options that come with the board.
+
+It's also worth noting that this keymap fixes an outstanding issue where the caps lock LED flickers when the RGB mode is keylight or underglow. I could not find a general purpose fix, but the one included here works quite well.
+
+If you have any questions, feel free to reach out to me at: ewersp [at] gmail [dot] com.
+
+Enjoy! **<3**
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/config 2.h b/keyboards/massdrop/alt/keymaps/ewersp/config 2.h
new file mode 100644
index 000000000000..1c801d7e3c1c
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/ewersp/config 2.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#define FORCE_NKRO
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c b/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
new file mode 100644
index 000000000000..483ea3cfb2a1
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
@@ -0,0 +1,196 @@
+#include QMK_KEYBOARD_H
+
+enum alt_keycodes {
+ U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
+ U_T_AGCR, //USB Toggle Automatic GCR control
+ DBG_TOG, //DEBUG Toggle On / Off
+ DBG_MTRX, //DEBUG Toggle Matrix Prints
+ DBG_KBD, //DEBUG Toggle Keyboard Prints
+ DBG_MOU, //DEBUG Toggle Mouse Prints
+ MD_BOOT, //Restart into bootloader after hold timeout
+ ALT_DEL, //Added to map left alt + backspace to delete
+};
+
+// Friendly layer names
+enum alt_layers {
+ DEF = 0,
+ ALT,
+ FUNC,
+ SUPR
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [DEF] = LAYOUT_65_ansi_blocker(
+ 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_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_BSLS, KC_HOME,
+ 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_PGUP,
+ 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_PGDN,
+ KC_LCTL, KC_LGUI, MO(SUPR), KC_SPC, KC_RALT, MO(FUNC),KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [ALT] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______
+ ),
+ [FUNC] = LAYOUT_65_ansi_blocker(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
+ _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
+ _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
+ _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, TG(ALT), _______, _______, KC_PGUP, KC_VOLD,
+ _______, _______, KC_LALT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+ [SUPR] = LAYOUT_65_ansi_blocker(
+ 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, ALT_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
+ )
+};
+
+// If the super alt layer is the active layer
+bool super_alt_layer_active = false;
+
+// If we need to unregister alt when leaving the super alt layer
+bool need_to_unregister_alt = false;
+
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
+
+// Taken from 'g_led_config' in config_led.c
+#define CAPS_LOCK_LED_ID 30
+
+// This runs every matrix scan (every 'frame')
+void rgb_matrix_indicators_user(void) {
+ led_flags_t flags = rgb_matrix_get_flags();
+
+ // If we're in either keylight or underglow modes (but not both simultaneously)
+ if (HAS_FLAGS(flags, LED_FLAG_KEYLIGHT) != HAS_FLAGS(flags, LED_FLAG_UNDERGLOW)) {
+
+ // This fixes a bug where the caps lock LED flickers when toggled in either keylight or underglow modes
+ if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
+ rgb_matrix_set_color(CAPS_LOCK_LED_ID, RGB_WHITE);
+ } else {
+ rgb_matrix_set_color(CAPS_LOCK_LED_ID, 0, 0, 0);
+ }
+ }
+}
+
+// This runs code every time that the layers get changed
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case DEF:
+ // When returning to the default layer, check if we need to unregister the left alt key
+ if (super_alt_layer_active && need_to_unregister_alt) {
+ unregister_code(KC_LALT);
+ }
+
+ super_alt_layer_active = false;
+ need_to_unregister_alt = false;
+ break;
+ case SUPR:
+ super_alt_layer_active = true;
+ break;
+ }
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ static uint32_t key_timer;
+
+ switch (keycode) {
+ // These are the keys we want to 'fall though' and behave as usual when pressed with the alt modifier
+ case KC_A ... KC_Z:
+ case KC_TAB:
+ case KC_DEL:
+ case KC_UP:
+ case KC_DOWN:
+ case MO(FUNC):
+ if (super_alt_layer_active && record->event.pressed) {
+ // Only activate the alt modifier for the first key press
+ if ((get_mods() & MOD_BIT(KC_LALT)) == false) {
+ register_code(KC_LALT);
+ need_to_unregister_alt = true;
+ }
+ }
+ // We still want to process the keycode normally
+ return true;
+ case ALT_DEL:
+ if (record->event.pressed) {
+ register_code(KC_DEL);
+ } else {
+ unregister_code(KC_DEL);
+ }
+ return false;
+ case U_T_AUTO:
+ if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
+ TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
+ }
+ return false;
+ case U_T_AGCR:
+ if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
+ TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
+ }
+ return false;
+ case DBG_TOG:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
+ }
+ return false;
+ case DBG_MTRX:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
+ }
+ return false;
+ case DBG_KBD:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
+ }
+ return false;
+ case DBG_MOU:
+ if (record->event.pressed) {
+ TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
+ }
+ return false;
+ case MD_BOOT:
+ if (record->event.pressed) {
+ key_timer = timer_read32();
+ } else {
+ if (timer_elapsed32(key_timer) >= 500) {
+ reset_keyboard();
+ }
+ }
+ return false;
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case LED_FLAG_KEYLIGHT: {
+ rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ break;
+ case LED_FLAG_UNDERGLOW: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_disable_noeeprom();
+ }
+ break;
+ default: {
+ rgb_matrix_set_flags(LED_FLAG_ALL);
+ rgb_matrix_enable_noeeprom();
+ }
+ break;
+ }
+ }
+ return false;
+ default:
+ return true; // Process all other keycodes normally
+ }
+}
diff --git a/keyboards/mechlovin/infinity87/config 2.h b/keyboards/mechlovin/infinity87/config 2.h
new file mode 100644
index 000000000000..6c1545024c3a
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/config 2.h
@@ -0,0 +1,73 @@
+/*
+Copyright 2020 Team Mechlovin'
+
+This 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 0x4D4C // ML
+#define PRODUCT_ID 0x8701
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Team.Mechlovin
+#define PRODUCT Infinity 87
+#define DESCRIPTION Team.Mechlovin Infinity 87
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
+#define MATRIX_COL_PINS { C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7,B1, B2, B10, B3, B14, B15 }
+
+#define DIODE_DIRECTION COL2ROW
+
+
+#define BACKLIGHT_PIN B0
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 3
+
+#define RGB_DI_PIN A15
+#define RGBLED_NUM 26
+#define RGBLIGHT_LIMIT_VAL 255
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+#define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #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
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/infinity87 2.c b/keyboards/mechlovin/infinity87/infinity87 2.c
new file mode 100644
index 000000000000..2de528bc366a
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/infinity87 2.c
@@ -0,0 +1,38 @@
+/* Copyright 2020 Team Mechlovin'
+ *
+ * This 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 "infinity87.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+ led_init_ports();
+}
+
+void led_init_ports(void) {
+ setPinOutput(A3);
+ writePinLow(A3);
+ setPinOutput(A4);
+ writePinLow(A4);
+}
+
+bool led_update_kb(led_t led_state) {
+ if(led_update_user(led_state)) {
+ writePin(A4, led_state.caps_lock);
+ writePin(A3, led_state.num_lock);
+ }
+
+ return true;
+}
diff --git a/keyboards/mechlovin/infinity87/infinity87 2.h b/keyboards/mechlovin/infinity87/infinity87 2.h
new file mode 100644
index 000000000000..4810d9d86a4f
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/infinity87 2.h
@@ -0,0 +1,37 @@
+/* Copyright 2020 Team Mechlovin'
+ *
+ * This 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_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K0D, K1E, K1F, K1G, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
+ { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/info 2.json b/keyboards/mechlovin/infinity87/info 2.json
new file mode 100644
index 000000000000..78d6a29bc872
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/info 2.json
@@ -0,0 +1,106 @@
+{
+ "keyboard_name": "infinity87",
+ "url": "",
+ "maintainer": "Team Mechlovin'",
+ "width": 18.25,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT_all": {
+ "key_count": 91,
+ "layout": [
+ {"label":"K00 (B0,B6)", "x":0, "y":0},
+ {"label":"K01 (B0,F4)", "x":2, "y":0},
+ {"label":"K02 (B0,C0)", "x":3, "y":0},
+ {"label":"K03 (B0,C1)", "x":4, "y":0},
+ {"label":"K04 (B0,C2)", "x":5, "y":0},
+ {"label":"K05 (B0,C3)", "x":6.5, "y":0},
+ {"label":"K06 (B0,C4)", "x":7.5, "y":0},
+ {"label":"K07 (B0,C5)", "x":8.5, "y":0},
+ {"label":"K08 (B0,C6)", "x":9.5, "y":0},
+ {"label":"K09 (B0,C7)", "x":11, "y":0},
+ {"label":"K0A (B0,D0)", "x":12, "y":0},
+ {"label":"K0B (B0,D1)", "x":13, "y":0},
+ {"label":"K0C (B0,D2)", "x":14, "y":0},
+ {"label":"K0E (B0,D4)", "x":15.25, "y":0},
+ {"label":"K0F (B0,D5)", "x":16.25, "y":0},
+ {"label":"K0G (B0,D6)", "x":17.25, "y":0},
+ {"label":"K10 (B1,B6)", "x":0, "y":1.25},
+ {"label":"K11 (B1,F4)", "x":1, "y":1.25},
+ {"label":"K12 (B1,C0)", "x":2, "y":1.25},
+ {"label":"K13 (B1,C1)", "x":3, "y":1.25},
+ {"label":"K14 (B1,C2)", "x":4, "y":1.25},
+ {"label":"K15 (B1,C3)", "x":5, "y":1.25},
+ {"label":"K16 (B1,C4)", "x":6, "y":1.25},
+ {"label":"K17 (B1,C5)", "x":7, "y":1.25},
+ {"label":"K18 (B1,C6)", "x":8, "y":1.25},
+ {"label":"K19 (B1,C7)", "x":9, "y":1.25},
+ {"label":"K1A (B1,D0)", "x":10, "y":1.25},
+ {"label":"K1B (B1,D1)", "x":11, "y":1.25},
+ {"label":"K1C (B1,D2)", "x":12, "y":1.25},
+ {"label":"K1D (B1,D3)", "x":13, "y":1.25},
+ {"label":"K0D (B0,D3)", "x":14, "y":1.25},
+ {"label":"K1E (B1,D4)", "x":15.25, "y":1.25},
+ {"label":"K1F (B1,D5)", "x":16.25, "y":1.25},
+ {"label":"K1G (B1,D6)", "x":17.25, "y":1.25},
+ {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5},
+ {"label":"K21 (B2,F4)", "x":1.5, "y":2.25},
+ {"label":"K22 (B2,C0)", "x":2.5, "y":2.25},
+ {"label":"K23 (B2,C1)", "x":3.5, "y":2.25},
+ {"label":"K24 (B2,C2)", "x":4.5, "y":2.25},
+ {"label":"K25 (B2,C3)", "x":5.5, "y":2.25},
+ {"label":"K26 (B2,C4)", "x":6.5, "y":2.25},
+ {"label":"K27 (B2,C5)", "x":7.5, "y":2.25},
+ {"label":"K28 (B2,C6)", "x":8.5, "y":2.25},
+ {"label":"K29 (B2,C7)", "x":9.5, "y":2.25},
+ {"label":"K2A (B2,D0)", "x":10.5, "y":2.25},
+ {"label":"K2B (B2,D1)", "x":11.5, "y":2.25},
+ {"label":"K2C (B2,D2)", "x":12.5, "y":2.25},
+ {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5},
+ {"label":"K2E (B2,D4)", "x":15.25, "y":2.25},
+ {"label":"K2F (B2,D5)", "x":16.25, "y":2.25},
+ {"label":"K2G (B2,D6)", "x":17.25, "y":2.25},
+ {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75},
+ {"label":"K31 (B3,F4)", "x":1.75, "y":3.25},
+ {"label":"K32 (B3,C0)", "x":2.75, "y":3.25},
+ {"label":"K33 (B3,C1)", "x":3.75, "y":3.25},
+ {"label":"K34 (B3,C2)", "x":4.75, "y":3.25},
+ {"label":"K35 (B3,C3)", "x":5.75, "y":3.25},
+ {"label":"K36 (B3,C4)", "x":6.75, "y":3.25},
+ {"label":"K37 (B3,C5)", "x":7.75, "y":3.25},
+ {"label":"K38 (B3,C6)", "x":8.75, "y":3.25},
+ {"label":"K39 (B3,C7)", "x":9.75, "y":3.25},
+ {"label":"K3A (B3,D0)", "x":10.75, "y":3.25},
+ {"label":"K3B (B3,D1)", "x":11.75, "y":3.25},
+ {"label":"K3C (B3,D2)", "x":12.75, "y":3.25},
+ {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25},
+ {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25},
+ {"label":"K41 (B4,F4)", "x":1.25, "y":4.25},
+ {"label":"K42 (B4,C0)", "x":2.25, "y":4.25},
+ {"label":"K43 (B4,C1)", "x":3.25, "y":4.25},
+ {"label":"K44 (B4,C2)", "x":4.25, "y":4.25},
+ {"label":"K45 (B4,C3)", "x":5.25, "y":4.25},
+ {"label":"K46 (B4,C4)", "x":6.25, "y":4.25},
+ {"label":"K47 (B4,C5)", "x":7.25, "y":4.25},
+ {"label":"K48 (B4,C6)", "x":8.25, "y":4.25},
+ {"label":"K49 (B4,C7)", "x":9.25, "y":4.25},
+ {"label":"K4A (B4,D0)", "x":10.25, "y":4.25},
+ {"label":"K4B (B4,D1)", "x":11.25, "y":4.25},
+ {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75},
+ {"label":"K4D (B4,D3)", "x":14, "y":4.25},
+ {"label":"K4F (B4,D5)", "x":16.25, "y":4.25},
+ {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25},
+ {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25},
+ {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25},
+ {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25},
+ {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25},
+ {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25},
+ {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25},
+ {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25},
+ {"label":"K5E (B5,D4)", "x":15.25, "y":5.25},
+ {"label":"K5F (B5,D5)", "x":16.25, "y":5.25},
+ {"label":"K5G (B5,D6)", "x":17.25, "y":5.25}
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c b/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..a98abef90c8b
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
@@ -0,0 +1,27 @@
+/* Copyright 2020 Team Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI,MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+};
diff --git a/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md b/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..01ef555056b7
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
@@ -0,0 +1 @@
+# The default keymap for infinity87
diff --git a/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c b/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..22250ad0e633
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
@@ -0,0 +1,52 @@
+/* Copyright 2020 Team Mechlovin'
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/mechlovin/infinity87/keymaps/via/readme 2.md b/keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..8867d290cdfb
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
@@ -0,0 +1 @@
+# The via keymap for infinity87
diff --git a/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk b/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..036bd6d1c3ec
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/readme 2.md b/keyboards/mechlovin/infinity87/readme 2.md
new file mode 100644
index 000000000000..892cecef1d71
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/readme 2.md
@@ -0,0 +1,15 @@
+# infinity87
+
+
+
+A replacement PCB for TKL keyboard. A87 form factor,south-facing stabilisers.
+
+* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
+* Hardware Supported: Infinity87 rev.1 (1.6mm & 1.2mm).
+* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=105853.0), [Reddit GB](https://www.reddit.com/r/mechmarket/comments/g4vf2w/gb_team_mechlovin_infinity_87_a87_form_factor/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/infinity87: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/mechlovin/infinity87/rules 2.mk b/keyboards/mechlovin/infinity87/rules 2.mk
new file mode 100644
index 000000000000..00676c2ecb42
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/rules 2.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = STM32F303
+
+# 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 = yes # 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 = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/mixi/config 2.h b/keyboards/mixi/config 2.h
new file mode 100644
index 000000000000..aed57f3241c9
--- /dev/null
+++ b/keyboards/mixi/config 2.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4752
+#define PRODUCT_ID 0x4D49
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gregorio
+#define PRODUCT Mixi
+#define DESCRIPTION Mixi macropad by gregorio
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 3
+
+/* Keyboard Matrix Assignments */
+#define DIRECT_PINS { \
+ { D1, D4, F4 }, \
+ { D0, B4, F5 }, \
+ { C6, F7, B6 } \
+}
+
+#define ENCODERS_PAD_A { D7, B1 }
+#define ENCODERS_PAD_B { E6, B3 }
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define RGB_DI_PIN B5
+#ifdef RGB_DI_PIN
+#define RGBLED_NUM 5
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYER_BLINK
+#endif
diff --git a/keyboards/mixi/info 2.json b/keyboards/mixi/info 2.json
new file mode 100644
index 000000000000..123e23dc6be2
--- /dev/null
+++ b/keyboards/mixi/info 2.json
@@ -0,0 +1,22 @@
+{
+ "keyboard_name": "Mixi",
+ "url": "https://tokopedia.com/sell-stuffs",
+ "maintainer": "ohchiko",
+ "width": 3,
+ "height": 3,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/mixi/keymaps/default/keymap 2.c b/keyboards/mixi/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..21c3c669a053
--- /dev/null
+++ b/keyboards/mixi/keymaps/default/keymap 2.c
@@ -0,0 +1,117 @@
+#include QMK_KEYBOARD_H
+
+// please change this value to the desired layer definitions
+#define LAYERNUM 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * | Knob: Layer +/- |
+ * .------------------------------------------------.
+ * | Volume Mute | Media Play/Pause | Hold: Layer 2 |
+ * |-------------|------------------|---------------|
+ * | Media Prev | Up | Media Next |
+ * |-------------|------------------|---------------|
+ * | Left | Down | Right |
+ * '------------------------------------------------'
+ */
+ [0] =
+ LAYOUT(
+ KC_MUTE, KC_MPLY, MO(2) ,
+ KC_MPRV, KC_UP , KC_MNXT,
+ KC_LEFT, KC_DOWN , KC_RGHT
+ ),
+
+ /*
+ * | Knob: Layer +/- |
+ * .---------------------------------------------------.
+ * | RGB Toggle | Media Play/Pause | Hold: Layer 2 |
+ * |----------------|------------------|---------------|
+ * | Media Previous | RGB Bright+ | Media Next |
+ * |----------------|------------------|---------------|
+ * | RGB Anim- | RGB Bright- | RGB Anim+ |
+ * '---------------------------------------------------'
+ */
+ [1] =
+ LAYOUT(
+ RGB_TOG , KC_TRNS, KC_TRNS,
+ KC_TRNS , RGB_VAI, KC_TRNS,
+ RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+ /*
+ * | Knob: Volume +/- |
+ * .--------------------------------------.
+ * | N/A | N/A | Hold: Layer 2 |
+ * |--------------|-------|---------------|
+ * | RESET EEPROM | RESET | DEBUG MODE |
+ * |--------------|-------|---------------|
+ * | N/A | N/A | N/A |
+ * '--------------------------------------'
+ */
+ [2] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_TRNS,
+ EEP_RST, RESET, DEBUG ,
+ KC_NO , KC_NO, KC_NO
+ )
+
+};
+
+const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_BLUE}
+ );
+const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_GREEN}
+ );
+const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_RED}
+ );
+
+const rgblight_segment_t* const PROGMEM _rgb_layers[] =
+RGBLIGHT_LAYERS_LIST(
+ _base_layer,
+ _middle_layer,
+ _top_layer
+ );
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = _rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+
+ switch (get_highest_layer(state)) {
+ case 0:
+ rgblight_blink_layer(0, 500);
+ break;
+ case 1:
+ rgblight_blink_layer(1, 500);
+ break;
+ case 2:
+ rgblight_blink_layer(2, 500);
+ break;
+ }
+ return state;
+}
+
+uint8_t selected_layer = 0;
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (layer_state_is(2)) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else {
+ if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
+ selected_layer++;
+ layer_move(selected_layer);
+ } else if (!clockwise && selected_layer > 0) {
+ selected_layer--;
+ layer_move(selected_layer);
+ }
+ }
+ }
+}
diff --git a/keyboards/mixi/keymaps/default/readme 2.md b/keyboards/mixi/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..c780eb5f4e2a
--- /dev/null
+++ b/keyboards/mixi/keymaps/default/readme 2.md
@@ -0,0 +1,10 @@
+
+
+# Default Mixi Layout
+
+This is the default layout that comes flashed on every Mixi macropad. Layer 1
+and Layer 2 are accessible by rotating the encoder. Layer 3 is not accessible
+by the encoder, instead is accessible by holding the [0,2] key on Layer 1. While
+Layer 3 is active, rotating the encoder will results in increasing/decreasing
+media volume. This layout is expected the encoder is on the left side or [0,0]
+key.
diff --git a/keyboards/mixi/keymaps/via/keymap 2.c b/keyboards/mixi/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..4ffaf111dc63
--- /dev/null
+++ b/keyboards/mixi/keymaps/via/keymap 2.c
@@ -0,0 +1,134 @@
+#include QMK_KEYBOARD_H
+
+// please change this value to the desired layer definitions
+#define LAYERNUM 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * | Knob: Layer +/- |
+ * .------------------------------------------------.
+ * | Volume Mute | Media Play/Pause | Hold: Layer 2 |
+ * |-------------|------------------|---------------|
+ * | Media Prev | Up | Media Next |
+ * |-------------|------------------|---------------|
+ * | Left | Down | Right |
+ * '------------------------------------------------'
+ */
+ [0] =
+ LAYOUT(
+ KC_MUTE, KC_MPLY, MO(2) ,
+ KC_MPRV, KC_UP , KC_MNXT,
+ KC_LEFT, KC_DOWN , KC_RGHT
+ ),
+
+ /*
+ * | Knob: Layer +/- |
+ * .---------------------------------------------------.
+ * | RGB Toggle | Media Play/Pause | Hold: Layer 2 |
+ * |----------------|------------------|---------------|
+ * | Media Previous | RGB Bright+ | Media Next |
+ * |----------------|------------------|---------------|
+ * | RGB Anim- | RGB Bright- | RGB Anim+ |
+ * '---------------------------------------------------'
+ */
+ [1] =
+ LAYOUT(
+ RGB_TOG , KC_TRNS, KC_TRNS,
+ KC_TRNS , RGB_VAI, KC_TRNS,
+ RGB_RMOD, RGB_VAD, RGB_MOD
+ ),
+
+ /*
+ * | Knob: Volume +/- |
+ * .--------------------------------------.
+ * | N/A | N/A | Hold: Layer 2 |
+ * |--------------|-------|---------------|
+ * | RESET EEPROM | RESET | DEBUG MODE |
+ * |--------------|-------|---------------|
+ * | N/A | N/A | N/A |
+ * '--------------------------------------'
+ */
+ [2] =
+ LAYOUT(
+ KC_NO , KC_NO, KC_TRNS,
+ EEP_RST, RESET, DEBUG ,
+ KC_NO , KC_NO, KC_NO
+ ),
+
+ /*
+ * | Knob: N/A |
+ * .-----------------.
+ * | N/A | N/A | N/A |
+ * |-----------------|
+ * | N/A | N/A | N/A |
+ * |-----------------|
+ * | N/A | N/A | N/A |
+ * '-----------------'
+ */
+ [3] =
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ )
+
+};
+
+const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_BLUE}
+ );
+const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_GREEN}
+ );
+const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, RGBLED_NUM, HSV_RED}
+ );
+
+const rgblight_segment_t* const PROGMEM _rgb_layers[] =
+RGBLIGHT_LAYERS_LIST(
+ _base_layer,
+ _middle_layer,
+ _top_layer
+ );
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = _rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+
+ switch (get_highest_layer(state)) {
+ case 0:
+ rgblight_blink_layer(0, 500);
+ break;
+ case 1:
+ rgblight_blink_layer(1, 500);
+ break;
+ case 2:
+ rgblight_blink_layer(2, 500);
+ break;
+ }
+ return state;
+}
+
+uint8_t selected_layer = 0;
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (layer_state_is(2)) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else {
+ if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
+ selected_layer++;
+ layer_move(selected_layer);
+ } else if (!clockwise && selected_layer > 0) {
+ selected_layer--;
+ layer_move(selected_layer);
+ }
+ }
+ }
+}
diff --git a/keyboards/mixi/keymaps/via/rules 2.mk b/keyboards/mixi/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/mixi/keymaps/via/rules 2.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/mixi/mixi 2.c b/keyboards/mixi/mixi 2.c
new file mode 100644
index 000000000000..43625bcd568d
--- /dev/null
+++ b/keyboards/mixi/mixi 2.c
@@ -0,0 +1,14 @@
+#include "mixi.h"
+
+void eeconfig_init_kb(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_enable(); // Enable RGB underglow by default
+ rgblight_sethsv(0, 255, 255);
+#ifdef RGBLIGHT_ANIMATIONS
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // Set to RGB_RAINBOW_SWIRL animation by default
+#endif
+#endif
+
+ eeconfig_update_kb(0);
+ eeconfig_init_user();
+}
diff --git a/keyboards/mixi/mixi 2.h b/keyboards/mixi/mixi 2.h
new file mode 100644
index 000000000000..8b2bc7090bab
--- /dev/null
+++ b/keyboards/mixi/mixi 2.h
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ K00, K01, K02, \
+ K10, K11, K12, \
+ K20, K21, K22 \
+ ) { \
+ { K00, K01, K02 }, \
+ { K10, K11, K12 }, \
+ { K20, K21, K22 } \
+}
diff --git a/keyboards/mixi/readme 2.md b/keyboards/mixi/readme 2.md
new file mode 100644
index 000000000000..e8930809411a
--- /dev/null
+++ b/keyboards/mixi/readme 2.md
@@ -0,0 +1,15 @@
+# Mixi
+
+
+
+A mini 3x3 macropad with rotary encoders support and RGB underglow and also tray mount support. Currently the PCB and kits can only be purchased in Indonesia.
+
+* Keyboard Maintainer: [ohchiko](https://github.com/ohchiko)
+* Hardware Supported: Mixi PCB, Arduino Pro Micro
+* Hardware Availability: [Tokopedia/Sell Stuffs](https://tokopedia.com/sell-stuffs) (Indonesia only).
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mixi: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/mixi/rules 2.mk b/keyboards/mixi/rules 2.mk
new file mode 100644
index 000000000000..99b1f1cbc5ed
--- /dev/null
+++ b/keyboards/mixi/rules 2.mk
@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+ENCODER_ENABLE = yes
+AUDIO_ENABLE = no
diff --git a/keyboards/montsinger/rebound/rev4/config 2.h b/keyboards/montsinger/rebound/rev4/config 2.h
new file mode 100644
index 000000000000..c4fc053ea9c0
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/config 2.h
@@ -0,0 +1,65 @@
+/*
+Copyright 2020 Ross Montsinger
+This 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 0xFEED
+#define PRODUCT_ID 0x552F
+#define DEVICE_VER 0x0002
+#define MANUFACTURER Montsinger
+#define PRODUCT Rebound
+#define DESCRIPTION "A conjoined Let's Split"
+
+/* key matrix size */
+
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 7
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on
+diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+
+#define MATRIX_ROW_PINS { D1, D0, D4, C6, F7, F6, F5, F4 }
+#define MATRIX_COL_PINS { D7, E6, B4, B5, B2, B3, B1 }
+#define UNUSED_PINS { B6 }
+
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { D3 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/montsinger/rebound/rev4/info 2.json b/keyboards/montsinger/rebound/rev4/info 2.json
new file mode 100644
index 000000000000..23893b6c689f
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/info 2.json
@@ -0,0 +1,128 @@
+{
+ "keyboard":"montsinger/rebound/rev4",
+ "url": "https://montsinger.net",
+ "maintainer": "rossman360",
+ "width": 13,
+ "height": 4,
+ "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":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+ {"x":6, "y":3},
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3}
+ ]
+ },
+ "LAYOUT_ortho_4x12": {
+ "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":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
+ {"x":12, "y":1},
+
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
+ {"x":5, "y":3},
+
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3},
+ {"x":12, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..be038b1f53d7
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
@@ -0,0 +1,102 @@
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT_all(
+ 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_PGUP, 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_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+[_COLEMAK] = LAYOUT_all(
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
+ KC_ESC, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+[_DVORAK] = LAYOUT_all(
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
+ KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, _______, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
+ ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+[_LOWER] = LAYOUT_all(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+[_RAISE] = LAYOUT_all(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+[_ADJUST] = LAYOUT_all(
+ _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+};
+
+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 QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ break;
+ }
+ return true;
+}
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code16(S(KC_VOLD));
+ } else {
+ tap_code16(KC_VOLU);
+ }
+}
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
new file mode 100644
index 000000000000..a0c3ab639547
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
@@ -0,0 +1,120 @@
+#include QMK_KEYBOARD_H
+#include "rossman360.h"
+
+#define PGMOD LT(_NUM, KC_PGDN)
+#define TABMOD LT(_FN1, KC_TAB)
+#define SPCMOD LT(_FN1, KC_SPACE)
+#define ENTMOD LT(_FN2, KC_ENTER)
+#define ESCMOD LT(_NUM, KC_ESC)
+#define RSMOD LT(_FN1, KC_RSHIFT)
+#
+
+enum layer_names {
+ _BASE,
+ _DEL,
+ _FN1,
+ _FN2,
+ _NUM,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_BASE] = LAYOUT_all(
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , NTAB ,
+ JUMPBACK, KC_A , KC_S , KC_D , KC_F , KC_G ,MO(_DEL), KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
+ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , LM(_FN1, MOD_LALT), KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
+ CMDBSP , ALTDEL , KC_NO , CTRLSP , TABMOD , PGMOD , QUIT , ENTMOD , SPCMOD , MO(_DEL),KC_NO , KC_BSPC, KC_DEL
+ ),
+
+[_FN1] = LAYOUT_all(
+ _______, TAB1 , TAB2 , TAB3 , TAB4 , _______, _______, UNDO , _______, _______, _______, CTAB ,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , KC_NO ,
+ _______, _______, XPANDR , _______, PMERGE , _______, _______, _______, PMERGE , KC_DOWN, _______, _______, EMDASH ,
+ WREFRESH,_______, _______, _______, LWORD , RWORD , _______, KC_NO , _______, KC_NO , _______, _______, _______
+ ),
+
+[_FN2] = LAYOUT_all(
+ _______, SPEAK1 , SPEAK2 , SPEAK3 , SPEAK4 , _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, PARADOWN, CSPEAK, _______, _______, KC_NO , KC_NO , _______, _______, _______
+ ),
+
+[_DEL] = LAYOUT_all(
+ RESET, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
+ REMCAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
+ _______, _______, _______, BLINE , KC_BSPC, BWORD , _______, KC_NO , KC_NO , _______, _______, _______, _______
+ ),
+
+[_NUM] = LAYOUT_all(
+ KC_GRV , KC_1 , KC_7 , KC_8 , KC_9 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_MINS, KC_EQL,
+ KC_CAPS, _______, KC_4 , KC_5 , KC_6 , KC_BSPC, KC_LBRC, KC_MINS, KC_4 , KC_5 , KC_6 , KC_COLN, _______,
+ KC_COMM, KC_DOT , KC_1 , KC_2 , KC_3 ,KC_ENTER, KC_RBRC, KC_RBRC, KC_1 , KC_2 , KC_3 , KC_BSLS, _______,
+ _______, _______, _______, _______, KC_0 , _______, _______, KC_NO , KC_NO , KC_0 , _______, _______, _______
+ )
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ switch(get_highest_layer(layer_state)){
+case _BASE:
+ if (clockwise) {
+ tap_code16(KC_VOLD);
+ } else {
+ tap_code16(KC_VOLU);
+ }
+ break;
+case _DEL:
+ if (clockwise) {
+ tap_code16(KC_F11);
+ } else {
+ tap_code16(KC_F3);
+ }
+ break;
+
+ case _FN1:
+ if (clockwise) {
+ tap_code16(S(KC_TAB));
+ } else {
+ tap_code16(KC_TAB);
+ }
+ break;
+}
+}
+
+#ifdef OLED_DRIVER_ENABLE
+void oled_task_user(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR(""), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case _BASE:
+ oled_write_P(PSTR("Rebound\n"), false);
+ oled_write_P(PSTR("Rev3.1\n"), false);
+ break;
+ case _FN1:
+ oled_write_P(PSTR("Fn\n"), false);
+ break;
+ case _FN2:
+ oled_write_P(PSTR("Para\n"), false);
+ break;
+ case _NUM:
+ oled_write_P(PSTR("Num\n"), false);
+ break;
+ case _DEL:
+ oled_write_P(PSTR("Del\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+}
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+
+}
+
+#endif
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
new file mode 100644
index 000000000000..fa835793e75a
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
@@ -0,0 +1,4 @@
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+OLED_DRIVER_ENABLE = no
diff --git a/keyboards/montsinger/rebound/rev4/rev4 2.h b/keyboards/montsinger/rebound/rev4/rev4 2.h
new file mode 100644
index 000000000000..923f7d1a2477
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/rev4 2.h
@@ -0,0 +1,59 @@
+/* Copyright 2020 Ross Montsinger
+ *
+ * This 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"
+
+/* This is a shortcut to help you visually see your layout.
+ * The first section contains all of the arguments representing the
+ * 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_ortho_4x12( \
+ K00, K70, K01, K71, K02, K72, K04, K84, K05, K75, K06, K76, \
+ K10, K60, K11, K61, K12, K62, K14, K74, K15, K65, K16, K66, \
+ K20, K50, K21, K51, K22, K52, K24, K64, K25, K55, K26, K56,\
+ K30, K40, K31, K41, K32, K42, K34, K54, K35, K45, K36, K46\
+ ) { \
+ { K00, K01, K02, K04, K05, K06, K07}, \
+ { K10, K11, K12, K14, K15, K16, K17 }, \
+ { K20, K21, K22, K24, K25, K26, K27 }, \
+ { K30, K31, K32, K34, K35, K36, K37 }, \
+ { K40, K41, K42, K44, K45, K46, K47 }, \
+ { K50, K51, K52, K54, K55, K56, K57 }, \
+ { K60, K61, K62, K64, K65, K66, K67 }, \
+ { K70, K71, K72, K74, K75, K76, K77 } \
+}
+
+#define LAYOUT_all( \
+ K00, K70, K01, K71, K02, K72, K04, K74, K05, K75, K06, K76, \
+ K10, K60, K11, K61, K12, K62, K13, K14, K64, K15, K65, K16, K66, \
+ K20, K50, K21, K51, K22, K52, K23, K24, K54, K25, K55, K26, K56,\
+ K30, K40, K31, K41, K32, K42, K33, K34, K44, K35, K45, K36, K46\
+ ) { \
+ { K00, K01, K02, KC_NO, K04, K05, K06}, \
+ { K10, K11, K12, K13, K14, K15, K16}, \
+ { K20, K21, K22, K23, K24, K25, K26}, \
+ { K30, K31, K32, K33, K34, K35, K36}, \
+ { K40, K41, K42, KC_NO, K44, K45, K46}, \
+ { K50, K51, K52, KC_NO, K54, K55, K56}, \
+ { K60, K61, K62, KC_NO, K64, K65, K66}, \
+ { K70, K71, K72, KC_NO, K74, K75, K76} \
+}
+
diff --git a/keyboards/montsinger/rebound/rev4/rules 2.mk b/keyboards/montsinger/rebound/rev4/rules 2.mk
new file mode 100644
index 000000000000..0759709231e1
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/rules 2.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+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 = yes # 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
+MIDI_ENABLE = no # MIDI support
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+ENCODER_ENABLE = yes
+
+LAYOUTS = ortho_4x12
+LAYOUTS_HAS_RGB = no
+
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
new file mode 100644
index 000000000000..7c09bd997cb1
--- /dev/null
+++ b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
@@ -0,0 +1,268 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/*
+ * This file has been automatically generated using ChibiStudio board
+ * generator plugin. Do not edit manually.
+ */
+
+#include "hal.h"
+#include "stm32_gpio.h"
+
+/*===========================================================================*/
+/* Driver local definitions. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported variables. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver local variables and types. */
+/*===========================================================================*/
+
+/**
+ * @brief Type of STM32 GPIO port setup.
+ */
+typedef struct {
+ uint32_t moder;
+ uint32_t otyper;
+ uint32_t ospeedr;
+ uint32_t pupdr;
+ uint32_t odr;
+ uint32_t afrl;
+ uint32_t afrh;
+} gpio_setup_t;
+
+/**
+ * @brief Type of STM32 GPIO initialization data.
+ */
+typedef struct {
+#if STM32_HAS_GPIOA || defined(__DOXYGEN__)
+ gpio_setup_t PAData;
+#endif
+#if STM32_HAS_GPIOB || defined(__DOXYGEN__)
+ gpio_setup_t PBData;
+#endif
+#if STM32_HAS_GPIOC || defined(__DOXYGEN__)
+ gpio_setup_t PCData;
+#endif
+#if STM32_HAS_GPIOD || defined(__DOXYGEN__)
+ gpio_setup_t PDData;
+#endif
+#if STM32_HAS_GPIOE || defined(__DOXYGEN__)
+ gpio_setup_t PEData;
+#endif
+#if STM32_HAS_GPIOF || defined(__DOXYGEN__)
+ gpio_setup_t PFData;
+#endif
+#if STM32_HAS_GPIOG || defined(__DOXYGEN__)
+ gpio_setup_t PGData;
+#endif
+#if STM32_HAS_GPIOH || defined(__DOXYGEN__)
+ gpio_setup_t PHData;
+#endif
+#if STM32_HAS_GPIOI || defined(__DOXYGEN__)
+ gpio_setup_t PIData;
+#endif
+#if STM32_HAS_GPIOJ || defined(__DOXYGEN__)
+ gpio_setup_t PJData;
+#endif
+#if STM32_HAS_GPIOK || defined(__DOXYGEN__)
+ gpio_setup_t PKData;
+#endif
+} gpio_config_t;
+
+/**
+ * @brief STM32 GPIO static initialization data.
+ */
+static const gpio_config_t gpio_default_config = {
+#if STM32_HAS_GPIOA
+ {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
+ VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
+#endif
+#if STM32_HAS_GPIOB
+ {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
+ VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
+#endif
+#if STM32_HAS_GPIOC
+ {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
+ VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
+#endif
+#if STM32_HAS_GPIOD
+ {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
+ VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
+#endif
+#if STM32_HAS_GPIOE
+ {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
+ VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
+#endif
+#if STM32_HAS_GPIOF
+ {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
+ VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
+#endif
+#if STM32_HAS_GPIOG
+ {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
+ VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
+#endif
+#if STM32_HAS_GPIOH
+ {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
+ VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
+#endif
+#if STM32_HAS_GPIOI
+ {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
+ VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
+#endif
+#if STM32_HAS_GPIOJ
+ {VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
+ VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH},
+#endif
+#if STM32_HAS_GPIOK
+ {VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
+ VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH}
+#endif
+};
+
+/*===========================================================================*/
+/* Driver local functions. */
+/*===========================================================================*/
+
+static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) {
+
+ gpiop->OTYPER = config->otyper;
+ gpiop->OSPEEDR = config->ospeedr;
+ gpiop->PUPDR = config->pupdr;
+ gpiop->ODR = config->odr;
+ gpiop->AFRL = config->afrl;
+ gpiop->AFRH = config->afrh;
+ gpiop->MODER = config->moder;
+}
+
+static void stm32_gpio_init(void) {
+
+ /* Enabling GPIO-related clocks, the mask comes from the
+ registry header file.*/
+ rccResetAHB(STM32_GPIO_EN_MASK);
+ rccEnableAHB(STM32_GPIO_EN_MASK, true);
+
+ /* Initializing all the defined GPIO ports.*/
+#if STM32_HAS_GPIOA
+ gpio_init(GPIOA, &gpio_default_config.PAData);
+#endif
+#if STM32_HAS_GPIOB
+ gpio_init(GPIOB, &gpio_default_config.PBData);
+#endif
+#if STM32_HAS_GPIOC
+ gpio_init(GPIOC, &gpio_default_config.PCData);
+#endif
+#if STM32_HAS_GPIOD
+ gpio_init(GPIOD, &gpio_default_config.PDData);
+#endif
+#if STM32_HAS_GPIOE
+ gpio_init(GPIOE, &gpio_default_config.PEData);
+#endif
+#if STM32_HAS_GPIOF
+ gpio_init(GPIOF, &gpio_default_config.PFData);
+#endif
+#if STM32_HAS_GPIOG
+ gpio_init(GPIOG, &gpio_default_config.PGData);
+#endif
+#if STM32_HAS_GPIOH
+ gpio_init(GPIOH, &gpio_default_config.PHData);
+#endif
+#if STM32_HAS_GPIOI
+ gpio_init(GPIOI, &gpio_default_config.PIData);
+#endif
+#if STM32_HAS_GPIOJ
+ gpio_init(GPIOJ, &gpio_default_config.PJData);
+#endif
+#if STM32_HAS_GPIOK
+ gpio_init(GPIOK, &gpio_default_config.PKData);
+#endif
+}
+
+/*===========================================================================*/
+/* Driver interrupt handlers. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported functions. */
+/*===========================================================================*/
+
+/**
+ * @brief Early initialization code.
+ * @details GPIO ports and system clocks are initialized before everything
+ * else.
+ */
+void __early_init(void) {
+ extern void enter_bootloader_mode_if_requested(void);
+ enter_bootloader_mode_if_requested();
+ stm32_gpio_init();
+ stm32_clock_init();
+}
+
+#if HAL_USE_SDC || defined(__DOXYGEN__)
+/**
+ * @brief SDC card detection.
+ */
+bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
+
+ (void)sdcp;
+ /* TODO: Fill the implementation.*/
+ return true;
+}
+
+/**
+ * @brief SDC card write protection detection.
+ */
+bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
+
+ (void)sdcp;
+ /* TODO: Fill the implementation.*/
+ return false;
+}
+#endif /* HAL_USE_SDC */
+
+#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
+/**
+ * @brief MMC_SPI card detection.
+ */
+bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
+
+ (void)mmcp;
+ /* TODO: Fill the implementation.*/
+ return true;
+}
+
+/**
+ * @brief MMC_SPI card write protection detection.
+ */
+bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
+
+ (void)mmcp;
+ /* TODO: Fill the implementation.*/
+ return false;
+}
+#endif
+
+/**
+ * @brief Board-specific initialization code.
+ * @todo Add your board-specific code, if any.
+ */
+void boardInit(void) {
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+}
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
new file mode 100644
index 000000000000..57636d1f12f5
--- /dev/null
+++ b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
@@ -0,0 +1,940 @@
+/*
+ ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/*
+ * This file has been automatically generated using ChibiStudio board
+ * generator plugin. Do not edit manually.
+ */
+
+#ifndef BOARD_H
+#define BOARD_H
+
+/*===========================================================================*/
+/* Driver constants. */
+/*===========================================================================*/
+
+/*
+ * Setup for ST STM32F072B-Discovery board.
+ */
+
+/*
+ * Board identifier.
+ */
+#define BOARD_ST_STM32F072B_DISCOVERY
+#define BOARD_NAME "ST STM32F072B-Discovery"
+
+/*
+ * Board oscillators-related settings.
+ * NOTE: HSE not fitted.
+ */
+#if !defined(STM32_LSECLK)
+#define STM32_LSECLK 32768
+#endif
+
+#define STM32_LSEDRV (3U << 3U)
+
+#if !defined(STM32_HSECLK)
+#define STM32_HSECLK 0U
+#endif
+
+#define STM32_HSE_BYPASS
+
+/*
+ * MCU type as defined in the ST header.
+ */
+#define STM32F072xB
+
+/*
+ * IO pins assignments.
+ */
+#define GPIOA_BUTTON 0U
+#define GPIOA_PIN1 1U
+#define GPIOA_PIN2 2U
+#define GPIOA_PIN3 3U
+#define GPIOA_PIN4 4U
+#define GPIOA_PIN5 5U
+#define GPIOA_PIN6 6U
+#define GPIOA_PIN7 7U
+#define GPIOA_PIN8 8U
+#define GPIOA_PIN9 9U
+#define GPIOA_PIN10 10U
+#define GPIOA_USB_DM 11U
+#define GPIOA_USB_DP 12U
+#define GPIOA_SWDIO 13U
+#define GPIOA_SWCLK 14U
+#define GPIOA_PIN15 15U
+
+#define GPIOB_PIN0 0U
+#define GPIOB_PIN1 1U
+#define GPIOB_PIN2 2U
+#define GPIOB_PIN3 3U
+#define GPIOB_PIN4 4U
+#define GPIOB_PIN5 5U
+#define GPIOB_PIN6 6U
+#define GPIOB_PIN7 7U
+#define GPIOB_PIN8 8U
+#define GPIOB_PIN9 9U
+#define GPIOB_PIN10 10U
+#define GPIOB_PIN11 11U
+#define GPIOB_PIN12 12U
+#define GPIOB_SPI2_SCK 13U
+#define GPIOB_SPI2_MISO 14U
+#define GPIOB_SPI2_MOSI 15U
+
+#define GPIOC_MEMS_CS 0U
+#define GPIOC_PIN1 1U
+#define GPIOC_PIN2 2U
+#define GPIOC_PIN3 3U
+#define GPIOC_PIN4 4U
+#define GPIOC_PIN5 5U
+#define GPIOC_LED_RED 6U
+#define GPIOC_LED_BLUE 7U
+#define GPIOC_LED_ORANGE 8U
+#define GPIOC_LED_GREEN 9U
+#define GPIOC_PIN10 10U
+#define GPIOC_PIN11 11U
+#define GPIOC_PIN12 12U
+#define GPIOC_PIN13 13U
+#define GPIOC_OSC32_IN 14U
+#define GPIOC_OSC32_OUT 15U
+
+#define GPIOD_PIN0 0U
+#define GPIOD_PIN1 1U
+#define GPIOD_PIN2 2U
+#define GPIOD_PIN3 3U
+#define GPIOD_PIN4 4U
+#define GPIOD_PIN5 5U
+#define GPIOD_PIN6 6U
+#define GPIOD_PIN7 7U
+#define GPIOD_PIN8 8U
+#define GPIOD_PIN9 9U
+#define GPIOD_PIN10 10U
+#define GPIOD_PIN11 11U
+#define GPIOD_PIN12 12U
+#define GPIOD_PIN13 13U
+#define GPIOD_PIN14 14U
+#define GPIOD_PIN15 15U
+
+#define GPIOE_PIN0 0U
+#define GPIOE_PIN1 1U
+#define GPIOE_PIN2 2U
+#define GPIOE_PIN3 3U
+#define GPIOE_PIN4 4U
+#define GPIOE_PIN5 5U
+#define GPIOE_PIN6 6U
+#define GPIOE_PIN7 7U
+#define GPIOE_PIN8 8U
+#define GPIOE_PIN9 9U
+#define GPIOE_PIN10 10U
+#define GPIOE_PIN11 11U
+#define GPIOE_PIN12 12U
+#define GPIOE_PIN13 13U
+#define GPIOE_PIN14 14U
+#define GPIOE_PIN15 15U
+
+#define GPIOF_OSC_IN 0U
+#define GPIOF_OSC_OUT 1U
+#define GPIOF_PIN2 2U
+#define GPIOF_PIN3 3U
+#define GPIOF_PIN4 4U
+#define GPIOF_PIN5 5U
+#define GPIOF_PIN6 6U
+#define GPIOF_PIN7 7U
+#define GPIOF_PIN8 8U
+#define GPIOF_PIN9 9U
+#define GPIOF_PIN10 10U
+#define GPIOF_PIN11 11U
+#define GPIOF_PIN12 12U
+#define GPIOF_PIN13 13U
+#define GPIOF_PIN14 14U
+#define GPIOF_PIN15 15U
+
+/*
+ * IO lines assignments.
+ */
+#define LINE_BUTTON PAL_LINE(GPIOA, 0U)
+#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
+#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
+#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
+#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
+#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
+#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
+#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
+#define LINE_MEMS_CS PAL_LINE(GPIOC, 0U)
+#define LINE_LED_RED PAL_LINE(GPIOC, 6U)
+#define LINE_LED_BLUE PAL_LINE(GPIOC, 7U)
+#define LINE_LED_ORANGE PAL_LINE(GPIOC, 8U)
+#define LINE_LED_GREEN PAL_LINE(GPIOC, 9U)
+#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
+#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
+#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
+#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
+
+/*===========================================================================*/
+/* Driver pre-compile time settings. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Derived constants and error checks. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver data structures and types. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver macros. */
+/*===========================================================================*/
+
+/*
+ * I/O ports initial setup, this configuration is established soon after reset
+ * in the initialization code.
+ * Please refer to the STM32 Reference Manual for details.
+ */
+#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
+#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
+#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
+#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
+#define PIN_ODR_LOW(n) (0U << (n))
+#define PIN_ODR_HIGH(n) (1U << (n))
+#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
+#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
+#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
+#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
+#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
+#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
+#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
+#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
+#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
+#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
+
+/*
+ * GPIOA setup:
+ *
+ * PA0 - BUTTON (input floating).
+ * PA1 - PIN1 (input pullup).
+ * PA2 - PIN2 (input pullup).
+ * PA3 - PIN3 (input pullup).
+ * PA4 - PIN4 (input pullup).
+ * PA5 - PIN5 (input pullup).
+ * PA6 - PIN6 (input pullup).
+ * PA7 - PIN7 (input pullup).
+ * PA8 - PIN8 (input pullup).
+ * PA9 - PIN9 (input pullup).
+ * PA10 - PIN10 (input pullup).
+ * PA11 - USB_DM (input floating).
+ * PA12 - USB_DP (input floating).
+ * PA13 - SWDIO (alternate 0).
+ * PA14 - SWCLK (alternate 0).
+ * PA15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \
+ PIN_MODE_INPUT(GPIOA_PIN1) | \
+ PIN_MODE_INPUT(GPIOA_PIN2) | \
+ PIN_MODE_INPUT(GPIOA_PIN3) | \
+ PIN_MODE_INPUT(GPIOA_PIN4) | \
+ PIN_MODE_INPUT(GPIOA_PIN5) | \
+ PIN_MODE_INPUT(GPIOA_PIN6) | \
+ PIN_MODE_INPUT(GPIOA_PIN7) | \
+ PIN_MODE_INPUT(GPIOA_PIN8) | \
+ PIN_MODE_INPUT(GPIOA_PIN9) | \
+ PIN_MODE_INPUT(GPIOA_PIN10) | \
+ PIN_MODE_INPUT(GPIOA_USB_DM) | \
+ PIN_MODE_INPUT(GPIOA_USB_DP) | \
+ PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
+ PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
+ PIN_MODE_INPUT(GPIOA_PIN15))
+#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
+ PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
+#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOA_USB_DM) | \
+ PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \
+ PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
+ PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
+ PIN_OSPEED_HIGH(GPIOA_PIN15))
+#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN1) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN5) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN6) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN7) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN9) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN10) | \
+ PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
+ PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
+ PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \
+ PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \
+ PIN_PUPDR_PULLUP(GPIOA_PIN15))
+#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \
+ PIN_ODR_HIGH(GPIOA_PIN1) | \
+ PIN_ODR_HIGH(GPIOA_PIN2) | \
+ PIN_ODR_HIGH(GPIOA_PIN3) | \
+ PIN_ODR_HIGH(GPIOA_PIN4) | \
+ PIN_ODR_HIGH(GPIOA_PIN5) | \
+ PIN_ODR_HIGH(GPIOA_PIN6) | \
+ PIN_ODR_HIGH(GPIOA_PIN7) | \
+ PIN_ODR_HIGH(GPIOA_PIN8) | \
+ PIN_ODR_HIGH(GPIOA_PIN9) | \
+ PIN_ODR_HIGH(GPIOA_PIN10) | \
+ PIN_ODR_HIGH(GPIOA_USB_DM) | \
+ PIN_ODR_HIGH(GPIOA_USB_DP) | \
+ PIN_ODR_HIGH(GPIOA_SWDIO) | \
+ PIN_ODR_HIGH(GPIOA_SWCLK) | \
+ PIN_ODR_HIGH(GPIOA_PIN15))
+#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN1, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN6, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN7, 0U))
+#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN9, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOA_USB_DM, 0U) | \
+ PIN_AFIO_AF(GPIOA_USB_DP, 0U) | \
+ PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \
+ PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \
+ PIN_AFIO_AF(GPIOA_PIN15, 0U))
+
+/*
+ * GPIOB setup:
+ *
+ * PB0 - PIN0 (input pullup).
+ * PB1 - PIN1 (input pullup).
+ * PB2 - PIN2 (input pullup).
+ * PB3 - PIN3 (input pullup).
+ * PB4 - PIN4 (input pullup).
+ * PB5 - PIN5 (input pullup).
+ * PB6 - PIN6 (input pullup).
+ * PB7 - PIN7 (input pullup).
+ * PB8 - PIN8 (input pullup).
+ * PB9 - PIN9 (input pullup).
+ * PB10 - PIN10 (input pullup).
+ * PB11 - PIN11 (input pullup).
+ * PB12 - PIN12 (input pullup).
+ * PB13 - SPI2_SCK (alternate 0).
+ * PB14 - SPI2_MISO (alternate 0).
+ * PB15 - SPI2_MOSI (alternate 0).
+ */
+#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \
+ PIN_MODE_INPUT(GPIOB_PIN1) | \
+ PIN_MODE_INPUT(GPIOB_PIN2) | \
+ PIN_MODE_INPUT(GPIOB_PIN3) | \
+ PIN_MODE_INPUT(GPIOB_PIN4) | \
+ PIN_MODE_INPUT(GPIOB_PIN5) | \
+ PIN_MODE_INPUT(GPIOB_PIN6) | \
+ PIN_MODE_INPUT(GPIOB_PIN7) | \
+ PIN_MODE_INPUT(GPIOB_PIN8) | \
+ PIN_MODE_INPUT(GPIOB_PIN9) | \
+ PIN_MODE_INPUT(GPIOB_PIN10) | \
+ PIN_MODE_INPUT(GPIOB_PIN11) | \
+ PIN_MODE_INPUT(GPIOB_PIN12) | \
+ PIN_MODE_ALTERNATE(GPIOB_SPI2_SCK) | \
+ PIN_MODE_ALTERNATE(GPIOB_SPI2_MISO) | \
+ PIN_MODE_ALTERNATE(GPIOB_SPI2_MOSI))
+#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN6) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_SPI2_SCK) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MISO) | \
+ PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MOSI))
+#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \
+ PIN_OSPEED_HIGH(GPIOB_PIN2) | \
+ PIN_OSPEED_HIGH(GPIOB_PIN3) | \
+ PIN_OSPEED_HIGH(GPIOB_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOB_SPI2_SCK) | \
+ PIN_OSPEED_VERYLOW(GPIOB_SPI2_MISO) | \
+ PIN_OSPEED_VERYLOW(GPIOB_SPI2_MOSI))
+#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN5) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN6) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN7) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN8) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN9) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN10) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN11) | \
+ PIN_PUPDR_PULLUP(GPIOB_PIN12) | \
+ PIN_PUPDR_FLOATING(GPIOB_SPI2_SCK) | \
+ PIN_PUPDR_FLOATING(GPIOB_SPI2_MISO) | \
+ PIN_PUPDR_FLOATING(GPIOB_SPI2_MOSI))
+#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \
+ PIN_ODR_HIGH(GPIOB_PIN1) | \
+ PIN_ODR_HIGH(GPIOB_PIN2) | \
+ PIN_ODR_HIGH(GPIOB_PIN3) | \
+ PIN_ODR_HIGH(GPIOB_PIN4) | \
+ PIN_ODR_HIGH(GPIOB_PIN5) | \
+ PIN_ODR_HIGH(GPIOB_PIN6) | \
+ PIN_ODR_HIGH(GPIOB_PIN7) | \
+ PIN_ODR_HIGH(GPIOB_PIN8) | \
+ PIN_ODR_HIGH(GPIOB_PIN9) | \
+ PIN_ODR_HIGH(GPIOB_PIN10) | \
+ PIN_ODR_HIGH(GPIOB_PIN11) | \
+ PIN_ODR_HIGH(GPIOB_PIN12) | \
+ PIN_ODR_HIGH(GPIOB_SPI2_SCK) | \
+ PIN_ODR_HIGH(GPIOB_SPI2_MISO) | \
+ PIN_ODR_HIGH(GPIOB_SPI2_MOSI))
+#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN1, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN6, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN7, 0U))
+#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN11, 0U) | \
+ PIN_AFIO_AF(GPIOB_PIN12, 0U) | \
+ PIN_AFIO_AF(GPIOB_SPI2_SCK, 0U) | \
+ PIN_AFIO_AF(GPIOB_SPI2_MISO, 0U) | \
+ PIN_AFIO_AF(GPIOB_SPI2_MOSI, 0U))
+
+/*
+ * GPIOC setup:
+ *
+ * PC0 - MEMS_CS (output pushpull maximum).
+ * PC1 - PIN1 (input pullup).
+ * PC2 - PIN2 (input pullup).
+ * PC3 - PIN3 (input pullup).
+ * PC4 - PIN4 (input pullup).
+ * PC5 - PIN5 (input pullup).
+ * PC6 - LED_RED (output pushpull maximum).
+ * PC7 - LED_BLUE (output pushpull maximum).
+ * PC8 - LED_ORANGE (output pushpull maximum).
+ * PC9 - LED_GREEN (output pushpull maximum).
+ * PC10 - PIN10 (input pullup).
+ * PC11 - PIN11 (input pullup).
+ * PC12 - PIN12 (input pullup).
+ * PC13 - PIN13 (input pullup).
+ * PC14 - OSC32_IN (input floating).
+ * PC15 - OSC32_OUT (input floating).
+ */
+#define VAL_GPIOC_MODER (PIN_MODE_OUTPUT(GPIOC_MEMS_CS) | \
+ PIN_MODE_INPUT(GPIOC_PIN1) | \
+ PIN_MODE_INPUT(GPIOC_PIN2) | \
+ PIN_MODE_INPUT(GPIOC_PIN3) | \
+ PIN_MODE_INPUT(GPIOC_PIN4) | \
+ PIN_MODE_INPUT(GPIOC_PIN5) | \
+ PIN_MODE_OUTPUT(GPIOC_LED_RED) | \
+ PIN_MODE_OUTPUT(GPIOC_LED_BLUE) | \
+ PIN_MODE_OUTPUT(GPIOC_LED_ORANGE) | \
+ PIN_MODE_OUTPUT(GPIOC_LED_GREEN) | \
+ PIN_MODE_INPUT(GPIOC_PIN10) | \
+ PIN_MODE_INPUT(GPIOC_PIN11) | \
+ PIN_MODE_INPUT(GPIOC_PIN12) | \
+ PIN_MODE_INPUT(GPIOC_PIN13) | \
+ PIN_MODE_INPUT(GPIOC_OSC32_IN) | \
+ PIN_MODE_INPUT(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_MEMS_CS) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_LED_RED) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_LED_BLUE) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_LED_ORANGE) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_LED_GREEN) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
+ PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_MEMS_CS) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
+ PIN_OSPEED_HIGH(GPIOC_LED_RED) | \
+ PIN_OSPEED_HIGH(GPIOC_LED_BLUE) | \
+ PIN_OSPEED_HIGH(GPIOC_LED_ORANGE) | \
+ PIN_OSPEED_HIGH(GPIOC_LED_GREEN) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_MEMS_CS) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN1) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN5) | \
+ PIN_PUPDR_FLOATING(GPIOC_LED_RED) | \
+ PIN_PUPDR_FLOATING(GPIOC_LED_BLUE) | \
+ PIN_PUPDR_FLOATING(GPIOC_LED_ORANGE) | \
+ PIN_PUPDR_FLOATING(GPIOC_LED_GREEN) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN10) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN11) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN12) | \
+ PIN_PUPDR_PULLUP(GPIOC_PIN13) | \
+ PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \
+ PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_MEMS_CS) | \
+ PIN_ODR_HIGH(GPIOC_PIN1) | \
+ PIN_ODR_HIGH(GPIOC_PIN2) | \
+ PIN_ODR_HIGH(GPIOC_PIN3) | \
+ PIN_ODR_HIGH(GPIOC_PIN4) | \
+ PIN_ODR_HIGH(GPIOC_PIN5) | \
+ PIN_ODR_LOW(GPIOC_LED_RED) | \
+ PIN_ODR_LOW(GPIOC_LED_BLUE) | \
+ PIN_ODR_LOW(GPIOC_LED_ORANGE) | \
+ PIN_ODR_LOW(GPIOC_LED_GREEN) | \
+ PIN_ODR_HIGH(GPIOC_PIN10) | \
+ PIN_ODR_HIGH(GPIOC_PIN11) | \
+ PIN_ODR_HIGH(GPIOC_PIN12) | \
+ PIN_ODR_HIGH(GPIOC_PIN13) | \
+ PIN_ODR_HIGH(GPIOC_OSC32_IN) | \
+ PIN_ODR_HIGH(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_MEMS_CS, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN1, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOC_LED_RED, 0U) | \
+ PIN_AFIO_AF(GPIOC_LED_BLUE, 0U))
+#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_LED_ORANGE, 0U) | \
+ PIN_AFIO_AF(GPIOC_LED_GREEN, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN11, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN12, 0U) | \
+ PIN_AFIO_AF(GPIOC_PIN13, 0U) | \
+ PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \
+ PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
+
+/*
+ * GPIOD setup:
+ *
+ * PD0 - PIN0 (input pullup).
+ * PD1 - PIN1 (input pullup).
+ * PD2 - PIN2 (input pullup).
+ * PD3 - PIN3 (input pullup).
+ * PD4 - PIN4 (input pullup).
+ * PD5 - PIN5 (input pullup).
+ * PD6 - PIN6 (input pullup).
+ * PD7 - PIN7 (input pullup).
+ * PD8 - PIN8 (input pullup).
+ * PD9 - PIN9 (input pullup).
+ * PD10 - PIN10 (input pullup).
+ * PD11 - PIN11 (input pullup).
+ * PD12 - PIN12 (input pullup).
+ * PD13 - PIN13 (input pullup).
+ * PD14 - PIN14 (input pullup).
+ * PD15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
+ PIN_MODE_INPUT(GPIOD_PIN1) | \
+ PIN_MODE_INPUT(GPIOD_PIN2) | \
+ PIN_MODE_INPUT(GPIOD_PIN3) | \
+ PIN_MODE_INPUT(GPIOD_PIN4) | \
+ PIN_MODE_INPUT(GPIOD_PIN5) | \
+ PIN_MODE_INPUT(GPIOD_PIN6) | \
+ PIN_MODE_INPUT(GPIOD_PIN7) | \
+ PIN_MODE_INPUT(GPIOD_PIN8) | \
+ PIN_MODE_INPUT(GPIOD_PIN9) | \
+ PIN_MODE_INPUT(GPIOD_PIN10) | \
+ PIN_MODE_INPUT(GPIOD_PIN11) | \
+ PIN_MODE_INPUT(GPIOD_PIN12) | \
+ PIN_MODE_INPUT(GPIOD_PIN13) | \
+ PIN_MODE_INPUT(GPIOD_PIN14) | \
+ PIN_MODE_INPUT(GPIOD_PIN15))
+#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
+ PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
+#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN15))
+#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN5) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN12) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN13) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN14) | \
+ PIN_PUPDR_PULLUP(GPIOD_PIN15))
+#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
+ PIN_ODR_HIGH(GPIOD_PIN1) | \
+ PIN_ODR_HIGH(GPIOD_PIN2) | \
+ PIN_ODR_HIGH(GPIOD_PIN3) | \
+ PIN_ODR_HIGH(GPIOD_PIN4) | \
+ PIN_ODR_HIGH(GPIOD_PIN5) | \
+ PIN_ODR_HIGH(GPIOD_PIN6) | \
+ PIN_ODR_HIGH(GPIOD_PIN7) | \
+ PIN_ODR_HIGH(GPIOD_PIN8) | \
+ PIN_ODR_HIGH(GPIOD_PIN9) | \
+ PIN_ODR_HIGH(GPIOD_PIN10) | \
+ PIN_ODR_HIGH(GPIOD_PIN11) | \
+ PIN_ODR_HIGH(GPIOD_PIN12) | \
+ PIN_ODR_HIGH(GPIOD_PIN13) | \
+ PIN_ODR_HIGH(GPIOD_PIN14) | \
+ PIN_ODR_HIGH(GPIOD_PIN15))
+#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN1, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN6, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN7, 0U))
+#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN9, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN11, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN12, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN13, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN14, 0U) | \
+ PIN_AFIO_AF(GPIOD_PIN15, 0U))
+
+/*
+ * GPIOE setup:
+ *
+ * PE0 - PIN0 (input pullup).
+ * PE1 - PIN1 (input pullup).
+ * PE2 - PIN2 (input pullup).
+ * PE3 - PIN3 (input pullup).
+ * PE4 - PIN4 (input pullup).
+ * PE5 - PIN5 (input pullup).
+ * PE6 - PIN6 (input pullup).
+ * PE7 - PIN7 (input pullup).
+ * PE8 - PIN8 (input pullup).
+ * PE9 - PIN9 (input pullup).
+ * PE10 - PIN10 (input pullup).
+ * PE11 - PIN11 (input pullup).
+ * PE12 - PIN12 (input pullup).
+ * PE13 - PIN13 (input pullup).
+ * PE14 - PIN14 (input pullup).
+ * PE15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \
+ PIN_MODE_INPUT(GPIOE_PIN1) | \
+ PIN_MODE_INPUT(GPIOE_PIN2) | \
+ PIN_MODE_INPUT(GPIOE_PIN3) | \
+ PIN_MODE_INPUT(GPIOE_PIN4) | \
+ PIN_MODE_INPUT(GPIOE_PIN5) | \
+ PIN_MODE_INPUT(GPIOE_PIN6) | \
+ PIN_MODE_INPUT(GPIOE_PIN7) | \
+ PIN_MODE_INPUT(GPIOE_PIN8) | \
+ PIN_MODE_INPUT(GPIOE_PIN9) | \
+ PIN_MODE_INPUT(GPIOE_PIN10) | \
+ PIN_MODE_INPUT(GPIOE_PIN11) | \
+ PIN_MODE_INPUT(GPIOE_PIN12) | \
+ PIN_MODE_INPUT(GPIOE_PIN13) | \
+ PIN_MODE_INPUT(GPIOE_PIN14) | \
+ PIN_MODE_INPUT(GPIOE_PIN15))
+#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \
+ PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
+#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN15))
+#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN5) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN6) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN7) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN8) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN9) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN10) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN11) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN12) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN13) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN14) | \
+ PIN_PUPDR_PULLUP(GPIOE_PIN15))
+#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
+ PIN_ODR_HIGH(GPIOE_PIN1) | \
+ PIN_ODR_HIGH(GPIOE_PIN2) | \
+ PIN_ODR_HIGH(GPIOE_PIN3) | \
+ PIN_ODR_HIGH(GPIOE_PIN4) | \
+ PIN_ODR_HIGH(GPIOE_PIN5) | \
+ PIN_ODR_HIGH(GPIOE_PIN6) | \
+ PIN_ODR_HIGH(GPIOE_PIN7) | \
+ PIN_ODR_HIGH(GPIOE_PIN8) | \
+ PIN_ODR_HIGH(GPIOE_PIN9) | \
+ PIN_ODR_HIGH(GPIOE_PIN10) | \
+ PIN_ODR_HIGH(GPIOE_PIN11) | \
+ PIN_ODR_HIGH(GPIOE_PIN12) | \
+ PIN_ODR_HIGH(GPIOE_PIN13) | \
+ PIN_ODR_HIGH(GPIOE_PIN14) | \
+ PIN_ODR_HIGH(GPIOE_PIN15))
+#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN6, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN7, 0U))
+#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN9, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN11, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN12, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN13, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN14, 0U) | \
+ PIN_AFIO_AF(GPIOE_PIN15, 0U))
+
+/*
+ * GPIOF setup:
+ *
+ * PF0 - OSC_IN (input floating).
+ * PF1 - OSC_OUT (input floating).
+ * PF2 - PIN2 (input pullup).
+ * PF3 - PIN3 (input pullup).
+ * PF4 - PIN4 (input pullup).
+ * PF5 - PIN5 (input pullup).
+ * PF6 - PIN6 (input pullup).
+ * PF7 - PIN7 (input pullup).
+ * PF8 - PIN8 (input pullup).
+ * PF9 - PIN9 (input pullup).
+ * PF10 - PIN10 (input pullup).
+ * PF11 - PIN11 (input pullup).
+ * PF12 - PIN12 (input pullup).
+ * PF13 - PIN13 (input pullup).
+ * PF14 - PIN14 (input pullup).
+ * PF15 - PIN15 (input pullup).
+ */
+#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_OSC_IN) | \
+ PIN_MODE_INPUT(GPIOF_OSC_OUT) | \
+ PIN_MODE_INPUT(GPIOF_PIN2) | \
+ PIN_MODE_INPUT(GPIOF_PIN3) | \
+ PIN_MODE_INPUT(GPIOF_PIN4) | \
+ PIN_MODE_INPUT(GPIOF_PIN5) | \
+ PIN_MODE_INPUT(GPIOF_PIN6) | \
+ PIN_MODE_INPUT(GPIOF_PIN7) | \
+ PIN_MODE_INPUT(GPIOF_PIN8) | \
+ PIN_MODE_INPUT(GPIOF_PIN9) | \
+ PIN_MODE_INPUT(GPIOF_PIN10) | \
+ PIN_MODE_INPUT(GPIOF_PIN11) | \
+ PIN_MODE_INPUT(GPIOF_PIN12) | \
+ PIN_MODE_INPUT(GPIOF_PIN13) | \
+ PIN_MODE_INPUT(GPIOF_PIN14) | \
+ PIN_MODE_INPUT(GPIOF_PIN15))
+#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \
+ PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
+#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOF_OSC_IN) | \
+ PIN_OSPEED_VERYLOW(GPIOF_OSC_OUT) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN15))
+#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \
+ PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN2) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN3) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN4) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN5) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN6) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN7) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN8) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN9) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN10) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN11) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN12) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN13) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN14) | \
+ PIN_PUPDR_PULLUP(GPIOF_PIN15))
+#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_OSC_IN) | \
+ PIN_ODR_HIGH(GPIOF_OSC_OUT) | \
+ PIN_ODR_HIGH(GPIOF_PIN2) | \
+ PIN_ODR_HIGH(GPIOF_PIN3) | \
+ PIN_ODR_HIGH(GPIOF_PIN4) | \
+ PIN_ODR_HIGH(GPIOF_PIN5) | \
+ PIN_ODR_HIGH(GPIOF_PIN6) | \
+ PIN_ODR_HIGH(GPIOF_PIN7) | \
+ PIN_ODR_HIGH(GPIOF_PIN8) | \
+ PIN_ODR_HIGH(GPIOF_PIN9) | \
+ PIN_ODR_HIGH(GPIOF_PIN10) | \
+ PIN_ODR_HIGH(GPIOF_PIN11) | \
+ PIN_ODR_HIGH(GPIOF_PIN12) | \
+ PIN_ODR_HIGH(GPIOF_PIN13) | \
+ PIN_ODR_HIGH(GPIOF_PIN14) | \
+ PIN_ODR_HIGH(GPIOF_PIN15))
+#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) | \
+ PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN2, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN3, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN4, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN5, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN6, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN7, 0U))
+#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN9, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN10, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN11, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN12, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN13, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN14, 0U) | \
+ PIN_AFIO_AF(GPIOF_PIN15, 0U))
+
+/*===========================================================================*/
+/* External declarations. */
+/*===========================================================================*/
+
+#if !defined(_FROM_ASM_)
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void boardInit(void);
+#ifdef __cplusplus
+}
+#endif
+#endif /* _FROM_ASM_ */
+
+#endif /* BOARD_H */
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
new file mode 100644
index 000000000000..b98dcdd26c6a
--- /dev/null
+++ b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
@@ -0,0 +1,5 @@
+# List of all the board related files.
+BOARDSRC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY/board.c
+
+# Required include directories
+BOARDINC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
new file mode 100644
index 000000000000..9c7cf4fd76a3
--- /dev/null
+++ b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
@@ -0,0 +1,703 @@
+
+
+
+
+ resources/gencfg/processors/boards/stm32f0xx/templates
+ ..
+ 3.0.x
+
+ ST STM32F072B-Discovery
+ ST_STM32F072B_DISCOVERY
+
+ STM32F072xB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/keyboards/nebula12/bootloader_defs 2.h b/keyboards/nebula12/bootloader_defs 2.h
new file mode 100644
index 000000000000..02c48c4e6dcb
--- /dev/null
+++ b/keyboards/nebula12/bootloader_defs 2.h
@@ -0,0 +1,7 @@
+/* Address for jumping to bootloader on STM32 chips. */
+/* It is chip dependent, the correct number can be looked up here (page 175):
+ * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
+ * This also requires a patch to chibios:
+ * /tmk_core/tool/chibios/ch-bootloader-jump.patch
+ */
+#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
diff --git a/keyboards/nebula12/chconf 2.h b/keyboards/nebula12/chconf 2.h
new file mode 100644
index 000000000000..03f63da36a88
--- /dev/null
+++ b/keyboards/nebula12/chconf 2.h
@@ -0,0 +1,714 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file rt/templates/chconf.h
+ * @brief Configuration file template.
+ * @details A copy of this file must be placed in each project directory, it
+ * contains the application specific kernel settings.
+ *
+ * @addtogroup config
+ * @details Kernel related settings and hooks.
+ * @{
+ */
+
+#ifndef CHCONF_H
+#define CHCONF_H
+
+#define _CHIBIOS_RT_CONF_
+#define _CHIBIOS_RT_CONF_VER_6_0_
+
+/*===========================================================================*/
+/**
+ * @name System timers settings
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief System time counter resolution.
+ * @note Allowed values are 16 or 32 bits.
+ */
+#if !defined(CH_CFG_ST_RESOLUTION)
+#define CH_CFG_ST_RESOLUTION 32
+#endif
+
+/**
+ * @brief System tick frequency.
+ * @details Frequency of the system timer that drives the system ticks. This
+ * setting also defines the system tick time unit.
+ */
+#if !defined(CH_CFG_ST_FREQUENCY)
+#define CH_CFG_ST_FREQUENCY 10000
+#endif
+
+/**
+ * @brief Time intervals data size.
+ * @note Allowed values are 16, 32 or 64 bits.
+ */
+#if !defined(CH_CFG_INTERVALS_SIZE)
+#define CH_CFG_INTERVALS_SIZE 32
+#endif
+
+/**
+ * @brief Time types data size.
+ * @note Allowed values are 16 or 32 bits.
+ */
+#if !defined(CH_CFG_TIME_TYPES_SIZE)
+#define CH_CFG_TIME_TYPES_SIZE 32
+#endif
+
+/**
+ * @brief Time delta constant for the tick-less mode.
+ * @note If this value is zero then the system uses the classic
+ * periodic tick. This value represents the minimum number
+ * of ticks that is safe to specify in a timeout directive.
+ * The value one is not valid, timeouts are rounded up to
+ * this value.
+ */
+#if !defined(CH_CFG_ST_TIMEDELTA)
+#define CH_CFG_ST_TIMEDELTA 2
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel parameters and options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Round robin interval.
+ * @details This constant is the number of system ticks allowed for the
+ * threads before preemption occurs. Setting this value to zero
+ * disables the preemption for threads with equal priority and the
+ * round robin becomes cooperative. Note that higher priority
+ * threads can still preempt, the kernel is always preemptive.
+ * @note Disabling the round robin preemption makes the kernel more compact
+ * and generally faster.
+ * @note The round robin preemption is not supported in tickless mode and
+ * must be set to zero in that case.
+ */
+#if !defined(CH_CFG_TIME_QUANTUM)
+#define CH_CFG_TIME_QUANTUM 0
+#endif
+
+/**
+ * @brief Managed RAM size.
+ * @details Size of the RAM area to be managed by the OS. If set to zero
+ * then the whole available RAM is used. The core memory is made
+ * available to the heap allocator and/or can be used directly through
+ * the simplified core memory allocator.
+ *
+ * @note In order to let the OS manage the whole RAM the linker script must
+ * provide the @p __heap_base__ and @p __heap_end__ symbols.
+ * @note Requires @p CH_CFG_USE_MEMCORE.
+ */
+#if !defined(CH_CFG_MEMCORE_SIZE)
+#define CH_CFG_MEMCORE_SIZE 0
+#endif
+
+/**
+ * @brief Idle thread automatic spawn suppression.
+ * @details When this option is activated the function @p chSysInit()
+ * does not spawn the idle thread. The application @p main()
+ * function becomes the idle thread and must implement an
+ * infinite loop.
+ */
+#if !defined(CH_CFG_NO_IDLE_THREAD)
+#define CH_CFG_NO_IDLE_THREAD FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Performance options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief OS optimization.
+ * @details If enabled then time efficient rather than space efficient code
+ * is used when two possible implementations exist.
+ *
+ * @note This is not related to the compiler optimization options.
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_OPTIMIZE_SPEED)
+#define CH_CFG_OPTIMIZE_SPEED FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Subsystem options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Time Measurement APIs.
+ * @details If enabled then the time measurement APIs are included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_TM)
+#define CH_CFG_USE_TM FALSE
+#endif
+
+/**
+ * @brief Threads registry APIs.
+ * @details If enabled then the registry APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_REGISTRY)
+#define CH_CFG_USE_REGISTRY TRUE
+#endif
+
+/**
+ * @brief Threads synchronization APIs.
+ * @details If enabled then the @p chThdWait() function is included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_WAITEXIT)
+#define CH_CFG_USE_WAITEXIT TRUE
+#endif
+
+/**
+ * @brief Semaphores APIs.
+ * @details If enabled then the Semaphores APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_SEMAPHORES)
+#define CH_CFG_USE_SEMAPHORES TRUE
+#endif
+
+/**
+ * @brief Semaphores queuing mode.
+ * @details If enabled then the threads are enqueued on semaphores by
+ * priority rather than in FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
+#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
+#endif
+
+/**
+ * @brief Mutexes APIs.
+ * @details If enabled then the mutexes APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MUTEXES)
+#define CH_CFG_USE_MUTEXES TRUE
+#endif
+
+/**
+ * @brief Enables recursive behavior on mutexes.
+ * @note Recursive mutexes are heavier and have an increased
+ * memory footprint.
+ *
+ * @note The default is @p FALSE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
+#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
+#endif
+
+/**
+ * @brief Conditional Variables APIs.
+ * @details If enabled then the conditional variables APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#if !defined(CH_CFG_USE_CONDVARS)
+#define CH_CFG_USE_CONDVARS TRUE
+#endif
+
+/**
+ * @brief Conditional Variables APIs with timeout.
+ * @details If enabled then the conditional variables APIs with timeout
+ * specification are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_CONDVARS.
+ */
+#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+#endif
+
+/**
+ * @brief Events Flags APIs.
+ * @details If enabled then the event flags APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_EVENTS)
+#define CH_CFG_USE_EVENTS TRUE
+#endif
+
+/**
+ * @brief Events Flags APIs with timeout.
+ * @details If enabled then the events APIs with timeout specification
+ * are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_EVENTS.
+ */
+#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
+#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
+#endif
+
+/**
+ * @brief Synchronous Messages APIs.
+ * @details If enabled then the synchronous messages APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MESSAGES)
+#define CH_CFG_USE_MESSAGES TRUE
+#endif
+
+/**
+ * @brief Synchronous Messages queuing mode.
+ * @details If enabled then messages are served by priority rather than in
+ * FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_MESSAGES.
+ */
+#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
+#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
+#endif
+
+/**
+ * @brief Mailboxes APIs.
+ * @details If enabled then the asynchronous messages (mailboxes) APIs are
+ * included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#if !defined(CH_CFG_USE_MAILBOXES)
+#define CH_CFG_USE_MAILBOXES TRUE
+#endif
+
+/**
+ * @brief Core Memory Manager APIs.
+ * @details If enabled then the core memory manager APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MEMCORE)
+#define CH_CFG_USE_MEMCORE TRUE
+#endif
+
+/**
+ * @brief Heap Allocator APIs.
+ * @details If enabled then the memory heap allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
+ * @p CH_CFG_USE_SEMAPHORES.
+ * @note Mutexes are recommended.
+ */
+#if !defined(CH_CFG_USE_HEAP)
+#define CH_CFG_USE_HEAP FALSE
+#endif
+
+/**
+ * @brief Memory Pools Allocator APIs.
+ * @details If enabled then the memory pools allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MEMPOOLS)
+#define CH_CFG_USE_MEMPOOLS FALSE
+#endif
+
+/**
+ * @brief Objects FIFOs APIs.
+ * @details If enabled then the objects FIFOs APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_OBJ_FIFOS)
+#define CH_CFG_USE_OBJ_FIFOS FALSE
+#endif
+
+/**
+ * @brief Pipes APIs.
+ * @details If enabled then the pipes APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_PIPES)
+#define CH_CFG_USE_PIPES FALSE
+#endif
+
+/**
+ * @brief Dynamic Threads APIs.
+ * @details If enabled then the dynamic threads creation APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_WAITEXIT.
+ * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
+ */
+#if !defined(CH_CFG_USE_DYNAMIC)
+#define CH_CFG_USE_DYNAMIC FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Objects factory options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Objects Factory APIs.
+ * @details If enabled then the objects factory APIs are included in the
+ * kernel.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_CFG_USE_FACTORY)
+#define CH_CFG_USE_FACTORY FALSE
+#endif
+
+/**
+ * @brief Maximum length for object names.
+ * @details If the specified length is zero then the name is stored by
+ * pointer but this could have unintended side effects.
+ */
+#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
+#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
+#endif
+
+/**
+ * @brief Enables the registry of generic objects.
+ */
+#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
+#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE
+#endif
+
+/**
+ * @brief Enables factory for generic buffers.
+ */
+#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
+#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE
+#endif
+
+/**
+ * @brief Enables factory for semaphores.
+ */
+#if !defined(CH_CFG_FACTORY_SEMAPHORES)
+#define CH_CFG_FACTORY_SEMAPHORES FALSE
+#endif
+
+/**
+ * @brief Enables factory for mailboxes.
+ */
+#if !defined(CH_CFG_FACTORY_MAILBOXES)
+#define CH_CFG_FACTORY_MAILBOXES FALSE
+#endif
+
+/**
+ * @brief Enables factory for objects FIFOs.
+ */
+#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
+#define CH_CFG_FACTORY_OBJ_FIFOS FALSE
+#endif
+
+/**
+ * @brief Enables factory for Pipes.
+ */
+#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
+#define CH_CFG_FACTORY_PIPES FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Debug options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Debug option, kernel statistics.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_STATISTICS)
+#define CH_DBG_STATISTICS FALSE
+#endif
+
+/**
+ * @brief Debug option, system state check.
+ * @details If enabled the correct call protocol for system APIs is checked
+ * at runtime.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
+#define CH_DBG_SYSTEM_STATE_CHECK FALSE
+#endif
+
+/**
+ * @brief Debug option, parameters checks.
+ * @details If enabled then the checks on the API functions input
+ * parameters are activated.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_ENABLE_CHECKS)
+#define CH_DBG_ENABLE_CHECKS FALSE
+#endif
+
+/**
+ * @brief Debug option, consistency checks.
+ * @details If enabled then all the assertions in the kernel code are
+ * activated. This includes consistency checks inside the kernel,
+ * runtime anomalies and port-defined checks.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_ENABLE_ASSERTS)
+#define CH_DBG_ENABLE_ASSERTS FALSE
+#endif
+
+/**
+ * @brief Debug option, trace buffer.
+ * @details If enabled then the trace buffer is activated.
+ *
+ * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#if !defined(CH_DBG_TRACE_MASK)
+#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
+#endif
+
+/**
+ * @brief Trace buffer entries.
+ * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
+ * different from @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
+#define CH_DBG_TRACE_BUFFER_SIZE 128
+#endif
+
+/**
+ * @brief Debug option, stack checks.
+ * @details If enabled then a runtime stack check is performed.
+ *
+ * @note The default is @p FALSE.
+ * @note The stack check is performed in a architecture/port dependent way.
+ * It may not be implemented or some ports.
+ * @note The default failure mode is to halt the system with the global
+ * @p panic_msg variable set to @p NULL.
+ */
+#if !defined(CH_DBG_ENABLE_STACK_CHECK)
+#define CH_DBG_ENABLE_STACK_CHECK FALSE
+#endif
+
+/**
+ * @brief Debug option, stacks initialization.
+ * @details If enabled then the threads working area is filled with a byte
+ * value when a thread is created. This can be useful for the
+ * runtime measurement of the used stack.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_FILL_THREADS)
+#define CH_DBG_FILL_THREADS FALSE
+#endif
+
+/**
+ * @brief Debug option, threads profiling.
+ * @details If enabled then a field is added to the @p thread_t structure that
+ * counts the system ticks occurred while executing the thread.
+ *
+ * @note The default is @p FALSE.
+ * @note This debug option is not currently compatible with the
+ * tickless mode.
+ */
+#if !defined(CH_DBG_THREADS_PROFILING)
+#define CH_DBG_THREADS_PROFILING FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel hooks
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief System structure extension.
+ * @details User fields added to the end of the @p ch_system_t structure.
+ */
+#define CH_CFG_SYSTEM_EXTRA_FIELDS \
+ /* Add threads custom fields here.*/
+
+/**
+ * @brief System initialization hook.
+ * @details User initialization code added to the @p chSysInit() function
+ * just before interrupts are enabled globally.
+ */
+#define CH_CFG_SYSTEM_INIT_HOOK() { \
+ /* Add threads initialization code here.*/ \
+}
+
+/**
+ * @brief Threads descriptor structure extension.
+ * @details User fields added to the end of the @p thread_t structure.
+ */
+#define CH_CFG_THREAD_EXTRA_FIELDS \
+ /* Add threads custom fields here.*/
+
+/**
+ * @brief Threads initialization hook.
+ * @details User initialization code added to the @p _thread_init() function.
+ *
+ * @note It is invoked from within @p _thread_init() and implicitly from all
+ * the threads creation APIs.
+ */
+#define CH_CFG_THREAD_INIT_HOOK(tp) { \
+ /* Add threads initialization code here.*/ \
+}
+
+/**
+ * @brief Threads finalization hook.
+ * @details User finalization code added to the @p chThdExit() API.
+ */
+#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
+ /* Add threads finalization code here.*/ \
+}
+
+/**
+ * @brief Context switch hook.
+ * @details This hook is invoked just before switching between threads.
+ */
+#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
+ /* Context switch code here.*/ \
+}
+
+/**
+ * @brief ISR enter hook.
+ */
+#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
+ /* IRQ prologue code here.*/ \
+}
+
+/**
+ * @brief ISR exit hook.
+ */
+#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
+ /* IRQ epilogue code here.*/ \
+}
+
+/**
+ * @brief Idle thread enter hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to activate a power saving mode.
+ */
+#define CH_CFG_IDLE_ENTER_HOOK() { \
+ /* Idle-enter code here.*/ \
+}
+
+/**
+ * @brief Idle thread leave hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to deactivate a power saving mode.
+ */
+#define CH_CFG_IDLE_LEAVE_HOOK() { \
+ /* Idle-leave code here.*/ \
+}
+
+/**
+ * @brief Idle Loop hook.
+ * @details This hook is continuously invoked by the idle thread loop.
+ */
+#define CH_CFG_IDLE_LOOP_HOOK() { \
+ /* Idle loop code here.*/ \
+}
+
+/**
+ * @brief System tick event hook.
+ * @details This hook is invoked in the system tick handler immediately
+ * after processing the virtual timers queue.
+ */
+#define CH_CFG_SYSTEM_TICK_HOOK() { \
+ /* System tick event code here.*/ \
+}
+
+/**
+ * @brief System halt hook.
+ * @details This hook is invoked in case to a system halting error before
+ * the system is halted.
+ */
+#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
+ /* System halt code here.*/ \
+}
+
+/**
+ * @brief Trace hook.
+ * @details This hook is invoked each time a new record is written in the
+ * trace buffer.
+ */
+#define CH_CFG_TRACE_HOOK(tep) { \
+ /* Trace code here.*/ \
+}
+
+/** @} */
+
+/*===========================================================================*/
+/* Port-specific settings (override port settings defaulted in chcore.h). */
+/*===========================================================================*/
+
+#endif /* CHCONF_H */
+
+/** @} */
diff --git a/keyboards/nebula12/halconf 2.h b/keyboards/nebula12/halconf 2.h
new file mode 100644
index 000000000000..b5b151ee26a2
--- /dev/null
+++ b/keyboards/nebula12/halconf 2.h
@@ -0,0 +1,525 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file templates/halconf.h
+ * @brief HAL configuration header.
+ * @details HAL configuration file, this file allows to enable or disable the
+ * various device drivers from your application. You may also use
+ * this file in order to override the device drivers default settings.
+ *
+ * @addtogroup HAL_CONF
+ * @{
+ */
+
+#ifndef HALCONF_H
+#define HALCONF_H
+
+#define _CHIBIOS_HAL_CONF_
+#define _CHIBIOS_HAL_CONF_VER_7_0_
+
+#include "mcuconf.h"
+
+/**
+ * @brief Enables the PAL subsystem.
+ */
+#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
+#define HAL_USE_PAL TRUE
+#endif
+
+/**
+ * @brief Enables the ADC subsystem.
+ */
+#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
+#define HAL_USE_ADC FALSE
+#endif
+
+/**
+ * @brief Enables the CAN subsystem.
+ */
+#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
+#define HAL_USE_CAN FALSE
+#endif
+
+/**
+ * @brief Enables the cryptographic subsystem.
+ */
+#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
+#define HAL_USE_CRY FALSE
+#endif
+
+/**
+ * @brief Enables the DAC subsystem.
+ */
+#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
+#define HAL_USE_DAC FALSE
+#endif
+
+/**
+ * @brief Enables the GPT subsystem.
+ */
+#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
+#define HAL_USE_GPT TRUE
+#endif
+
+/**
+ * @brief Enables the I2C subsystem.
+ */
+#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
+#define HAL_USE_I2C TRUE
+#endif
+
+/**
+ * @brief Enables the I2S subsystem.
+ */
+#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
+#define HAL_USE_I2S FALSE
+#endif
+
+/**
+ * @brief Enables the ICU subsystem.
+ */
+#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
+#define HAL_USE_ICU FALSE
+#endif
+
+/**
+ * @brief Enables the MAC subsystem.
+ */
+#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
+#define HAL_USE_MAC FALSE
+#endif
+
+/**
+ * @brief Enables the MMC_SPI subsystem.
+ */
+#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_MMC_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the PWM subsystem.
+ */
+#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
+#define HAL_USE_PWM FALSE
+#endif
+
+/**
+ * @brief Enables the RTC subsystem.
+ */
+#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
+#define HAL_USE_RTC FALSE
+#endif
+
+/**
+ * @brief Enables the SDC subsystem.
+ */
+#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
+#define HAL_USE_SDC FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL subsystem.
+ */
+#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL over USB subsystem.
+ */
+#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL_USB FALSE
+#endif
+
+/**
+ * @brief Enables the SIO subsystem.
+ */
+#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
+#define HAL_USE_SIO FALSE
+#endif
+
+/**
+ * @brief Enables the SPI subsystem.
+ */
+#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_SPI TRUE
+#endif
+
+/**
+ * @brief Enables the TRNG subsystem.
+ */
+#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
+#define HAL_USE_TRNG FALSE
+#endif
+
+/**
+ * @brief Enables the UART subsystem.
+ */
+#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
+#define HAL_USE_UART FALSE
+#endif
+
+/**
+ * @brief Enables the USB subsystem.
+ */
+#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
+#define HAL_USE_USB TRUE
+#endif
+
+/**
+ * @brief Enables the WDG subsystem.
+ */
+#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
+#define HAL_USE_WDG FALSE
+#endif
+
+/**
+ * @brief Enables the WSPI subsystem.
+ */
+#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
+#define HAL_USE_WSPI FALSE
+#endif
+
+/*===========================================================================*/
+/* PAL driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
+#define PAL_USE_CALLBACKS FALSE
+#endif
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
+#define PAL_USE_WAIT FALSE
+#endif
+
+/*===========================================================================*/
+/* ADC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
+#define ADC_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define ADC_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* CAN driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Sleep mode related APIs inclusion switch.
+ */
+#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
+#define CAN_USE_SLEEP_MODE TRUE
+#endif
+
+/**
+ * @brief Enforces the driver to use direct callbacks rather than OSAL events.
+ */
+#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
+#define CAN_ENFORCE_USE_CALLBACKS FALSE
+#endif
+
+/*===========================================================================*/
+/* CRY driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the SW fall-back of the cryptographic driver.
+ * @details When enabled, this option, activates a fall-back software
+ * implementation for algorithms not supported by the underlying
+ * hardware.
+ * @note Fall-back implementations may not be present for all algorithms.
+ */
+#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
+#define HAL_CRY_USE_FALLBACK FALSE
+#endif
+
+/**
+ * @brief Makes the driver forcibly use the fall-back implementations.
+ */
+#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
+#define HAL_CRY_ENFORCE_FALLBACK FALSE
+#endif
+
+/*===========================================================================*/
+/* DAC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
+#define DAC_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define DAC_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* I2C driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the mutual exclusion APIs on the I2C bus.
+ */
+#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define I2C_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* MAC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the zero-copy API.
+ */
+#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
+#define MAC_USE_ZERO_COPY FALSE
+#endif
+
+/**
+ * @brief Enables an event sources for incoming packets.
+ */
+#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
+#define MAC_USE_EVENTS TRUE
+#endif
+
+/*===========================================================================*/
+/* MMC_SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ * This option is recommended also if the SPI driver does not
+ * use a DMA channel and heavily loads the CPU.
+ */
+#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
+#define MMC_NICE_WAITING TRUE
+#endif
+
+/*===========================================================================*/
+/* SDC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Number of initialization attempts before rejecting the card.
+ * @note Attempts are performed at 10mS intervals.
+ */
+#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
+#define SDC_INIT_RETRY 100
+#endif
+
+/**
+ * @brief Include support for MMC cards.
+ * @note MMC support is not yet implemented so this option must be kept
+ * at @p FALSE.
+ */
+#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
+#define SDC_MMC_SUPPORT FALSE
+#endif
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ */
+#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
+#define SDC_NICE_WAITING TRUE
+#endif
+
+/**
+ * @brief OCR initialization constant for V20 cards.
+ */
+#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR_V20 0x50FF8000U
+#endif
+
+/**
+ * @brief OCR initialization constant for non-V20 cards.
+ */
+#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR 0x80100000U
+#endif
+
+/*===========================================================================*/
+/* SERIAL driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Default bit rate.
+ * @details Configuration parameter, this is the baud rate selected for the
+ * default configuration.
+ */
+#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
+#define SERIAL_DEFAULT_BITRATE 38400
+#endif
+
+/**
+ * @brief Serial buffers size.
+ * @details Configuration parameter, you can change the depth of the queue
+ * buffers depending on the requirements of your application.
+ * @note The default is 16 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_BUFFERS_SIZE 16
+#endif
+
+/*===========================================================================*/
+/* SERIAL_USB driver related setting. */
+/*===========================================================================*/
+
+/**
+ * @brief Serial over USB buffers size.
+ * @details Configuration parameter, the buffer size must be a multiple of
+ * the USB data endpoint maximum packet size.
+ * @note The default is 256 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_SIZE 1
+#endif
+
+/**
+ * @brief Serial over USB number of buffers.
+ * @note The default is 2 buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_NUMBER 2
+#endif
+
+/*===========================================================================*/
+/* SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
+#define SPI_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables circular transfers APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
+#define SPI_USE_CIRCULAR FALSE
+#endif
+
+
+/**
+ * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define SPI_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/**
+ * @brief Handling method for SPI CS line.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#endif
+
+/*===========================================================================*/
+/* UART driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
+#define UART_USE_WAIT FALSE
+#endif
+
+/**
+ * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define UART_USE_MUTUAL_EXCLUSION FALSE
+#endif
+
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT TRUE
+#endif
+
+/*===========================================================================*/
+/* WSPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
+#define WSPI_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define WSPI_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+#endif /* HALCONF_H */
+
+/** @} */
diff --git a/keyboards/nebula12/info 2.json b/keyboards/nebula12/info 2.json
new file mode 100755
index 000000000000..16d04fa86a56
--- /dev/null
+++ b/keyboards/nebula12/info 2.json
@@ -0,0 +1,14 @@
+{
+ "keyboard_name": "NEBULA12",
+ "url": "",
+ "maintainer": "yiancar",
+ "width": 3,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_68_ansi": {
+ "layout": [
+ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/nebula12/keymaps/default/keymap 2.c b/keyboards/nebula12/keymaps/default/keymap 2.c
new file mode 100755
index 000000000000..670d25e732a6
--- /dev/null
+++ b/keyboards/nebula12/keymaps/default/keymap 2.c
@@ -0,0 +1,42 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3,
+ MO(1), KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ RGB_TOG, RGB_MOD, KC_TRNS,
+ EF_DEC, EF_INC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_PENT),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/nebula12/keymaps/default/readme 2.md b/keyboards/nebula12/keymaps/default/readme 2.md
new file mode 100755
index 000000000000..706ec9f3bf7b
--- /dev/null
+++ b/keyboards/nebula12/keymaps/default/readme 2.md
@@ -0,0 +1,7 @@
+# The default keymap for Nebula12. VIA support disabled.
+
+
+
+
+
+The full RGB control does not fit due to the small number of keys. Using VIA might be a good idea!
diff --git a/keyboards/nebula12/keymaps/via/keymap 2.c b/keyboards/nebula12/keymaps/via/keymap 2.c
new file mode 100755
index 000000000000..670d25e732a6
--- /dev/null
+++ b/keyboards/nebula12/keymaps/via/keymap 2.c
@@ -0,0 +1,42 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3,
+ MO(1), KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ RGB_TOG, RGB_MOD, KC_TRNS,
+ EF_DEC, EF_INC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_PENT),
+
+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_all( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/nebula12/keymaps/via/readme 2.md b/keyboards/nebula12/keymaps/via/readme 2.md
new file mode 100755
index 000000000000..7023515d770d
--- /dev/null
+++ b/keyboards/nebula12/keymaps/via/readme 2.md
@@ -0,0 +1,5 @@
+# The default keymap for Nebula12. VIA support enabled.
+
+
+
+
diff --git a/keyboards/nebula12/keymaps/via/rules 2.mk b/keyboards/nebula12/keymaps/via/rules 2.mk
new file mode 100755
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/nebula12/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/nebula12/mcuconf 2.h b/keyboards/nebula12/mcuconf 2.h
new file mode 100644
index 000000000000..a414763ed1d0
--- /dev/null
+++ b/keyboards/nebula12/mcuconf 2.h
@@ -0,0 +1,176 @@
+/*
+ ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#ifndef _MCUCONF_H_
+#define _MCUCONF_H_
+
+/*
+ * STM32F0xx drivers configuration.
+ * The following settings override the default settings present in
+ * the various device driver implementation headers.
+ * Note that the settings for each driver only have effect if the whole
+ * driver is enabled in halconf.h.
+ *
+ * IRQ priorities:
+ * 3...0 Lowest...Highest.
+ *
+ * DMA priorities:
+ * 0...3 Lowest...Highest.
+ */
+
+#define STM32F0xx_MCUCONF
+// #define STM32F070xB
+
+/*
+ * HAL driver system settings.
+ */
+#define STM32_NO_INIT FALSE
+#define STM32_PVD_ENABLE FALSE
+#define STM32_PLS STM32_PLS_LEV0
+#define STM32_HSI_ENABLED TRUE
+#define STM32_HSI14_ENABLED TRUE
+#define STM32_HSI48_ENABLED FALSE
+#define STM32_LSI_ENABLED TRUE
+#define STM32_HSE_ENABLED FALSE
+#define STM32_LSE_ENABLED FALSE
+#define STM32_SW STM32_SW_PLL
+#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
+#define STM32_PREDIV_VALUE 1
+#define STM32_PLLMUL_VALUE 12
+#define STM32_HPRE STM32_HPRE_DIV1
+#define STM32_PPRE STM32_PPRE_DIV1
+#define STM32_ADCSW STM32_ADCSW_HSI14
+#define STM32_ADCPRE STM32_ADCPRE_DIV4
+#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
+#define STM32_ADCPRE STM32_ADCPRE_DIV4
+#define STM32_ADCSW STM32_ADCSW_HSI14
+#define STM32_USBSW STM32_USBSW_HSI48
+#define STM32_CECSW STM32_CECSW_HSI
+#define STM32_I2C1SW STM32_I2C1SW_HSI
+#define STM32_USART1SW STM32_USART1SW_PCLK
+#define STM32_RTCSEL STM32_RTCSEL_LSI
+
+/*
+ * ADC driver system settings.
+ */
+#define STM32_ADC_USE_ADC1 FALSE
+#define STM32_ADC_ADC1_DMA_PRIORITY 2
+#define STM32_ADC_IRQ_PRIORITY 2
+#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
+
+/*
+ * EXT driver system settings.
+ */
+#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
+#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
+#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
+#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
+#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
+
+/*
+ * GPT driver system settings.
+ */
+#define STM32_GPT_USE_TIM1 FALSE
+#define STM32_GPT_USE_TIM2 FALSE
+#define STM32_GPT_USE_TIM3 TRUE
+#define STM32_GPT_USE_TIM14 FALSE
+#define STM32_GPT_TIM1_IRQ_PRIORITY 2
+#define STM32_GPT_TIM2_IRQ_PRIORITY 2
+#define STM32_GPT_TIM3_IRQ_PRIORITY 2
+#define STM32_GPT_TIM14_IRQ_PRIORITY 2
+
+/*
+ * I2C driver system settings.
+ */
+#define STM32_I2C_USE_I2C1 TRUE
+#define STM32_I2C_USE_I2C2 FALSE
+#define STM32_I2C_BUSY_TIMEOUT 50
+#define STM32_I2C_I2C1_IRQ_PRIORITY 3
+#define STM32_I2C_I2C2_IRQ_PRIORITY 3
+#define STM32_I2C_USE_DMA TRUE
+#define STM32_I2C_I2C1_DMA_PRIORITY 1
+#define STM32_I2C_I2C2_DMA_PRIORITY 1
+#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
+#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
+#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
+
+/*
+ * ICU driver system settings.
+ */
+#define STM32_ICU_USE_TIM1 FALSE
+#define STM32_ICU_USE_TIM2 FALSE
+#define STM32_ICU_USE_TIM3 FALSE
+#define STM32_ICU_TIM1_IRQ_PRIORITY 3
+#define STM32_ICU_TIM2_IRQ_PRIORITY 3
+#define STM32_ICU_TIM3_IRQ_PRIORITY 3
+
+/*
+ * PWM driver system settings.
+ */
+#define STM32_PWM_USE_ADVANCED FALSE
+#define STM32_PWM_USE_TIM1 FALSE
+#define STM32_PWM_USE_TIM2 FALSE
+#define STM32_PWM_USE_TIM3 FALSE
+#define STM32_PWM_TIM1_IRQ_PRIORITY 3
+#define STM32_PWM_TIM2_IRQ_PRIORITY 3
+#define STM32_PWM_TIM3_IRQ_PRIORITY 3
+
+/*
+ * SERIAL driver system settings.
+ */
+#define STM32_SERIAL_USE_USART1 FALSE
+#define STM32_SERIAL_USE_USART2 FALSE
+#define STM32_SERIAL_USART1_PRIORITY 3
+#define STM32_SERIAL_USART2_PRIORITY 3
+
+/*
+ * SPI driver system settings.
+ */
+#define STM32_SPI_USE_SPI1 FALSE
+#define STM32_SPI_USE_SPI2 TRUE
+#define STM32_SPI_SPI1_DMA_PRIORITY 1
+#define STM32_SPI_SPI2_DMA_PRIORITY 1
+#define STM32_SPI_SPI1_IRQ_PRIORITY 2
+#define STM32_SPI_SPI2_IRQ_PRIORITY 2
+#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
+#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
+#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
+
+/*
+ * ST driver system settings.
+ */
+#define STM32_ST_IRQ_PRIORITY 2
+#define STM32_ST_USE_TIMER 2
+
+/*
+ * UART driver system settings.
+ */
+#define STM32_UART_USE_USART1 FALSE
+#define STM32_UART_USE_USART2 FALSE
+#define STM32_UART_USART1_IRQ_PRIORITY 3
+#define STM32_UART_USART2_IRQ_PRIORITY 3
+#define STM32_UART_USART1_DMA_PRIORITY 0
+#define STM32_UART_USART2_DMA_PRIORITY 0
+#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
+
+/*
+ * USB driver system settings.
+ */
+#define STM32_USB_USE_USB1 TRUE
+#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
+#define STM32_USB_USB1_LP_IRQ_PRIORITY 3
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/nebula12/nebula12 2.c b/keyboards/nebula12/nebula12 2.c
new file mode 100755
index 000000000000..6deecb8f47f4
--- /dev/null
+++ b/keyboards/nebula12/nebula12 2.c
@@ -0,0 +1,20 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef RGB_BACKLIGHT_NEBULA12
+#error RGB_BACKLIGHT_NEBULA12 not defined, recheck config.h
+#endif
+
+#include "nebula12.h"
diff --git a/keyboards/nebula12/nebula12 2.h b/keyboards/nebula12/nebula12 2.h
new file mode 100755
index 000000000000..1c73fbdaeccc
--- /dev/null
+++ b/keyboards/nebula12/nebula12 2.h
@@ -0,0 +1,35 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+#include "../wilba_tech/wt_rgb_backlight_keycodes.h"
+
+// This a shortcut to help you visually see your layout.
+
+#define LAYOUT_all( \
+ K00, K01, K02, \
+ K10, K11, K12, \
+ K20, K21, K22, \
+ K30, K31, K32 \
+) { \
+ { K00, K01, K02, }, \
+ { K10, K11, K12, }, \
+ { K20, K21, K22, }, \
+ { K30, K31, K32, } \
+}
diff --git a/keyboards/nebula12/readme 2.md b/keyboards/nebula12/readme 2.md
new file mode 100755
index 000000000000..3a68d0a97d18
--- /dev/null
+++ b/keyboards/nebula12/readme 2.md
@@ -0,0 +1,32 @@
+# Nebula65
+
+This is a standard fixed layout 12 key PCB. It supports VIA, full per-key RGB and underglow RGB.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 65% keyboard with STM32F072CB
+* Hardware Availability: https://spaceholdings.net/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nebula12:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make nebula12::dfu-util`)
diff --git a/keyboards/nebula12/rules 2.mk b/keyboards/nebula12/rules 2.mk
new file mode 100755
index 000000000000..c897d9ddaac2
--- /dev/null
+++ b/keyboards/nebula12/rules 2.mk
@@ -0,0 +1,34 @@
+# MCU name
+MCU = STM32F072
+
+BOARD = ST_STM32F072B_DISCOVERY
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+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
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+RGBLIGHT_ENABLE = yes # Underglow RGB
+WS2812_DRIVER = spi # Underglow RGB Driver
+
+CIE1931_CURVE = yes
+
+# project specific files
+SRC += keyboards/wilba_tech/wt_main.c \
+ keyboards/wilba_tech/wt_rgb_backlight.c \
+ drivers/issi/is31fl3731.c \
+ quantum/color.c
+QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/nebula65/chconf 2.h b/keyboards/nebula65/chconf 2.h
new file mode 100644
index 000000000000..aac33037058e
--- /dev/null
+++ b/keyboards/nebula65/chconf 2.h
@@ -0,0 +1,714 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file rt/templates/chconf.h
+ * @brief Configuration file template.
+ * @details A copy of this file must be placed in each project directory, it
+ * contains the application specific kernel settings.
+ *
+ * @addtogroup config
+ * @details Kernel related settings and hooks.
+ * @{
+ */
+
+#ifndef CHCONF_H
+#define CHCONF_H
+
+#define _CHIBIOS_RT_CONF_
+#define _CHIBIOS_RT_CONF_VER_6_0_
+
+/*===========================================================================*/
+/**
+ * @name System timers settings
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief System time counter resolution.
+ * @note Allowed values are 16 or 32 bits.
+ */
+#if !defined(CH_CFG_ST_RESOLUTION)
+#define CH_CFG_ST_RESOLUTION 32
+#endif
+
+/**
+ * @brief System tick frequency.
+ * @details Frequency of the system timer that drives the system ticks. This
+ * setting also defines the system tick time unit.
+ */
+#if !defined(CH_CFG_ST_FREQUENCY)
+#define CH_CFG_ST_FREQUENCY 100000
+#endif
+
+/**
+ * @brief Time intervals data size.
+ * @note Allowed values are 16, 32 or 64 bits.
+ */
+#if !defined(CH_CFG_INTERVALS_SIZE)
+#define CH_CFG_INTERVALS_SIZE 32
+#endif
+
+/**
+ * @brief Time types data size.
+ * @note Allowed values are 16 or 32 bits.
+ */
+#if !defined(CH_CFG_TIME_TYPES_SIZE)
+#define CH_CFG_TIME_TYPES_SIZE 32
+#endif
+
+/**
+ * @brief Time delta constant for the tick-less mode.
+ * @note If this value is zero then the system uses the classic
+ * periodic tick. This value represents the minimum number
+ * of ticks that is safe to specify in a timeout directive.
+ * The value one is not valid, timeouts are rounded up to
+ * this value.
+ */
+#if !defined(CH_CFG_ST_TIMEDELTA)
+#define CH_CFG_ST_TIMEDELTA 2
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel parameters and options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Round robin interval.
+ * @details This constant is the number of system ticks allowed for the
+ * threads before preemption occurs. Setting this value to zero
+ * disables the preemption for threads with equal priority and the
+ * round robin becomes cooperative. Note that higher priority
+ * threads can still preempt, the kernel is always preemptive.
+ * @note Disabling the round robin preemption makes the kernel more compact
+ * and generally faster.
+ * @note The round robin preemption is not supported in tickless mode and
+ * must be set to zero in that case.
+ */
+#if !defined(CH_CFG_TIME_QUANTUM)
+#define CH_CFG_TIME_QUANTUM 0
+#endif
+
+/**
+ * @brief Managed RAM size.
+ * @details Size of the RAM area to be managed by the OS. If set to zero
+ * then the whole available RAM is used. The core memory is made
+ * available to the heap allocator and/or can be used directly through
+ * the simplified core memory allocator.
+ *
+ * @note In order to let the OS manage the whole RAM the linker script must
+ * provide the @p __heap_base__ and @p __heap_end__ symbols.
+ * @note Requires @p CH_CFG_USE_MEMCORE.
+ */
+#if !defined(CH_CFG_MEMCORE_SIZE)
+#define CH_CFG_MEMCORE_SIZE 0
+#endif
+
+/**
+ * @brief Idle thread automatic spawn suppression.
+ * @details When this option is activated the function @p chSysInit()
+ * does not spawn the idle thread. The application @p main()
+ * function becomes the idle thread and must implement an
+ * infinite loop.
+ */
+#if !defined(CH_CFG_NO_IDLE_THREAD)
+#define CH_CFG_NO_IDLE_THREAD FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Performance options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief OS optimization.
+ * @details If enabled then time efficient rather than space efficient code
+ * is used when two possible implementations exist.
+ *
+ * @note This is not related to the compiler optimization options.
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_OPTIMIZE_SPEED)
+#define CH_CFG_OPTIMIZE_SPEED TRUE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Subsystem options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Time Measurement APIs.
+ * @details If enabled then the time measurement APIs are included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_TM)
+#define CH_CFG_USE_TM TRUE
+#endif
+
+/**
+ * @brief Threads registry APIs.
+ * @details If enabled then the registry APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_REGISTRY)
+#define CH_CFG_USE_REGISTRY TRUE
+#endif
+
+/**
+ * @brief Threads synchronization APIs.
+ * @details If enabled then the @p chThdWait() function is included in
+ * the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_WAITEXIT)
+#define CH_CFG_USE_WAITEXIT TRUE
+#endif
+
+/**
+ * @brief Semaphores APIs.
+ * @details If enabled then the Semaphores APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_SEMAPHORES)
+#define CH_CFG_USE_SEMAPHORES TRUE
+#endif
+
+/**
+ * @brief Semaphores queuing mode.
+ * @details If enabled then the threads are enqueued on semaphores by
+ * priority rather than in FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
+#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
+#endif
+
+/**
+ * @brief Mutexes APIs.
+ * @details If enabled then the mutexes APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MUTEXES)
+#define CH_CFG_USE_MUTEXES TRUE
+#endif
+
+/**
+ * @brief Enables recursive behavior on mutexes.
+ * @note Recursive mutexes are heavier and have an increased
+ * memory footprint.
+ *
+ * @note The default is @p FALSE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
+#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
+#endif
+
+/**
+ * @brief Conditional Variables APIs.
+ * @details If enabled then the conditional variables APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MUTEXES.
+ */
+#if !defined(CH_CFG_USE_CONDVARS)
+#define CH_CFG_USE_CONDVARS TRUE
+#endif
+
+/**
+ * @brief Conditional Variables APIs with timeout.
+ * @details If enabled then the conditional variables APIs with timeout
+ * specification are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_CONDVARS.
+ */
+#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
+#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
+#endif
+
+/**
+ * @brief Events Flags APIs.
+ * @details If enabled then the event flags APIs are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_EVENTS)
+#define CH_CFG_USE_EVENTS TRUE
+#endif
+
+/**
+ * @brief Events Flags APIs with timeout.
+ * @details If enabled then the events APIs with timeout specification
+ * are included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_EVENTS.
+ */
+#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
+#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
+#endif
+
+/**
+ * @brief Synchronous Messages APIs.
+ * @details If enabled then the synchronous messages APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MESSAGES)
+#define CH_CFG_USE_MESSAGES TRUE
+#endif
+
+/**
+ * @brief Synchronous Messages queuing mode.
+ * @details If enabled then messages are served by priority rather than in
+ * FIFO order.
+ *
+ * @note The default is @p FALSE. Enable this if you have special
+ * requirements.
+ * @note Requires @p CH_CFG_USE_MESSAGES.
+ */
+#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
+#define CH_CFG_USE_MESSAGES_PRIORITY TRUE
+#endif
+
+/**
+ * @brief Mailboxes APIs.
+ * @details If enabled then the asynchronous messages (mailboxes) APIs are
+ * included in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_SEMAPHORES.
+ */
+#if !defined(CH_CFG_USE_MAILBOXES)
+#define CH_CFG_USE_MAILBOXES TRUE
+#endif
+
+/**
+ * @brief Core Memory Manager APIs.
+ * @details If enabled then the core memory manager APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MEMCORE)
+#define CH_CFG_USE_MEMCORE TRUE
+#endif
+
+/**
+ * @brief Heap Allocator APIs.
+ * @details If enabled then the memory heap allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
+ * @p CH_CFG_USE_SEMAPHORES.
+ * @note Mutexes are recommended.
+ */
+#if !defined(CH_CFG_USE_HEAP)
+#define CH_CFG_USE_HEAP TRUE
+#endif
+
+/**
+ * @brief Memory Pools Allocator APIs.
+ * @details If enabled then the memory pools allocator APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_MEMPOOLS)
+#define CH_CFG_USE_MEMPOOLS TRUE
+#endif
+
+/**
+ * @brief Objects FIFOs APIs.
+ * @details If enabled then the objects FIFOs APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_OBJ_FIFOS)
+#define CH_CFG_USE_OBJ_FIFOS TRUE
+#endif
+
+/**
+ * @brief Pipes APIs.
+ * @details If enabled then the pipes APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ */
+#if !defined(CH_CFG_USE_PIPES)
+#define CH_CFG_USE_PIPES TRUE
+#endif
+
+/**
+ * @brief Dynamic Threads APIs.
+ * @details If enabled then the dynamic threads creation APIs are included
+ * in the kernel.
+ *
+ * @note The default is @p TRUE.
+ * @note Requires @p CH_CFG_USE_WAITEXIT.
+ * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
+ */
+#if !defined(CH_CFG_USE_DYNAMIC)
+#define CH_CFG_USE_DYNAMIC TRUE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Objects factory options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Objects Factory APIs.
+ * @details If enabled then the objects factory APIs are included in the
+ * kernel.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_CFG_USE_FACTORY)
+#define CH_CFG_USE_FACTORY TRUE
+#endif
+
+/**
+ * @brief Maximum length for object names.
+ * @details If the specified length is zero then the name is stored by
+ * pointer but this could have unintended side effects.
+ */
+#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
+#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
+#endif
+
+/**
+ * @brief Enables the registry of generic objects.
+ */
+#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
+#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
+#endif
+
+/**
+ * @brief Enables factory for generic buffers.
+ */
+#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
+#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
+#endif
+
+/**
+ * @brief Enables factory for semaphores.
+ */
+#if !defined(CH_CFG_FACTORY_SEMAPHORES)
+#define CH_CFG_FACTORY_SEMAPHORES TRUE
+#endif
+
+/**
+ * @brief Enables factory for mailboxes.
+ */
+#if !defined(CH_CFG_FACTORY_MAILBOXES)
+#define CH_CFG_FACTORY_MAILBOXES TRUE
+#endif
+
+/**
+ * @brief Enables factory for objects FIFOs.
+ */
+#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
+#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
+#endif
+
+/**
+ * @brief Enables factory for Pipes.
+ */
+#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
+#define CH_CFG_FACTORY_PIPES TRUE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Debug options
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief Debug option, kernel statistics.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_STATISTICS)
+#define CH_DBG_STATISTICS FALSE
+#endif
+
+/**
+ * @brief Debug option, system state check.
+ * @details If enabled the correct call protocol for system APIs is checked
+ * at runtime.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
+#define CH_DBG_SYSTEM_STATE_CHECK FALSE
+#endif
+
+/**
+ * @brief Debug option, parameters checks.
+ * @details If enabled then the checks on the API functions input
+ * parameters are activated.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_ENABLE_CHECKS)
+#define CH_DBG_ENABLE_CHECKS FALSE
+#endif
+
+/**
+ * @brief Debug option, consistency checks.
+ * @details If enabled then all the assertions in the kernel code are
+ * activated. This includes consistency checks inside the kernel,
+ * runtime anomalies and port-defined checks.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_ENABLE_ASSERTS)
+#define CH_DBG_ENABLE_ASSERTS FALSE
+#endif
+
+/**
+ * @brief Debug option, trace buffer.
+ * @details If enabled then the trace buffer is activated.
+ *
+ * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#if !defined(CH_DBG_TRACE_MASK)
+#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
+#endif
+
+/**
+ * @brief Trace buffer entries.
+ * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
+ * different from @p CH_DBG_TRACE_MASK_DISABLED.
+ */
+#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
+#define CH_DBG_TRACE_BUFFER_SIZE 128
+#endif
+
+/**
+ * @brief Debug option, stack checks.
+ * @details If enabled then a runtime stack check is performed.
+ *
+ * @note The default is @p FALSE.
+ * @note The stack check is performed in a architecture/port dependent way.
+ * It may not be implemented or some ports.
+ * @note The default failure mode is to halt the system with the global
+ * @p panic_msg variable set to @p NULL.
+ */
+#if !defined(CH_DBG_ENABLE_STACK_CHECK)
+#define CH_DBG_ENABLE_STACK_CHECK TRUE
+#endif
+
+/**
+ * @brief Debug option, stacks initialization.
+ * @details If enabled then the threads working area is filled with a byte
+ * value when a thread is created. This can be useful for the
+ * runtime measurement of the used stack.
+ *
+ * @note The default is @p FALSE.
+ */
+#if !defined(CH_DBG_FILL_THREADS)
+#define CH_DBG_FILL_THREADS FALSE
+#endif
+
+/**
+ * @brief Debug option, threads profiling.
+ * @details If enabled then a field is added to the @p thread_t structure that
+ * counts the system ticks occurred while executing the thread.
+ *
+ * @note The default is @p FALSE.
+ * @note This debug option is not currently compatible with the
+ * tickless mode.
+ */
+#if !defined(CH_DBG_THREADS_PROFILING)
+#define CH_DBG_THREADS_PROFILING FALSE
+#endif
+
+/** @} */
+
+/*===========================================================================*/
+/**
+ * @name Kernel hooks
+ * @{
+ */
+/*===========================================================================*/
+
+/**
+ * @brief System structure extension.
+ * @details User fields added to the end of the @p ch_system_t structure.
+ */
+#define CH_CFG_SYSTEM_EXTRA_FIELDS \
+ /* Add threads custom fields here.*/
+
+/**
+ * @brief System initialization hook.
+ * @details User initialization code added to the @p chSysInit() function
+ * just before interrupts are enabled globally.
+ */
+#define CH_CFG_SYSTEM_INIT_HOOK() { \
+ /* Add threads initialization code here.*/ \
+}
+
+/**
+ * @brief Threads descriptor structure extension.
+ * @details User fields added to the end of the @p thread_t structure.
+ */
+#define CH_CFG_THREAD_EXTRA_FIELDS \
+ /* Add threads custom fields here.*/
+
+/**
+ * @brief Threads initialization hook.
+ * @details User initialization code added to the @p _thread_init() function.
+ *
+ * @note It is invoked from within @p _thread_init() and implicitly from all
+ * the threads creation APIs.
+ */
+#define CH_CFG_THREAD_INIT_HOOK(tp) { \
+ /* Add threads initialization code here.*/ \
+}
+
+/**
+ * @brief Threads finalization hook.
+ * @details User finalization code added to the @p chThdExit() API.
+ */
+#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
+ /* Add threads finalization code here.*/ \
+}
+
+/**
+ * @brief Context switch hook.
+ * @details This hook is invoked just before switching between threads.
+ */
+#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
+ /* Context switch code here.*/ \
+}
+
+/**
+ * @brief ISR enter hook.
+ */
+#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
+ /* IRQ prologue code here.*/ \
+}
+
+/**
+ * @brief ISR exit hook.
+ */
+#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
+ /* IRQ epilogue code here.*/ \
+}
+
+/**
+ * @brief Idle thread enter hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to activate a power saving mode.
+ */
+#define CH_CFG_IDLE_ENTER_HOOK() { \
+ /* Idle-enter code here.*/ \
+}
+
+/**
+ * @brief Idle thread leave hook.
+ * @note This hook is invoked within a critical zone, no OS functions
+ * should be invoked from here.
+ * @note This macro can be used to deactivate a power saving mode.
+ */
+#define CH_CFG_IDLE_LEAVE_HOOK() { \
+ /* Idle-leave code here.*/ \
+}
+
+/**
+ * @brief Idle Loop hook.
+ * @details This hook is continuously invoked by the idle thread loop.
+ */
+#define CH_CFG_IDLE_LOOP_HOOK() { \
+ /* Idle loop code here.*/ \
+}
+
+/**
+ * @brief System tick event hook.
+ * @details This hook is invoked in the system tick handler immediately
+ * after processing the virtual timers queue.
+ */
+#define CH_CFG_SYSTEM_TICK_HOOK() { \
+ /* System tick event code here.*/ \
+}
+
+/**
+ * @brief System halt hook.
+ * @details This hook is invoked in case to a system halting error before
+ * the system is halted.
+ */
+#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
+ /* System halt code here.*/ \
+}
+
+/**
+ * @brief Trace hook.
+ * @details This hook is invoked each time a new record is written in the
+ * trace buffer.
+ */
+#define CH_CFG_TRACE_HOOK(tep) { \
+ /* Trace code here.*/ \
+}
+
+/** @} */
+
+/*===========================================================================*/
+/* Port-specific settings (override port settings defaulted in chcore.h). */
+/*===========================================================================*/
+
+#endif /* CHCONF_H */
+
+/** @} */
diff --git a/keyboards/nebula65/config 2.h b/keyboards/nebula65/config 2.h
new file mode 100755
index 000000000000..efd413328714
--- /dev/null
+++ b/keyboards/nebula65/config 2.h
@@ -0,0 +1,163 @@
+/*
+Copyright 2020 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x8968
+#define PRODUCT_ID 0x5336
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Yiancar-Designs
+#define PRODUCT NEBULA65
+#define DESCRIPTION "A 65-percent, tool-free RGB keyboard"
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define MATRIX_ROW_PINS { B3, B4, B5, A8, A4 }
+#define MATRIX_COL_PINS { A13, A10, A9, A14, A15, B8, B9, C13, C14, C15, A0, A1, A2, A3, A5 }
+// To enable debugger set A13 A14 -> A5 A7
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
+#define WS2812_PWM_CHANNEL 2 // default: 2
+#define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+
+#define RGB_DI_PIN A7
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 10
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 210 /* The maximum brightness level */
+ #define RGBLIGHT_ANIMATIONS
+#endif
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* Backlight options */
+
+#define RGB_BACKLIGHT_ENABLED 1
+
+#define RGB_BACKLIGHT_NEBULA65
+
+// they aren't really used if RGB_BACKLIGHT_NEBULA65 defined
+#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
+#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
+#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
+#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
+#define RGB_BACKLIGHT_USE_ISO_ENTER 0
+#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
+
+// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
+#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
+
+// disable backlight after timeout in minutes, 0 = no timeout
+#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
+
+// the default brightness
+#define RGB_BACKLIGHT_BRIGHTNESS 255
+
+// the default effect (RGB test)
+#define RGB_BACKLIGHT_EFFECT 6
+
+// the default effect speed (0-3)
+#define RGB_BACKLIGHT_EFFECT_SPEED 0
+
+// the default color1 and color2
+#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
+#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
+
+#define DRIVER_COUNT 2
+#define DRIVER_LED_TOTAL 128
+
+// These define which keys in the matrix are alphas/mods
+// Used for backlight effects so colors are different for
+// alphas vs. mods
+// Each value is for a row, bit 0 is column 0
+// Alpha=0 Mod=1
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0100000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0110000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0111111000000111
+
+#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
+
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 32
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+#define VIA_QMK_RGBLIGHT_ENABLE
diff --git a/keyboards/nebula65/halconf 2.h b/keyboards/nebula65/halconf 2.h
new file mode 100644
index 000000000000..e4952ece8720
--- /dev/null
+++ b/keyboards/nebula65/halconf 2.h
@@ -0,0 +1,525 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+/**
+ * @file templates/halconf.h
+ * @brief HAL configuration header.
+ * @details HAL configuration file, this file allows to enable or disable the
+ * various device drivers from your application. You may also use
+ * this file in order to override the device drivers default settings.
+ *
+ * @addtogroup HAL_CONF
+ * @{
+ */
+
+#ifndef HALCONF_H
+#define HALCONF_H
+
+#define _CHIBIOS_HAL_CONF_
+#define _CHIBIOS_HAL_CONF_VER_7_0_
+
+#include "mcuconf.h"
+
+/**
+ * @brief Enables the PAL subsystem.
+ */
+#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
+#define HAL_USE_PAL TRUE
+#endif
+
+/**
+ * @brief Enables the ADC subsystem.
+ */
+#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
+#define HAL_USE_ADC FALSE
+#endif
+
+/**
+ * @brief Enables the CAN subsystem.
+ */
+#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
+#define HAL_USE_CAN FALSE
+#endif
+
+/**
+ * @brief Enables the cryptographic subsystem.
+ */
+#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
+#define HAL_USE_CRY FALSE
+#endif
+
+/**
+ * @brief Enables the DAC subsystem.
+ */
+#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
+#define HAL_USE_DAC FALSE
+#endif
+
+/**
+ * @brief Enables the GPT subsystem.
+ */
+#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
+#define HAL_USE_GPT TRUE
+#endif
+
+/**
+ * @brief Enables the I2C subsystem.
+ */
+#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
+#define HAL_USE_I2C TRUE
+#endif
+
+/**
+ * @brief Enables the I2S subsystem.
+ */
+#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
+#define HAL_USE_I2S FALSE
+#endif
+
+/**
+ * @brief Enables the ICU subsystem.
+ */
+#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
+#define HAL_USE_ICU FALSE
+#endif
+
+/**
+ * @brief Enables the MAC subsystem.
+ */
+#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
+#define HAL_USE_MAC FALSE
+#endif
+
+/**
+ * @brief Enables the MMC_SPI subsystem.
+ */
+#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_MMC_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the PWM subsystem.
+ */
+#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
+#define HAL_USE_PWM TRUE
+#endif
+
+/**
+ * @brief Enables the RTC subsystem.
+ */
+#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
+#define HAL_USE_RTC FALSE
+#endif
+
+/**
+ * @brief Enables the SDC subsystem.
+ */
+#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
+#define HAL_USE_SDC FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL subsystem.
+ */
+#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL over USB subsystem.
+ */
+#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
+#define HAL_USE_SERIAL_USB FALSE
+#endif
+
+/**
+ * @brief Enables the SIO subsystem.
+ */
+#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
+#define HAL_USE_SIO FALSE
+#endif
+
+/**
+ * @brief Enables the SPI subsystem.
+ */
+#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
+#define HAL_USE_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the TRNG subsystem.
+ */
+#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
+#define HAL_USE_TRNG FALSE
+#endif
+
+/**
+ * @brief Enables the UART subsystem.
+ */
+#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
+#define HAL_USE_UART FALSE
+#endif
+
+/**
+ * @brief Enables the USB subsystem.
+ */
+#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
+#define HAL_USE_USB TRUE
+#endif
+
+/**
+ * @brief Enables the WDG subsystem.
+ */
+#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
+#define HAL_USE_WDG FALSE
+#endif
+
+/**
+ * @brief Enables the WSPI subsystem.
+ */
+#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
+#define HAL_USE_WSPI FALSE
+#endif
+
+/*===========================================================================*/
+/* PAL driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
+#define PAL_USE_CALLBACKS FALSE
+#endif
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
+#define PAL_USE_WAIT FALSE
+#endif
+
+/*===========================================================================*/
+/* ADC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
+#define ADC_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define ADC_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* CAN driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Sleep mode related APIs inclusion switch.
+ */
+#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
+#define CAN_USE_SLEEP_MODE TRUE
+#endif
+
+/**
+ * @brief Enforces the driver to use direct callbacks rather than OSAL events.
+ */
+#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
+#define CAN_ENFORCE_USE_CALLBACKS FALSE
+#endif
+
+/*===========================================================================*/
+/* CRY driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the SW fall-back of the cryptographic driver.
+ * @details When enabled, this option, activates a fall-back software
+ * implementation for algorithms not supported by the underlying
+ * hardware.
+ * @note Fall-back implementations may not be present for all algorithms.
+ */
+#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
+#define HAL_CRY_USE_FALLBACK FALSE
+#endif
+
+/**
+ * @brief Makes the driver forcibly use the fall-back implementations.
+ */
+#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
+#define HAL_CRY_ENFORCE_FALLBACK FALSE
+#endif
+
+/*===========================================================================*/
+/* DAC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
+#define DAC_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define DAC_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* I2C driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the mutual exclusion APIs on the I2C bus.
+ */
+#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define I2C_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/*===========================================================================*/
+/* MAC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables the zero-copy API.
+ */
+#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
+#define MAC_USE_ZERO_COPY FALSE
+#endif
+
+/**
+ * @brief Enables an event sources for incoming packets.
+ */
+#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
+#define MAC_USE_EVENTS TRUE
+#endif
+
+/*===========================================================================*/
+/* MMC_SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ * This option is recommended also if the SPI driver does not
+ * use a DMA channel and heavily loads the CPU.
+ */
+#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
+#define MMC_NICE_WAITING TRUE
+#endif
+
+/*===========================================================================*/
+/* SDC driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Number of initialization attempts before rejecting the card.
+ * @note Attempts are performed at 10mS intervals.
+ */
+#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
+#define SDC_INIT_RETRY 100
+#endif
+
+/**
+ * @brief Include support for MMC cards.
+ * @note MMC support is not yet implemented so this option must be kept
+ * at @p FALSE.
+ */
+#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
+#define SDC_MMC_SUPPORT FALSE
+#endif
+
+/**
+ * @brief Delays insertions.
+ * @details If enabled this options inserts delays into the MMC waiting
+ * routines releasing some extra CPU time for the threads with
+ * lower priority, this may slow down the driver a bit however.
+ */
+#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
+#define SDC_NICE_WAITING TRUE
+#endif
+
+/**
+ * @brief OCR initialization constant for V20 cards.
+ */
+#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR_V20 0x50FF8000U
+#endif
+
+/**
+ * @brief OCR initialization constant for non-V20 cards.
+ */
+#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR 0x80100000U
+#endif
+
+/*===========================================================================*/
+/* SERIAL driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Default bit rate.
+ * @details Configuration parameter, this is the baud rate selected for the
+ * default configuration.
+ */
+#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
+#define SERIAL_DEFAULT_BITRATE 38400
+#endif
+
+/**
+ * @brief Serial buffers size.
+ * @details Configuration parameter, you can change the depth of the queue
+ * buffers depending on the requirements of your application.
+ * @note The default is 16 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_BUFFERS_SIZE 16
+#endif
+
+/*===========================================================================*/
+/* SERIAL_USB driver related setting. */
+/*===========================================================================*/
+
+/**
+ * @brief Serial over USB buffers size.
+ * @details Configuration parameter, the buffer size must be a multiple of
+ * the USB data endpoint maximum packet size.
+ * @note The default is 256 bytes for both the transmission and receive
+ * buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_SIZE 1
+#endif
+
+/**
+ * @brief Serial over USB number of buffers.
+ * @note The default is 2 buffers.
+ */
+#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
+#define SERIAL_USB_BUFFERS_NUMBER 2
+#endif
+
+/*===========================================================================*/
+/* SPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
+#define SPI_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables circular transfers APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
+#define SPI_USE_CIRCULAR FALSE
+#endif
+
+
+/**
+ * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define SPI_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+/**
+ * @brief Handling method for SPI CS line.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+#endif
+
+/*===========================================================================*/
+/* UART driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
+#define UART_USE_WAIT FALSE
+#endif
+
+/**
+ * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define UART_USE_MUTUAL_EXCLUSION FALSE
+#endif
+
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT TRUE
+#endif
+
+/*===========================================================================*/
+/* WSPI driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
+#define WSPI_USE_WAIT TRUE
+#endif
+
+/**
+ * @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
+#define WSPI_USE_MUTUAL_EXCLUSION TRUE
+#endif
+
+#endif /* HALCONF_H */
+
+/** @} */
diff --git a/keyboards/nebula65/info 2.json b/keyboards/nebula65/info 2.json
new file mode 100755
index 000000000000..c68e11ddad00
--- /dev/null
+++ b/keyboards/nebula65/info 2.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "NEBULA65",
+ "url": "",
+ "maintainer": "yiancar",
+ "width": 17.25,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_68_ansi": {
+ "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.25, "y":0},
+ {"x":16.25, "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.25, "y":1},
+ {"x":16.25, "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},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"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":2.75},
+ {"x":15.25, "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.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":12.5, "y":4, "w":1.25},
+ {"x":14.25, "y":4},
+ {"x":15.25, "y":4},
+ {"x":16.25, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/nebula65/keymaps/default/keymap 2.c b/keyboards/nebula65/keymaps/default/keymap 2.c
new file mode 100755
index 000000000000..da4479f89be0
--- /dev/null
+++ b/keyboards/nebula65/keymaps/default/keymap 2.c
@@ -0,0 +1,46 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_68_ansi( /* Base */
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_68_ansi( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/nebula65/keymaps/default/readme 2.md b/keyboards/nebula65/keymaps/default/readme 2.md
new file mode 100755
index 000000000000..324676b64e03
--- /dev/null
+++ b/keyboards/nebula65/keymaps/default/readme 2.md
@@ -0,0 +1,7 @@
+# The default keymap for Nebula65. VIA support disabled.
+
+
+
+
+
+Default layer is normal ANSI 65%
diff --git a/keyboards/nebula65/keymaps/via/keymap 2.c b/keyboards/nebula65/keymaps/via/keymap 2.c
new file mode 100755
index 000000000000..da4479f89be0
--- /dev/null
+++ b/keyboards/nebula65/keymaps/via/keymap 2.c
@@ -0,0 +1,46 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_68_ansi( /* Base */
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = LAYOUT_68_ansi( /* FN */
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/nebula65/keymaps/via/readme 2.md b/keyboards/nebula65/keymaps/via/readme 2.md
new file mode 100755
index 000000000000..d15266ea7c1e
--- /dev/null
+++ b/keyboards/nebula65/keymaps/via/readme 2.md
@@ -0,0 +1,7 @@
+# The default keymap for Nebula65. VIA support enabled.
+
+
+
+
+
+Default layer is normal ANSI 65%
diff --git a/keyboards/nebula65/keymaps/via/rules 2.mk b/keyboards/nebula65/keymaps/via/rules 2.mk
new file mode 100755
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/nebula65/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/nebula65/mcuconf 2.h b/keyboards/nebula65/mcuconf 2.h
new file mode 100644
index 000000000000..3b1301f085bb
--- /dev/null
+++ b/keyboards/nebula65/mcuconf 2.h
@@ -0,0 +1,273 @@
+/*
+ ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#ifndef MCUCONF_H
+#define MCUCONF_H
+
+/*
+ * STM32F3xx drivers configuration.
+ * The following settings override the default settings present in
+ * the various device driver implementation headers.
+ * Note that the settings for each driver only have effect if the whole
+ * driver is enabled in halconf.h.
+ *
+ * IRQ priorities:
+ * 15...0 Lowest...Highest.
+ *
+ * DMA priorities:
+ * 0...3 Lowest...Highest.
+ */
+
+#define STM32F3xx_MCUCONF
+#define STM32F303_MCUCONF
+
+/*
+ * HAL driver system settings.
+ */
+#define STM32_NO_INIT FALSE
+#define STM32_PVD_ENABLE FALSE
+#define STM32_PLS STM32_PLS_LEV0
+#define STM32_HSI_ENABLED TRUE
+#define STM32_LSI_ENABLED TRUE
+#define STM32_HSE_ENABLED TRUE
+#define STM32_LSE_ENABLED FALSE
+#define STM32_SW STM32_SW_PLL
+#define STM32_PLLSRC STM32_PLLSRC_HSE
+#define STM32_PREDIV_VALUE 1
+#define STM32_PLLMUL_VALUE 9
+#define STM32_HPRE STM32_HPRE_DIV1
+#define STM32_PPRE1 STM32_PPRE1_DIV2
+#define STM32_PPRE2 STM32_PPRE2_DIV2
+#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
+#define STM32_ADC12PRES STM32_ADC12PRES_DIV1
+#define STM32_ADC34PRES STM32_ADC34PRES_DIV1
+#define STM32_USART1SW STM32_USART1SW_PCLK
+#define STM32_USART2SW STM32_USART2SW_PCLK
+#define STM32_USART3SW STM32_USART3SW_PCLK
+#define STM32_UART4SW STM32_UART4SW_PCLK
+#define STM32_UART5SW STM32_UART5SW_PCLK
+#define STM32_I2C1SW STM32_I2C1SW_SYSCLK
+#define STM32_I2C2SW STM32_I2C2SW_SYSCLK
+#define STM32_TIM1SW STM32_TIM1SW_PCLK2
+#define STM32_TIM8SW STM32_TIM8SW_PCLK2
+#define STM32_RTCSEL STM32_RTCSEL_LSI
+#define STM32_USB_CLOCK_REQUIRED TRUE
+#define STM32_USBPRE STM32_USBPRE_DIV1P5
+
+/*
+ * IRQ system settings.
+ */
+#define STM32_IRQ_EXTI0_PRIORITY 6
+#define STM32_IRQ_EXTI1_PRIORITY 6
+#define STM32_IRQ_EXTI2_PRIORITY 6
+#define STM32_IRQ_EXTI3_PRIORITY 6
+#define STM32_IRQ_EXTI4_PRIORITY 6
+#define STM32_IRQ_EXTI5_9_PRIORITY 6
+#define STM32_IRQ_EXTI10_15_PRIORITY 6
+#define STM32_IRQ_EXTI16_PRIORITY 6
+#define STM32_IRQ_EXTI17_PRIORITY 15
+#define STM32_IRQ_EXTI18_PRIORITY 6
+#define STM32_IRQ_EXTI19_PRIORITY 15
+#define STM32_IRQ_EXTI20_PRIORITY 15
+#define STM32_IRQ_EXTI21_22_29_PRIORITY 6
+#define STM32_IRQ_EXTI30_32_PRIORITY 6
+#define STM32_IRQ_EXTI33_PRIORITY 6
+#define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7
+#define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7
+#define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7
+#define STM32_IRQ_TIM1_CC_PRIORITY 7
+
+/*
+ * ADC driver system settings.
+ */
+#define STM32_ADC_DUAL_MODE FALSE
+#define STM32_ADC_COMPACT_SAMPLES FALSE
+#define STM32_ADC_USE_ADC1 FALSE
+#define STM32_ADC_USE_ADC2 FALSE
+#define STM32_ADC_USE_ADC3 FALSE
+#define STM32_ADC_USE_ADC4 FALSE
+#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
+#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
+#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
+#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
+#define STM32_ADC_ADC1_DMA_PRIORITY 2
+#define STM32_ADC_ADC2_DMA_PRIORITY 2
+#define STM32_ADC_ADC3_DMA_PRIORITY 2
+#define STM32_ADC_ADC4_DMA_PRIORITY 2
+#define STM32_ADC_ADC12_IRQ_PRIORITY 5
+#define STM32_ADC_ADC3_IRQ_PRIORITY 5
+#define STM32_ADC_ADC4_IRQ_PRIORITY 5
+#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5
+#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
+#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
+
+/*
+ * CAN driver system settings.
+ */
+#define STM32_CAN_USE_CAN1 FALSE
+#define STM32_CAN_CAN1_IRQ_PRIORITY 11
+
+/*
+ * DAC driver system settings.
+ */
+#define STM32_DAC_DUAL_MODE FALSE
+#define STM32_DAC_USE_DAC1_CH1 TRUE
+#define STM32_DAC_USE_DAC1_CH2 TRUE
+#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
+#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
+#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
+#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
+
+/*
+ * GPT driver system settings.
+ */
+#define STM32_GPT_USE_TIM1 FALSE
+#define STM32_GPT_USE_TIM2 FALSE
+#define STM32_GPT_USE_TIM3 FALSE
+#define STM32_GPT_USE_TIM4 TRUE
+#define STM32_GPT_USE_TIM6 TRUE
+#define STM32_GPT_USE_TIM7 TRUE
+#define STM32_GPT_USE_TIM8 TRUE
+#define STM32_GPT_USE_TIM15 FALSE
+#define STM32_GPT_USE_TIM16 FALSE
+#define STM32_GPT_USE_TIM17 FALSE
+#define STM32_GPT_TIM1_IRQ_PRIORITY 7
+#define STM32_GPT_TIM2_IRQ_PRIORITY 7
+#define STM32_GPT_TIM3_IRQ_PRIORITY 7
+#define STM32_GPT_TIM4_IRQ_PRIORITY 7
+#define STM32_GPT_TIM6_IRQ_PRIORITY 7
+#define STM32_GPT_TIM7_IRQ_PRIORITY 7
+#define STM32_GPT_TIM8_IRQ_PRIORITY 7
+
+/*
+ * I2C driver system settings.
+ */
+#define STM32_I2C_USE_I2C1 TRUE
+#define STM32_I2C_USE_I2C2 FALSE
+#define STM32_I2C_BUSY_TIMEOUT 50
+#define STM32_I2C_I2C1_IRQ_PRIORITY 10
+#define STM32_I2C_I2C2_IRQ_PRIORITY 10
+#define STM32_I2C_USE_DMA TRUE
+#define STM32_I2C_I2C1_DMA_PRIORITY 1
+#define STM32_I2C_I2C2_DMA_PRIORITY 1
+#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
+
+/*
+ * ICU driver system settings.
+ */
+#define STM32_ICU_USE_TIM1 FALSE
+#define STM32_ICU_USE_TIM2 FALSE
+#define STM32_ICU_USE_TIM3 FALSE
+#define STM32_ICU_USE_TIM4 FALSE
+#define STM32_ICU_USE_TIM8 FALSE
+#define STM32_ICU_USE_TIM15 FALSE
+#define STM32_ICU_TIM1_IRQ_PRIORITY 7
+#define STM32_ICU_TIM2_IRQ_PRIORITY 7
+#define STM32_ICU_TIM3_IRQ_PRIORITY 7
+#define STM32_ICU_TIM4_IRQ_PRIORITY 7
+#define STM32_ICU_TIM8_IRQ_PRIORITY 7
+
+/*
+ * PWM driver system settings.
+ */
+#define STM32_PWM_USE_ADVANCED FALSE
+#define STM32_PWM_USE_TIM1 FALSE
+#define STM32_PWM_USE_TIM2 FALSE
+#define STM32_PWM_USE_TIM3 TRUE
+#define STM32_PWM_USE_TIM4 FALSE
+#define STM32_PWM_USE_TIM8 FALSE
+#define STM32_PWM_USE_TIM15 FALSE
+#define STM32_PWM_USE_TIM16 FALSE
+#define STM32_PWM_USE_TIM17 FALSE
+#define STM32_PWM_TIM1_IRQ_PRIORITY 7
+#define STM32_PWM_TIM2_IRQ_PRIORITY 7
+#define STM32_PWM_TIM3_IRQ_PRIORITY 7
+#define STM32_PWM_TIM4_IRQ_PRIORITY 7
+#define STM32_PWM_TIM8_IRQ_PRIORITY 7
+
+/*
+ * RTC driver system settings.
+ */
+#define STM32_RTC_PRESA_VALUE 32
+#define STM32_RTC_PRESS_VALUE 1024
+#define STM32_RTC_CR_INIT 0
+#define STM32_RTC_TAMPCR_INIT 0
+
+/*
+ * SERIAL driver system settings.
+ */
+#define STM32_SERIAL_USE_USART1 FALSE
+#define STM32_SERIAL_USE_USART2 FALSE
+#define STM32_SERIAL_USE_USART3 FALSE
+#define STM32_SERIAL_USE_UART4 FALSE
+#define STM32_SERIAL_USE_UART5 FALSE
+#define STM32_SERIAL_USART1_PRIORITY 12
+#define STM32_SERIAL_USART2_PRIORITY 12
+#define STM32_SERIAL_USART3_PRIORITY 12
+#define STM32_SERIAL_UART4_PRIORITY 12
+#define STM32_SERIAL_UART5_PRIORITY 12
+
+/*
+ * SPI driver system settings.
+ */
+#define STM32_SPI_USE_SPI1 FALSE
+#define STM32_SPI_USE_SPI2 FALSE
+#define STM32_SPI_USE_SPI3 FALSE
+#define STM32_SPI_SPI1_DMA_PRIORITY 1
+#define STM32_SPI_SPI2_DMA_PRIORITY 1
+#define STM32_SPI_SPI3_DMA_PRIORITY 1
+#define STM32_SPI_SPI1_IRQ_PRIORITY 10
+#define STM32_SPI_SPI2_IRQ_PRIORITY 10
+#define STM32_SPI_SPI3_IRQ_PRIORITY 10
+#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
+
+/*
+ * ST driver system settings.
+ */
+#define STM32_ST_IRQ_PRIORITY 8
+#define STM32_ST_USE_TIMER 2
+
+/*
+ * UART driver system settings.
+ */
+#define STM32_UART_USE_USART1 FALSE
+#define STM32_UART_USE_USART2 FALSE
+#define STM32_UART_USE_USART3 FALSE
+#define STM32_UART_USART1_IRQ_PRIORITY 12
+#define STM32_UART_USART2_IRQ_PRIORITY 12
+#define STM32_UART_USART3_IRQ_PRIORITY 12
+#define STM32_UART_USART1_DMA_PRIORITY 0
+#define STM32_UART_USART2_DMA_PRIORITY 0
+#define STM32_UART_USART3_DMA_PRIORITY 0
+#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
+
+/*
+ * USB driver system settings.
+ */
+#define STM32_USB_USE_USB1 TRUE
+#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
+#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
+#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
+
+/*
+ * WDG driver system settings.
+ */
+#define STM32_WDG_USE_IWDG FALSE
+
+#endif /* MCUCONF_H */
diff --git a/keyboards/nebula65/nebula65 2.c b/keyboards/nebula65/nebula65 2.c
new file mode 100755
index 000000000000..b3e7cc66399b
--- /dev/null
+++ b/keyboards/nebula65/nebula65 2.c
@@ -0,0 +1,20 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef RGB_BACKLIGHT_NEBULA65
+#error RGB_BACKLIGHT_NEBULA65 not defined, recheck config.h
+#endif
+
+#include "nebula65.h"
diff --git a/keyboards/nebula65/nebula65 2.h b/keyboards/nebula65/nebula65 2.h
new file mode 100755
index 000000000000..db9c7f26cb6b
--- /dev/null
+++ b/keyboards/nebula65/nebula65 2.h
@@ -0,0 +1,37 @@
+/* Copyright 2020 Yiancar
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#define XXX KC_NO
+
+#include "quantum.h"
+#include "../wilba_tech/wt_rgb_backlight_keycodes.h"
+
+// This a shortcut to help you visually see your layout.
+
+#define LAYOUT_68_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K2E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K3E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
+ K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
+ { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
+ { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \
+}
diff --git a/keyboards/nebula65/readme 2.md b/keyboards/nebula65/readme 2.md
new file mode 100755
index 000000000000..5189c049c37e
--- /dev/null
+++ b/keyboards/nebula65/readme 2.md
@@ -0,0 +1,32 @@
+# Nebula65
+
+This is a standard fixed layout 65% PCB. It supports VIA, full per-key RGB and underglow RGB.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 65% keyboard with STM32F303CC
+* Hardware Availability: https://spaceholdings.net/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nebula65:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+### Reset
+
+- Unplug
+- Hold Escape
+- Plug In
+- Unplug
+- Release Escape
+
+### Flash
+
+- Unplug
+- Hold Escape
+- Plug In
+- Flash using QMK Toolbox or dfu-util (`make nebula65::flash`)
diff --git a/keyboards/nebula65/rules 2.mk b/keyboards/nebula65/rules 2.mk
new file mode 100755
index 000000000000..399385b3e0e6
--- /dev/null
+++ b/keyboards/nebula65/rules 2.mk
@@ -0,0 +1,34 @@
+# MCU name
+MCU = STM32F303
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+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
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+RGBLIGHT_ENABLE = yes # Underglow RGB
+WS2812_DRIVER = pwm # Underglow RGB Driver
+
+CIE1931_CURVE = yes
+
+LAYOUTS = 68_ansi
+
+# project specific files
+SRC += keyboards/wilba_tech/wt_main.c \
+ keyboards/wilba_tech/wt_rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c
+QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/noxary/220/keymaps/via/keymap 2.c b/keyboards/noxary/220/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..1bfc7a8d044a
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/keymap 2.c
@@ -0,0 +1,122 @@
+/* Copyright 2020 Rozakiin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base Layer
+ * ┌───┬───┬───┬───┐
+ * │Esc│BLT│BL-│BL+│
+ * ├───┼───┼───┼───┤
+ * │NLK│ / │ * │ = │
+ * ├───┼───┼───┼───┤
+ * │ 7 │ 8 │ 9 │ - │
+ * ├───┼───┼───┼───┤
+ * │ 4 │ 5 │ 6 │ + │
+ * ├───┼───┼───┼───┤
+ * │ 1 │ 2 │ 3 │ENT│
+ * ├───┼───┼───┼───┤
+ * │ 0 │ 0 │ . │ENT│
+ * └───┴───┴───┴───┘
+ */
+ [_BL] = LAYOUT_ortho_6x4(
+ KC_ESC, BL_TOGG, BL_DEC, BL_INC,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
+ KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT
+ ),
+ /* Function Layer 1
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL1] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 2
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL2] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 3
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/noxary/220/keymaps/via/readme 2.md b/keyboards/noxary/220/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..1e2b4542d7a1
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/readme 2.md
@@ -0,0 +1,3 @@
+
+
+# The VIA keymap for Noxary 220
\ No newline at end of file
diff --git a/keyboards/noxary/220/keymaps/via/rules 2.mk b/keyboards/noxary/220/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..c2e96d233b21
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/rules 2.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+LTO_ENABLE = yes
diff --git a/keyboards/noxary/260/keymaps/via/keymap 2.c b/keyboards/noxary/260/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..4177abd154fc
--- /dev/null
+++ b/keyboards/noxary/260/keymaps/via/keymap 2.c
@@ -0,0 +1,85 @@
+/* Copyright 2020 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* _BL: Base Layer(Default) - For ISO enter use ANSI enter
+ * ,-----------------------------------------------------------.
+ * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|BSpc|
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
+ * |-----------------------------------------------------------|
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| Ent|
+ * |-----------------------------------------------------------|
+ * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift |Del|
+ * |-----------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |Alt |Win |Mo(1) |Ctrl |
+ * `-----------------------------------------------------------'
+ */
+ [0] = LAYOUT_60_ansi(
+ 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, MO(1), KC_RCTL),
+ /* _FL1: Function Layer 1 - For ISO enter use ANSI enter
+ * ,----------------------------------------------------------------.
+ * | `|F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |PScr| |
+ * |----------------------------------------------------------------|
+ * | | | | |RST| | | | | | | | | | Ins|
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |Home|
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | |Bl-|Bl+| |Mute|Vol+| End|
+ * |----------------------------------------------------------------|
+ * | | | | BL_Toggle | | | | |Vol-| |
+ * `----------------------------------------------------------------'
+ */
+ [1] = LAYOUT_60_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ _______, KC_VOLU, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE,
+ _______, _______, _______, BL_TOGG, _______, _______, _______, _______),
+ /* _FL2: Function Layer 2 - For ISO enter use ANSI enter
+ * ,----------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `----------------------------------------------------------------'
+ */
+ [2] = LAYOUT_60_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [3] = LAYOUT_60_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______),
+};
+
diff --git a/keyboards/noxary/260/keymaps/via/rules 2.mk b/keyboards/noxary/260/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/noxary/260/keymaps/via/rules 2.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/noxary/268/keymaps/via/keymap 2.c b/keyboards/noxary/268/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..431ea5bac4ca
--- /dev/null
+++ b/keyboards/noxary/268/keymaps/via/keymap 2.c
@@ -0,0 +1,110 @@
+/* Copyright 2020 Rozakiin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base Layer - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Bsp│ ` │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │PgU│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │Sft │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ Space │Alt │M(1)│Ctrl│ ← │ ↓ │ → │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_BL] = 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_BSLS, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ 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_NUHS, KC_ENT, KC_PGUP,
+ 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_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ /* Function Layer 1 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │PSc│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │Hom│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ │ Mute │Vl+│End│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ BL_Toggle │ │ │ │ │Vl-│ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL1] = 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, _______, KC_PSCR, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, KC_END,
+ _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______
+ ),
+ /* Function Layer 2 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Function Layer 3 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
\ No newline at end of file
diff --git a/keyboards/noxary/268/keymaps/via/readme 2.md b/keyboards/noxary/268/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..e2adb0eef28c
--- /dev/null
+++ b/keyboards/noxary/268/keymaps/via/readme 2.md
@@ -0,0 +1,3 @@
+# The VIA keymap for Noxary 268
+
+
diff --git a/keyboards/noxary/268/keymaps/via/rules 2.mk b/keyboards/noxary/268/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..c2e96d233b21
--- /dev/null
+++ b/keyboards/noxary/268/keymaps/via/rules 2.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+LTO_ENABLE = yes
diff --git a/keyboards/noxary/268_2/keymaps/via/keymap 2.c b/keyboards/noxary/268_2/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..c4f044e4fe0b
--- /dev/null
+++ b/keyboards/noxary/268_2/keymaps/via/keymap 2.c
@@ -0,0 +1,110 @@
+/* Copyright 2020 Rozakiin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base Layer
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bspc │ ` │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ Space │Alt │ Fn │ │ ← │ ↓ │ → │
+ * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ */
+ [_BL] = LAYOUT_65_ansi_blocker(
+ 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_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ 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_PGUP,
+ 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_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ /* Function Layer 1
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ PScr │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │Hom│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ Mute │Vl+│End│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ BL Toggle │ │ │ │ │Vl-│ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ */
+ [_FL1] = LAYOUT_65_ansi_blocker(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END,
+ _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______
+ ),
+ /* Function Layer 2
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ */
+ [_FL2] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Function Layer 3
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/noxary/268_2/keymaps/via/readme 2.md b/keyboards/noxary/268_2/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..0918bfb97c8d
--- /dev/null
+++ b/keyboards/noxary/268_2/keymaps/via/readme 2.md
@@ -0,0 +1,3 @@
+# The VIA keymap for 268.2
+
+
diff --git a/keyboards/noxary/268_2/keymaps/via/rules 2.mk b/keyboards/noxary/268_2/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..1974f5d3f591
--- /dev/null
+++ b/keyboards/noxary/268_2/keymaps/via/rules 2.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/noxary/x268/keymaps/via/keymap 2.c b/keyboards/noxary/x268/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..7f26a6c10ecd
--- /dev/null
+++ b/keyboards/noxary/x268/keymaps/via/keymap 2.c
@@ -0,0 +1,111 @@
+/* Copyright 2020 Rozakiin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base Layer - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Bsp│ ` │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │PgU│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │Sft │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │Ctrl│Win │Alt │ Space │Alt │M(1)│Ctrl│ ← │ ↓ │ → │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_BL] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ 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_NUHS, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(_FL1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ /* Function Layer 1 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Psc│ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hme│
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ │ Mute │Vl+│End│
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ BL_Toggle │ │ │ │ │Vl-│ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL1] = LAYOUT(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, _______,
+ RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END,
+ _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______
+ ),
+ /* Function Layer 2 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Function Layer 3 - For ISO enter use ANSI enter
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
\ No newline at end of file
diff --git a/keyboards/noxary/x268/keymaps/via/readme 2.md b/keyboards/noxary/x268/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..e0e0b9f92d02
--- /dev/null
+++ b/keyboards/noxary/x268/keymaps/via/readme 2.md
@@ -0,0 +1,3 @@
+# The VIA keymap for x268
+
+
diff --git a/keyboards/noxary/x268/keymaps/via/rules 2.mk b/keyboards/noxary/x268/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..c2e96d233b21
--- /dev/null
+++ b/keyboards/noxary/x268/keymaps/via/rules 2.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+LTO_ENABLE = yes
diff --git a/keyboards/planck/keymaps/buffet/config 2.h b/keyboards/planck/keymaps/buffet/config 2.h
new file mode 100644
index 000000000000..478b282b3113
--- /dev/null
+++ b/keyboards/planck/keymaps/buffet/config 2.h
@@ -0,0 +1,46 @@
+#pragma once
+
+#define TAPPING_TERM 150
+#define PERMISSIVE_HOLD
+
+// Disable all RGB effects
+#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define DISABLE_RGB_MATRIX_ALPHAS_MODS
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_BREATHING
+#define DISABLE_RGB_MATRIX_BAND_SAT
+#define DISABLE_RGB_MATRIX_BAND_VAL
+#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define DISABLE_RGB_MATRIX_CYCLE_ALL
+#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define DISABLE_RGB_MATRIX_DUAL_BEACON
+#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
+#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define DISABLE_RGB_MATRIX_RAINDROPS
+#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
+#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define DISABLE_RGB_MATRIX_SPLASH
+#define DISABLE_RGB_MATRIX_MULTISPLASH
+#define DISABLE_RGB_MATRIX_SOLID_SPLASH
+#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
diff --git a/keyboards/planck/keymaps/buffet/keymap 2.c b/keyboards/planck/keymaps/buffet/keymap 2.c
new file mode 100644
index 000000000000..78a9f711c495
--- /dev/null
+++ b/keyboards/planck/keymaps/buffet/keymap 2.c
@@ -0,0 +1,384 @@
+/* Copyright 2015-2017 Jack Humbert
+ * 2020 Niclas Meyer
+ *
+ * This 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 K(kc) (1ull<<((kc) - ALPHA))
+
+#define KALPHA K(ALPHA)
+#define KBETA K(BETA)
+#define KGAMMA K(GAMMA)
+#define KDELTA K(DELTA)
+#define KEPSILON K(EPSILON)
+#define KZETA K(ZETA)
+#define KTHETA K(THETA)
+#define KIOTA K(IOTA)
+#define KKAPPA K(KAPPA)
+
+enum keys {
+ ALPHA = SAFE_RANGE,
+ BETA,
+ GAMMA,
+ DELTA,
+ EPSILON,
+ ZETA,
+ THETA,
+ IOTA,
+ KAPPA,
+ LOCK,
+ NONE,
+};
+
+enum layers {
+ NORMAL,
+ QWERTY,
+ GAME,
+ LOWER,
+ RAISE,
+ PHI,
+ FN,
+};
+
+#define XXXX KC_NO
+#define ____ KC_TRNS
+
+#define CQWER LM(QWERTY, MOD_LCTL)
+#define AQWER LM(QWERTY, MOD_LALT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [NORMAL] = LAYOUT_planck_grid(
+ ALPHA, BETA, GAMMA, DELTA, ____, ____, ____, ____, DELTA, GAMMA, BETA, ALPHA,
+ EPSILON, ZETA, THETA, IOTA, ____, ____, ____, ____, IOTA, THETA, ZETA, EPSILON,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ MO(PHI), CQWER, AQWER, MO(FN), KAPPA, ____, XXXX, KAPPA, MO(FN), ____, ____, MO(PHI)
+ ),
+ [QWERTY] = LAYOUT_planck_grid(
+ 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT,
+ MO(PHI), KC_LCTL, KC_LALT, KC_LGUI, MO(LOWER), KC_SPC, XXXX, MO(RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
+ ),
+ [GAME] = LAYOUT_planck_grid(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_SPC, ____, XXXX, ____, KC_V, KC_B, ____, MO(PHI)
+ ),
+ [LOWER] = LAYOUT_planck_grid(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_DEL, ____, ____, ____, ____, ____, ____, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_PGDN, KC_HOME, KC_END, ____,
+ ____, ____, ____, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+ [RAISE] = LAYOUT_planck_grid(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_DEL, ____, ____, ____, ____, ____, ____, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_PGDN, KC_HOME, KC_END, ____,
+ ____, ____, ____, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+ [PHI] = LAYOUT_planck_grid(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, ____, ____, ____, ____, ____, ____, KC_DEL,
+ ____, KC_F5, KC_F6, KC_F7, KC_F8, ____, ____, DF(QWERTY), DF(NORMAL), DF(GAME), ____, KC_F13,
+ ____, KC_F9, KC_F10, KC_F11, KC_F12, ____, ____, ____, ____, ____, ____, ____,
+ ____, RGB_TOG, RGB_MOD, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ ),
+ [FN] = LAYOUT_planck_grid(
+ ____, ____, KC_UP, ____, ____, ____, ____, ____, ____, KC_UP, ____, ____,
+ KC_DEL, KC_LEFT, KC_DOWN, KC_RIGHT, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL,
+ KC_HOME, KC_END, KC_PGUP, KC_PGDN, ____, ____, ____, ____, KC_PGDN, KC_PGUP, KC_HOME, KC_END,
+ ____, ____, ____, ____, ____, ____, XXXX, ____, ____, ____, ____, ____
+ ),
+};
+
+static uint16_t left_chord = 0;
+static uint16_t right_chord = 0;
+
+static bool locking = false;
+static bool locked = false;
+static uint16_t mods = 0;
+
+#define PROCESS_MOD(mod) \
+ do { \
+ if ((mods & MOD_##mod) && !(keys & MOD_##mod)) { \
+ unregister_code16(KC_##mod); \
+ } \
+ if (!(mods & MOD_##mod) && (keys & MOD_##mod)) { \
+ register_code16(KC_##mod); \
+ } \
+ } while (0)
+
+static void process_keys(uint16_t keys) {
+ if (keys == NONE) {
+ return;
+ }
+
+ if (keys == LOCK) {
+ locking = !locking;
+ return;
+ }
+
+ if ((keys & QK_ONE_SHOT_MOD) == QK_ONE_SHOT_MOD) {
+ PROCESS_MOD(LCTL);
+ PROCESS_MOD(LSFT);
+ PROCESS_MOD(LALT);
+ PROCESS_MOD(LGUI);
+
+ mods = keys & ~QK_ONE_SHOT_MOD;
+ locked = false;
+
+ if (locking) {
+ locking = false;
+ locked = true;
+ }
+
+ return;
+ }
+
+ // Normal key
+ tap_code16(keys);
+ locking = false;
+
+ if (mods && !locked) {
+ if (mods & MOD_LCTL) {
+ unregister_code16(KC_LCTL);
+ }
+
+ if (mods & MOD_LSFT) {
+ unregister_code16(KC_LSFT);
+ }
+
+ if (mods & MOD_LALT) {
+ unregister_code16(KC_LALT);
+ }
+
+ if (mods & MOD_LGUI) {
+ unregister_code16(KC_LGUI);
+ }
+
+ mods = 0;
+ }
+}
+
+static uint16_t chord_to_keys(uint16_t chord) {
+ switch (chord) {
+ // Unshifted Extra
+ case KKAPPA: return KC_SPC;
+ case KEPSILON | KZETA | KTHETA | KIOTA: return KC_ENT;
+ case KEPSILON | KZETA | KGAMMA | KIOTA: return KC_TAB;
+ case KEPSILON | KIOTA: return KC_BSPC;
+ case KKAPPA | KEPSILON: return KC_ESC;
+
+ // Shifted Extra
+ case KKAPPA | KEPSILON | KZETA | KTHETA | KIOTA: return S(KC_ENT);
+ case KKAPPA | KEPSILON | KZETA | KGAMMA | KIOTA: return S(KC_TAB);
+ case KKAPPA | KEPSILON | KIOTA: return S(KC_BSPC);
+
+ // Lowercase Letters
+ case KBETA: return KC_A;
+ case KZETA | KDELTA: return KC_B;
+ case KBETA | KGAMMA | KDELTA: return KC_C;
+ case KZETA | KTHETA | KIOTA: return KC_D;
+ case KDELTA: return KC_E;
+ case KGAMMA | KIOTA: return KC_F;
+ case KBETA | KTHETA: return KC_G;
+ case KZETA | KTHETA: return KC_H;
+ case KGAMMA: return KC_I;
+ case KBETA | KGAMMA | KIOTA: return KC_J;
+ case KBETA | KTHETA | KIOTA: return KC_K;
+ case KBETA | KGAMMA: return KC_L;
+ case KBETA | KDELTA: return KC_M;
+ case KZETA: return KC_N;
+ case KTHETA: return KC_O;
+ case KZETA | KGAMMA: return KC_P;
+ case KBETA | KTHETA | KDELTA: return KC_Q;
+ case KGAMMA | KDELTA: return KC_R;
+ case KTHETA | KIOTA: return KC_S;
+ case KIOTA: return KC_T;
+ case KZETA | KIOTA: return KC_U;
+ case KTHETA | KDELTA: return KC_V;
+ case KZETA | KGAMMA | KIOTA: return KC_W;
+ case KZETA | KTHETA | KDELTA: return KC_X;
+ case KBETA | KIOTA: return KC_Y;
+ case KZETA | KGAMMA | KDELTA: return KC_Z;
+
+ // Uppercase Letters
+ case KKAPPA | KBETA: return S(KC_A);
+ case KKAPPA | KZETA | KDELTA: return S(KC_B);
+ case KKAPPA | KBETA | KGAMMA | KDELTA: return S(KC_C);
+ case KKAPPA | KZETA | KTHETA | KIOTA: return S(KC_D);
+ case KKAPPA | KDELTA: return S(KC_E);
+ case KKAPPA | KGAMMA | KIOTA: return S(KC_F);
+ case KKAPPA | KBETA | KTHETA: return S(KC_G);
+ case KKAPPA | KZETA | KTHETA: return S(KC_H);
+ case KKAPPA | KGAMMA: return S(KC_I);
+ case KKAPPA | KBETA | KGAMMA | KIOTA: return S(KC_J);
+ case KKAPPA | KBETA | KTHETA | KIOTA: return S(KC_K);
+ case KKAPPA | KBETA | KGAMMA: return S(KC_L);
+ case KKAPPA | KBETA | KDELTA: return S(KC_M);
+ case KKAPPA | KZETA: return S(KC_N);
+ case KKAPPA | KTHETA: return S(KC_O);
+ case KKAPPA | KZETA | KGAMMA: return S(KC_P);
+ case KKAPPA | KBETA | KTHETA | KDELTA: return S(KC_Q);
+ case KKAPPA | KGAMMA | KDELTA: return S(KC_R);
+ case KKAPPA | KTHETA | KIOTA: return S(KC_S);
+ case KKAPPA | KIOTA: return S(KC_T);
+ case KKAPPA | KZETA | KIOTA: return S(KC_U);
+ case KKAPPA | KTHETA | KDELTA: return S(KC_V);
+ case KKAPPA | KZETA | KGAMMA | KIOTA: return S(KC_W);
+ case KKAPPA | KZETA | KTHETA | KDELTA: return S(KC_X);
+ case KKAPPA | KBETA | KIOTA: return S(KC_Y);
+ case KKAPPA | KZETA | KGAMMA | KDELTA: return S(KC_Z);
+
+ // Unshifted Numbers
+ case KEPSILON | KZETA: return KC_0;
+ case KEPSILON | KZETA | KIOTA: return KC_1;
+ case KEPSILON | KZETA | KTHETA: return KC_2;
+ case KEPSILON | KBETA: return KC_3;
+ case KEPSILON | KBETA | KDELTA: return KC_4;
+ case KEPSILON | KBETA | KGAMMA: return KC_5;
+ case KEPSILON | KBETA | KIOTA: return KC_6;
+ case KEPSILON | KTHETA: return KC_7;
+ case KEPSILON | KBETA | KGAMMA | KIOTA: return KC_8;
+ case KEPSILON | KGAMMA | KDELTA: return KC_9;
+
+ // Shifted Numbers
+ case KKAPPA | KEPSILON | KZETA | KIOTA: return KC_EXLM;
+ case KKAPPA | KEPSILON | KZETA | KTHETA: return KC_AT;
+ case KKAPPA | KEPSILON | KBETA: return KC_HASH;
+ case KKAPPA | KEPSILON | KBETA | KDELTA: return KC_DLR;
+ case KKAPPA | KEPSILON | KBETA | KGAMMA: return KC_PERC;
+ case KKAPPA | KEPSILON | KBETA | KIOTA: return KC_CIRC;
+ case KKAPPA | KEPSILON | KTHETA: return KC_AMPR;
+ case KKAPPA | KEPSILON | KBETA | KGAMMA | KIOTA: return KC_ASTR;
+ case KKAPPA | KEPSILON | KGAMMA | KDELTA: return KC_LPRN;
+ case KKAPPA | KEPSILON | KZETA: return KC_RPRN;
+
+ // Unshifted Symbols
+ case KEPSILON | KBETA | KTHETA | KIOTA: return KC_MINS;
+ case KEPSILON | KZETA | KTHETA | KDELTA: return KC_EQL;
+ case KEPSILON | KZETA | KGAMMA: return KC_LBRC;
+ case KEPSILON | KGAMMA | KIOTA: return KC_RBRC;
+ case KEPSILON | KBETA | KTHETA: return KC_BSLS;
+ case KEPSILON | KBETA | KGAMMA | KDELTA: return KC_SCLN;
+ case KEPSILON | KZETA | KDELTA: return KC_QUOT;
+ case KEPSILON | KTHETA | KIOTA: return KC_COMM;
+ case KEPSILON | KZETA | KGAMMA | KDELTA: return KC_DOT;
+ case KEPSILON | KGAMMA: return KC_SLSH;
+ case KEPSILON | KDELTA: return KC_GRV;
+
+ // Shifted Symbols
+ case KKAPPA | KEPSILON | KBETA | KTHETA | KIOTA: return KC_UNDS;
+ case KKAPPA | KEPSILON | KZETA | KTHETA | KDELTA: return KC_PLUS;
+ case KKAPPA | KEPSILON | KZETA | KGAMMA: return KC_LCBR;
+ case KKAPPA | KEPSILON | KGAMMA | KIOTA: return KC_RCBR;
+ case KKAPPA | KEPSILON | KBETA | KTHETA: return KC_PIPE;
+ case KKAPPA | KEPSILON | KBETA | KGAMMA | KDELTA: return KC_COLN;
+ case KKAPPA | KEPSILON | KZETA | KDELTA: return KC_DQT;
+ case KKAPPA | KEPSILON | KTHETA | KIOTA: return KC_LT;
+ case KKAPPA | KEPSILON | KZETA | KGAMMA | KDELTA: return KC_GT;
+ case KKAPPA | KEPSILON | KGAMMA: return KC_QUES;
+ case KKAPPA | KEPSILON | KDELTA: return KC_TILD;
+
+ // Modifiers
+ case KALPHA | KIOTA: return LOCK;
+
+ case KALPHA: return QK_ONE_SHOT_MOD; // Release all
+
+ case KALPHA | KBETA: return OSM(MOD_LCTL);
+ case KALPHA | KGAMMA: return OSM(MOD_LSFT);
+ case KALPHA | KDELTA: return OSM(MOD_LALT);
+ case KALPHA | KKAPPA: return OSM(MOD_LGUI);
+
+ case KALPHA | KBETA | KGAMMA: return OSM(MOD_LCTL | MOD_LSFT);
+ case KALPHA | KBETA | KDELTA: return OSM(MOD_LCTL | MOD_LALT);
+ case KALPHA | KBETA | KKAPPA: return OSM(MOD_LCTL | MOD_LGUI);
+ case KALPHA | KGAMMA | KDELTA: return OSM(MOD_LSFT | MOD_LALT);
+ case KALPHA | KGAMMA | KKAPPA: return OSM(MOD_LSFT | MOD_LGUI);
+ case KALPHA | KDELTA | KKAPPA: return OSM(MOD_LALT | MOD_LGUI);
+
+ case KALPHA | KBETA | KGAMMA | KDELTA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LALT);
+ case KALPHA | KBETA | KGAMMA | KKAPPA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LGUI);
+ case KALPHA | KBETA | KDELTA | KKAPPA: return OSM(MOD_LCTL | MOD_LALT | MOD_LGUI);
+ case KALPHA | KGAMMA | KDELTA | KKAPPA: return OSM(MOD_LSFT | MOD_LALT | MOD_LGUI);
+
+ case KALPHA | KBETA | KGAMMA | KDELTA | KKAPPA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI);
+ }
+
+ return NONE;
+}
+
+static uint16_t *get_hand(keypos_t *key) {
+ if (key->row <= 3) {
+ return &left_chord;
+ }
+
+ if (key->row <= 6) {
+ return &right_chord;
+ }
+
+ // row 7
+ if (key->col <= 2) {
+ return &right_chord;
+ } else {
+ return &left_chord;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (keycode < ALPHA) {
+ return true;
+ }
+
+ uint16_t *chord = get_hand(&record->event.key);
+
+ if (record->event.pressed) {
+ *chord |= K(keycode);
+ return false;
+ }
+
+ if (*chord != 0) {
+ process_keys(chord_to_keys(*chord));
+ *chord = 0;
+ }
+
+ return false;
+}
+
+#ifdef KEYBOARD_planck_ez
+
+#define LED_BRIGHTNESS 50
+
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ switch (state) {
+ case 1U << NORMAL:
+ planck_ez_left_led_off();
+ planck_ez_right_led_off();
+ break;
+ case 1U << QWERTY:
+ planck_ez_left_led_level(LED_BRIGHTNESS);
+ planck_ez_right_led_off();
+ break;
+ case 1U << GAME:
+ planck_ez_left_led_off();
+ planck_ez_right_led_level(LED_BRIGHTNESS);
+ break;
+ }
+
+ return state;
+}
+
+#endif /* KEYBOARD_planck_ez */
diff --git a/keyboards/planck/keymaps/buffet/readme 2.md b/keyboards/planck/keymaps/buffet/readme 2.md
new file mode 100644
index 000000000000..223595b92c0b
--- /dev/null
+++ b/keyboards/planck/keymaps/buffet/readme 2.md
@@ -0,0 +1,104 @@
+# buffet's planck layout
+
+## Layout
+
+The Layout is based on keychords.
+The general idea is that you're able to type everything with either hand, so that you can alternate between hands as you type.
+
+The keys are in a 2x4 block in the top left and top right respectively (mirrored).
+They have greek letter names (see `keymap.c` for more info).
+
+Thumb added to any key means shift is pressed as well.
+
+`-` means the finger presses nothing.
+`^` means the finger presses the upper row.
+`v` means the finger presses the lower row.
+
+```
+Space: thumb
+Return: vvvv vvvv
+Tab: vv^v v^vv
+Bspace: v--v v--v
+Esc: lower pinky and thumb
+```
+
+### Letters
+
+```
+a: -^-- --^-
+b: -v-^ ^-v-
+c: -^^^ ^^^-
+d: -vvv vvv-
+e: ---^ ^---
+f: --^v v^--
+g: -^v- -v^-
+h: -vv- -vv-
+i: --^- -^--
+j: -^^v v^^-
+k: -^vv vv^-
+l: -^^- -^^-
+m: -^-^ ^-^-
+n: -v-- --v-
+o: --v- -v--
+p: -v^- -^v-
+q: -^v^ ^v^-
+r: --^^ ^^--
+s: --vv vv--
+t: ---v v---
+u: -v-v v-v-
+v: --v^ ^v--
+w: -v^v v^v-
+x: -vv^ ^vv-
+y: -^-v v-^-
+z: -v^^ ^^v-
+```
+
+### Numbers and Symbols
+
+```
+0: vv-- --vv
+1: vv-v v-vv
+2: vvv- -vvv
+3: v^-- --^v
+4: v^-^ ^-^v
+5: v^^- -^^v
+6: v^-v v-^v
+7: v-v- -v-v
+8: v^^v v^^v
+9: v-^^ ^^-v
+-: v^vv vv^v
+=: vvv^ ^vvv
+[: vv^- -^vv
+]: v-^v v^-v
+\: v^v- -v^v
+;: v^^^ ^^^v
+': vv-^ ^-vv
+,: v-vv vv-v
+.: vv^^ ^^vv
+/: v-^- -^-v
+`: v--^ ^--v
+```
+
+### Modifiers
+
+Modifiers all use the top pinky key, and a combinations of modifiers you want to activate for the next keypress (very similar to how OMS work).
+For the modifiers the top row of keys is used.
+
+```
+Control: Ringfinger
+Shift: Middlefinger
+Alt: Indexfinger
+Super: Thumb
+```
+
+`^--v v--^` can be used to lock the next modifier input.
+
+### Remaining
+
+These combinations are unused.
+
+```
+v^v^
+v-v^
+v---
+```
diff --git a/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc b/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
new file mode 100644
index 000000000000..e217d1010a3b
--- /dev/null
+++ b/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
@@ -0,0 +1,18 @@
+RGB_MATRIX_EFFECT(rainbow_stripe)
+
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+static HSV rainbow_stripe_math(HSV hsv, uint8_t i, uint8_t time) {
+ if (i >= 14 && i <= 21) {
+ hsv.h = g_led_config.point[i].x - time;
+ } else {
+ hsv.v = 0;
+ }
+ return hsv;
+}
+
+bool rainbow_stripe(effect_params_t* params) {
+ return effect_runner_i(params, &rainbow_stripe_math);
+}
+
+#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/planck/keymaps/buffet/rules 2.mk b/keyboards/planck/keymaps/buffet/rules 2.mk
new file mode 100644
index 000000000000..7774d766577a
--- /dev/null
+++ b/keyboards/planck/keymaps/buffet/rules 2.mk
@@ -0,0 +1,6 @@
+AUDIO_ENABLE = no
+BOOTMAGIC_ENABLE = lite
+COMMAND_ENABLE = no
+MOUSEKEY_ENABLE = no
+
+RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/planck/keymaps/charlesrocket/config 2.h b/keyboards/planck/keymaps/charlesrocket/config 2.h
new file mode 100644
index 000000000000..21d65d8f5dc9
--- /dev/null
+++ b/keyboards/planck/keymaps/charlesrocket/config 2.h
@@ -0,0 +1,38 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+#define STARTUP_SONG SONG(PLANCK_SOUND)
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+#define AUDIO_CLICKY
+#define AUDIO_CLICKY_FREQ_DEFAULT 2360.0f
+#define AUDIO_CLICKY_FREQ_MAX 9500.0f
+#define AUDIO_CLICKY_FREQ_RANDOMNESS 0.05f
+#define DAC_SAMPLE_MAX 9754U
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
+#define ORYX_CONFIGURATOR
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/charlesrocket/keymap 2.c b/keyboards/planck/keymaps/charlesrocket/keymap 2.c
new file mode 100644
index 000000000000..f82819c58e23
--- /dev/null
+++ b/keyboards/planck/keymaps/charlesrocket/keymap 2.c
@@ -0,0 +1,203 @@
+#include QMK_KEYBOARD_H
+#ifdef AUDIO_ENABLE
+#include "muse.h"
+#endif
+#include "eeprom.h"
+
+#define KC_MAC_UNDO LGUI(KC_Z)
+#define KC_MAC_CUT LGUI(KC_X)
+#define KC_MAC_COPY LGUI(KC_C)
+#define KC_MAC_PASTE LGUI(KC_V)
+#define KC_PC_UNDO LCTL(KC_Z)
+#define KC_PC_CUT LCTL(KC_X)
+#define KC_PC_COPY LCTL(KC_C)
+#define KC_PC_PASTE LCTL(KC_V)
+#define ES_LESS_MAC KC_GRAVE
+#define ES_GRTR_MAC LSFT(KC_GRAVE)
+#define ES_BSLS_MAC ALGR(KC_6)
+#define NO_PIPE_ALT KC_GRAVE
+#define NO_BSLS_ALT KC_EQUAL
+#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)
+
+enum planck_keycodes {
+ RGB_SLD = EZ_SAFE_RANGE,
+};
+
+enum planck_layers {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_planck_grid(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ KC_ESCAPE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_ENTER,
+ WEBUSB_PAIR, KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPACE, KC_NO, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
+ ),
+
+ [_LOWER] = LAYOUT_planck_grid(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH, KC_HOME, KC_END, _______,
+ KC_COMMA, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE
+ ),
+
+ [_RAISE] = LAYOUT_planck_grid(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINUS, KC_EQUAL, KC_LBRACKET, KC_RBRACKET, KC_BSLASH,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH, KC_PGUP, KC_PGDOWN, _______,
+ _______, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE
+ ),
+
+ [_ADJUST] = LAYOUT_planck_grid(
+ _______, CK_UP, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
+ KC_DELETE, CK_TOGG, AU_ON, AU_OFF, AU_TOG, _______, _______, _______, RGB_VAI,RGB_VAD , _______, RESET,
+ _______, CK_DOWN, MU_ON, MU_OFF, MU_TOG, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______
+ ),
+
+};
+
+extern bool g_suspend_state;
+extern rgb_config_t rgb_matrix_config;
+
+void keyboard_post_init_user(void) {
+ rgb_matrix_enable();
+}
+
+const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
+ [0] = { {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255} },
+
+ [1] = { {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255} },
+
+ [2] = { {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255} },
+
+ [3] = { {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255} },
+
+};
+
+void set_layer_color(int layer) {
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ HSV hsv = {
+ .h = pgm_read_byte(&ledmap[layer][i][0]),
+ .s = pgm_read_byte(&ledmap[layer][i][1]),
+ .v = pgm_read_byte(&ledmap[layer][i][2]),
+ };
+ if (!hsv.h && !hsv.s && !hsv.v) {
+ rgb_matrix_set_color( i, 0, 0, 0 );
+ } else {
+ RGB rgb = hsv_to_rgb( hsv );
+ float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
+ rgb_matrix_set_color( i, f * rgb.r, f * rgb.g, f * rgb.b );
+ }
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ if (g_suspend_state || keyboard_config.disable_layer_led) { return; }
+ switch (biton32(layer_state)) {
+ case 0:
+ set_layer_color(0);
+ break;
+ case 1:
+ set_layer_color(1);
+ break;
+ case 2:
+ set_layer_color(2);
+ break;
+ case 3:
+ set_layer_color(3);
+ break;
+ default:
+ if (rgb_matrix_get_flags() == LED_FLAG_NONE)
+ rgb_matrix_set_color_all(0, 0, 0);
+ break;
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_SLD:
+ if (record->event.pressed) {
+ rgblight_mode(1);
+ }
+ return false;
+ }
+ return true;
+}
+
+#ifdef AUDIO_ENABLE
+bool muse_mode = false;
+uint8_t last_muse_note = 0;
+uint16_t muse_counter = 0;
+uint8_t muse_offset = 70;
+uint16_t muse_tempo = 50;
+
+void encoder_update(bool clockwise) {
+ if (muse_mode) {
+ if (IS_LAYER_ON(_RAISE)) {
+ if (clockwise) {
+ muse_offset++;
+ } else {
+ muse_offset--;
+ }
+ } else {
+ if (clockwise) {
+ muse_tempo+=1;
+ } else {
+ muse_tempo-=1;
+ }
+ }
+ } else {
+ if (clockwise) {
+ #ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_DOWN);
+ #else
+ tap_code(KC_PGDN);
+ #endif
+ } else {
+ #ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_UP);
+ #else
+ tap_code(KC_PGUP);
+ #endif
+ }
+ }
+}
+
+void matrix_scan_user(void) {
+#ifdef AUDIO_ENABLE
+ if (muse_mode) {
+ if (muse_counter == 0) {
+ uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
+ if (muse_note != last_muse_note) {
+ stop_note(compute_freq_for_midi_note(last_muse_note));
+ play_note(compute_freq_for_midi_note(muse_note), 0xF);
+ last_muse_note = muse_note;
+ }
+ }
+ muse_counter = (muse_counter + 1) % muse_tempo;
+ }
+#endif
+}
+
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case RAISE:
+ case LOWER:
+ return false;
+ default:
+ return true;
+ }
+}
+#endif
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/planck/keymaps/charlesrocket/readme 2.md b/keyboards/planck/keymaps/charlesrocket/readme 2.md
new file mode 100644
index 000000000000..9e9f0d255142
--- /dev/null
+++ b/keyboards/planck/keymaps/charlesrocket/readme 2.md
@@ -0,0 +1,55 @@
+# Red Planck EZ (Glow) with beeps
+
+QWERTY layout with colored layers (red, purple, green and white) for Planck EZ Glow. Soft beep feedback is On by default. Sound level is hardcoded with `DAC_SAMPLE_MAX` and tone settings (`CK`) are in Adjust (WHITE) layer.
+
+```
+RED Base
+ ,-----------------------------------------------------------------------------------.
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | QMK | Ctrl | Alt | OS |Lower | Space |Raise | Left | Down | Up |Right |
+ `-----------------------------------------------------------------------------------'
+```
+
+```
+PURPLE Lower
+ ,-----------------------------------------------------------------------------------.
+ | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | | | |Lower | |Raise | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------------------------------------------------'
+```
+
+```
+GREEN Raise
+ ,-----------------------------------------------------------------------------------.
+ | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | | | |Lower | |Raise | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------------------------------------------------'
+```
+
+```
+WHITE (Lower + Raise)
+ ,-----------------------------------------------------------------------------------.
+ | | CkUp | | | | | | | | | | |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Del | CkTg |Aud On|AudOff|AudTog| | | |BRGTH+|BRGTH-| | Reset|
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | CkDn |Mus On|MusOff|MusTog| | | | | | | |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | | | | |Lower | |Raise | | | | |
+ `-----------------------------------------------------------------------------------'
+```
diff --git a/keyboards/planck/keymaps/charlesrocket/rules 2.mk b/keyboards/planck/keymaps/charlesrocket/rules 2.mk
new file mode 100644
index 000000000000..6e4985a8b171
--- /dev/null
+++ b/keyboards/planck/keymaps/charlesrocket/rules 2.mk
@@ -0,0 +1,8 @@
+SRC += muse.c
+# Set any rules.mk overrides for your specific keymap here.
+# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
+LTO_ENABLE = yes
+COMMAND_ENABLE = no
+MOUSEKEY_ENABLE = no
+WEBUSB_ENABLE = yes
+ORYX_ENABLE = yes
diff --git a/keyboards/preonic/keymaps/shwilliam/config 2.h b/keyboards/preonic/keymaps/shwilliam/config 2.h
new file mode 100644
index 000000000000..959f94fe2b4b
--- /dev/null
+++ b/keyboards/preonic/keymaps/shwilliam/config 2.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+ #define STARTUP_SONG SONG(PREONIC_SOUND)
+ // #define STARTUP_SONG SONG(NO_SOUND)
+#endif
+
+#define MUSIC_MASK (keycode != KC_NO)
+
+/* prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features */
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/keyboards/preonic/keymaps/shwilliam/keymap 2.c b/keyboards/preonic/keymaps/shwilliam/keymap 2.c
new file mode 100644
index 000000000000..c9d6cbab4236
--- /dev/null
+++ b/keyboards/preonic/keymaps/shwilliam/keymap 2.c
@@ -0,0 +1,299 @@
+/* Copyright 2020 William Lindvall
+ *
+ * This 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
+
+enum custom_keycodes {
+ LIQUOT = SAFE_RANGE,
+ RIQUOT,
+ LQUOT,
+ RQUOT,
+ LTITLE,
+ RTITLE,
+ TBULLET,
+ FBULLET,
+ FN_ARROW,
+ MAIL,
+ GITHUB,
+ HEART,
+ E_LCRY,
+ E_FLOWER,
+ E_SHEART,
+ E_KISS,
+ E_PHEART,
+ E_NOGOOD,
+ E_PARTY,
+ E_ROCKET,
+ E_SHRUG,
+ E_WIZARD,
+ E_OKBUST,
+ E_OKHAND,
+ E_SLEEP,
+ E_HUNNED,
+ E_2HEART
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LIQUOT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("300a"));
+ }
+ return false;
+ case RIQUOT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("300b"));
+ }
+ return false;
+ case LQUOT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("300c"));
+ }
+ return false;
+ case RQUOT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("300d"));
+ }
+ return false;
+ case LTITLE:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("3010"));
+ }
+ return false;
+ case RTITLE:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("3011"));
+ }
+ return false;
+ case TBULLET:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("2023"));
+ }
+ return false;
+ case FBULLET:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("2055"));
+ }
+ return false;
+ case MAIL:
+ if (record->event.pressed) {
+ SEND_STRING("w-lindvall@outlook.com");
+ }
+ return false;
+ case GITHUB:
+ if (record->event.pressed) {
+ SEND_STRING("https://github.com/shwilliam");
+ }
+ return false;
+ case FN_ARROW:
+ if (record->event.pressed) {
+ SEND_STRING("=>");
+ }
+ return false;
+ case HEART:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("2661"));
+ }
+ return false;
+ case E_LCRY:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE02"));
+ }
+ return false;
+ case E_FLOWER:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83C+DF38"));
+ }
+ return false;
+ case E_SHEART:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DC96"));
+ }
+ return false;
+ case E_KISS:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE18"));
+ }
+ return false;
+ case E_PHEART:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DC9C"));
+ }
+ return false;
+ case E_NOGOOD:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE45"));
+ }
+ return false;
+ case E_PARTY:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83C+DF8A"));
+ }
+ return false;
+ case E_ROCKET:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE80"));
+ }
+ return false;
+ case E_SHRUG:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83E+DD37"));
+ }
+ return false;
+ case E_WIZARD:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83E+DDD9"));
+ }
+ return false;
+ case E_OKBUST:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE46"));
+ }
+ return false;
+ case E_OKHAND:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DC4C"));
+ }
+ return false;
+ case E_SLEEP:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DE34"));
+ }
+ return false;
+ case E_HUNNED:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DCAF"));
+ }
+ return false;
+ case E_2HEART:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LALT("D83D+DC95"));
+ }
+ return false;
+ }
+ return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | q | w | e | r | t | y | u | i | o | p | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | H/Esc| a | s | d | f | g | h | j | k | l | ' | Enter|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| z | x | c | v | b | n | m | , | . | / | ; |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | PDown| PUp | Alt | OS | Opt | Raise| Space| Lower| Left | Down | Up | Right|
+ * `-----------------------------------------------------------------------------------'
+ */
+
+ [0] = LAYOUT_preonic_grid(
+ KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,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_BSPC,
+ C_S_T(KC_ESC),KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_QUOT ,KC_ENT,
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_SCLN,
+ KC_PGDN ,KC_PGUP ,KC_LALT ,KC_LGUI ,KC_LCTL ,MO(1) ,KC_SPC ,MO(2) ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
+ ),
+
+ /* raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |SRight|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Q | W | E | R | T | Y | U | I | O | P | SLeft|
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | A | S | D | F | G | H | J | K | L | " | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Emoji| Z | X | C | V | B | N | M | < | > | ? | : |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | End | Home | ShAlt| ShOS | ShOpt|~~~~~~| Space| | | BDown| BUp | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+ [1] = LAYOUT_preonic_grid(
+ KC_TILD ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,SGUI(KC_RGHT),
+ KC_NO ,LSFT(KC_Q),LSFT(KC_W) ,LSFT(KC_E) ,LSFT(KC_R) ,LSFT(KC_T),LSFT(KC_Y),LSFT(KC_U),LSFT(KC_I),LSFT(KC_O),LSFT(KC_P),SGUI(KC_LEFT),
+ KC_NO ,LSFT(KC_A),LSFT(KC_S) ,LSFT(KC_D) ,LSFT(KC_F) ,LSFT(KC_G),LSFT(KC_H),LSFT(KC_J),LSFT(KC_K),LSFT(KC_L),KC_DQUO ,KC_BSLS,
+ OSL(3) ,LSFT(KC_Z),LSFT(KC_X) ,LSFT(KC_C) ,LSFT(KC_V) ,LSFT(KC_B),LSFT(KC_N),LSFT(KC_M),KC_LT ,KC_GT ,KC_QUES ,KC_COLN,
+ KC_END ,KC_HOME ,LSFT(KC_LALT),LSFT(KC_LGUI),LSFT(KC_LCTL),KC_TRNS ,KC_SPC ,KC_TRNS ,KC_NO ,KC_BRID ,KC_BRIU ,KC_NO
+ ),
+
+ /* lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ♡ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ‣ | CLeft| MUp |CRight|MWDown| 【 | - | _ | | | = | + | DLeft|
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | MLeft| MDown|MRight| MWUp | 】 | Left | Down | Up | Right| ( | ) |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | 《 | 》 | 「 | 」 | ⁕ | | { | } | [ | ] | => |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Mail |GitHub| | | | | Space|~~~~~~| VMute| VDown| VUp | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+ [2] = LAYOUT_preonic_grid(
+ HEART ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_NO,
+ TBULLET ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_WH_D ,LTITLE ,KC_MINS ,KC_UNDS ,KC_PIPE ,KC_EQL ,KC_PLUS ,LGUI(KC_BSPC),
+ KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_U ,RTITLE ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,KC_LPRN ,KC_RPRN,
+ KC_NO ,LIQUOT ,RIQUOT ,LQUOT ,RQUOT ,FBULLET ,KC_NO ,KC_LCBR ,KC_RCBR ,KC_LBRC ,KC_RBRC ,FN_ARROW,
+ MAIL ,GITHUB ,KC_NO ,KC_NO ,KC_NO ,KC_TRNS ,KC_BSPC ,KC_TRNS ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_NO
+ ),
+
+ /* emoji
+ * ,-----------------------------------------------------------------------------------.
+ * | | 1 | 2 | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | w | | r | | y | | | o | p | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | s | | f | | h | | k | l | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | z | | c | | | n | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ *
+ * mnemonics:
+ *
+ * 100 - 💯
+ * 2 hearts - 💕
+ * cry - 😂
+ * flower - 🌸
+ * heart - 💖
+ * kiss - 😘
+ * love - 💜
+ * no - 🙅
+ * ok - 🙆
+ * party - 🎊
+ * rocket - 🚀
+ * shrug - 🤷
+ * wizard - 🧙
+ * yes - 👌
+ * zzz - 😴
+ *
+ */
+
+ [3] = LAYOUT_preonic_grid(
+ KC_NO ,E_HUNNED,E_2HEART,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
+ KC_NO ,KC_NO ,E_WIZARD,KC_NO ,E_ROCKET,KC_NO ,E_OKHAND,KC_NO ,KC_NO ,E_OKBUST,E_PARTY ,KC_NO,
+ KC_NO ,KC_NO ,E_SHRUG ,KC_NO ,E_FLOWER,KC_NO ,E_SHEART,KC_NO ,E_KISS ,E_PHEART,KC_NO ,KC_NO,
+ KC_NO ,E_SLEEP ,KC_NO ,E_LCRY ,KC_NO ,KC_NO ,E_NOGOOD,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
+ KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ )
+
+};
diff --git a/keyboards/preonic/keymaps/shwilliam/readme 2.md b/keyboards/preonic/keymaps/shwilliam/readme 2.md
new file mode 100644
index 000000000000..bb0f2e1797ba
--- /dev/null
+++ b/keyboards/preonic/keymaps/shwilliam/readme 2.md
@@ -0,0 +1,40 @@
+# [@shwilliam](https://github.com/shwilliam)'s Preonic Layout
+
+
+
+## Overview
+
+- Shift, backspace, raise and lower on thumbs
+- Arrows on Vim keys
+- Function arrow key (`=>`)
+- Common parens one key from home-row
+- Brightness/volume control
+- Tap caps-lock for escape, hold for left control and left shift
+- Alternative punctuation
+ - Corner brackets
+ - Double-angle brackets
+ - Lenticular brackets
+- Select to left and right keys
+- Emoji layer
+
+## Layers
+
+### QWERTY
+
+- Base layer; similar to default Preonic keymap
+
+### Raise
+
+- Mostly shifted QWERTY layer with alternative actions
+- Brightness control
+
+### Lower
+
+- Common parentheses
+- Arrows on Vim keys
+- Mouse controls on WASD
+- Volume control
+
+### Emoji
+
+- Emoji layout based on mnemonics
diff --git a/keyboards/preonic/keymaps/shwilliam/rules 2.mk b/keyboards/preonic/keymaps/shwilliam/rules 2.mk
new file mode 100644
index 000000000000..dcf16bef3994
--- /dev/null
+++ b/keyboards/preonic/keymaps/shwilliam/rules 2.mk
@@ -0,0 +1 @@
+SRC += muse.c
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h b/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
new file mode 100644
index 000000000000..8075bb73d554
--- /dev/null
+++ b/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#define TAPPING_TERM 150
+
+#undef PRODUCT
+#define PRODUCT MadHatter\x27s Custom Ilpse
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c b/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
new file mode 100644
index 000000000000..7b08d0ecf458
--- /dev/null
+++ b/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
@@ -0,0 +1,160 @@
+/* Copyright 2018 Holten Campbell
+ *
+ * This 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 BLINK_DURATION 512
+#define CAPS_LED_PIN B1
+#define NUM_LED_PIN B2
+#define SCROLL_LED_PIN B3
+
+uint8_t CAPS;
+uint16_t BLINK_TIMER = 0;
+uint8_t CAPS_LED_STATE = 0;
+
+// Init togg_indicator so the compiler doesn't complain when I declare it last.
+static void togg_indicator(uint8_t *state, uint8_t pin);
+
+enum ilpse_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+enum skank_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LALT, LOWER, KC_LCMD, LT(_RAISE, KC_SPC), KC_LALT, KC_RGUI, KC_RCTL
+ ),
+
+ [_LOWER] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_DEL,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
+ KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_RAISE] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
+ KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [_ADJUST] = LAYOUT(
+ RESET, 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ AG_TOGG, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+void matrix_init_user(void) {
+ // set CapsLock LED to output and low
+ setPinOutput(CAPS_LED_PIN);
+ writePinLow(CAPS_LED_PIN);
+ // set NumLock LED to output and low
+ setPinOutput(NUM_LED_PIN);
+ writePinLow(NUM_LED_PIN);
+ // set ScrollLock LED to output and low
+ setPinOutput(SCROLL_LED_PIN);
+ writePinLow(SCROLL_LED_PIN);
+}
+
+void matrix_scan_user(void) {
+ if (CAPS == 1) {
+ // Blink the first led when capslock is active
+ if (BLINK_TIMER >= BLINK_DURATION) {
+ togg_indicator(&CAPS_LED_STATE, CAPS_LED_PIN);
+ BLINK_TIMER = 0;
+ }
+ BLINK_TIMER++;
+ }
+}
+
+//function for layer indicator LED
+layer_state_t layer_state_set_user(layer_state_t state) {
+ if (layer_state_cmp(state, 1)) {
+ writePinHigh(CAPS_LED_PIN);
+ } else {
+ writePinLow(CAPS_LED_PIN);
+ }
+ if (layer_state_cmp(state, 2)) {
+ writePinHigh(NUM_LED_PIN);
+ } else {
+ writePinLow(NUM_LED_PIN);
+ }
+ if (layer_state_cmp(state, 3)) {
+ writePinHigh(SCROLL_LED_PIN);
+ } else {
+ writePinLow(SCROLL_LED_PIN);
+ }
+ return state;
+}
+
+void led_set_user(uint8_t usb_led) {
+ CAPS = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK);
+}
+
+void togg_indicator(uint8_t *state, uint8_t pin) {
+ // Toggles a pin based on the current state
+ if (*state == 0){
+ *state = 1;
+ writePinHigh(pin);
+ }
+ else if (*state == 1){
+ *state = 0;
+ writePinLow(pin);
+ }
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case 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 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;
+ }
+ return true;
+}
diff --git a/keyboards/s7_elephant/rev1/config 2.h b/keyboards/s7_elephant/rev1/config 2.h
new file mode 100644
index 000000000000..d2770d117b60
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/config 2.h
@@ -0,0 +1,48 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
+#define PRODUCT_ID 0x0007
+#define DEVICE_VER 0x0001
+#define MANUFACTURER jacky
+#define PRODUCT S7 Elephant
+#define DESCRIPTION A high-end 70% custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { B6, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7, F1 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 2
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_SLEEP
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/s7_elephant/rev1/info 2.json b/keyboards/s7_elephant/rev1/info 2.json
new file mode 100644
index 000000000000..3d45f0b094c9
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/info 2.json
@@ -0,0 +1,2348 @@
+{
+ "keyboard_name": "S7 Elephant",
+ "url": "https://geekhack.org/index.php?topic=96434.0",
+ "maintainer": "qmk",
+ "width": 18,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ansi": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_small_lshift": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_small_lshift_small_bspc": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_1u": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_1u_small_lshift": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_1u_small_bspc": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_1u_small_lshift_small_bspc": {
+ "key_count": 75,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_7u": {
+ "key_count": 71,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_7u_small_lshift": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_7u_small_bspc": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_7u_small_lshift_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_small_lshift": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_small_lshift_small_bspc": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_7u": {
+ "key_count": 71,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"label":"Space", "x":6, "y":4, "w":7},
+ {"label":"Fn", "x":13, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_7u_small_lshift": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"label":"Space", "x":6, "y":4, "w":7},
+ {"label":"Fn", "x":13, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_7u_small_bspc": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":2.25},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"label":"Space", "x":6, "y":4, "w":7},
+ {"label":"Fn", "x":13, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_blocker_7u_small_lshift_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"|", "x":15.5, "y":1, "w":1.5},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"Enter", "x":14.75, "y":2, "w":2.25},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"label":"Space", "x":6, "y":4, "w":7},
+ {"label":"Fn", "x":13, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_small_bspc": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_1u": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_1u_small_bspc": {
+ "key_count": 75,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4},
+ {"label":"Alt", "x":13, "y":4},
+ {"label":"Ctrl", "x":14, "y":4},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_7u": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_7u_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4, "w":1.5},
+ {"x":5, "y":4, "w":7},
+ {"label":"Fn", "x":12, "y":4, "w":1.5},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_blocker": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_blocker_small_bspc": {
+ "key_count": 74,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.25},
+ {"label":"Win", "x":3.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.25},
+ {"x":5.75, "y":4, "w":6.25},
+ {"label":"Fn", "x":12, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_blocker_7u": {
+ "key_count": 72,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0, "w":2},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"x":6, "y":4, "w":6.75},
+ {"label":"Fn", "x":12.75, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ },
+ "LAYOUT_iso_blocker_7u_small_bspc": {
+ "key_count": 73,
+ "layout": [
+ {"label":"F1", "x":0, "y":0},
+ {"label":"Esc", "x":2, "y":0},
+ {"label":"!", "x":3, "y":0},
+ {"label":"@", "x":4, "y":0},
+ {"label":"#", "x":5, "y":0},
+ {"label":"$", "x":6, "y":0},
+ {"label":"%", "x":7, "y":0},
+ {"label":"^", "x":8, "y":0},
+ {"label":"&", "x":9, "y":0},
+ {"label":"*", "x":10, "y":0},
+ {"label":"(", "x":11, "y":0},
+ {"label":")", "x":12, "y":0},
+ {"label":"_", "x":13, "y":0},
+ {"label":"+", "x":14, "y":0},
+ {"label":"Backspace", "x":15, "y":0},
+ {"x":16, "y":0},
+ {"label":"Home", "x":17, "y":0},
+ {"label":"F2", "x":0, "y":1},
+ {"label":"Tab", "x":2, "y":1, "w":1.5},
+ {"label":"Q", "x":3.5, "y":1},
+ {"label":"W", "x":4.5, "y":1},
+ {"label":"E", "x":5.5, "y":1},
+ {"label":"R", "x":6.5, "y":1},
+ {"label":"T", "x":7.5, "y":1},
+ {"label":"Y", "x":8.5, "y":1},
+ {"label":"U", "x":9.5, "y":1},
+ {"label":"I", "x":10.5, "y":1},
+ {"label":"O", "x":11.5, "y":1},
+ {"label":"P", "x":12.5, "y":1},
+ {"label":"{", "x":13.5, "y":1},
+ {"label":"}", "x":14.5, "y":1},
+ {"label":"End", "x":17, "y":1},
+ {"label":"F3", "x":0, "y":2},
+ {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
+ {"label":"A", "x":3.75, "y":2},
+ {"label":"S", "x":4.75, "y":2},
+ {"label":"D", "x":5.75, "y":2},
+ {"label":"F", "x":6.75, "y":2},
+ {"label":"G", "x":7.75, "y":2},
+ {"label":"H", "x":8.75, "y":2},
+ {"label":"J", "x":9.75, "y":2},
+ {"label":"K", "x":10.75, "y":2},
+ {"label":"L", "x":11.75, "y":2},
+ {"label":":", "x":12.75, "y":2},
+ {"label":"\"", "x":13.75, "y":2},
+ {"label":"|", "x":14.75, "y":2},
+ {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
+ {"label":"Ins", "x":17, "y":2},
+ {"label":"F4", "x":0, "y":3},
+ {"label":"Shift", "x":2, "y":3, "w":1.25},
+ {"x":3.25, "y":3},
+ {"label":"Z", "x":4.25, "y":3},
+ {"label":"X", "x":5.25, "y":3},
+ {"label":"C", "x":6.25, "y":3},
+ {"label":"V", "x":7.25, "y":3},
+ {"label":"B", "x":8.25, "y":3},
+ {"label":"N", "x":9.25, "y":3},
+ {"label":"M", "x":10.25, "y":3},
+ {"label":"<", "x":11.25, "y":3},
+ {"label":">", "x":12.25, "y":3},
+ {"label":"?", "x":13.25, "y":3},
+ {"label":"Shift", "x":14.25, "y":3, "w":1.75},
+ {"label":"Up", "x":16, "y":3},
+ {"label":"Del", "x":17, "y":3},
+ {"label":"F5", "x":0, "y":4},
+ {"label":"Ctrl", "x":2, "y":4, "w":1.5},
+ {"label":"Win", "x":3.5, "y":4},
+ {"label":"Alt", "x":4.5, "y":4, "w":1.5},
+ {"label":"Space", "x":6, "y":4, "w":7},
+ {"label":"Fn", "x":13, "y":4, "w":1.5},
+ {"label":"Left", "x":15, "y":4},
+ {"label":"Down", "x":16, "y":4},
+ {"label":"Right", "x":17, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/config 2.h b/keyboards/s7_elephant/rev1/keymaps/default/config 2.h
new file mode 100644
index 000000000000..85f62371e9f0
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/keymaps/default/config 2.h
@@ -0,0 +1 @@
+#define RGBLIGHT_LIMIT_VAL 80
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c b/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..339f2d379c65
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
@@ -0,0 +1,64 @@
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F5 | | Ctrl | Gui | Alt | Space | FN | RCtrl | L | D | R |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+[_QWERTY] = LAYOUT_ansi(
+KC_F1, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
+KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+KC_F3, 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_HOME,
+KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* FN
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * |Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |PgDn |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * |EEPRST| | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+[_FN] = LAYOUT_ansi(
+RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP,
+_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+};
+
+void led_set_user(uint8_t usb_led) {
+ // Turn LEDs On/Off for Caps Lock
+ if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
+ rgblight_enable_noeeprom();
+ rgblight_sethsv_noeeprom(0, 0, 80);
+ } else {
+ rgblight_sethsv_noeeprom(0, 0, 80);
+ rgblight_disable_noeeprom();
+ }
+}
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md b/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..c4fe30acdd58
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
@@ -0,0 +1,35 @@
+# Default keymap for S7 Elephant
+
+**Features**
+
+* LEDs are functioning as Caps-Lock indicators
+
+## QWERTY (Normal) Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
+|------| |-------------------------------------------------------------------------------------------------|
+| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
+|------| |-------------------------------------------------------------------------------------------------|
+| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
+|------| |-------------------------------------------------------------------------------------------------|
+| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
+|------| |-------------------------------------------------------------------------------------------------|
+| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
+`------' `-------------------------------------------------------------------------------------------------'
+```
+
+## FN Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | | | |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | |PgDn |
+|------| |-------------------------------------------------------------------------------------------------|
+|EPRM | | | | | | | | | | | |
+`------' `-------------------------------------------------------------------------------------------------'
+```
diff --git a/keyboards/s7_elephant/rev1/readme 2.md b/keyboards/s7_elephant/rev1/readme 2.md
new file mode 100644
index 000000000000..702be4c3a786
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/readme 2.md
@@ -0,0 +1,17 @@
+# S7 Elephant
+
+
+
+A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: S7 Elephant
+* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make s7_elephant/rev1:default
+
+To enter the bootloader, either short the pins 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/s7_elephant/rev1/rev1 2.c b/keyboards/s7_elephant/rev1/rev1 2.c
new file mode 100644
index 000000000000..520a869e57ba
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/rev1 2.c
@@ -0,0 +1 @@
+#include "rev1.h"
diff --git a/keyboards/s7_elephant/rev1/rev1 2.h b/keyboards/s7_elephant/rev1/rev1 2.h
new file mode 100644
index 000000000000..958ba0fae0af
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/rev1 2.h
@@ -0,0 +1,853 @@
+#pragma once
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+/* ANSI
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with blocker
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with blocker and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_1u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ISO with small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_1u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+/* **************************************************************************************************************************************** */
+/* ISO with blocker
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_iso_blocker( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with blocker and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_iso_blocker_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with blocker and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_iso_blocker_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ISO with blocker and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_iso_blocker_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
diff --git a/keyboards/s7_elephant/rev1/rules 2.mk b/keyboards/s7_elephant/rev1/rules 2.mk
new file mode 100644
index 000000000000..91fe85c3dfb1
--- /dev/null
+++ b/keyboards/s7_elephant/rev1/rules 2.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = no # 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
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
diff --git a/keyboards/s7_elephant/rev2/config 2.h b/keyboards/s7_elephant/rev2/config 2.h
new file mode 100644
index 000000000000..5c5b526aa7cf
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/config 2.h
@@ -0,0 +1,83 @@
+/*
+Copyright 2020 MudkipMao
+
+This 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 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
+#define PRODUCT_ID 0x0008 // 8 for S7++
+#define DEVICE_VER 0x0002
+#define MANUFACTURER Jacky
+#define PRODUCT Jacky S7 Elephant Rev 2
+#define DESCRIPTION A high-end 70% custom keyboard
+
+/* Don't remove this without also removing LTO_ENABLE=yes in rules.mk */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ *
+ * 0 1 2 3 4 5 6 7 8 9 A B C D E F */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
+#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0, E6 }
+
+/* Setting the matrix value of top left key for bootmagic lite */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 15
+
+#define DIODE_DIRECTION ROW2COL
+
+#define BACKLIGHT_PIN B6
+// #define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 15
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 2
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#endif // RGB_DI_PIN
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/s7_elephant/rev2/info 2.json b/keyboards/s7_elephant/rev2/info 2.json
new file mode 100644
index 000000000000..5c811cd47df8
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/info 2.json
@@ -0,0 +1,167 @@
+{
+ "keyboard_name": "S7 Elephant Rev2",
+ "url": "https://geekhack.org/index.php?topic=103148.0",
+ "maintainer": "qmk",
+ "width": 17.25,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_all": {
+ "key_count": 75,
+ "layout": [
+ {"label":"K0F (B0,E6)", "x":0, "y":0},
+ {"label":"K00 (B0,D0)", "x":1.25, "y":0},
+ {"label":"K01 (B0,D1)", "x":2.25, "y":0},
+ {"label":"K02 (B0,D2)", "x":3.25, "y":0},
+ {"label":"K03 (B0,D3)", "x":4.25, "y":0},
+ {"label":"K04 (B0,D5)", "x":5.25, "y":0},
+ {"label":"K05 (B0,D4)", "x":6.25, "y":0},
+ {"label":"K06 (B0,D6)", "x":7.25, "y":0},
+ {"label":"K07 (B0,D7)", "x":8.25, "y":0},
+ {"label":"K08 (B0,B4)", "x":9.25, "y":0},
+ {"label":"K09 (B0,F7)", "x":10.25, "y":0},
+ {"label":"K0A (B0,F6)", "x":11.25, "y":0},
+ {"label":"K0B (B0,F5)", "x":12.25, "y":0},
+ {"label":"K0C (B0,F4)", "x":13.25, "y":0},
+ {"label":"K0D (B0,F1)", "x":14.25, "y":0},
+ {"label":"K0E (B0,F0)", "x":15.25, "y":0},
+ {"label":"K4E (B7,F0)", "x":16.25, "y":0},
+ {"label":"K1F (B1,E6)", "x":0, "y":1},
+ {"label":"K10 (B1,D0)", "x":1.25, "y":1, "w":1.5},
+ {"label":"K11 (B1,D1)", "x":2.75, "y":1},
+ {"label":"K12 (B1,D2)", "x":3.75, "y":1},
+ {"label":"K13 (B1,D3)", "x":4.75, "y":1},
+ {"label":"K14 (B1,D5)", "x":5.75, "y":1},
+ {"label":"K15 (B1,D4)", "x":6.75, "y":1},
+ {"label":"K16 (B1,D6)", "x":7.75, "y":1},
+ {"label":"K17 (B1,D7)", "x":8.75, "y":1},
+ {"label":"K18 (B1,B4)", "x":9.75, "y":1},
+ {"label":"K19 (B1,F7)", "x":10.75, "y":1},
+ {"label":"K1A (B1,F6)", "x":11.75, "y":1},
+ {"label":"K1B (B1,F5)", "x":12.75, "y":1},
+ {"label":"K1C (B1,F4)", "x":13.75, "y":1},
+ {"label":"K2C (B2,F4)", "x":14.75, "y":1, "w":1.5},
+ {"label":"K1E (B1,F0)", "x":16.25, "y":1},
+ {"label":"K2F (B2,E6)", "x":0, "y":2},
+ {"label":"K20 (B2,D0)", "x":1.25, "y":2, "w":1.75},
+ {"label":"K21 (B2,D1)", "x":3, "y":2},
+ {"label":"K22 (B2,D2)", "x":4, "y":2},
+ {"label":"K23 (B2,D3)", "x":5, "y":2},
+ {"label":"K24 (B2,D5)", "x":6, "y":2},
+ {"label":"K25 (B2,D4)", "x":7, "y":2},
+ {"label":"K26 (B2,D6)", "x":8, "y":2},
+ {"label":"K27 (B2,D7)", "x":9, "y":2},
+ {"label":"K28 (B2,B4)", "x":10, "y":2},
+ {"label":"K29 (B2,F7)", "x":11, "y":2},
+ {"label":"K2A (B2,F6)", "x":12, "y":2},
+ {"label":"K2B (B2,F5)", "x":13, "y":2},
+ {"label":"K1D (B1,F1)", "x":14, "y":2, "w":2.25},
+ {"label":"K2E (B2,F0)", "x":16.25, "y":2},
+ {"label":"K3F (B3,E6)", "x":0, "y":3},
+ {"label":"K30 (B3,D0)", "x":1.25, "y":3, "w":1.25},
+ {"label":"K31 (B3,D1)", "x":2.5, "y":3},
+ {"label":"K32 (B3,D2)", "x":3.5, "y":3},
+ {"label":"K33 (B3,D3)", "x":4.5, "y":3},
+ {"label":"K34 (B3,D5)", "x":5.5, "y":3},
+ {"label":"K35 (B3,D4)", "x":6.5, "y":3},
+ {"label":"K36 (B3,D6)", "x":7.5, "y":3},
+ {"label":"K37 (B3,D7)", "x":8.5, "y":3},
+ {"label":"K38 (B3,B4)", "x":9.5, "y":3},
+ {"label":"K39 (B3,F7)", "x":10.5, "y":3},
+ {"label":"K3A (B3,F6)", "x":11.5, "y":3},
+ {"label":"K3B (B3,F5)", "x":12.5, "y":3},
+ {"label":"K3C (B3,F4)", "x":13.5, "y":3, "w":1.75},
+ {"label":"K3D (B3,F1)", "x":15.25, "y":3},
+ {"label":"K3E (B3,F0)", "x":16.25, "y":3},
+ {"label":"K4F (B7,E6)", "x":0, "y":4},
+ {"label":"K40 (B7,D0)", "x":1.25, "y":4, "w":1.25},
+ {"label":"K41 (B7,D1)", "x":2.5, "y":4, "w":1.25},
+ {"label":"K42 (B7,D2)", "x":3.75, "y":4, "w":1.25},
+ {"label":"K46 (B7,D6)", "x":5, "y":4, "w":6.25},
+ {"label":"K48 (B7,B4)", "x":11.25, "y":4},
+ {"label":"K49 (B7,F7)", "x":12.25, "y":4},
+ {"label":"K4A (B7,F6)", "x":13.25, "y":4},
+ {"label":"K4B (B7,F5)", "x":14.25, "y":4},
+ {"label":"K4C (B7,F4)", "x":15.25, "y":4},
+ {"label":"K4D (B7,F1)", "x":16.25, "y":4}
+ ]
+ },
+ "LAYOUT_ansi_1u": {
+ "key_count": 73,
+ "layout": [
+ {"label":"K0F", "x":0, "y":0},
+ {"label":"K00", "x":1.25, "y":0},
+ {"label":"K01", "x":2.25, "y":0},
+ {"label":"K02", "x":3.25, "y":0},
+ {"label":"K03", "x":4.25, "y":0},
+ {"label":"K04", "x":5.25, "y":0},
+ {"label":"K05", "x":6.25, "y":0},
+ {"label":"K06", "x":7.25, "y":0},
+ {"label":"K07", "x":8.25, "y":0},
+ {"label":"K08", "x":9.25, "y":0},
+ {"label":"K09", "x":10.25, "y":0},
+ {"label":"K0A", "x":11.25, "y":0},
+ {"label":"K0B", "x":12.25, "y":0},
+ {"label":"K0C", "x":13.25, "y":0},
+ {"label":"K0E", "x":14.25, "y":0, "w":2},
+ {"label":"K4E", "x":16.25, "y":0},
+ {"label":"K1F", "x":0, "y":1},
+ {"label":"K10", "x":1.25, "y":1, "w":1.5},
+ {"label":"K11", "x":2.75, "y":1},
+ {"label":"K12", "x":3.75, "y":1},
+ {"label":"K13", "x":4.75, "y":1},
+ {"label":"K14", "x":5.75, "y":1},
+ {"label":"K15", "x":6.75, "y":1},
+ {"label":"K16", "x":7.75, "y":1},
+ {"label":"K17", "x":8.75, "y":1},
+ {"label":"K18", "x":9.75, "y":1},
+ {"label":"K19", "x":10.75, "y":1},
+ {"label":"K1A", "x":11.75, "y":1},
+ {"label":"K1B", "x":12.75, "y":1},
+ {"label":"K1C", "x":13.75, "y":1},
+ {"label":"K2C", "x":14.75, "y":1, "w":1.5},
+ {"label":"K1E", "x":16.25, "y":1},
+ {"label":"K2F", "x":0, "y":2},
+ {"label":"K20", "x":1.25, "y":2, "w":1.75},
+ {"label":"K21", "x":3, "y":2},
+ {"label":"K22", "x":4, "y":2},
+ {"label":"K23", "x":5, "y":2},
+ {"label":"K24", "x":6, "y":2},
+ {"label":"K25", "x":7, "y":2},
+ {"label":"K26", "x":8, "y":2},
+ {"label":"K27", "x":9, "y":2},
+ {"label":"K28", "x":10, "y":2},
+ {"label":"K29", "x":11, "y":2},
+ {"label":"K2A", "x":12, "y":2},
+ {"label":"K2B", "x":13, "y":2},
+ {"label":"K1D", "x":14, "y":2, "w":2.25},
+ {"label":"K2E", "x":16.25, "y":2},
+ {"label":"K3F", "x":0, "y":3},
+ {"label":"K30", "x":1.25, "y":3, "w":2.25},
+ {"label":"K32", "x":3.5, "y":3},
+ {"label":"K33", "x":4.5, "y":3},
+ {"label":"K34", "x":5.5, "y":3},
+ {"label":"K35", "x":6.5, "y":3},
+ {"label":"K36", "x":7.5, "y":3},
+ {"label":"K37", "x":8.5, "y":3},
+ {"label":"K38", "x":9.5, "y":3},
+ {"label":"K39", "x":10.5, "y":3},
+ {"label":"K3A", "x":11.5, "y":3},
+ {"label":"K3B", "x":12.5, "y":3},
+ {"label":"K3C", "x":13.5, "y":3, "w":1.75},
+ {"label":"K3D", "x":15.25, "y":3},
+ {"label":"K3E", "x":16.25, "y":3},
+ {"label":"K4F", "x":0, "y":4},
+ {"label":"K40", "x":1.25, "y":4, "w":1.25},
+ {"label":"K41", "x":2.5, "y":4, "w":1.25},
+ {"label":"K42", "x":3.75, "y":4, "w":1.25},
+ {"label":"K46", "x":5, "y":4, "w":6.25},
+ {"label":"K48", "x":11.25, "y":4},
+ {"label":"K49", "x":12.25, "y":4},
+ {"label":"K4A", "x":13.25, "y":4},
+ {"label":"K4B", "x":14.25, "y":4},
+ {"label":"K4C", "x":15.25, "y":4},
+ {"label":"K4D", "x":16.25, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c b/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..b1fbd3830d63
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
@@ -0,0 +1,65 @@
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | Ins |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Del |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Home|
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | End |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F5 | | Ctrl | Gui | Alt | Space | RAlt | FN | RCtrl | L | D | R |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+ [_QWERTY] = LAYOUT_ansi_1u(
+ KC_F1, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_F3, 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_HOME,
+ KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+/* FN
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * |Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |PgDn |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * |EEPRST| | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+ [_FN] = LAYOUT_ansi_1u(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+ EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool led_update_user(led_t led_state) {
+ // Turn LEDs On/Off for Caps Lock
+ if (led_state.caps_lock) {
+ rgblight_enable_noeeprom();
+ rgblight_sethsv_noeeprom(0, 0, 80);
+ } else {
+ rgblight_sethsv_noeeprom(0, 0, 80);
+ rgblight_disable_noeeprom();
+ }
+ return false;
+}
diff --git a/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md b/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..c4fe30acdd58
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
@@ -0,0 +1,35 @@
+# Default keymap for S7 Elephant
+
+**Features**
+
+* LEDs are functioning as Caps-Lock indicators
+
+## QWERTY (Normal) Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
+|------| |-------------------------------------------------------------------------------------------------|
+| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
+|------| |-------------------------------------------------------------------------------------------------|
+| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
+|------| |-------------------------------------------------------------------------------------------------|
+| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
+|------| |-------------------------------------------------------------------------------------------------|
+| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
+`------' `-------------------------------------------------------------------------------------------------'
+```
+
+## FN Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | | | |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | |PgDn |
+|------| |-------------------------------------------------------------------------------------------------|
+|EPRM | | | | | | | | | | | |
+`------' `-------------------------------------------------------------------------------------------------'
+```
diff --git a/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c b/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..b81777b12ad7
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
@@ -0,0 +1,92 @@
+#include QMK_KEYBOARD_H
+
+// For readability
+enum layer_names {
+ _BASE,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Default layer
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | F1 | | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | Ins |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Del |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |Home |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | End |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F5 | | Ctrl | Gui | Alt | Space | RAlt | FN | RCtrl | L | D | R |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+ [_BASE] = LAYOUT_ansi_1u(
+ KC_F1, 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_INS,
+ KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_F3, 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_HOME,
+ KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Fn1 Layer
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | F6 | | `~ | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F7 | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F8 | | |VolD |VolU |Mute | | | | | | | | | |PgUp |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F9 | | |Prev |Play |Next | | | | | | | | | |PgDn |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | F10 | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+ [_FN1] = LAYOUT_ansi_1u(
+ KC_F6, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F7, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F8, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_F9, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
+ KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* Fn2 Layer
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+ [_FN2] = LAYOUT_ansi_1u(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+ [_FN3] = LAYOUT_ansi_1u(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/s7_elephant/rev2/keymaps/via/readme 2.md b/keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
new file mode 100644
index 000000000000..c4fe30acdd58
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
@@ -0,0 +1,35 @@
+# Default keymap for S7 Elephant
+
+**Features**
+
+* LEDs are functioning as Caps-Lock indicators
+
+## QWERTY (Normal) Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
+|------| |-------------------------------------------------------------------------------------------------|
+| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
+|------| |-------------------------------------------------------------------------------------------------|
+| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
+|------| |-------------------------------------------------------------------------------------------------|
+| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
+|------| |-------------------------------------------------------------------------------------------------|
+| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
+`------' `-------------------------------------------------------------------------------------------------'
+```
+
+## FN Layer
+```
+,------. ,-------------------------------------------------------------------------------------------------.
+|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | | | |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
+|------| |-------------------------------------------------------------------------------------------------|
+| | | | | | | | | | | | | | | |PgDn |
+|------| |-------------------------------------------------------------------------------------------------|
+|EPRM | | | | | | | | | | | |
+`------' `-------------------------------------------------------------------------------------------------'
+```
diff --git a/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk b/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/s7_elephant/rev2/readme 2.md b/keyboards/s7_elephant/rev2/readme 2.md
new file mode 100644
index 000000000000..04cbafd96f53
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/readme 2.md
@@ -0,0 +1,17 @@
+# S7 Elephant
+
+
+
+A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: S7 Elephant
+* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make s7_elephant/rev2:default
+
+To enter the bootloader, either short the pins on the PCB next to CAPSLOCK or the press 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/s7_elephant/rev2/rev2 2.c b/keyboards/s7_elephant/rev2/rev2 2.c
new file mode 100644
index 000000000000..3e84aedd5267
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/rev2 2.c
@@ -0,0 +1,19 @@
+/* Copyright 2020 MudkipMao
+ *
+ * This 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 "rev2.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/s7_elephant/rev2/rev2 2.h b/keyboards/s7_elephant/rev2/rev2 2.h
new file mode 100644
index 000000000000..16fe50aadbff
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/rev2 2.h
@@ -0,0 +1,61 @@
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+/* ALL: This is an odd layout that the JSON file comes preloaded with. Split left-shift and ansi enter
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_all( \
+ K0F, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \
+ K1F, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \
+ K2F, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \
+ K3F, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K4F, K40, K41, K42, K46, K48, K49, K4A, K4B, K4C, K4D \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F } \
+}
+
+/* ANSI
+ * ,---. ,---------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |---| |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |---| |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |---| |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |---| |---------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `---' `---------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u( \
+ K0F, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \
+ K1F, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \
+ K2F, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \
+ K3F, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+ K4F, K40, K41, K42, K46, K48, K49, K4A, K4B, K4C, K4D \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F } \
+}
diff --git a/keyboards/s7_elephant/rev2/rules 2.mk b/keyboards/s7_elephant/rev2/rules 2.mk
new file mode 100644
index 000000000000..cbf45a2b9be9
--- /dev/null
+++ b/keyboards/s7_elephant/rev2/rules 2.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+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 = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+LTO_ENABLE = yes
diff --git a/keyboards/suihankey/alpha/info 2.json b/keyboards/suihankey/alpha/info 2.json
new file mode 100644
index 000000000000..3d914662ff03
--- /dev/null
+++ b/keyboards/suihankey/alpha/info 2.json
@@ -0,0 +1,34 @@
+{
+ "keyboard_name": "suihankey",
+ "url": "https://kakunpc.booth.pm/",
+ "maintainer": "kakunpc",
+ "width": 6.4,
+ "height": 4.85,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0.375},
+ {"x": 1, "y": 0.125},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0.125},
+ {"x": 4, "y": 0.25},
+
+ {"x": 0, "y": 1.375},
+ {"x": 1, "y": 1.125},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1.125},
+ {"x": 4, "y": 1.25},
+
+ {"x": 0, "y": 2.375},
+ {"x": 1, "y": 2.125},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2.125},
+ {"x": 4, "y": 2.25},
+
+ {"x": 3.4, "y": 3.25},
+ {"x": 4.4, "y": 3.55},
+ {"x": 5.4, "y": 3.85}
+ ]
+ }
+ }
+}
diff --git a/keyboards/westfoxtrot/prophet/info 2.json b/keyboards/westfoxtrot/prophet/info 2.json
new file mode 100644
index 000000000000..fa4c5a9e5499
--- /dev/null
+++ b/keyboards/westfoxtrot/prophet/info 2.json
@@ -0,0 +1,76 @@
+{
+ "keyboard_name": "Prophet",
+ "url": "",
+ "maintainer": "westfoxtrot",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0},
+ {"label":"K01", "x":1, "y":0},
+ {"label":"K02", "x":2, "y":0},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K04", "x":4, "y":0},
+ {"label":"K05", "x":5, "y":0},
+ {"label":"K06", "x":6, "y":0},
+ {"label":"K07", "x":7, "y":0},
+ {"label":"K08", "x":8, "y":0},
+ {"label":"K09", "x":9, "y":0},
+ {"label":"K0A", "x":10, "y":0},
+ {"label":"K0B", "x":11, "y":0},
+ {"label":"K0C", "x":12, "y":0},
+ {"label":"K0D", "x":13, "y":0},
+ {"label":"K4D", "x":14, "y":0},
+ {"label":"K10", "x":0, "y":1, "w":1.5},
+ {"label":"K11", "x":1.5, "y":1},
+ {"label":"K12", "x":2.5, "y":1},
+ {"label":"K13", "x":3.5, "y":1},
+ {"label":"K14", "x":4.5, "y":1},
+ {"label":"K15", "x":5.5, "y":1},
+ {"label":"K16", "x":6.5, "y":1},
+ {"label":"K17", "x":7.5, "y":1},
+ {"label":"K18", "x":8.5, "y":1},
+ {"label":"K19", "x":9.5, "y":1},
+ {"label":"K1A", "x":10.5, "y":1},
+ {"label":"K1B", "x":11.5, "y":1},
+ {"label":"K1C", "x":12.5, "y":1},
+ {"label":"K1D", "x":13.5, "y":1, "w":1.5},
+ {"label":"K20", "x":0, "y":2, "w":1.75},
+ {"label":"K21", "x":1.75, "y":2},
+ {"label":"K22", "x":2.75, "y":2},
+ {"label":"K23", "x":3.75, "y":2},
+ {"label":"K24", "x":4.75, "y":2},
+ {"label":"K25", "x":5.75, "y":2},
+ {"label":"K26", "x":6.75, "y":2},
+ {"label":"K27", "x":7.75, "y":2},
+ {"label":"K28", "x":8.75, "y":2},
+ {"label":"K29", "x":9.75, "y":2},
+ {"label":"K2A", "x":10.75, "y":2},
+ {"label":"K2B", "x":11.75, "y":2},
+ {"label":"K2D", "x":12.75, "y":2, "w":2.25},
+ {"label":"K30", "x":0, "y":3, "w":1.25},
+ {"label":"K31", "x":1.25, "y":3},
+ {"label":"K32", "x":2.25, "y":3},
+ {"label":"K33", "x":3.25, "y":3},
+ {"label":"K34", "x":4.25, "y":3},
+ {"label":"K35", "x":5.25, "y":3},
+ {"label":"K36", "x":6.25, "y":3},
+ {"label":"K37", "x":7.25, "y":3},
+ {"label":"K38", "x":8.25, "y":3},
+ {"label":"K39", "x":9.25, "y":3},
+ {"label":"K3A", "x":10.25, "y":3},
+ {"label":"K3B", "x":11.25, "y":3},
+ {"label":"K3C", "x":12.25, "y":3, "w":1.75},
+ {"label":"K3D", "x":14, "y":3},
+ {"label":"K40", "x":0, "y":4, "w":1.5},
+ {"label":"K41", "x":1.5, "y":4},
+ {"label":"K42", "x":2.5, "y":4, "w":1.5},
+ {"label":"K46", "x":4, "y":4, "w":7},
+ {"label":"K4A", "x":11, "y":4, "w":1.5},
+ {"label":"K4B", "x":12.5, "y":4},
+ {"label":"K4C", "x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
new file mode 100644
index 000000000000..afb1d86d6c68
--- /dev/null
+++ b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
@@ -0,0 +1,4 @@
+#pragma once
+
+#undef PRODUCT
+#define PRODUCT MadHatter\x27s Custom Singa V3
diff --git a/keyboards/xd75/keymaps/hybrid/config 2.h b/keyboards/xd75/keymaps/hybrid/config 2.h
new file mode 100644
index 000000000000..8aa116d99398
--- /dev/null
+++ b/keyboards/xd75/keymaps/hybrid/config 2.h
@@ -0,0 +1,20 @@
+/* Copyright 2017 Benjamin Kesselring
+ *
+ * This 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 TAPPING_TERM 170
+//#define RGBLIGHT_LAYERS
+// place overrides here
diff --git a/keyboards/xd75/keymaps/hybrid/keymap 2.c b/keyboards/xd75/keymaps/hybrid/keymap 2.c
new file mode 100644
index 000000000000..e8b5a3536bcd
--- /dev/null
+++ b/keyboards/xd75/keymaps/hybrid/keymap 2.c
@@ -0,0 +1,310 @@
+/* Copyright 2020 Hybrid
+ *
+ * This 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
+
+
+enum layers {
+ _MAIN = 0,
+ _LY1,
+ _LY2,
+};
+
+enum {
+ TD_A,
+ TD_E,
+ TD_I,
+ TD_O,
+ TD_U,
+ TD_SLASH,
+ TD_UNDER,
+ TD_OP_ACCOL,
+ TD_CL_ACCOL,
+ TD_QUESTION,
+ TD_CEDILLE,
+ TD_DOT,
+};
+
+
+
+void dance_a_accent (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_0);
+ }
+ else {
+ tap_code (KC_Q);
+ }
+}
+void dance_e_accent (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_2);
+ }
+ else if (state->count == 3) {
+ tap_code (KC_7);
+ }
+ else {
+ tap_code (KC_E);
+ }
+}
+void dance_i_accent (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P2);
+ tap_code (KC_P3);
+ tap_code (KC_P8);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_I);
+
+ }
+}
+void dance_o_accent (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P2);
+ tap_code (KC_P4);
+ tap_code (KC_P4);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_O);
+ }
+}
+void dance_u_accent (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P2);
+ tap_code (KC_P4);
+ tap_code (KC_P9);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_U);
+ }
+
+}
+void dance_slash (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P9);
+ tap_code (KC_P2);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_PSLS);
+ }
+}
+void dance_under (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P9);
+ tap_code (KC_P5);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_6);
+ }
+}
+void dance_open_accol (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P1);
+ tap_code (KC_P2);
+ tap_code (KC_P3);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else if (state->count == 3) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P9);
+ tap_code (KC_P1);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_5);
+ }
+}
+void dance_close_accol (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P1);
+ tap_code (KC_P2);
+ tap_code (KC_P5);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+
+ }
+ else if (state->count == 3) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P9);
+ tap_code (KC_P3);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_MINS);
+ }
+}
+void dance_question (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P0);
+ tap_code (KC_P3);
+ tap_code (KC_P3);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+
+ }
+ else {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P0);
+ tap_code (KC_P6);
+ tap_code (KC_P3);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+
+ }
+}
+void dance_cedille (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_9);
+ }
+ else {
+ tap_code (KC_C);
+ }
+}
+void dance_dot (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P4);
+ tap_code (KC_P4);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+ else {
+ tap_code (KC_NLCK);
+ register_code (KC_LALT);
+ tap_code (KC_P0);
+ tap_code (KC_P4);
+ tap_code (KC_P6);
+ unregister_code (KC_LALT);
+ tap_code (KC_NLCK);
+ }
+}
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_A] = ACTION_TAP_DANCE_FN(dance_a_accent),
+ [TD_E] = ACTION_TAP_DANCE_FN(dance_e_accent),
+ [TD_I] = ACTION_TAP_DANCE_FN(dance_i_accent),
+ [TD_O] = ACTION_TAP_DANCE_FN(dance_o_accent),
+ [TD_U] = ACTION_TAP_DANCE_FN(dance_u_accent),
+ [TD_SLASH] = ACTION_TAP_DANCE_FN(dance_slash),
+ [TD_UNDER] = ACTION_TAP_DANCE_FN(dance_under),
+ [TD_OP_ACCOL] = ACTION_TAP_DANCE_FN(dance_open_accol),
+ [TD_CL_ACCOL] = ACTION_TAP_DANCE_FN(dance_close_accol),
+ [TD_QUESTION] = ACTION_TAP_DANCE_FN(dance_question),
+ [TD_CEDILLE] = ACTION_TAP_DANCE_FN(dance_cedille),
+ [TD_DOT] = ACTION_TAP_DANCE_FN(dance_dot),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// red led layout
+ [_MAIN] = LAYOUT_ortho_5x15(
+ KC_ESC, KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_DOT), KC_6, KC_7, KC_8, KC_9, KC_0, DF(_LY1), KC_NO,
+ KC_TAB, TD(TD_A), KC_W, TD(TD_E), KC_R, KC_T, KC_Y, KC_ENT, TD(TD_U), TD(TD_I), TD(TD_O), KC_P, KC_NO, TD(TD_OP_ACCOL), TD(TD_CL_ACCOL),
+ KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_ENT, KC_J, KC_K, KC_L, KC_SCLN, KC_UP, KC_NO, KC_NO,
+ KC_PGDN, KC_Z, KC_X, TD(TD_CEDILLE), KC_V, KC_B, KC_N, KC_DOT, TD(TD_QUESTION), TD(TD_UNDER), TD(TD_SLASH), KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
+ KC_NO, KC_NO, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, KC_HOME, KC_LGUI, KC_END, KC_BSPC, KC_RALT, KC_DEL, KC_PMNS, KC_NO, MO(1)
+ ),
+
+// green led layout
+ [_LY1] = LAYOUT_ortho_5x15(
+ KC_ESC, RGB_TOG, RGB_RMOD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_K, RGB_M_G, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_LY2), DF(_MAIN),
+ DEBUG, KC_PSCR, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ RESET, KC_NO, KC_S, KC_D, KC_F, KC_G, KC_Z, KC_J, KC_K, KC_L, KC_M, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_LSFT,
+ KC_NO, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_SCLN, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PEQL, KC_LCBR,
+ KC_NO, KC_NO, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_TRNS, KC_NO, KC_TRNS, KC_P0, KC_P1, KC_P2, KC_P3, KC_TRNS
+ ),
+
+// blue led layout
+ [_LY2] = LAYOUT_ortho_5x15(
+ KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, BL_ON, BL_OFF, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, DF(_LY1),
+ KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, RGB_M_P, RGB_M_B,
+ KC_MPLY, KC_MSTP, KC_MUTE, KC_NO, KC_NO, BL_DEC, BL_INC, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, RGB_M_R, RGB_M_SW,
+ KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, RGB_M_SN, RGB_M_K,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, RGB_SPD, RGB_SPI, RGB_M_X, RGB_M_G
+ )
+
+};
+
+
+//Define layer colors
+#define rgblight_setrgb_user_MAIN() rgblight_sethsv_red()
+#define rgblight_setrgb_user_LY1() rgblight_sethsv_green()
+#define rgblight_setrgb_user_LY2() rgblight_sethsv_blue()
+
+void matrix_init_user(void) {
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb_user_MAIN();
+}
+
+
+//Set a color based on the layer
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case _LY1:
+ rgblight_setrgb_user_LY1();
+ break;
+ case _LY2:
+ rgblight_setrgb_user_LY2();
+ break;
+ default:
+ rgblight_setrgb_user_MAIN();
+ break;
+ }
+ return state;
+}
diff --git a/keyboards/xd75/keymaps/hybrid/readme 2.md b/keyboards/xd75/keymaps/hybrid/readme 2.md
new file mode 100644
index 000000000000..dbe41037c23d
--- /dev/null
+++ b/keyboards/xd75/keymaps/hybrid/readme 2.md
@@ -0,0 +1,13 @@
+#
+# My XD75 keyboard
+# The layouts are 100 % customizable by myself.
+# The layout 1 is almost finished (layer 2 and layer 3 are not finished, for testing purpose as far)
+# Layout 1 => rgb red
+# Layout 2 => rgb green
+# Layout 1 => rgb blue
+# (to memorize => rgb :) )
+#
+# I added some double tap dance for french accent (à é è î ô ù, not for every accents) and c & ç
+# Some double tap dance for useful mapping (- & _ , ({[ & )}], etc... )
+#
+#
diff --git a/keyboards/xd75/keymaps/hybrid/rules 2.mk b/keyboards/xd75/keymaps/hybrid/rules 2.mk
new file mode 100644
index 000000000000..403c3c65ce97
--- /dev/null
+++ b/keyboards/xd75/keymaps/hybrid/rules 2.mk
@@ -0,0 +1,21 @@
+# Copyright 2013 Jun Wako
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+RGBLIGHT_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+UNICODE_ENABLE = no
+SLEEP_LED_ENABLE = no
+BACKLIGHT_ENABLE = no
+
diff --git a/keyboards/ymdk/sp64/config 2.h b/keyboards/ymdk/sp64/config 2.h
new file mode 100644
index 000000000000..fc3e2d7dc2b3
--- /dev/null
+++ b/keyboards/ymdk/sp64/config 2.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2019 Neil Kettle
+
+This 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"
+
+#define VENDOR_ID 0x594D
+#define PRODUCT_ID 0x5364
+#define DEVICE_VER 0x0200
+#define MANUFACTURER YMDK
+#define PRODUCT SP64
+#define DESCRIPTION YMDK Split 64
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 15
+
+#define RIGHT_HALF
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* RGB underglow */
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 250 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/ymdk/sp64/info 2.json b/keyboards/ymdk/sp64/info 2.json
new file mode 100644
index 000000000000..798124d8480d
--- /dev/null
+++ b/keyboards/ymdk/sp64/info 2.json
@@ -0,0 +1,79 @@
+{
+ "keyboard_name": "YMDK_SP64",
+ "url": "",
+ "maintainer": "walston",
+ "width": 16,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"~", "x":0, "y":0},
+ {"label":"!", "x":1, "y":0},
+ {"label":"@", "x":2, "y":0},
+ {"label":"#", "x":3, "y":0},
+ {"label":"$", "x":4, "y":0},
+ {"label":"%", "x":5, "y":0},
+ {"label":"^", "x":6, "y":0},
+ {"label":"&", "x":8, "y":0},
+ {"label":"*", "x":9, "y":0},
+ {"label":"(", "x":10, "y":0},
+ {"label":")", "x":11, "y":0},
+ {"label":"_", "x":12, "y":0},
+ {"label":"+", "x":13, "y":0},
+ {"label":"Backspace", "x":14, "y":0, "w":2},
+ {"label":"Tab", "x":0, "y":1, "w":1.5},
+ {"label":"Q", "x":1.5, "y":1},
+ {"label":"W", "x":2.5, "y":1},
+ {"label":"E", "x":3.5, "y":1},
+ {"label":"R", "x":4.5, "y":1},
+ {"label":"T", "x":5.5, "y":1},
+ {"label":"Y", "x":7.5, "y":1},
+ {"label":"U", "x":8.5, "y":1},
+ {"label":"I", "x":9.5, "y":1},
+ {"label":"O", "x":10.5, "y":1},
+ {"label":"P", "x":11.5, "y":1},
+ {"label":"{ ", "x":12.5, "y":1},
+ {"label":"}", "x":13.5, "y":1},
+ {"label":"|", "x":14.5, "y":1, "w":1.5},
+ {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+ {"label":"A", "x":1.75, "y":2},
+ {"label":"S", "x":2.75, "y":2},
+ {"label":"D", "x":3.75, "y":2},
+ {"label":"F", "x":4.75, "y":2},
+ {"label":"G", "x":5.75, "y":2},
+ {"label":"H", "x":7.75, "y":2},
+ {"label":"J", "x":8.75, "y":2},
+ {"label":"K", "x":9.75, "y":2},
+ {"label":"L", "x":10.75, "y":2},
+ {"label":":", "x":11.75, "y":2},
+ {"label":"\"", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":2.25},
+ {"label":"Shift", "x":0, "y":3, "w":2},
+ {"label":"Z", "x":2, "y":3},
+ {"label":"X", "x":3, "y":3},
+ {"label":"C", "x":4, "y":3},
+ {"label":"V", "x":5, "y":3},
+ {"label":"B", "x":6, "y":3},
+ {"label":"N", "x":8, "y":3},
+ {"label":"M", "x":9, "y":3},
+ {"label":"<", "x":10, "y":3},
+ {"label":">", "x":11, "y":3},
+ {"label":"?", "x":12, "y":3},
+ {"label":"Shift", "x":13, "y":3},
+ {"label":"Up", "x":14, "y":3},
+ {"label":"F3", "x":15, "y":3},
+ {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+ {"label":"Win", "x":1.25, "y":4},
+ {"label":"Alt", "x":2.25, "y":4, "w":1.25},
+ {"label":"Space", "x":3.5, "y":4, "w":2.25},
+ {"label":"Fn", "x":5.75, "y":4},
+ {"label":"Space", "x":7.75, "y":4, "w":2.75},
+ {"label":"Alt", "x":10.5, "y":4, "w":1.25},
+ {"label":"Win", "x":11.75, "y":4, "w":1.25},
+ {"label":"Left", "x":13, "y":4},
+ {"label":"Down", "x":14, "y":4},
+ {"label":"Right", "x":15, "y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c b/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
new file mode 100644
index 000000000000..7174c108b34a
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
@@ -0,0 +1,140 @@
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _GAMER,
+ _FN,
+ _RAISE,
+ _MODE,
+ _GACROS,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ _FN │ Win │ Alt │ │ _RA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_BASE] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
+ MO(_FN), KC_LGUI, KC_LALT, KC_SPACE, MO(_RAISE), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+/* Keymap 1: Gamer layer
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ _FN │ F13 │ Alt │ │ _GA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_GAMER] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
+ MO(_FN), KC_F13, KC_LALT, KC_SPACE, MO(_GACROS), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+/* Keymap 2: Function
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_FN] = LAYOUT(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+/* Keymap 3: Raise / Quality of life
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_RAISE] = LAYOUT(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+/* Keymap 4: Mode switching
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ RGB 0/1│RGBM-│RGBB+│RGBM+│ │ │ │ │ │ │ │ │ │ │ Reset │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │RGBS-│RGBB-│RGBS+│ │ │ │Left │ Up │Down │Right│ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_MODE] = LAYOUT(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ RGB_TOG, RGB_RMOD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, RGB_SPD, RGB_VAD, RGB_SPI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+/* Keymap 5: Gaming macros
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ PUSH│ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ FALL│ │ │ │ │Left │ Up │Down │Right│ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ CAP │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_GACROS] = LAYOUT(
+ KC_GRAVE, 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_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/ymdk/sp64/keymaps/default/keymap 2.c b/keyboards/ymdk/sp64/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..e988d6e91b79
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/default/keymap 2.c
@@ -0,0 +1,74 @@
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ BASE, // default layer
+ _FN, // function layer
+ _FX // media keys
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Caps │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ Fn │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ Ctrl │ Win │ Alt │ │ Fn │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[BASE] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_F3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FN), KC_SPACE, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+/* Function
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_FN] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+/* Media
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_FX] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
diff --git a/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c b/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
new file mode 100644
index 000000000000..ada3073fb99b
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
@@ -0,0 +1,94 @@
+#include QMK_KEYBOARD_H
+enum layer_names {
+ BASE, // default layer
+ _FUN, // function layer
+ _NUMPAD, // num-pad
+ _MEDIA // media keys
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │_MED │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ _NUM │_MED │ Alt │ Cmd │ Spc │ │ Space │ Cmd │ Alt │ Lft │ Dwn │ Rgt │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[BASE] = LAYOUT(
+ MT(RESET, KC_GRAVE), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, OSL(_MEDIA),
+ LT(_NUMPAD, KC_CAPS), TT(_MEDIA), KC_LALT, KC_LGUI, LT(_FUN, KC_SPACE), KC_SPACE, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+/* Keymap 1: Function Layer / Vim Arrows
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_FUN] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+/* Keymap 2: NumPad
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ │ Vol-│ Vol+│ Mute │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ |<< │ >>| │ >|| │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ 0 │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_NUMPAD] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_VOLD, KC_VOLU, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_MPRV, KC_MNXT, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+/* Keymap 3: Media
+ *
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ │ │ │ Backlight │ │ │ │ │ │ │ │ │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+[_MEDIA] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk b/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
new file mode 100644
index 000000000000..a6c5cfa18a0c
--- /dev/null
+++ b/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
@@ -0,0 +1 @@
+COMMAND_ENABLE = no
diff --git a/keyboards/ymdk/sp64/matrix 2.c b/keyboards/ymdk/sp64/matrix 2.c
new file mode 100644
index 000000000000..8dd2bb8d765b
--- /dev/null
+++ b/keyboards/ymdk/sp64/matrix 2.c
@@ -0,0 +1,169 @@
+/*
+Copyright 2013 Oleg Kostyuk
+This 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 "matrix.h"
+#include
+#include
+#include
+#include "wait.h"
+#include "action_layer.h"
+#include "print.h"
+#include "debug.h"
+#include "util.h"
+#include "sp64.h"
+#include "debounce.h"
+
+/* matrix state(1:on, 0:off) */
+static matrix_row_t matrix[MATRIX_ROWS];
+
+// Debouncing: store for each key the number of scans until it's eligible to
+// change. When scanning the matrix, ignore any changes in keys that have
+// already changed in the last DEBOUNCE scans.
+static matrix_row_t matrix_debouncing[MATRIX_ROWS];
+
+static void matrix_select_row(uint8_t row);
+
+#ifdef RIGHT_HALF
+static uint8_t mcp23018_reset_loop = 0;
+#endif
+
+void matrix_init(void)
+{
+ // all outputs for rows high
+ DDRB = 0xFF;
+ PORTB = 0xFF;
+ // all inputs for columns
+ DDRA = 0x00;
+ DDRC &= ~(0x111111<<2);
+ DDRD &= ~(1<= 1300) {
+ // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
+ // this will be approx bit more frequent than once per second
+ print("trying to reset mcp23018\n");
+ mcp23018_status = init_mcp23018();
+ if (mcp23018_status) {
+ print("left side not responding\n");
+ } else {
+ print("left side attached\n");
+ }
+ }
+ }
+#endif
+ bool changed = false;
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++)
+ {
+ matrix_row_t cols;
+
+ matrix_select_row(row);
+#ifndef RIGHT_HALF
+ _delay_us(5);
+#endif
+
+ cols = (
+ // cols 0..7, PORTA 0 -> 7
+ (~PINA) & 0xFF
+ );
+
+#ifdef RIGHT_HALF
+ uint8_t data = 0x7F;
+ // Receive the columns from right half
+ i2c_receive(I2C_ADDR_WRITE, &data, 1, MCP23018_I2C_TIMEOUT);
+ cols |= ((~(data) & 0x7F) << 7);
+#endif
+
+ if (matrix_debouncing[row] != cols) {
+ matrix_debouncing[row] = cols;
+ //debouncing = DEBOUNCE;
+ changed = true;
+ }
+ }
+
+ debounce(matrix_debouncing, matrix, MATRIX_ROWS, changed);
+
+ matrix_scan_quantum();
+
+#ifdef DEBUG_MATRIX
+ for (uint8_t c = 0; c < MATRIX_COLS; c++)
+ for (uint8_t r = 0; r < MATRIX_ROWS; r++)
+ if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c);
+#endif
+
+ return (uint8_t)changed;
+}
+
+inline
+matrix_row_t matrix_get_row(uint8_t row)
+{
+ return matrix[row];
+}
+
+void matrix_print(void)
+{
+ print("\nr/c 0123456789ABCDEF\n");
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ phex(row); print(": ");
+ pbin_reverse16(matrix_get_row(row));
+ print("\n");
+ }
+}
+
+uint8_t matrix_key_count(void)
+{
+ uint8_t count = 0;
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ count += bitpop16(matrix[i]);
+ }
+ return count;
+}
+
+static void matrix_select_row(uint8_t row)
+{
+#ifdef RIGHT_HALF
+ uint8_t txdata[3];
+
+ //Set the remote row on port A
+ txdata[0] = GPIOA;
+ txdata[1] = 0xFF & ~(1<
.
+ */
+
+#include "sp64.h"
+
+#ifdef RIGHT_HALF
+bool i2c_initialized = 0;
+i2c_status_t mcp23018_status = I2C_STATUS_ERROR;
+
+uint8_t init_mcp23018(void)
+{
+ uint8_t data[3];
+ mcp23018_status = I2C_STATUS_ERROR;
+
+ // I2C subsystem
+ if (i2c_initialized == 0) {
+ i2c_init(); // on pins D(1,0)
+ i2c_initialized = true;
+ _delay_ms(1000);
+ }
+
+ // set pin direction
+ // - unused : input : 1
+ // - input : input : 1
+ // - driving : output :
+ data[0] = IODIRA;
+ data[1] = 0b00000000;
+ data[2] = 0b11111111;
+ mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+ if (mcp23018_status != I2C_STATUS_SUCCESS)
+ goto out;
+
+ // set pull-up
+ // - unused : on : 1
+ // - input : on : 1
+ // - driving : off : 0
+ data[0] = GPPUA;
+ data[1] = 0b00000000;
+ data[2] = 0b11111111;
+ mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+ if (mcp23018_status != I2C_STATUS_SUCCESS)
+ goto out;
+
+ // set logical value (doesn't matter on inputs)
+ // - unused : hi-Z : 1
+ // - input : hi-Z : 1
+ // - driving : hi-Z : 1
+ data[0] = OLATA;
+ data[1] = 0b11111111;
+ data[2] = 0b11111111;
+ mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
+
+out:
+ return (mcp23018_status);
+}
+#endif
+
+// Optional override functions below.
+// You can leave any or all of these undefined.
+// These are only required if you want to perform custom actions.
+
+__attribute__ ((weak))
+void matrix_init_user(void) {}
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ matrix_init_user();
+}
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ matrix_scan_user();
+}
diff --git a/keyboards/ymdk/sp64/sp64 2.h b/keyboards/ymdk/sp64/sp64 2.h
new file mode 100644
index 000000000000..63620f0c3ca1
--- /dev/null
+++ b/keyboards/ymdk/sp64/sp64 2.h
@@ -0,0 +1,84 @@
+/* Copyright 2019 Neil Kettle
+ *
+ * This 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"
+
+#ifdef RIGHT_HALF
+# include
+# include "i2c_master.h"
+
+// I2C aliases and register addresses (see "mcp23018.md")
+# define I2C_ADDR 0b0100000
+# define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
+# define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
+# define IODIRA 0x00 // i/o direction register
+# define IODIRB 0x01
+# define GPPUA 0x0C // GPIO pull-up resistor register
+# define GPPUB 0x0D
+# define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
+# define GPIOB 0x13
+# define OLATA 0x14 // output latch register
+# define OLATB 0x15
+
+extern i2c_status_t mcp23018_status;
+# define MCP23018_I2C_TIMEOUT 100
+
+uint8_t init_mcp23018(void);
+#endif
+
+#define ___ KC_NO
+#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.
+ *
+ * LEFT HAND RIGHT HAND
+ * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
+ * │ L00 │ L01 │ L02 │ L03 │ L04 │ L05 │ L06 │ │ R07 │ R08 │ R09 │ R0A │ R0B │ R0C │ R0D │
+ * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
+ * │ L10 │ L11 │ L12 │ L13 │ L14 │ L15 │ │ R16 │ R17 │ R18 │ R19 │ R1A │ R1B │ R1C │ R1D │
+ * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
+ * │ L20 │ L21 │ L22 │ L23 │ L24 │ L25 │ │ R26 │ R27 │ R28 │ R29 │ R2A │ R2B │ R2C │
+ * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
+ * │ L30 │ L31 │ L32 │ L33 │ L34 │ L35 │ │ R36 │ R37 │ R38 │ R39 │ R3A │ R3B │ R3C │ R3D │
+ * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
+ * │ L40 │ L41 │ L42 │ L43 │ L45 │ │ R46 │ R48 │ R4A │ R4B │ R4C │ R4D │
+ * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
+ */
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R07, R08, R09, R0A, R0B, R0C, R0D, \
+ L10, L11, L12, L13, L14, L15, R16, R17, R18, R19, R1A, R1B, R1C, R1D, \
+ L20, L21, L22, L23, L24, L25, R26, R27, R28, R29, R2A, R2B, R2C, \
+ L30, L31, L32, L33, L34, L35, R36, R37, R38, R39, R3A, R3B, R3C, R3D, \
+ L40, L41, L42, L43, L45, R46, R48, R4A, R4B, R4C, R4D \
+ ) \
+ /* matrix positions */ \
+ { \
+ { ___, ___, ___, ___, ___, ___, ___, R46, R48, R4A, R4B, R4C, R4D, R3D }, \
+ { L40, L41, L42, L43, L45, L06, ___, R36, R37, R38, R39, R3A, R3B, R3C }, \
+ { L30, L31, L32, L33, L34, L35, ___, R26, R27, R28, R29, R2A, R2B, R2C }, \
+ { L20, L21, L22, L23, L24, L25, ___, R17, R18, R19, R1A, R1B, R1C, R1D }, \
+ { L10, L11, L12, L13, L14, L15, ___, R07, R08, R09, R0A, R0B, R0C, R0D }, \
+ { L00, L01, L02, L03, L04, L05, ___, R16, ___, ___, ___, ___, ___, ___ } \
+ }
+
diff --git a/keyboards/yncognito/batpad/batpad 2.c b/keyboards/yncognito/batpad/batpad 2.c
new file mode 100644
index 000000000000..caafd5727895
--- /dev/null
+++ b/keyboards/yncognito/batpad/batpad 2.c
@@ -0,0 +1,35 @@
+/* Copyright 2020 Yncognito
+ *
+ * This 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 "batpad.h"
+
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config ={
+ {
+ {4 ,5 ,6 ,7 },
+ {0 ,1 ,2 ,3 }
+ },
+ {
+ {0,0},{75,0},{145,0},{224,0},
+ {0,64},{75,64},{145,64},{224,64}
+ },
+ {
+ 0x04,0x04,0x04,0x04,
+ 0x04,0x04,0x04,0x04
+ }
+};
+
+#endif
diff --git a/keyboards/yncognito/batpad/batpad 2.h b/keyboards/yncognito/batpad/batpad 2.h
new file mode 100644
index 000000000000..1cc79edf814c
--- /dev/null
+++ b/keyboards/yncognito/batpad/batpad 2.h
@@ -0,0 +1,29 @@
+/* Copyright 2020 Yncognito
+ *
+ * This 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_ortho_2x4( \
+ K00, K01, K02, K03, \
+ K10, K11, K12, K13 \
+) { \
+ { K00, K01, K02, K03 }, \
+ { K10, K11, K12, K13 }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/yncognito/batpad/config 2.h b/keyboards/yncognito/batpad/config 2.h
new file mode 100644
index 000000000000..379fc886d77b
--- /dev/null
+++ b/keyboards/yncognito/batpad/config 2.h
@@ -0,0 +1,60 @@
+/*
+Copyright 2020 Yncognito
+
+This 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 0x7979
+#define PRODUCT_ID 0x6602
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Yncognito
+#define PRODUCT Batpad
+#define DESCRIPTION A bat with 8 keys
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 4
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { F4, C7 }
+#define MATRIX_COL_PINS { F1, F0, D5, D3 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN B5
+#define DRIVER_LED_TOTAL 8
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_KEYRELEASES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_DISABLE_AFTER_TIMEOUT 0
+#define RGB_DISABLE_WHEN_USB_SUSPENDED false
+#define RGB_MATRIX_LED_FLUSH_LIMIT 16
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+
+
diff --git a/keyboards/yncognito/batpad/info 2.json b/keyboards/yncognito/batpad/info 2.json
new file mode 100644
index 000000000000..2c0fd0d2ebf0
--- /dev/null
+++ b/keyboards/yncognito/batpad/info 2.json
@@ -0,0 +1,23 @@
+{
+ "keyboard_name": "batpad",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 4,
+ "height": 2,
+ "layouts": {
+ "LAYOUT_ortho_2x4": {
+ "key_count": 8,
+ "layout": [
+ {"label":"K00 (F4,F1)", "x":0, "y":0},
+ {"label":"K01 (F4,F0)", "x":1, "y":0},
+ {"label":"K02 (F4,D5)", "x":2, "y":0},
+ {"label":"K03 (F4,D3)", "x":3, "y":0},
+ {"label":"K10 (C7,F1)", "x":0, "y":1},
+ {"label":"K11 (C7,F0)", "x":1, "y":1},
+ {"label":"K12 (C7,D5)", "x":2, "y":1},
+ {"label":"K13 (C7,D3)", "x":3, "y":1}
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/yncognito/batpad/keymaps/default/keymap 2.c b/keyboards/yncognito/batpad/keymaps/default/keymap 2.c
new file mode 100644
index 000000000000..6cf40a182ec9
--- /dev/null
+++ b/keyboards/yncognito/batpad/keymaps/default/keymap 2.c
@@ -0,0 +1,34 @@
+/* Copyright 2020 Yncognito
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_2x4(
+
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+ [1] = LAYOUT_ortho_2x4(
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+ [2] = LAYOUT_ortho_2x4(
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+
+
+};
diff --git a/keyboards/yncognito/batpad/keymaps/default/readme 2.md b/keyboards/yncognito/batpad/keymaps/default/readme 2.md
new file mode 100644
index 000000000000..ecc5d913a81c
--- /dev/null
+++ b/keyboards/yncognito/batpad/keymaps/default/readme 2.md
@@ -0,0 +1 @@
+# The default keymap for batpad
diff --git a/keyboards/yncognito/batpad/keymaps/via/keymap 2.c b/keyboards/yncognito/batpad/keymaps/via/keymap 2.c
new file mode 100644
index 000000000000..6e02a719349f
--- /dev/null
+++ b/keyboards/yncognito/batpad/keymaps/via/keymap 2.c
@@ -0,0 +1,36 @@
+/* Copyright 2020 Yncognito
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_2x4(
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+ [1] = LAYOUT_ortho_2x4(
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+ [2] = LAYOUT_ortho_2x4(
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
+ ),
+ [3] = LAYOUT_ortho_2x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/yncognito/batpad/keymaps/via/rules 2.mk b/keyboards/yncognito/batpad/keymaps/via/rules 2.mk
new file mode 100644
index 000000000000..1e5b99807cb7
--- /dev/null
+++ b/keyboards/yncognito/batpad/keymaps/via/rules 2.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/yncognito/batpad/readme 2.md b/keyboards/yncognito/batpad/readme 2.md
new file mode 100644
index 000000000000..356f06024043
--- /dev/null
+++ b/keyboards/yncognito/batpad/readme 2.md
@@ -0,0 +1,14 @@
+# Batpad
+
+
+
+A 8 keys macropad!
+
+* Keyboard Maintainer: Yncognito
+* Hardware Supported: Batpad/Atmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make yncognito/batpad: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/yncognito/batpad/rules 2.mk b/keyboards/yncognito/batpad/rules 2.mk
new file mode 100644
index 000000000000..71cf8ef3e9b4
--- /dev/null
+++ b/keyboards/yncognito/batpad/rules 2.mk
@@ -0,0 +1,35 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+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
+RGB_MATRIX_ENABLE = WS2812
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
+# generated by KBFirmware JSON to QMK Parser
+# https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/layouts/community/ergodox/manna-harbour_miryoku/config 2.h b/layouts/community/ergodox/manna-harbour_miryoku/config 2.h
new file mode 100644
index 000000000000..0f20409c2e84
--- /dev/null
+++ b/layouts/community/ergodox/manna-harbour_miryoku/config 2.h
@@ -0,0 +1,20 @@
+// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
+
+#pragma once
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
+)\
+LAYOUT_ergodox_pretty( \
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+KC_NO, K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09, KC_NO, \
+KC_NO, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_NO, \
+KC_NO, K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29, KC_NO, \
+KC_NO, KC_NO, KC_NO, KC_NO, K32, K37, KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, KC_NO, KC_NO, \
+ KC_NO, KC_NO, \
+ K33, K34, KC_NO, KC_NO, K35, K36 \
+)
diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h b/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
new file mode 100644
index 000000000000..772b510ef6f1
--- /dev/null
+++ b/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
@@ -0,0 +1,31 @@
+// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
+
+#pragma once
+
+#if defined MIRYOKU_MAPPING_SPLIT
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_4x12(\
+KC_NO, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, KC_NO,\
+K00, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K09,\
+K10, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K19,\
+K20, KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO, K29\
+)
+#else
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_4x12(\
+K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29,\
+KC_NO, KC_NO, K32, K33, K34, K34, K35, K35, K36, K37, KC_NO, KC_NO\
+)
+#endif
diff --git a/quantum/keymap_extras/keymap_hebrew 2.h b/quantum/keymap_extras/keymap_hebrew 2.h
new file mode 100644
index 000000000000..ea9ac5ed4c4c
--- /dev/null
+++ b/quantum/keymap_extras/keymap_hebrew 2.h
@@ -0,0 +1,151 @@
+/* Copyright 2020
+ *
+ * This 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 "keymap.h"
+
+// clang-format off
+
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+// Row 1
+#define IL_SCLN KC_GRV // ;
+#define IL_1 KC_1 // 1
+#define IL_2 KC_2 // 2
+#define IL_3 KC_3 // 3
+#define IL_4 KC_4 // 4
+#define IL_5 KC_5 // 5
+#define IL_6 KC_6 // 6
+#define IL_7 KC_7 // 7
+#define IL_8 KC_8 // 8
+#define IL_9 KC_9 // 9
+#define IL_0 KC_0 // 0
+#define IL_MINS KC_MINS // -
+#define IL_EQL KC_EQL // =
+// Row 2
+#define IL_SLSH KC_Q // /
+#define IL_QUOT KC_W // '
+#define IL_QOF KC_E // ק
+#define IL_RESH KC_R // ר
+#define IL_ALEF KC_T // א
+#define IL_TET KC_Y // ט
+#define IL_VAV KC_U // ו
+#define IL_FNUN KC_I // ן
+#define IL_FMEM KC_O // ם
+#define IL_PE KC_P // פ
+#define IL_RBRC KC_LBRC // ]
+#define IL_LBRC KC_RBRC // [
+// Row 3
+#define IL_SHIN KC_A // ש
+#define IL_DALT KC_S // ד
+#define IL_GIML KC_D // ג
+#define IL_KAF KC_F // כ
+#define IL_AYIN KC_G // ע
+#define IL_YOD KC_H // י
+#define IL_HET KC_J // ח
+#define IL_LAMD KC_K // ל
+#define IL_FKAF KC_L // ך
+#define IL_FPE KC_SCLN // ף
+#define IL_COMM KC_QUOT // ,
+#define IL_BSLS KC_NUHS // (backslash)
+// Row 4
+#define IL_ZAYN KC_Z // ז
+#define IL_SMKH KC_X // ס
+#define IL_BET KC_C // ב
+#define IL_HE KC_V // ה
+#define IL_NUN KC_B // נ
+#define IL_MEM KC_N // מ
+#define IL_TSDI KC_M // צ
+#define IL_TAV KC_COMM // ת
+#define IL_FTSD KC_DOT // ץ
+#define IL_DOT KC_SLSH // .
+
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+// Row 1
+#define IL_TILD S(IL_SCLN) // ~
+#define IL_EXLM S(IL_1) // !
+#define IL_AT S(IL_2) // @
+#define IL_PND S(IL_3) // #
+#define IL_DLR S(IL_4) // $
+#define IL_PERC S(IL_5) // %
+#define IL_CIRC S(IL_6) // ^
+#define IL_AMPR S(IL_7) // &
+#define IL_ASTR S(IL_8) // *
+#define IL_RPRN S(IL_9) // )
+#define IL_LPRN S(IL_0) // (
+#define IL_UNDS S(IL_MINS) // _
+#define IL_PLUS S(IL_EQL) // +
+// Row 2
+#define IL_RCBR S(IL_RBRC) // }
+#define IL_LCBR S(IL_LBRC) // {
+// Row 3
+#define IL_COLN S(IL_FPE) // :
+#define IL_DQUO S(IL_COMM) // "
+#define IL_PIPE S(IL_BSLS) // |
+// Row 4
+#define IL_RABK S(IL_TAV) // >
+#define IL_LABK S(IL_FTSD) // <
+#define IL_QUES S(IL_DOT) // ?
+
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+// Row 1
+#define IL_EURO ALGR(IL_3) // €
+#define IL_SHKL ALGR(IL_4) // ₪
+#define IL_DEG ALGR(IL_5) // °
+#define IL_MUL ALGR(IL_8) // ×
+// Row 2
+#define IL_DVAV ALGR(IL_TET) // װ
+// Row 3
+#define IL_VYOD ALGR(IL_AYIN) // ױ
+#define IL_DYOD ALGR(IL_YOD) // ײ
+// Row 4
+#define IL_DIV ALGR(IL_DOT) // ÷
From 48c844d10c40873a7b6d46e002d61c29c3c86a65 Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Sat, 27 Jun 2020 18:46:39 -0700
Subject: [PATCH 32/39] remove erroneously added files
---
.../4x12/keymaps/default/keymap 2.c | 36 -
.../5x12/keymaps/default/keymap 2.c | 39 -
keyboards/clawsome/coupe/info 2.json | 74 -
keyboards/clawsome/sedan/sedan 2.h | 32 -
.../exclusive/e85/keymaps/default/keymap 2.c | 37 -
.../exclusive/e85/keymaps/standard/keymap 2.c | 37 -
.../exclusive/e85/keymaps/tsangan/keymap 2.c | 37 -
.../exclusive/e85/keymaps/via/config 2.h | 1 -
.../exclusive/e85/keymaps/via/keymap 2.c | 45 -
.../exclusive/e85/keymaps/via/rules 2.mk | 3 -
.../hineybush/h60/keymaps/default/keymap 2.c | 28 -
.../hineybush/h60/keymaps/default/readme 2.md | 1 -
.../hineybush/h60/keymaps/kei/keymap 2.c | 26 -
.../hineybush/h60/keymaps/kei/readme 2.md | 1 -
.../hineybush/h60/keymaps/via/keymap 2.c | 40 -
.../hineybush/h60/keymaps/via/readme 2.md | 1 -
.../hineybush/h60/keymaps/via/rules 2.mk | 1 -
keyboards/maartenwut/eon75/config 2.h | 221 --
keyboards/maartenwut/eon75/eon75 2.c | 45 -
keyboards/maartenwut/eon75/eon75 2.h | 97 -
keyboards/maartenwut/eon75/info 2.json | 289 --
.../eon75/keymaps/default/keymap 2.c | 34 -
.../maartenwut/eon75/keymaps/via/keymap 2.c | 47 -
.../maartenwut/eon75/keymaps/via/rules 2.mk | 2 -
keyboards/maartenwut/eon75/readme 2.md | 13 -
keyboards/maartenwut/eon75/rules 2.mk | 32 -
keyboards/maartenwut/eon87/config 2.h | 220 --
keyboards/maartenwut/eon87/eon87 2.c | 16 -
keyboards/maartenwut/eon87/eon87 2.h | 79 -
keyboards/maartenwut/eon87/info 2.json | 319 ---
.../eon87/keymaps/default/keymap 2.c | 42 -
.../eon87/keymaps/default/readme 2.md | 1 -
.../maartenwut/eon87/keymaps/via/keymap 2.c | 50 -
.../maartenwut/eon87/keymaps/via/rules 2.mk | 2 -
keyboards/maartenwut/eon87/readme 2.md | 13 -
keyboards/maartenwut/eon87/rules 2.mk | 34 -
keyboards/maartenwut/omrontkl/config 2.h | 220 --
keyboards/maartenwut/omrontkl/info 2.json | 299 ---
.../omrontkl/keymaps/default/keymap 2.c | 42 -
keyboards/maartenwut/omrontkl/omrontkl 2.c | 16 -
keyboards/maartenwut/omrontkl/omrontkl 2.h | 79 -
keyboards/maartenwut/omrontkl/readme 2.md | 13 -
keyboards/maartenwut/omrontkl/rules 2.mk | 32 -
.../massdrop/alt/keymaps/ewersp/README 2.md | 30 -
.../massdrop/alt/keymaps/ewersp/config 2.h | 3 -
.../massdrop/alt/keymaps/ewersp/keymap 2.c | 196 --
keyboards/mechlovin/infinity87/config 2.h | 73 -
keyboards/mechlovin/infinity87/infinity87 2.c | 38 -
keyboards/mechlovin/infinity87/infinity87 2.h | 37 -
keyboards/mechlovin/infinity87/info 2.json | 106 -
.../infinity87/keymaps/default/keymap 2.c | 27 -
.../infinity87/keymaps/default/readme 2.md | 1 -
.../infinity87/keymaps/via/keymap 2.c | 52 -
.../infinity87/keymaps/via/readme 2.md | 1 -
.../infinity87/keymaps/via/rules 2.mk | 1 -
keyboards/mechlovin/infinity87/readme 2.md | 15 -
keyboards/mechlovin/infinity87/rules 2.mk | 21 -
keyboards/mixi/config 2.h | 47 -
keyboards/mixi/info 2.json | 22 -
keyboards/mixi/keymaps/default/keymap 2.c | 117 -
keyboards/mixi/keymaps/default/readme 2.md | 10 -
keyboards/mixi/keymaps/via/keymap 2.c | 134 -
keyboards/mixi/keymaps/via/rules 2.mk | 2 -
keyboards/mixi/mixi 2.c | 14 -
keyboards/mixi/mixi 2.h | 13 -
keyboards/mixi/readme 2.md | 15 -
keyboards/mixi/rules 2.mk | 27 -
keyboards/montsinger/rebound/rev4/config 2.h | 65 -
keyboards/montsinger/rebound/rev4/info 2.json | 128 -
.../rebound/rev4/keymaps/default/keymap 2.c | 102 -
.../rev4/keymaps/rossman360/keymap 2.c | 120 -
.../rev4/keymaps/rossman360/rules 2.mk | 4 -
keyboards/montsinger/rebound/rev4/rev4 2.h | 59 -
keyboards/montsinger/rebound/rev4/rules 2.mk | 33 -
.../boards/ST_STM32F072B_DISCOVERY/board 2.c | 268 --
.../boards/ST_STM32F072B_DISCOVERY/board 2.h | 940 -------
.../boards/ST_STM32F072B_DISCOVERY/board 2.mk | 5 -
.../ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg | 703 -----
keyboards/nebula12/bootloader_defs 2.h | 7 -
keyboards/nebula12/chconf 2.h | 714 -----
keyboards/nebula12/halconf 2.h | 525 ----
keyboards/nebula12/info 2.json | 14 -
keyboards/nebula12/keymaps/default/keymap 2.c | 42 -
.../nebula12/keymaps/default/readme 2.md | 7 -
keyboards/nebula12/keymaps/via/keymap 2.c | 42 -
keyboards/nebula12/keymaps/via/readme 2.md | 5 -
keyboards/nebula12/keymaps/via/rules 2.mk | 1 -
keyboards/nebula12/mcuconf 2.h | 176 --
keyboards/nebula12/nebula12 2.c | 20 -
keyboards/nebula12/nebula12 2.h | 35 -
keyboards/nebula12/readme 2.md | 32 -
keyboards/nebula12/rules 2.mk | 34 -
keyboards/nebula65/chconf 2.h | 714 -----
keyboards/nebula65/config 2.h | 163 --
keyboards/nebula65/halconf 2.h | 525 ----
keyboards/nebula65/info 2.json | 85 -
keyboards/nebula65/keymaps/default/keymap 2.c | 46 -
.../nebula65/keymaps/default/readme 2.md | 7 -
keyboards/nebula65/keymaps/via/keymap 2.c | 46 -
keyboards/nebula65/keymaps/via/readme 2.md | 7 -
keyboards/nebula65/keymaps/via/rules 2.mk | 1 -
keyboards/nebula65/mcuconf 2.h | 273 --
keyboards/nebula65/nebula65 2.c | 20 -
keyboards/nebula65/nebula65 2.h | 37 -
keyboards/nebula65/readme 2.md | 32 -
keyboards/nebula65/rules 2.mk | 34 -
keyboards/noxary/220/keymaps/via/keymap 2.c | 122 -
keyboards/noxary/220/keymaps/via/readme 2.md | 3 -
keyboards/noxary/220/keymaps/via/rules 2.mk | 5 -
keyboards/noxary/260/keymaps/via/keymap 2.c | 85 -
keyboards/noxary/260/keymaps/via/rules 2.mk | 2 -
keyboards/noxary/268/keymaps/via/keymap 2.c | 110 -
keyboards/noxary/268/keymaps/via/readme 2.md | 3 -
keyboards/noxary/268/keymaps/via/rules 2.mk | 5 -
keyboards/noxary/268_2/keymaps/via/keymap 2.c | 110 -
.../noxary/268_2/keymaps/via/readme 2.md | 3 -
keyboards/noxary/268_2/keymaps/via/rules 2.mk | 5 -
keyboards/noxary/x268/keymaps/via/keymap 2.c | 111 -
keyboards/noxary/x268/keymaps/via/readme 2.md | 3 -
keyboards/noxary/x268/keymaps/via/rules 2.mk | 5 -
keyboards/planck/keymaps/buffet/config 2.h | 46 -
keyboards/planck/keymaps/buffet/keymap 2.c | 384 ---
keyboards/planck/keymaps/buffet/readme 2.md | 104 -
.../keymaps/buffet/rgb_matrix_user 2.inc | 18 -
keyboards/planck/keymaps/buffet/rules 2.mk | 6 -
.../planck/keymaps/charlesrocket/config 2.h | 38 -
.../planck/keymaps/charlesrocket/keymap 2.c | 203 --
.../planck/keymaps/charlesrocket/readme 2.md | 55 -
.../planck/keymaps/charlesrocket/rules 2.mk | 8 -
.../preonic/keymaps/shwilliam/config 2.h | 19 -
.../preonic/keymaps/shwilliam/keymap 2.c | 299 ---
.../preonic/keymaps/shwilliam/readme 2.md | 40 -
.../preonic/keymaps/shwilliam/rules 2.mk | 1 -
.../prime_e/keymaps/madhatter/config 2.h | 6 -
.../prime_e/keymaps/madhatter/keymap 2.c | 160 --
keyboards/s7_elephant/rev1/config 2.h | 48 -
keyboards/s7_elephant/rev1/info 2.json | 2348 -----------------
.../rev1/keymaps/default/config 2.h | 1 -
.../rev1/keymaps/default/keymap 2.c | 64 -
.../rev1/keymaps/default/readme 2.md | 35 -
keyboards/s7_elephant/rev1/readme 2.md | 17 -
keyboards/s7_elephant/rev1/rev1 2.c | 1 -
keyboards/s7_elephant/rev1/rev1 2.h | 853 ------
keyboards/s7_elephant/rev1/rules 2.mk | 25 -
keyboards/s7_elephant/rev2/config 2.h | 83 -
keyboards/s7_elephant/rev2/info 2.json | 167 --
.../rev2/keymaps/default/keymap 2.c | 65 -
.../rev2/keymaps/default/readme 2.md | 35 -
.../s7_elephant/rev2/keymaps/via/keymap 2.c | 92 -
.../s7_elephant/rev2/keymaps/via/readme 2.md | 35 -
.../s7_elephant/rev2/keymaps/via/rules 2.mk | 1 -
keyboards/s7_elephant/rev2/readme 2.md | 17 -
keyboards/s7_elephant/rev2/rev2 2.c | 19 -
keyboards/s7_elephant/rev2/rev2 2.h | 61 -
keyboards/s7_elephant/rev2/rules 2.mk | 33 -
keyboards/suihankey/alpha/info 2.json | 34 -
keyboards/westfoxtrot/prophet/info 2.json | 76 -
.../wt75_b/keymaps/madhatter/config 2.h | 4 -
keyboards/xd75/keymaps/hybrid/config 2.h | 20 -
keyboards/xd75/keymaps/hybrid/keymap 2.c | 310 ---
keyboards/xd75/keymaps/hybrid/readme 2.md | 13 -
keyboards/xd75/keymaps/hybrid/rules 2.mk | 21 -
keyboards/ymdk/sp64/config 2.h | 45 -
keyboards/ymdk/sp64/info 2.json | 79 -
keyboards/ymdk/sp64/keymaps/daed/keymap 2.c | 140 -
.../ymdk/sp64/keymaps/default/keymap 2.c | 74 -
.../ymdk/sp64/keymaps/walston/keymap 2.c | 94 -
.../ymdk/sp64/keymaps/walston/rules 2.mk | 1 -
keyboards/ymdk/sp64/matrix 2.c | 169 --
keyboards/ymdk/sp64/readme 2.md | 17 -
keyboards/ymdk/sp64/rules 2.mk | 32 -
keyboards/ymdk/sp64/sp64 2.c | 93 -
keyboards/ymdk/sp64/sp64 2.h | 84 -
keyboards/yncognito/batpad/batpad 2.c | 35 -
keyboards/yncognito/batpad/batpad 2.h | 29 -
keyboards/yncognito/batpad/config 2.h | 60 -
keyboards/yncognito/batpad/info 2.json | 23 -
.../batpad/keymaps/default/keymap 2.c | 34 -
.../batpad/keymaps/default/readme 2.md | 1 -
.../yncognito/batpad/keymaps/via/keymap 2.c | 36 -
.../yncognito/batpad/keymaps/via/rules 2.mk | 1 -
keyboards/yncognito/batpad/readme 2.md | 14 -
keyboards/yncognito/batpad/rules 2.mk | 35 -
.../ergodox/manna-harbour_miryoku/config 2.h | 20 -
.../manna-harbour_miryoku/config 2.h | 31 -
quantum/keymap_extras/keymap_hebrew 2.h | 151 --
186 files changed, 17504 deletions(-)
delete mode 100644 keyboards/boardsource/4x12/keymaps/default/keymap 2.c
delete mode 100644 keyboards/boardsource/5x12/keymaps/default/keymap 2.c
delete mode 100644 keyboards/clawsome/coupe/info 2.json
delete mode 100644 keyboards/clawsome/sedan/sedan 2.h
delete mode 100644 keyboards/exclusive/e85/keymaps/default/keymap 2.c
delete mode 100644 keyboards/exclusive/e85/keymaps/standard/keymap 2.c
delete mode 100644 keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
delete mode 100644 keyboards/exclusive/e85/keymaps/via/config 2.h
delete mode 100644 keyboards/exclusive/e85/keymaps/via/keymap 2.c
delete mode 100644 keyboards/exclusive/e85/keymaps/via/rules 2.mk
delete mode 100644 keyboards/hineybush/h60/keymaps/default/keymap 2.c
delete mode 100644 keyboards/hineybush/h60/keymaps/default/readme 2.md
delete mode 100644 keyboards/hineybush/h60/keymaps/kei/keymap 2.c
delete mode 100644 keyboards/hineybush/h60/keymaps/kei/readme 2.md
delete mode 100644 keyboards/hineybush/h60/keymaps/via/keymap 2.c
delete mode 100644 keyboards/hineybush/h60/keymaps/via/readme 2.md
delete mode 100644 keyboards/hineybush/h60/keymaps/via/rules 2.mk
delete mode 100644 keyboards/maartenwut/eon75/config 2.h
delete mode 100644 keyboards/maartenwut/eon75/eon75 2.c
delete mode 100644 keyboards/maartenwut/eon75/eon75 2.h
delete mode 100644 keyboards/maartenwut/eon75/info 2.json
delete mode 100644 keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
delete mode 100644 keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
delete mode 100644 keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
delete mode 100644 keyboards/maartenwut/eon75/readme 2.md
delete mode 100644 keyboards/maartenwut/eon75/rules 2.mk
delete mode 100644 keyboards/maartenwut/eon87/config 2.h
delete mode 100644 keyboards/maartenwut/eon87/eon87 2.c
delete mode 100644 keyboards/maartenwut/eon87/eon87 2.h
delete mode 100644 keyboards/maartenwut/eon87/info 2.json
delete mode 100644 keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
delete mode 100644 keyboards/maartenwut/eon87/keymaps/default/readme 2.md
delete mode 100644 keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
delete mode 100644 keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
delete mode 100644 keyboards/maartenwut/eon87/readme 2.md
delete mode 100644 keyboards/maartenwut/eon87/rules 2.mk
delete mode 100644 keyboards/maartenwut/omrontkl/config 2.h
delete mode 100644 keyboards/maartenwut/omrontkl/info 2.json
delete mode 100644 keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
delete mode 100644 keyboards/maartenwut/omrontkl/omrontkl 2.c
delete mode 100644 keyboards/maartenwut/omrontkl/omrontkl 2.h
delete mode 100644 keyboards/maartenwut/omrontkl/readme 2.md
delete mode 100644 keyboards/maartenwut/omrontkl/rules 2.mk
delete mode 100644 keyboards/massdrop/alt/keymaps/ewersp/README 2.md
delete mode 100644 keyboards/massdrop/alt/keymaps/ewersp/config 2.h
delete mode 100644 keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
delete mode 100644 keyboards/mechlovin/infinity87/config 2.h
delete mode 100644 keyboards/mechlovin/infinity87/infinity87 2.c
delete mode 100644 keyboards/mechlovin/infinity87/infinity87 2.h
delete mode 100644 keyboards/mechlovin/infinity87/info 2.json
delete mode 100644 keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
delete mode 100644 keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
delete mode 100644 keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
delete mode 100644 keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
delete mode 100644 keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
delete mode 100644 keyboards/mechlovin/infinity87/readme 2.md
delete mode 100644 keyboards/mechlovin/infinity87/rules 2.mk
delete mode 100644 keyboards/mixi/config 2.h
delete mode 100644 keyboards/mixi/info 2.json
delete mode 100644 keyboards/mixi/keymaps/default/keymap 2.c
delete mode 100644 keyboards/mixi/keymaps/default/readme 2.md
delete mode 100644 keyboards/mixi/keymaps/via/keymap 2.c
delete mode 100644 keyboards/mixi/keymaps/via/rules 2.mk
delete mode 100644 keyboards/mixi/mixi 2.c
delete mode 100644 keyboards/mixi/mixi 2.h
delete mode 100644 keyboards/mixi/readme 2.md
delete mode 100644 keyboards/mixi/rules 2.mk
delete mode 100644 keyboards/montsinger/rebound/rev4/config 2.h
delete mode 100644 keyboards/montsinger/rebound/rev4/info 2.json
delete mode 100644 keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
delete mode 100644 keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
delete mode 100644 keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
delete mode 100644 keyboards/montsinger/rebound/rev4/rev4 2.h
delete mode 100644 keyboards/montsinger/rebound/rev4/rules 2.mk
delete mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
delete mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
delete mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
delete mode 100644 keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
delete mode 100644 keyboards/nebula12/bootloader_defs 2.h
delete mode 100644 keyboards/nebula12/chconf 2.h
delete mode 100644 keyboards/nebula12/halconf 2.h
delete mode 100755 keyboards/nebula12/info 2.json
delete mode 100755 keyboards/nebula12/keymaps/default/keymap 2.c
delete mode 100755 keyboards/nebula12/keymaps/default/readme 2.md
delete mode 100755 keyboards/nebula12/keymaps/via/keymap 2.c
delete mode 100755 keyboards/nebula12/keymaps/via/readme 2.md
delete mode 100755 keyboards/nebula12/keymaps/via/rules 2.mk
delete mode 100644 keyboards/nebula12/mcuconf 2.h
delete mode 100755 keyboards/nebula12/nebula12 2.c
delete mode 100755 keyboards/nebula12/nebula12 2.h
delete mode 100755 keyboards/nebula12/readme 2.md
delete mode 100755 keyboards/nebula12/rules 2.mk
delete mode 100644 keyboards/nebula65/chconf 2.h
delete mode 100755 keyboards/nebula65/config 2.h
delete mode 100644 keyboards/nebula65/halconf 2.h
delete mode 100755 keyboards/nebula65/info 2.json
delete mode 100755 keyboards/nebula65/keymaps/default/keymap 2.c
delete mode 100755 keyboards/nebula65/keymaps/default/readme 2.md
delete mode 100755 keyboards/nebula65/keymaps/via/keymap 2.c
delete mode 100755 keyboards/nebula65/keymaps/via/readme 2.md
delete mode 100755 keyboards/nebula65/keymaps/via/rules 2.mk
delete mode 100644 keyboards/nebula65/mcuconf 2.h
delete mode 100755 keyboards/nebula65/nebula65 2.c
delete mode 100755 keyboards/nebula65/nebula65 2.h
delete mode 100755 keyboards/nebula65/readme 2.md
delete mode 100755 keyboards/nebula65/rules 2.mk
delete mode 100644 keyboards/noxary/220/keymaps/via/keymap 2.c
delete mode 100644 keyboards/noxary/220/keymaps/via/readme 2.md
delete mode 100644 keyboards/noxary/220/keymaps/via/rules 2.mk
delete mode 100644 keyboards/noxary/260/keymaps/via/keymap 2.c
delete mode 100644 keyboards/noxary/260/keymaps/via/rules 2.mk
delete mode 100644 keyboards/noxary/268/keymaps/via/keymap 2.c
delete mode 100644 keyboards/noxary/268/keymaps/via/readme 2.md
delete mode 100644 keyboards/noxary/268/keymaps/via/rules 2.mk
delete mode 100644 keyboards/noxary/268_2/keymaps/via/keymap 2.c
delete mode 100644 keyboards/noxary/268_2/keymaps/via/readme 2.md
delete mode 100644 keyboards/noxary/268_2/keymaps/via/rules 2.mk
delete mode 100644 keyboards/noxary/x268/keymaps/via/keymap 2.c
delete mode 100644 keyboards/noxary/x268/keymaps/via/readme 2.md
delete mode 100644 keyboards/noxary/x268/keymaps/via/rules 2.mk
delete mode 100644 keyboards/planck/keymaps/buffet/config 2.h
delete mode 100644 keyboards/planck/keymaps/buffet/keymap 2.c
delete mode 100644 keyboards/planck/keymaps/buffet/readme 2.md
delete mode 100644 keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
delete mode 100644 keyboards/planck/keymaps/buffet/rules 2.mk
delete mode 100644 keyboards/planck/keymaps/charlesrocket/config 2.h
delete mode 100644 keyboards/planck/keymaps/charlesrocket/keymap 2.c
delete mode 100644 keyboards/planck/keymaps/charlesrocket/readme 2.md
delete mode 100644 keyboards/planck/keymaps/charlesrocket/rules 2.mk
delete mode 100644 keyboards/preonic/keymaps/shwilliam/config 2.h
delete mode 100644 keyboards/preonic/keymaps/shwilliam/keymap 2.c
delete mode 100644 keyboards/preonic/keymaps/shwilliam/readme 2.md
delete mode 100644 keyboards/preonic/keymaps/shwilliam/rules 2.mk
delete mode 100644 keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
delete mode 100644 keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
delete mode 100644 keyboards/s7_elephant/rev1/config 2.h
delete mode 100644 keyboards/s7_elephant/rev1/info 2.json
delete mode 100644 keyboards/s7_elephant/rev1/keymaps/default/config 2.h
delete mode 100644 keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
delete mode 100644 keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
delete mode 100644 keyboards/s7_elephant/rev1/readme 2.md
delete mode 100644 keyboards/s7_elephant/rev1/rev1 2.c
delete mode 100644 keyboards/s7_elephant/rev1/rev1 2.h
delete mode 100644 keyboards/s7_elephant/rev1/rules 2.mk
delete mode 100644 keyboards/s7_elephant/rev2/config 2.h
delete mode 100644 keyboards/s7_elephant/rev2/info 2.json
delete mode 100644 keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
delete mode 100644 keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
delete mode 100644 keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
delete mode 100644 keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
delete mode 100644 keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
delete mode 100644 keyboards/s7_elephant/rev2/readme 2.md
delete mode 100644 keyboards/s7_elephant/rev2/rev2 2.c
delete mode 100644 keyboards/s7_elephant/rev2/rev2 2.h
delete mode 100644 keyboards/s7_elephant/rev2/rules 2.mk
delete mode 100644 keyboards/suihankey/alpha/info 2.json
delete mode 100644 keyboards/westfoxtrot/prophet/info 2.json
delete mode 100644 keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
delete mode 100644 keyboards/xd75/keymaps/hybrid/config 2.h
delete mode 100644 keyboards/xd75/keymaps/hybrid/keymap 2.c
delete mode 100644 keyboards/xd75/keymaps/hybrid/readme 2.md
delete mode 100644 keyboards/xd75/keymaps/hybrid/rules 2.mk
delete mode 100644 keyboards/ymdk/sp64/config 2.h
delete mode 100644 keyboards/ymdk/sp64/info 2.json
delete mode 100644 keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
delete mode 100644 keyboards/ymdk/sp64/keymaps/default/keymap 2.c
delete mode 100644 keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
delete mode 100644 keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
delete mode 100644 keyboards/ymdk/sp64/matrix 2.c
delete mode 100644 keyboards/ymdk/sp64/readme 2.md
delete mode 100644 keyboards/ymdk/sp64/rules 2.mk
delete mode 100644 keyboards/ymdk/sp64/sp64 2.c
delete mode 100644 keyboards/ymdk/sp64/sp64 2.h
delete mode 100644 keyboards/yncognito/batpad/batpad 2.c
delete mode 100644 keyboards/yncognito/batpad/batpad 2.h
delete mode 100644 keyboards/yncognito/batpad/config 2.h
delete mode 100644 keyboards/yncognito/batpad/info 2.json
delete mode 100644 keyboards/yncognito/batpad/keymaps/default/keymap 2.c
delete mode 100644 keyboards/yncognito/batpad/keymaps/default/readme 2.md
delete mode 100644 keyboards/yncognito/batpad/keymaps/via/keymap 2.c
delete mode 100644 keyboards/yncognito/batpad/keymaps/via/rules 2.mk
delete mode 100644 keyboards/yncognito/batpad/readme 2.md
delete mode 100644 keyboards/yncognito/batpad/rules 2.mk
delete mode 100644 layouts/community/ergodox/manna-harbour_miryoku/config 2.h
delete mode 100644 layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
delete mode 100644 quantum/keymap_extras/keymap_hebrew 2.h
diff --git a/keyboards/boardsource/4x12/keymaps/default/keymap 2.c b/keyboards/boardsource/4x12/keymaps/default/keymap 2.c
deleted file mode 100644
index d9a0c47a6b39..000000000000
--- a/keyboards/boardsource/4x12/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-// Readability keycodes
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT_ortho_4x12(
- 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-
-};
diff --git a/keyboards/boardsource/5x12/keymaps/default/keymap 2.c b/keyboards/boardsource/5x12/keymaps/default/keymap 2.c
deleted file mode 100644
index 19bdde0ffb9c..000000000000
--- a/keyboards/boardsource/5x12/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-// Readability keycodes
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [_RAISE] = LAYOUT_ortho_5x12(
- 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- [_LOWER] = LAYOUT_ortho_5x12(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-
-};
diff --git a/keyboards/clawsome/coupe/info 2.json b/keyboards/clawsome/coupe/info 2.json
deleted file mode 100644
index 6c930922a5cf..000000000000
--- a/keyboards/clawsome/coupe/info 2.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "Coupe",
- "url": "www.clawboards.xyz",
- "maintainer": "AAClawson (AlisGraveNil)",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT_60_ansi": {
- "layout": [
- {"label":"K00 (D7,F4)", "x":0, "y":0},
- {"label":"K10 (D2,F4)", "x":1, "y":0},
- {"label":"K01 (D7,F5)", "x":2, "y":0},
- {"label":"K11 (D2,F5)", "x":3, "y":0},
- {"label":"K02 (D7,F6)", "x":4, "y":0},
- {"label":"K12 (D2,F6)", "x":5, "y":0},
- {"label":"K03 (D7,F7)", "x":6, "y":0},
- {"label":"K13 (D2,F7)", "x":7, "y":0},
- {"label":"K04 (D7,B6)", "x":8, "y":0},
- {"label":"K14 (D2,B6)", "x":9, "y":0},
- {"label":"K05 (D7,B3)", "x":10, "y":0},
- {"label":"K15 (D2,B3)", "x":11, "y":0},
- {"label":"K06 (D7,B2)", "x":12, "y":0},
- {"label":"K16 (D2,B2)", "x":13, "y":0, "w":2},
- {"label":"K20 (C6,F4)", "x":0, "y":1, "w":1.5},
- {"label":"K30 (B5,F4)", "x":1.5, "y":1},
- {"label":"K21 (C6,F5)", "x":2.5, "y":1},
- {"label":"K31 (B5,F5)", "x":3.5, "y":1},
- {"label":"K22 (C6,F6)", "x":4.5, "y":1},
- {"label":"K32 (B5,F6)", "x":5.5, "y":1},
- {"label":"K23 (C6,F7)", "x":6.5, "y":1},
- {"label":"K33 (B5,F7)", "x":7.5, "y":1},
- {"label":"K24 (C6,B6)", "x":8.5, "y":1},
- {"label":"K34 (B5,B6)", "x":9.5, "y":1},
- {"label":"K25 (C6,B3)", "x":10.5, "y":1},
- {"label":"K35 (B5,B3)", "x":11.5, "y":1},
- {"label":"K26 (C6,B2)", "x":12.5, "y":1},
- {"label":"K36 (B5,B2)", "x":13.5, "y":1, "w":1.5},
- {"label":"K40 (D4,F4)", "x":0, "y":2, "w":1.75},
- {"label":"K50 (B4,F4)", "x":1.75, "y":2},
- {"label":"K41 (D4,F5)", "x":2.75, "y":2},
- {"label":"K51 (B4,F5)", "x":3.75, "y":2},
- {"label":"K42 (D4,F6)", "x":4.75, "y":2},
- {"label":"K52 (B4,F6)", "x":5.75, "y":2},
- {"label":"K43 (D4,F7)", "x":6.75, "y":2},
- {"label":"K53 (B4,F7)", "x":7.75, "y":2},
- {"label":"K44 (D4,B6)", "x":8.75, "y":2},
- {"label":"K54 (B4,B6)", "x":9.75, "y":2},
- {"label":"K45 (D4,B3)", "x":10.75, "y":2},
- {"label":"K55 (B4,B3)", "x":11.75, "y":2},
- {"label":"K56 (B4,B2)", "x":12.75, "y":2, "w":2.25},
- {"label":"K60 (D0,F4)", "x":0, "y":3, "w":2.25},
- {"label":"K61 (D0,F5)", "x":2.25, "y":3},
- {"label":"K71 (D3,F5)", "x":3.25, "y":3},
- {"label":"K62 (D0,F6)", "x":4.25, "y":3},
- {"label":"K72 (D3,F6)", "x":5.25, "y":3},
- {"label":"K63 (D0,F7)", "x":6.25, "y":3},
- {"label":"K73 (D3,F7)", "x":7.25, "y":3},
- {"label":"K64 (D0,B6)", "x":8.25, "y":3},
- {"label":"K74 (D3,B6)", "x":9.25, "y":3},
- {"label":"K65 (D0,B3)", "x":10.25, "y":3},
- {"label":"K75 (D3,B3)", "x":11.25, "y":3},
- {"label":"K76 (D3,B2)", "x":12.25, "y":3, "w":2.75},
- {"label":"K80 (D1,F4)", "x":0, "y":4, "w":1.25},
- {"label":"K90 (E6,F4)", "x":1.25, "y":4, "w":1.25},
- {"label":"K81 (D1,F5)", "x":2.5, "y":4, "w":1.25},
- {"label":"K83 (D1,F7)", "x":3.75, "y":4, "w":6.25},
- {"label":"K85 (D1,B3)", "x":10, "y":4, "w":1.25},
- {"label":"K95 (E6,B3)", "x":11.25, "y":4, "w":1.25},
- {"label":"K86 (D1,B2)", "x":12.5, "y":4, "w":1.25},
- {"label":"K96 (E6,B2)", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/clawsome/sedan/sedan 2.h b/keyboards/clawsome/sedan/sedan 2.h
deleted file mode 100644
index 7af9476676e6..000000000000
--- a/keyboards/clawsome/sedan/sedan 2.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2020 AAClawson (AlisGraveNil)
- *
- * This 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_65_ansi( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E }, \
-}
diff --git a/keyboards/exclusive/e85/keymaps/default/keymap 2.c b/keyboards/exclusive/e85/keymaps/default/keymap 2.c
deleted file mode 100644
index 80f8e0eeb4b4..000000000000
--- a/keyboards/exclusive/e85/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/exclusive/e85/keymaps/standard/keymap 2.c b/keyboards/exclusive/e85/keymaps/standard/keymap 2.c
deleted file mode 100644
index c6778180be1a..000000000000
--- a/keyboards/exclusive/e85/keymaps/standard/keymap 2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_standard(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_standard(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c b/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
deleted file mode 100644
index 80f8e0eeb4b4..000000000000
--- a/keyboards/exclusive/e85/keymaps/tsangan/keymap 2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/exclusive/e85/keymaps/via/config 2.h b/keyboards/exclusive/e85/keymaps/via/config 2.h
deleted file mode 100644
index 78f3f6a69656..000000000000
--- a/keyboards/exclusive/e85/keymaps/via/config 2.h
+++ /dev/null
@@ -1 +0,0 @@
- #define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file
diff --git a/keyboards/exclusive/e85/keymaps/via/keymap 2.c b/keyboards/exclusive/e85/keymaps/via/keymap 2.c
deleted file mode 100644
index c55c35ce192f..000000000000
--- a/keyboards/exclusive/e85/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_ansi_tsangan(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/exclusive/e85/keymaps/via/rules 2.mk b/keyboards/exclusive/e85/keymaps/via/rules 2.mk
deleted file mode 100644
index 29a6f75191f0..000000000000
--- a/keyboards/exclusive/e85/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
\ No newline at end of file
diff --git a/keyboards/hineybush/h60/keymaps/default/keymap 2.c b/keyboards/hineybush/h60/keymaps/default/keymap 2.c
deleted file mode 100644
index 9195da4b8587..000000000000
--- a/keyboards/hineybush/h60/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 hineybush
-
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- [_BASE] = LAYOUT_60_ansi(
- 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
-
- [_FN] = LAYOUT_60_ansi(
- KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/hineybush/h60/keymaps/default/readme 2.md b/keyboards/hineybush/h60/keymaps/default/readme 2.md
deleted file mode 100644
index 08aa4a5c8fe2..000000000000
--- a/keyboards/hineybush/h60/keymaps/default/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for h60
diff --git a/keyboards/hineybush/h60/keymaps/kei/keymap 2.c b/keyboards/hineybush/h60/keymaps/kei/keymap 2.c
deleted file mode 100644
index 528e1ac970d5..000000000000
--- a/keyboards/hineybush/h60/keymaps/kei/keymap 2.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2020 hineybush
-
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_60_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
- [_FN] = LAYOUT_60_hhkb(
- KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/hineybush/h60/keymaps/kei/readme 2.md b/keyboards/hineybush/h60/keymaps/kei/readme 2.md
deleted file mode 100644
index c7b8dd630121..000000000000
--- a/keyboards/hineybush/h60/keymaps/kei/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for the Kei keyboard
diff --git a/keyboards/hineybush/h60/keymaps/via/keymap 2.c b/keyboards/hineybush/h60/keymaps/via/keymap 2.c
deleted file mode 100644
index 75c9ac2dd2c5..000000000000
--- a/keyboards/hineybush/h60/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2020 hineybush
-
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = 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_TRNS,
- 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
- [_FN1] = LAYOUT_all(
- KC_TRNS, BL_TOGG, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_FN2] = 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),
- [_FN3] = 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),
-};
diff --git a/keyboards/hineybush/h60/keymaps/via/readme 2.md b/keyboards/hineybush/h60/keymaps/via/readme 2.md
deleted file mode 100644
index a8d6e39e1513..000000000000
--- a/keyboards/hineybush/h60/keymaps/via/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for h60
diff --git a/keyboards/hineybush/h60/keymaps/via/rules 2.mk b/keyboards/hineybush/h60/keymaps/via/rules 2.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/hineybush/h60/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/maartenwut/eon75/config 2.h b/keyboards/maartenwut/eon75/config 2.h
deleted file mode 100644
index 41be76245b7a..000000000000
--- a/keyboards/maartenwut/eon75/config 2.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0x5C62
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maartenwut
-#define PRODUCT Eon75
-#define DESCRIPTION A 75% PCB
-
-/* key matrix size */
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 8
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
-#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3}
-#define UNUSED_PINS {B2,B1}
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #define RGB_DI_PIN D0
-// #ifdef RGB_DI_PIN
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
-// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
-// #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #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
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* key combination for magic key command */
-/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP H
-//#define MAGIC_KEY_HELP_ALT SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER0_ALT GRAVE
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER B
-//#define MAGIC_KEY_BOOTLOADER_ALT ESC
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
-
diff --git a/keyboards/maartenwut/eon75/eon75 2.c b/keyboards/maartenwut/eon75/eon75 2.c
deleted file mode 100644
index 86b462dd9ecc..000000000000
--- a/keyboards/maartenwut/eon75/eon75 2.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include "eon75.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- matrix_init_user();
- led_init_ports();
-};
-
-void led_init_ports(void) {
- // * Set our LED pins as output and high
- setPinOutput(D5);
- writePinHigh(D5);
-
- setPinOutput(B7);
- writePinHigh(B7);
-
- setPinOutput(B0);
- writePinHigh(B0);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- writePin(D5, !led_state.caps_lock);
- writePin(B7, !led_state.num_lock);
- writePin(B0, !led_state.scroll_lock);
- }
-
- return true;
-}
diff --git a/keyboards/maartenwut/eon75/eon75 2.h b/keyboards/maartenwut/eon75/eon75 2.h
deleted file mode 100644
index 5ce932a6467f..000000000000
--- a/keyboards/maartenwut/eon75/eon75 2.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#include "quantum.h"
-#define XXX KC_NO
-
-/* This 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_all( \
- k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
- ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07 }, \
- { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47 }, \
- { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
- { k60, k61, k62, k63, k64, k65, k66, XXX }, \
- { k70, k71, k72, k73, k74, k75, k76, k77 }, \
- { k80, k81, k82, k83, k84, k85, k86, k87 }, \
- { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
- { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
- { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
-}
-
-#define LAYOUT_ansi( \
- k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
- k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
- ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07 }, \
- { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27 }, \
- { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47 }, \
- { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
- { k60, k61, k62, k63, k64, k65, XXX, XXX }, \
- { k70, k71, k72, k73, k74, k75, k76, k77 }, \
- { k80, k81, k82, k83, k84, k85, k86, k87 }, \
- { XXX, k91, k92, k93, k94, k95, XXX, k97 }, \
- { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
- { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
-}
-
-#define LAYOUT_iso( \
- k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
- k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
- k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, \
- k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
- k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
- ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07 }, \
- { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27 }, \
- { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
- { k40, k41, k42, k43, k44, k45, k46, XXX }, \
- { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
- { k60, k61, k62, k63, k64, k65, k66, XXX }, \
- { k70, k71, k72, k73, k74, k75, k76, k77 }, \
- { k80, k81, k82, k83, k84, k85, k86, k87 }, \
- { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
- { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
- { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
-}
diff --git a/keyboards/maartenwut/eon75/info 2.json b/keyboards/maartenwut/eon75/info 2.json
deleted file mode 100644
index 9066542a1f36..000000000000
--- a/keyboards/maartenwut/eon75/info 2.json
+++ /dev/null
@@ -1,289 +0,0 @@
-{
- "keyboard_name": "Eon75",
- "url": "",
- "maintainer": "qmk",
- "width": 16.5,
- "height": 6.5,
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x":0, "y":0},
- {"x":1.5, "y":0},
- {"x":2.5, "y":0},
- {"x":3.5, "y":0},
- {"x":4.5, "y":0},
- {"x":5.75, "y":0},
- {"x":6.75, "y":0},
- {"x":7.75, "y":0},
- {"x":8.75, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14.5, "y":0},
- {"x":15.5, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25},
- {"x":14, "y":1.25},
- {"x":15.5, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":13.5, "y":2.25, "w":1.5},
- {"x":15.5, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25},
- {"x":13.75, "y":3.25, "w":1.25},
- {"x":15.5, "y":3.25},
-
- {"x":0, "y":4.25, "w":1.25},
- {"x":1.25, "y":4.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":1.75},
- {"x":14.25, "y":4.5},
- {"x":15.5, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.25},
- {"x":1.25, "y":5.25, "w":1.25},
- {"x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"x":10, "y":5.25},
- {"x":11, "y":5.25},
- {"x":12, "y":5.25},
- {"x":13.25, "y":5.5},
- {"x":14.25, "y":5.5},
- {"x":15.25, "y":5.5}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"x":0, "y":0},
- {"x":1.5, "y":0},
- {"x":2.5, "y":0},
- {"x":3.5, "y":0},
- {"x":4.5, "y":0},
- {"x":5.75, "y":0},
- {"x":6.75, "y":0},
- {"x":7.75, "y":0},
- {"x":8.75, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14.5, "y":0},
- {"x":15.5, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25, "w":2},
- {"x":15.5, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":13.5, "y":2.25, "w":1.5},
- {"x":15.5, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25, "w":2.25},
- {"x":15.5, "y":3.25},
-
- {"x":0, "y":4.25, "w":2.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":1.75},
- {"x":14.25, "y":4.5},
- {"x":15.5, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.25},
- {"x":1.25, "y":5.25, "w":1.25},
- {"x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"x":10, "y":5.25},
- {"x":11, "y":5.25},
- {"x":12, "y":5.25},
- {"x":13.25, "y":5.5},
- {"x":14.25, "y":5.5},
- {"x":15.25, "y":5.5}
- ]
- },
- "LAYOUT_iso": {
- "layout": [
- {"x":0, "y":0},
- {"x":1.5, "y":0},
- {"x":2.5, "y":0},
- {"x":3.5, "y":0},
- {"x":4.5, "y":0},
- {"x":5.75, "y":0},
- {"x":6.75, "y":0},
- {"x":7.75, "y":0},
- {"x":8.75, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14.5, "y":0},
- {"x":15.5, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25, "w":2},
- {"x":15.5, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":15.5, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25},
- {"x":13.75, "y":2.25, "w":1.25, "h":2},
- {"x":15.5, "y":3.25},
-
- {"x":0, "y":4.25, "w":1.25},
- {"x":1.25, "y":4.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":1.75},
- {"x":14.25, "y":4.5},
- {"x":15.5, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.25},
- {"x":1.25, "y":5.25, "w":1.25},
- {"x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"x":10, "y":5.25},
- {"x":11, "y":5.25},
- {"x":12, "y":5.25},
- {"x":13.25, "y":5.5},
- {"x":14.25, "y":5.5},
- {"x":15.25, "y":5.5}
- ]
- }
- }
-}
diff --git a/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c b/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
deleted file mode 100644
index fcfba4c866db..000000000000
--- a/keyboards/maartenwut/eon75/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-[1] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c b/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
deleted file mode 100644
index 070d38b09faa..000000000000
--- a/keyboards/maartenwut/eon75/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-[1] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk b/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/maartenwut/eon75/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/maartenwut/eon75/readme 2.md b/keyboards/maartenwut/eon75/readme 2.md
deleted file mode 100644
index 8c697c1c6886..000000000000
--- a/keyboards/maartenwut/eon75/readme 2.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Eon75
-
-## Support
-* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
-* Hardware Supported: Eon75
-* Hardware Availability: None
-
-## Build
-Make example for this keyboard (after setting up your build environment):
-
- make maartenwut/eon75: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon75/rules 2.mk b/keyboards/maartenwut/eon75/rules 2.mk
deleted file mode 100644
index 264e0ea67d2d..000000000000
--- a/keyboards/maartenwut/eon75/rules 2.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # 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
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/maartenwut/eon87/config 2.h b/keyboards/maartenwut/eon87/config 2.h
deleted file mode 100644
index 14fec2e584c0..000000000000
--- a/keyboards/maartenwut/eon87/config 2.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xAA6B
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maartenwut
-#define PRODUCT Eon87
-#define DESCRIPTION A TKL PCB
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 17
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS {B1,B2,B3,D4,D1,D5}
-#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,E6,B7,D3,D2}
-#define UNUSED_PINS {B0}
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
- #define RGB_DI_PIN D0
-// #ifdef RGB_DI_PIN
- #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
-// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
- #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #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
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* key combination for magic key command */
-/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP H
-//#define MAGIC_KEY_HELP_ALT SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER0_ALT GRAVE
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER B
-//#define MAGIC_KEY_BOOTLOADER_ALT ESC
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/maartenwut/eon87/eon87 2.c b/keyboards/maartenwut/eon87/eon87 2.c
deleted file mode 100644
index 4f6b4037621d..000000000000
--- a/keyboards/maartenwut/eon87/eon87 2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include "eon87.h"
diff --git a/keyboards/maartenwut/eon87/eon87 2.h b/keyboards/maartenwut/eon87/eon87 2.h
deleted file mode 100644
index 08aa3d55b00b..000000000000
--- a/keyboards/maartenwut/eon87/eon87 2.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#include "quantum.h"
-#define XXX KC_NO
-
-/* This 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_all( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
- k50, k51, k52, k54, k56, k58, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, k54, XXX, k56, XXX, k58, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
-
-#define LAYOUT_tkl_ansi( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
- k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
- k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
- { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
-
-#define LAYOUT_tkl_iso( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
- k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
diff --git a/keyboards/maartenwut/eon87/info 2.json b/keyboards/maartenwut/eon87/info 2.json
deleted file mode 100644
index b0ed86a7ead0..000000000000
--- a/keyboards/maartenwut/eon87/info 2.json
+++ /dev/null
@@ -1,319 +0,0 @@
-{
- "keyboard_name": "Eon87",
- "url": "",
- "maintainer": "qmk",
- "width": 18.25,
- "height": 6.25,
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x": 0, "y": 0},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0},
- {"x": 4, "y": 0},
- {"x": 5, "y": 0},
- {"x": 6.5, "y": 0},
- {"x": 7.5, "y": 0},
- {"x": 8.5, "y": 0},
- {"x": 9.5, "y": 0},
- {"x": 11, "y": 0},
- {"x": 12, "y": 0},
- {"x": 13, "y": 0},
- {"x": 14, "y": 0},
-
- {"x": 15.25, "y": 0},
- {"x": 16.25, "y": 0},
- {"x": 17.25, "y": 0},
-
- {"x": 0, "y": 1.25},
- {"x": 1, "y": 1.25},
- {"x": 2, "y": 1.25},
- {"x": 3, "y": 1.25},
- {"x": 4, "y": 1.25},
- {"x": 5, "y": 1.25},
- {"x": 6, "y": 1.25},
- {"x": 7, "y": 1.25},
- {"x": 8, "y": 1.25},
- {"x": 9, "y": 1.25},
- {"x": 10, "y": 1.25},
- {"x": 11, "y": 1.25},
- {"x": 12, "y": 1.25},
- {"x": 13, "y": 1.25},
- {"x": 14, "y": 1.25},
-
- {"x": 15.25, "y": 1.25},
- {"x": 16.25, "y": 1.25},
- {"x": 17.25, "y": 1.25},
-
- {"x": 0, "y": 2.25, "w": 1.5},
- {"x": 1.5, "y": 2.25},
- {"x": 2.5, "y": 2.25},
- {"x": 3.5, "y": 2.25},
- {"x": 4.5, "y": 2.25},
- {"x": 5.5, "y": 2.25},
- {"x": 6.5, "y": 2.25},
- {"x": 7.5, "y": 2.25},
- {"x": 8.5, "y": 2.25},
- {"x": 9.5, "y": 2.25},
- {"x": 10.5, "y": 2.25},
- {"x": 11.5, "y": 2.25},
- {"x": 12.5, "y": 2.25},
- {"x": 13.5, "y": 2.25, "w": 1.5},
-
- {"x": 15.25, "y": 2.25},
- {"x": 16.25, "y": 2.25},
- {"x": 17.25, "y": 2.25},
-
- {"x": 0, "y": 3.25, "w": 1.75},
- {"x": 1.75, "y": 3.25},
- {"x": 2.75, "y": 3.25},
- {"x": 3.75, "y": 3.25},
- {"x": 4.75, "y": 3.25},
- {"x": 5.75, "y": 3.25},
- {"x": 6.75, "y": 3.25},
- {"x": 7.75, "y": 3.25},
- {"x": 8.75, "y": 3.25},
- {"x": 9.75, "y": 3.25},
- {"x": 10.75, "y": 3.25},
- {"x": 11.75, "y": 3.25},
- {"x": 12.75, "y": 3.25},
- {"x": 13.75, "y": 3.25, "w": 1.25},
-
- {"x": 0, "y": 4.25, "w": 1.25},
- {"x": 1.25, "y": 4.25},
- {"x": 2.25, "y": 4.25},
- {"x": 3.25, "y": 4.25},
- {"x": 4.25, "y": 4.25},
- {"x": 5.25, "y": 4.25},
- {"x": 6.25, "y": 4.25},
- {"x": 7.25, "y": 4.25},
- {"x": 8.25, "y": 4.25},
- {"x": 9.25, "y": 4.25},
- {"x": 10.25, "y": 4.25},
- {"x": 11.25, "y": 4.25},
- {"x": 12.25, "y": 4.25, "w": 1.75},
- {"x": 14, "y": 4.25},
-
- {"x": 16.25, "y": 4.25},
-
- {"x": 0, "y": 5.25, "w": 1.25},
- {"x": 1.25, "y": 5.25, "w": 1.25},
- {"x": 2.5, "y": 5.25, "w": 1.25},
- {"x": 3.75, "y": 5.25, "w": 2.25},
- {"x": 6, "y": 5.25, "w": 1.25},
- {"x": 7.25, "y": 5.25, "w": 2.75},
- {"x": 10, "y": 5.25, "w": 1.25},
- {"x": 11.25, "y": 5.25, "w": 1.25},
- {"x": 12.5, "y": 5.25, "w": 1.25},
- {"x": 13.75, "y": 5.25, "w": 1.25},
-
- {"x": 15.25, "y": 5.25},
- {"x": 16.25, "y": 5.25},
- {"x": 17.25, "y": 5.25}
- ]
- },
- "LAYOUT_tkl_ansi": {
- "layout": [
- {"x": 0, "y": 0},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0},
- {"x": 4, "y": 0},
- {"x": 5, "y": 0},
- {"x": 6.5, "y": 0},
- {"x": 7.5, "y": 0},
- {"x": 8.5, "y": 0},
- {"x": 9.5, "y": 0},
- {"x": 11, "y": 0},
- {"x": 12, "y": 0},
- {"x": 13, "y": 0},
- {"x": 14, "y": 0},
-
- {"x": 15.25, "y": 0},
- {"x": 16.25, "y": 0},
- {"x": 17.25, "y": 0},
-
- {"x": 0, "y": 1.25},
- {"x": 1, "y": 1.25},
- {"x": 2, "y": 1.25},
- {"x": 3, "y": 1.25},
- {"x": 4, "y": 1.25},
- {"x": 5, "y": 1.25},
- {"x": 6, "y": 1.25},
- {"x": 7, "y": 1.25},
- {"x": 8, "y": 1.25},
- {"x": 9, "y": 1.25},
- {"x": 10, "y": 1.25},
- {"x": 11, "y": 1.25},
- {"x": 12, "y": 1.25},
- {"x": 13, "y": 1.25, "w": 2},
-
- {"x": 15.25, "y": 1.25},
- {"x": 16.25, "y": 1.25},
- {"x": 17.25, "y": 1.25},
-
- {"x": 0, "y": 2.25, "w": 1.5},
- {"x": 1.5, "y": 2.25},
- {"x": 2.5, "y": 2.25},
- {"x": 3.5, "y": 2.25},
- {"x": 4.5, "y": 2.25},
- {"x": 5.5, "y": 2.25},
- {"x": 6.5, "y": 2.25},
- {"x": 7.5, "y": 2.25},
- {"x": 8.5, "y": 2.25},
- {"x": 9.5, "y": 2.25},
- {"x": 10.5, "y": 2.25},
- {"x": 11.5, "y": 2.25},
- {"x": 12.5, "y": 2.25},
- {"x": 13.5, "y": 2.25, "w": 1.5},
-
- {"x": 15.25, "y": 2.25},
- {"x": 16.25, "y": 2.25},
- {"x": 17.25, "y": 2.25},
-
- {"x": 0, "y": 3.25, "w": 1.75},
- {"x": 1.75, "y": 3.25},
- {"x": 2.75, "y": 3.25},
- {"x": 3.75, "y": 3.25},
- {"x": 4.75, "y": 3.25},
- {"x": 5.75, "y": 3.25},
- {"x": 6.75, "y": 3.25},
- {"x": 7.75, "y": 3.25},
- {"x": 8.75, "y": 3.25},
- {"x": 9.75, "y": 3.25},
- {"x": 10.75, "y": 3.25},
- {"x": 11.75, "y": 3.25},
- {"x": 12.75, "y": 3.25, "w": 2.25},
-
- {"x": 0, "y": 4.25, "w": 2.25},
- {"x": 2.25, "y": 4.25},
- {"x": 3.25, "y": 4.25},
- {"x": 4.25, "y": 4.25},
- {"x": 5.25, "y": 4.25},
- {"x": 6.25, "y": 4.25},
- {"x": 7.25, "y": 4.25},
- {"x": 8.25, "y": 4.25},
- {"x": 9.25, "y": 4.25},
- {"x": 10.25, "y": 4.25},
- {"x": 11.25, "y": 4.25},
- {"x": 12.25, "y": 4.25, "w": 2.75},
-
- {"x": 16.25, "y": 4.25},
-
- {"x": 0, "y": 5.25, "w": 1.25},
- {"x": 1.25, "y": 5.25, "w": 1.25},
- {"x": 2.5, "y": 5.25, "w": 1.25},
- {"x": 3.75, "y": 5.25, "w": 6.25},
- {"x": 10, "y": 5.25, "w": 1.25},
- {"x": 11.25, "y": 5.25, "w": 1.25},
- {"x": 12.5, "y": 5.25, "w": 1.25},
- {"x": 13.75, "y": 5.25, "w": 1.25},
-
- {"x": 15.25, "y": 5.25},
- {"x": 16.25, "y": 5.25},
- {"x": 17.25, "y": 5.25}
- ]
- },
- "LAYOUT_tkl_iso": {
- "layout": [
- {"x": 0, "y": 0},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0},
- {"x": 4, "y": 0},
- {"x": 5, "y": 0},
- {"x": 6.5, "y": 0},
- {"x": 7.5, "y": 0},
- {"x": 8.5, "y": 0},
- {"x": 9.5, "y": 0},
- {"x": 11, "y": 0},
- {"x": 12, "y": 0},
- {"x": 13, "y": 0},
- {"x": 14, "y": 0},
-
- {"x": 15.25, "y": 0},
- {"x": 16.25, "y": 0},
- {"x": 17.25, "y": 0},
-
- {"x": 0, "y": 1.25},
- {"x": 1, "y": 1.25},
- {"x": 2, "y": 1.25},
- {"x": 3, "y": 1.25},
- {"x": 4, "y": 1.25},
- {"x": 5, "y": 1.25},
- {"x": 6, "y": 1.25},
- {"x": 7, "y": 1.25},
- {"x": 8, "y": 1.25},
- {"x": 9, "y": 1.25},
- {"x": 10, "y": 1.25},
- {"x": 11, "y": 1.25},
- {"x": 12, "y": 1.25},
- {"x": 13, "y": 1.25, "w": 2},
-
- {"x": 15.25, "y": 1.25},
- {"x": 16.25, "y": 1.25},
- {"x": 17.25, "y": 1.25},
-
- {"x": 0, "y": 2.25, "w": 1.5},
- {"x": 1.5, "y": 2.25},
- {"x": 2.5, "y": 2.25},
- {"x": 3.5, "y": 2.25},
- {"x": 4.5, "y": 2.25},
- {"x": 5.5, "y": 2.25},
- {"x": 6.5, "y": 2.25},
- {"x": 7.5, "y": 2.25},
- {"x": 8.5, "y": 2.25},
- {"x": 9.5, "y": 2.25},
- {"x": 10.5, "y": 2.25},
- {"x": 11.5, "y": 2.25},
- {"x": 12.5, "y": 2.25},
-
- {"x": 15.25, "y": 2.25},
- {"x": 16.25, "y": 2.25},
- {"x": 17.25, "y": 2.25},
-
- {"x": 0, "y": 3.25, "w": 1.75},
- {"x": 1.75, "y": 3.25},
- {"x": 2.75, "y": 3.25},
- {"x": 3.75, "y": 3.25},
- {"x": 4.75, "y": 3.25},
- {"x": 5.75, "y": 3.25},
- {"x": 6.75, "y": 3.25},
- {"x": 7.75, "y": 3.25},
- {"x": 8.75, "y": 3.25},
- {"x": 9.75, "y": 3.25},
- {"x": 10.75, "y": 3.25},
- {"x": 11.75, "y": 3.25},
- {"x": 12.75, "y": 3.25},
- {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
-
- {"x": 0, "y": 4.25, "w": 1.25},
- {"x": 1.25, "y": 4.25},
- {"x": 2.25, "y": 4.25},
- {"x": 3.25, "y": 4.25},
- {"x": 4.25, "y": 4.25},
- {"x": 5.25, "y": 4.25},
- {"x": 6.25, "y": 4.25},
- {"x": 7.25, "y": 4.25},
- {"x": 8.25, "y": 4.25},
- {"x": 9.25, "y": 4.25},
- {"x": 10.25, "y": 4.25},
- {"x": 11.25, "y": 4.25},
- {"x": 12.25, "y": 4.25, "w": 2.75},
-
- {"x": 16.25, "y": 4.25},
-
- {"x": 0, "y": 5.25, "w": 1.25},
- {"x": 1.25, "y": 5.25, "w": 1.25},
- {"x": 2.5, "y": 5.25, "w": 1.25},
- {"x": 3.75, "y": 5.25, "w": 6.25},
- {"x": 10, "y": 5.25, "w": 1.25},
- {"x": 11.25, "y": 5.25, "w": 1.25},
- {"x": 12.5, "y": 5.25, "w": 1.25},
- {"x": 13.75, "y": 5.25, "w": 1.25},
-
- {"x": 15.25, "y": 5.25},
- {"x": 16.25, "y": 5.25},
- {"x": 17.25, "y": 5.25}
- ]
- }
- }
-}
diff --git a/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c b/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
deleted file mode 100644
index 4eaff0f4a522..000000000000
--- a/keyboards/maartenwut/eon87/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-#define _MA 0 //Main layer
-#define _FN 1 //Main layer
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_MA] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(_FN), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
-[_FN] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/keymaps/default/readme 2.md b/keyboards/maartenwut/eon87/keymaps/default/readme 2.md
deleted file mode 100644
index a70270cfacca..000000000000
--- a/keyboards/maartenwut/eon87/keymaps/default/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-This is the default keymap for the Eon87.
diff --git a/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c b/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
deleted file mode 100644
index 67543b54cc30..000000000000
--- a/keyboards/maartenwut/eon87/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
-[1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk b/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/maartenwut/eon87/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/maartenwut/eon87/readme 2.md b/keyboards/maartenwut/eon87/readme 2.md
deleted file mode 100644
index bfd5afd1a9b9..000000000000
--- a/keyboards/maartenwut/eon87/readme 2.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Eon87
-
-## Support
-* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
-* Hardware Supported: Eon87
-* Hardware Availability: [maartenwut.com](https://maartenwut.com)
-
-## Build
-Make example for this keyboard (after setting up your build environment):
-
- make maartenwut/eon87: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/eon87/rules 2.mk b/keyboards/maartenwut/eon87/rules 2.mk
deleted file mode 100644
index 65cfca7d4bb5..000000000000
--- a/keyboards/maartenwut/eon87/rules 2.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = qmk-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# 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 = yes # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/maartenwut/omrontkl/config 2.h b/keyboards/maartenwut/omrontkl/config 2.h
deleted file mode 100644
index a07500edfb0a..000000000000
--- a/keyboards/maartenwut/omrontkl/config 2.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4705
-#define PRODUCT_ID 0xEA78
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maartenwut
-#define PRODUCT OmronTKL
-#define DESCRIPTION A TKL PCB for Omron switches
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 17
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS {D0,D1,D2,D3,D4,B7}
-#define MATRIX_COL_PINS {F0,C7,F1,C6,F4,B6,F5,B5,F6,B4,F7,D7,D6,D5,B3,B1,B2}
-#define UNUSED_PINS {E6,B0}
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #define RGB_DI_PIN D0
-// #ifdef RGB_DI_PIN
-// #define RGBLED_NUM 12
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
-// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
-// #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #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
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* key combination for magic key command */
-/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP H
-//#define MAGIC_KEY_HELP_ALT SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER0_ALT GRAVE
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER B
-//#define MAGIC_KEY_BOOTLOADER_ALT ESC
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/maartenwut/omrontkl/info 2.json b/keyboards/maartenwut/omrontkl/info 2.json
deleted file mode 100644
index faf9569644b2..000000000000
--- a/keyboards/maartenwut/omrontkl/info 2.json
+++ /dev/null
@@ -1,299 +0,0 @@
-{
- "keyboard_name": "OmronTKL",
- "url": "",
- "maintainer": "qmk",
- "width": 18.25,
- "height": 6.25,
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x":0, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6.5, "y":0},
- {"x":7.5, "y":0},
- {"x":8.5, "y":0},
- {"x":9.5, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
- {"x":15.25, "y":0},
- {"x":16.25, "y":0},
- {"x":17.25, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25},
- {"x":14, "y":1.25},
- {"x":15.25, "y":1.25},
- {"x":16.25, "y":1.25},
- {"x":17.25, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":13.5, "y":2.25, "w":1.5},
- {"x":15.25, "y":2.25},
- {"x":16.25, "y":2.25},
- {"x":17.25, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25},
- {"x":13.75, "y":3.25, "w":1.25},
-
- {"x":0, "y":4.25, "w":1.25},
- {"x":1.25, "y":4.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":1.75},
- {"x":14, "y":4.25},
- {"x":16.25, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.5},
- {"x":1.5, "y":5.25, "w":1.25},
- {"x":2.75, "y":5.25, "w":1.5},
- {"x":4.25, "y":5.25, "w":6.5},
- {"x":10.75, "y":5.25, "w":1.5},
- {"x":12.25, "y":5.25, "w":1.25},
- {"x":13.5, "y":5.25, "w":1.5},
- {"x":15.25, "y":5.25},
- {"x":16.25, "y":5.25},
- {"x":17.25, "y":5.25}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"x":0, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6.5, "y":0},
- {"x":7.5, "y":0},
- {"x":8.5, "y":0},
- {"x":9.5, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
- {"x":15.25, "y":0},
- {"x":16.25, "y":0},
- {"x":17.25, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25, "w":2},
- {"x":15.25, "y":1.25},
- {"x":16.25, "y":1.25},
- {"x":17.25, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":13.5, "y":2.25, "w":1.5},
- {"x":15.25, "y":2.25},
- {"x":16.25, "y":2.25},
- {"x":17.25, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25, "w":2.25},
-
- {"x":0, "y":4.25, "w":2.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":2.75},
- {"x":16.25, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.5},
- {"x":1.5, "y":5.25, "w":1.25},
- {"x":2.75, "y":5.25, "w":1.5},
- {"x":4.25, "y":5.25, "w":6.5},
- {"x":10.75, "y":5.25, "w":1.5},
- {"x":12.25, "y":5.25, "w":1.25},
- {"x":13.5, "y":5.25, "w":1.5},
- {"x":15.25, "y":5.25},
- {"x":16.25, "y":5.25},
- {"x":17.25, "y":5.25}
- ]
- },
- "LAYOUT_iso": {
- "layout": [
- {"x":0, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
- {"x":6.5, "y":0},
- {"x":7.5, "y":0},
- {"x":8.5, "y":0},
- {"x":9.5, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
- {"x":15.25, "y":0},
- {"x":16.25, "y":0},
- {"x":17.25, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25, "w":2},
- {"x":15.25, "y":1.25},
- {"x":16.25, "y":1.25},
- {"x":17.25, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":15.25, "y":2.25},
- {"x":16.25, "y":2.25},
- {"x":17.25, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25},
- {"x":13.75, "y":2.25, "w":1.25, "h":2},
-
- {"x":0, "y":4.25, "w":1.25},
- {"x":1.25, "y":4.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":2.75},
- {"x":16.25, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.5},
- {"x":1.5, "y":5.25, "w":1.25},
- {"x":2.75, "y":5.25, "w":1.5},
- {"x":4.25, "y":5.25, "w":6.5},
- {"x":10.75, "y":5.25, "w":1.5},
- {"x":12.25, "y":5.25, "w":1.25},
- {"x":13.5, "y":5.25, "w":1.5},
- {"x":15.25, "y":5.25},
- {"x":16.25, "y":5.25},
- {"x":17.25, "y":5.25}
- ]
- }
- }
-}
diff --git a/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c b/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
deleted file mode 100644
index 7d8304ed74f8..000000000000
--- a/keyboards/maartenwut/omrontkl/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-#define _MA 0 //Main layer
-#define _FN 1 //Main layer
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_MA] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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, MO(_FN), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
-[_FN] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
\ No newline at end of file
diff --git a/keyboards/maartenwut/omrontkl/omrontkl 2.c b/keyboards/maartenwut/omrontkl/omrontkl 2.c
deleted file mode 100644
index e8748ea61219..000000000000
--- a/keyboards/maartenwut/omrontkl/omrontkl 2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include "omrontkl.h"
diff --git a/keyboards/maartenwut/omrontkl/omrontkl 2.h b/keyboards/maartenwut/omrontkl/omrontkl 2.h
deleted file mode 100644
index c8292def401e..000000000000
--- a/keyboards/maartenwut/omrontkl/omrontkl 2.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2019 Maarten Dekkers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#include "quantum.h"
-#define XXX KC_NO
-
-/* This 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_all( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
- k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
-
-#define LAYOUT_ansi( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
- k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
- k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
- { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
-
-#define LAYOUT_iso( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
- k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
- { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
-}
diff --git a/keyboards/maartenwut/omrontkl/readme 2.md b/keyboards/maartenwut/omrontkl/readme 2.md
deleted file mode 100644
index 2141fbc8e29a..000000000000
--- a/keyboards/maartenwut/omrontkl/readme 2.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# OmronTKL
-
-## Support
-* Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
-* Hardware Supported: OmronTKL
-* Hardware Availability: none
-
-## Build
-Make example for this keyboard (after setting up your build environment):
-
- make maartenwut/omrontkl: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).
\ No newline at end of file
diff --git a/keyboards/maartenwut/omrontkl/rules 2.mk b/keyboards/maartenwut/omrontkl/rules 2.mk
deleted file mode 100644
index 8fc9b9c73d44..000000000000
--- a/keyboards/maartenwut/omrontkl/rules 2.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = qmk-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# 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
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/README 2.md b/keyboards/massdrop/alt/keymaps/ewersp/README 2.md
deleted file mode 100644
index d2e691a9ef51..000000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/README 2.md
+++ /dev/null
@@ -1,30 +0,0 @@
-## Greetings, Traveler!
-
-This layout is for the [Massdrop ALT Keyboard](https://drop.com/buy/massdrop-alt-mechanical-keyboard) and targets Windows machines.
-
-This keymap is very similar to the default keymap for the Drop ALT, but it overloads the left alt key to behave like an additional 'Fn' key while keeping the functionality of the alt key intact.
-
-### For example:
-```
-LeftAlt + 1...N -> F1...FN
-LeftAlt + L/R Arrows -> Home/End
-LeftAlt + Home -> End
-LeftAlt + Backspace -> Delete
-LeftAlt + Esc -> Backtick (`)
-```
-
-The novel part of this keymap is that it **preserves the default functionality** of the left alt key, so ```'alt + tab', 'ctrl + alt + del', 'alt + f4'```, etc. all work as expected without using any janky timers.
-
-Everything also works with other modifier keys, so ```'alt + L/R' and 'alt + shift + L/R'``` work great for text manipulation to select lines.
-
-This **'super alt'** keymap will feel very familiar for anyone **coming from macOS** since the Windows alt key is in the same position as CMD on macOS keyboards.
-
-And finally, the original alt key functionality can be toggled at any time by pressing **```'Fn + period'```** so even if you don't like it, you can turn it off.
-
-This keymap was based on the 'default' Drop ALT keymap (and _not_ 'default_md') which means it supports all the fancy QMK RGB patterns, and isn't limited to the stock options that come with the board.
-
-It's also worth noting that this keymap fixes an outstanding issue where the caps lock LED flickers when the RGB mode is keylight or underglow. I could not find a general purpose fix, but the one included here works quite well.
-
-If you have any questions, feel free to reach out to me at: ewersp [at] gmail [dot] com.
-
-Enjoy! **<3**
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/config 2.h b/keyboards/massdrop/alt/keymaps/ewersp/config 2.h
deleted file mode 100644
index 1c801d7e3c1c..000000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/config 2.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define FORCE_NKRO
diff --git a/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c b/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
deleted file mode 100644
index 483ea3cfb2a1..000000000000
--- a/keyboards/massdrop/alt/keymaps/ewersp/keymap 2.c
+++ /dev/null
@@ -1,196 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum alt_keycodes {
- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
- U_T_AGCR, //USB Toggle Automatic GCR control
- DBG_TOG, //DEBUG Toggle On / Off
- DBG_MTRX, //DEBUG Toggle Matrix Prints
- DBG_KBD, //DEBUG Toggle Keyboard Prints
- DBG_MOU, //DEBUG Toggle Mouse Prints
- MD_BOOT, //Restart into bootloader after hold timeout
- ALT_DEL, //Added to map left alt + backspace to delete
-};
-
-// Friendly layer names
-enum alt_layers {
- DEF = 0,
- ALT,
- FUNC,
- SUPR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [DEF] = LAYOUT_65_ansi_blocker(
- 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_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_BSLS, KC_HOME,
- 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_PGUP,
- 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_PGDN,
- KC_LCTL, KC_LGUI, MO(SUPR), KC_SPC, KC_RALT, MO(FUNC),KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [ALT] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______
- ),
- [FUNC] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, TG(ALT), _______, _______, KC_PGUP, KC_VOLD,
- _______, _______, KC_LALT, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [SUPR] = LAYOUT_65_ansi_blocker(
- 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, ALT_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
- )
-};
-
-// If the super alt layer is the active layer
-bool super_alt_layer_active = false;
-
-// If we need to unregister alt when leaving the super alt layer
-bool need_to_unregister_alt = false;
-
-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
-
-// Taken from 'g_led_config' in config_led.c
-#define CAPS_LOCK_LED_ID 30
-
-// This runs every matrix scan (every 'frame')
-void rgb_matrix_indicators_user(void) {
- led_flags_t flags = rgb_matrix_get_flags();
-
- // If we're in either keylight or underglow modes (but not both simultaneously)
- if (HAS_FLAGS(flags, LED_FLAG_KEYLIGHT) != HAS_FLAGS(flags, LED_FLAG_UNDERGLOW)) {
-
- // This fixes a bug where the caps lock LED flickers when toggled in either keylight or underglow modes
- if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
- rgb_matrix_set_color(CAPS_LOCK_LED_ID, RGB_WHITE);
- } else {
- rgb_matrix_set_color(CAPS_LOCK_LED_ID, 0, 0, 0);
- }
- }
-}
-
-// This runs code every time that the layers get changed
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case DEF:
- // When returning to the default layer, check if we need to unregister the left alt key
- if (super_alt_layer_active && need_to_unregister_alt) {
- unregister_code(KC_LALT);
- }
-
- super_alt_layer_active = false;
- need_to_unregister_alt = false;
- break;
- case SUPR:
- super_alt_layer_active = true;
- break;
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- switch (keycode) {
- // These are the keys we want to 'fall though' and behave as usual when pressed with the alt modifier
- case KC_A ... KC_Z:
- case KC_TAB:
- case KC_DEL:
- case KC_UP:
- case KC_DOWN:
- case MO(FUNC):
- if (super_alt_layer_active && record->event.pressed) {
- // Only activate the alt modifier for the first key press
- if ((get_mods() & MOD_BIT(KC_LALT)) == false) {
- register_code(KC_LALT);
- need_to_unregister_alt = true;
- }
- }
- // We still want to process the keycode normally
- return true;
- case ALT_DEL:
- if (record->event.pressed) {
- register_code(KC_DEL);
- } else {
- unregister_code(KC_DEL);
- }
- return false;
- case U_T_AUTO:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
- }
- return false;
- case U_T_AGCR:
- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
- }
- return false;
- case DBG_TOG:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
- }
- return false;
- case DBG_MTRX:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
- }
- return false;
- case DBG_KBD:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
- }
- return false;
- case DBG_MOU:
- if (record->event.pressed) {
- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
- }
- return false;
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- case RGB_TOG:
- if (record->event.pressed) {
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- }
- return false;
- default:
- return true; // Process all other keycodes normally
- }
-}
diff --git a/keyboards/mechlovin/infinity87/config 2.h b/keyboards/mechlovin/infinity87/config 2.h
deleted file mode 100644
index 6c1545024c3a..000000000000
--- a/keyboards/mechlovin/infinity87/config 2.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright 2020 Team Mechlovin'
-
-This 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 0x4D4C // ML
-#define PRODUCT_ID 0x8701
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Team.Mechlovin
-#define PRODUCT Infinity 87
-#define DESCRIPTION Team.Mechlovin Infinity 87
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 17
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
-#define MATRIX_COL_PINS { C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7,B1, B2, B10, B3, B14, B15 }
-
-#define DIODE_DIRECTION COL2ROW
-
-
-#define BACKLIGHT_PIN B0
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
-
-#define RGB_DI_PIN A15
-#define RGBLED_NUM 26
-#define RGBLIGHT_LIMIT_VAL 255
-#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-/*== all animations enable ==*/
-#define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #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
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/infinity87 2.c b/keyboards/mechlovin/infinity87/infinity87 2.c
deleted file mode 100644
index 2de528bc366a..000000000000
--- a/keyboards/mechlovin/infinity87/infinity87 2.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This 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 "infinity87.h"
-
-void matrix_init_kb(void) {
- matrix_init_user();
- led_init_ports();
-}
-
-void led_init_ports(void) {
- setPinOutput(A3);
- writePinLow(A3);
- setPinOutput(A4);
- writePinLow(A4);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- writePin(A4, led_state.caps_lock);
- writePin(A3, led_state.num_lock);
- }
-
- return true;
-}
diff --git a/keyboards/mechlovin/infinity87/infinity87 2.h b/keyboards/mechlovin/infinity87/infinity87 2.h
deleted file mode 100644
index 4810d9d86a4f..000000000000
--- a/keyboards/mechlovin/infinity87/infinity87 2.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This 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_all( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K0D, K1E, K1F, K1G, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
- K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
- { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
-}
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/info 2.json b/keyboards/mechlovin/infinity87/info 2.json
deleted file mode 100644
index 78d6a29bc872..000000000000
--- a/keyboards/mechlovin/infinity87/info 2.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "keyboard_name": "infinity87",
- "url": "",
- "maintainer": "Team Mechlovin'",
- "width": 18.25,
- "height": 6.25,
- "layouts": {
- "LAYOUT_all": {
- "key_count": 91,
- "layout": [
- {"label":"K00 (B0,B6)", "x":0, "y":0},
- {"label":"K01 (B0,F4)", "x":2, "y":0},
- {"label":"K02 (B0,C0)", "x":3, "y":0},
- {"label":"K03 (B0,C1)", "x":4, "y":0},
- {"label":"K04 (B0,C2)", "x":5, "y":0},
- {"label":"K05 (B0,C3)", "x":6.5, "y":0},
- {"label":"K06 (B0,C4)", "x":7.5, "y":0},
- {"label":"K07 (B0,C5)", "x":8.5, "y":0},
- {"label":"K08 (B0,C6)", "x":9.5, "y":0},
- {"label":"K09 (B0,C7)", "x":11, "y":0},
- {"label":"K0A (B0,D0)", "x":12, "y":0},
- {"label":"K0B (B0,D1)", "x":13, "y":0},
- {"label":"K0C (B0,D2)", "x":14, "y":0},
- {"label":"K0E (B0,D4)", "x":15.25, "y":0},
- {"label":"K0F (B0,D5)", "x":16.25, "y":0},
- {"label":"K0G (B0,D6)", "x":17.25, "y":0},
- {"label":"K10 (B1,B6)", "x":0, "y":1.25},
- {"label":"K11 (B1,F4)", "x":1, "y":1.25},
- {"label":"K12 (B1,C0)", "x":2, "y":1.25},
- {"label":"K13 (B1,C1)", "x":3, "y":1.25},
- {"label":"K14 (B1,C2)", "x":4, "y":1.25},
- {"label":"K15 (B1,C3)", "x":5, "y":1.25},
- {"label":"K16 (B1,C4)", "x":6, "y":1.25},
- {"label":"K17 (B1,C5)", "x":7, "y":1.25},
- {"label":"K18 (B1,C6)", "x":8, "y":1.25},
- {"label":"K19 (B1,C7)", "x":9, "y":1.25},
- {"label":"K1A (B1,D0)", "x":10, "y":1.25},
- {"label":"K1B (B1,D1)", "x":11, "y":1.25},
- {"label":"K1C (B1,D2)", "x":12, "y":1.25},
- {"label":"K1D (B1,D3)", "x":13, "y":1.25},
- {"label":"K0D (B0,D3)", "x":14, "y":1.25},
- {"label":"K1E (B1,D4)", "x":15.25, "y":1.25},
- {"label":"K1F (B1,D5)", "x":16.25, "y":1.25},
- {"label":"K1G (B1,D6)", "x":17.25, "y":1.25},
- {"label":"K20 (B2,B6)", "x":0, "y":2.25, "w":1.5},
- {"label":"K21 (B2,F4)", "x":1.5, "y":2.25},
- {"label":"K22 (B2,C0)", "x":2.5, "y":2.25},
- {"label":"K23 (B2,C1)", "x":3.5, "y":2.25},
- {"label":"K24 (B2,C2)", "x":4.5, "y":2.25},
- {"label":"K25 (B2,C3)", "x":5.5, "y":2.25},
- {"label":"K26 (B2,C4)", "x":6.5, "y":2.25},
- {"label":"K27 (B2,C5)", "x":7.5, "y":2.25},
- {"label":"K28 (B2,C6)", "x":8.5, "y":2.25},
- {"label":"K29 (B2,C7)", "x":9.5, "y":2.25},
- {"label":"K2A (B2,D0)", "x":10.5, "y":2.25},
- {"label":"K2B (B2,D1)", "x":11.5, "y":2.25},
- {"label":"K2C (B2,D2)", "x":12.5, "y":2.25},
- {"label":"K2D (B2,D3)", "x":13.5, "y":2.25, "w":1.5},
- {"label":"K2E (B2,D4)", "x":15.25, "y":2.25},
- {"label":"K2F (B2,D5)", "x":16.25, "y":2.25},
- {"label":"K2G (B2,D6)", "x":17.25, "y":2.25},
- {"label":"K30 (B3,B6)", "x":0, "y":3.25, "w":1.75},
- {"label":"K31 (B3,F4)", "x":1.75, "y":3.25},
- {"label":"K32 (B3,C0)", "x":2.75, "y":3.25},
- {"label":"K33 (B3,C1)", "x":3.75, "y":3.25},
- {"label":"K34 (B3,C2)", "x":4.75, "y":3.25},
- {"label":"K35 (B3,C3)", "x":5.75, "y":3.25},
- {"label":"K36 (B3,C4)", "x":6.75, "y":3.25},
- {"label":"K37 (B3,C5)", "x":7.75, "y":3.25},
- {"label":"K38 (B3,C6)", "x":8.75, "y":3.25},
- {"label":"K39 (B3,C7)", "x":9.75, "y":3.25},
- {"label":"K3A (B3,D0)", "x":10.75, "y":3.25},
- {"label":"K3B (B3,D1)", "x":11.75, "y":3.25},
- {"label":"K3C (B3,D2)", "x":12.75, "y":3.25},
- {"label":"K3D (B3,D3)", "x":13.75, "y":3.25, "w":1.25},
- {"label":"K40 (B4,B6)", "x":0, "y":4.25, "w":1.25},
- {"label":"K41 (B4,F4)", "x":1.25, "y":4.25},
- {"label":"K42 (B4,C0)", "x":2.25, "y":4.25},
- {"label":"K43 (B4,C1)", "x":3.25, "y":4.25},
- {"label":"K44 (B4,C2)", "x":4.25, "y":4.25},
- {"label":"K45 (B4,C3)", "x":5.25, "y":4.25},
- {"label":"K46 (B4,C4)", "x":6.25, "y":4.25},
- {"label":"K47 (B4,C5)", "x":7.25, "y":4.25},
- {"label":"K48 (B4,C6)", "x":8.25, "y":4.25},
- {"label":"K49 (B4,C7)", "x":9.25, "y":4.25},
- {"label":"K4A (B4,D0)", "x":10.25, "y":4.25},
- {"label":"K4B (B4,D1)", "x":11.25, "y":4.25},
- {"label":"K4C (B4,D2)", "x":12.25, "y":4.25, "w":1.75},
- {"label":"K4D (B4,D3)", "x":14, "y":4.25},
- {"label":"K4F (B4,D5)", "x":16.25, "y":4.25},
- {"label":"K50 (B5,B6)", "x":0, "y":5.25, "w":1.25},
- {"label":"K51 (B5,F4)", "x":1.25, "y":5.25, "w":1.25},
- {"label":"K52 (B5,C0)", "x":2.5, "y":5.25, "w":1.25},
- {"label":"K56 (B5,C4)", "x":3.75, "y":5.25, "w":6.25},
- {"label":"K5A (B5,D0)", "x":10, "y":5.25, "w":1.25},
- {"label":"K5B (B5,D1)", "x":11.25, "y":5.25, "w":1.25},
- {"label":"K5C (B5,D2)", "x":12.5, "y":5.25, "w":1.25},
- {"label":"K5D (B5,D3)", "x":13.75, "y":5.25, "w":1.25},
- {"label":"K5E (B5,D4)", "x":15.25, "y":5.25},
- {"label":"K5F (B5,D5)", "x":16.25, "y":5.25},
- {"label":"K5G (B5,D6)", "x":17.25, "y":5.25}
- ]
- }
- }
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
-}
diff --git a/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c b/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
deleted file mode 100644
index a98abef90c8b..000000000000
--- a/keyboards/mechlovin/infinity87/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI,MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-};
diff --git a/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md b/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
deleted file mode 100644
index 01ef555056b7..000000000000
--- a/keyboards/mechlovin/infinity87/keymaps/default/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for infinity87
diff --git a/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c b/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
deleted file mode 100644
index 22250ad0e633..000000000000
--- a/keyboards/mechlovin/infinity87/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2020 Team Mechlovin'
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/mechlovin/infinity87/keymaps/via/readme 2.md b/keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
deleted file mode 100644
index 8867d290cdfb..000000000000
--- a/keyboards/mechlovin/infinity87/keymaps/via/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The via keymap for infinity87
diff --git a/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk b/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/mechlovin/infinity87/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/mechlovin/infinity87/readme 2.md b/keyboards/mechlovin/infinity87/readme 2.md
deleted file mode 100644
index 892cecef1d71..000000000000
--- a/keyboards/mechlovin/infinity87/readme 2.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# infinity87
-
-
-
-A replacement PCB for TKL keyboard. A87 form factor,south-facing stabilisers.
-
-* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
-* Hardware Supported: Infinity87 rev.1 (1.6mm & 1.2mm).
-* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=105853.0), [Reddit GB](https://www.reddit.com/r/mechmarket/comments/g4vf2w/gb_team_mechlovin_infinity_87_a87_form_factor/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make mechlovin/infinity87: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/mechlovin/infinity87/rules 2.mk b/keyboards/mechlovin/infinity87/rules 2.mk
deleted file mode 100644
index 00676c2ecb42..000000000000
--- a/keyboards/mechlovin/infinity87/rules 2.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# MCU name
-MCU = STM32F303
-
-# 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 = yes # 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 = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/mixi/config 2.h b/keyboards/mixi/config 2.h
deleted file mode 100644
index aed57f3241c9..000000000000
--- a/keyboards/mixi/config 2.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4752
-#define PRODUCT_ID 0x4D49
-#define DEVICE_VER 0x0001
-#define MANUFACTURER gregorio
-#define PRODUCT Mixi
-#define DESCRIPTION Mixi macropad by gregorio
-
-/* key matrix size */
-#define MATRIX_ROWS 3
-#define MATRIX_COLS 3
-
-/* Keyboard Matrix Assignments */
-#define DIRECT_PINS { \
- { D1, D4, F4 }, \
- { D0, B4, F5 }, \
- { C6, F7, B6 } \
-}
-
-#define ENCODERS_PAD_A { D7, B1 }
-#define ENCODERS_PAD_B { E6, B3 }
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#define RGB_DI_PIN B5
-#ifdef RGB_DI_PIN
-#define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-#define RGBLIGHT_ANIMATIONS
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYER_BLINK
-#endif
diff --git a/keyboards/mixi/info 2.json b/keyboards/mixi/info 2.json
deleted file mode 100644
index 123e23dc6be2..000000000000
--- a/keyboards/mixi/info 2.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "keyboard_name": "Mixi",
- "url": "https://tokopedia.com/sell-stuffs",
- "maintainer": "ohchiko",
- "width": 3,
- "height": 3,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2}
- ]
- }
- }
-}
diff --git a/keyboards/mixi/keymaps/default/keymap 2.c b/keyboards/mixi/keymaps/default/keymap 2.c
deleted file mode 100644
index 21c3c669a053..000000000000
--- a/keyboards/mixi/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,117 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// please change this value to the desired layer definitions
-#define LAYERNUM 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- * | Knob: Layer +/- |
- * .------------------------------------------------.
- * | Volume Mute | Media Play/Pause | Hold: Layer 2 |
- * |-------------|------------------|---------------|
- * | Media Prev | Up | Media Next |
- * |-------------|------------------|---------------|
- * | Left | Down | Right |
- * '------------------------------------------------'
- */
- [0] =
- LAYOUT(
- KC_MUTE, KC_MPLY, MO(2) ,
- KC_MPRV, KC_UP , KC_MNXT,
- KC_LEFT, KC_DOWN , KC_RGHT
- ),
-
- /*
- * | Knob: Layer +/- |
- * .---------------------------------------------------.
- * | RGB Toggle | Media Play/Pause | Hold: Layer 2 |
- * |----------------|------------------|---------------|
- * | Media Previous | RGB Bright+ | Media Next |
- * |----------------|------------------|---------------|
- * | RGB Anim- | RGB Bright- | RGB Anim+ |
- * '---------------------------------------------------'
- */
- [1] =
- LAYOUT(
- RGB_TOG , KC_TRNS, KC_TRNS,
- KC_TRNS , RGB_VAI, KC_TRNS,
- RGB_RMOD, RGB_VAD, RGB_MOD
- ),
-
- /*
- * | Knob: Volume +/- |
- * .--------------------------------------.
- * | N/A | N/A | Hold: Layer 2 |
- * |--------------|-------|---------------|
- * | RESET EEPROM | RESET | DEBUG MODE |
- * |--------------|-------|---------------|
- * | N/A | N/A | N/A |
- * '--------------------------------------'
- */
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_TRNS,
- EEP_RST, RESET, DEBUG ,
- KC_NO , KC_NO, KC_NO
- )
-
-};
-
-const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
- );
-const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
- );
-const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
- );
-
-const rgblight_segment_t* const PROGMEM _rgb_layers[] =
-RGBLIGHT_LAYERS_LIST(
- _base_layer,
- _middle_layer,
- _top_layer
- );
-
-void keyboard_post_init_user(void) {
- rgblight_layers = _rgb_layers;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
- switch (get_highest_layer(state)) {
- case 0:
- rgblight_blink_layer(0, 500);
- break;
- case 1:
- rgblight_blink_layer(1, 500);
- break;
- case 2:
- rgblight_blink_layer(2, 500);
- break;
- }
- return state;
-}
-
-uint8_t selected_layer = 0;
-void encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (layer_state_is(2)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else {
- if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
- selected_layer++;
- layer_move(selected_layer);
- } else if (!clockwise && selected_layer > 0) {
- selected_layer--;
- layer_move(selected_layer);
- }
- }
- }
-}
diff --git a/keyboards/mixi/keymaps/default/readme 2.md b/keyboards/mixi/keymaps/default/readme 2.md
deleted file mode 100644
index c780eb5f4e2a..000000000000
--- a/keyboards/mixi/keymaps/default/readme 2.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-# Default Mixi Layout
-
-This is the default layout that comes flashed on every Mixi macropad. Layer 1
-and Layer 2 are accessible by rotating the encoder. Layer 3 is not accessible
-by the encoder, instead is accessible by holding the [0,2] key on Layer 1. While
-Layer 3 is active, rotating the encoder will results in increasing/decreasing
-media volume. This layout is expected the encoder is on the left side or [0,0]
-key.
diff --git a/keyboards/mixi/keymaps/via/keymap 2.c b/keyboards/mixi/keymaps/via/keymap 2.c
deleted file mode 100644
index 4ffaf111dc63..000000000000
--- a/keyboards/mixi/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,134 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// please change this value to the desired layer definitions
-#define LAYERNUM 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- * | Knob: Layer +/- |
- * .------------------------------------------------.
- * | Volume Mute | Media Play/Pause | Hold: Layer 2 |
- * |-------------|------------------|---------------|
- * | Media Prev | Up | Media Next |
- * |-------------|------------------|---------------|
- * | Left | Down | Right |
- * '------------------------------------------------'
- */
- [0] =
- LAYOUT(
- KC_MUTE, KC_MPLY, MO(2) ,
- KC_MPRV, KC_UP , KC_MNXT,
- KC_LEFT, KC_DOWN , KC_RGHT
- ),
-
- /*
- * | Knob: Layer +/- |
- * .---------------------------------------------------.
- * | RGB Toggle | Media Play/Pause | Hold: Layer 2 |
- * |----------------|------------------|---------------|
- * | Media Previous | RGB Bright+ | Media Next |
- * |----------------|------------------|---------------|
- * | RGB Anim- | RGB Bright- | RGB Anim+ |
- * '---------------------------------------------------'
- */
- [1] =
- LAYOUT(
- RGB_TOG , KC_TRNS, KC_TRNS,
- KC_TRNS , RGB_VAI, KC_TRNS,
- RGB_RMOD, RGB_VAD, RGB_MOD
- ),
-
- /*
- * | Knob: Volume +/- |
- * .--------------------------------------.
- * | N/A | N/A | Hold: Layer 2 |
- * |--------------|-------|---------------|
- * | RESET EEPROM | RESET | DEBUG MODE |
- * |--------------|-------|---------------|
- * | N/A | N/A | N/A |
- * '--------------------------------------'
- */
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_TRNS,
- EEP_RST, RESET, DEBUG ,
- KC_NO , KC_NO, KC_NO
- ),
-
- /*
- * | Knob: N/A |
- * .-----------------.
- * | N/A | N/A | N/A |
- * |-----------------|
- * | N/A | N/A | N/A |
- * |-----------------|
- * | N/A | N/A | N/A |
- * '-----------------'
- */
- [3] =
- LAYOUT(
- KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO
- )
-
-};
-
-const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
- );
-const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
- );
-const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
- );
-
-const rgblight_segment_t* const PROGMEM _rgb_layers[] =
-RGBLIGHT_LAYERS_LIST(
- _base_layer,
- _middle_layer,
- _top_layer
- );
-
-void keyboard_post_init_user(void) {
- rgblight_layers = _rgb_layers;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
- switch (get_highest_layer(state)) {
- case 0:
- rgblight_blink_layer(0, 500);
- break;
- case 1:
- rgblight_blink_layer(1, 500);
- break;
- case 2:
- rgblight_blink_layer(2, 500);
- break;
- }
- return state;
-}
-
-uint8_t selected_layer = 0;
-void encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (layer_state_is(2)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else {
- if (clockwise && selected_layer < (LAYERNUM-2)) { /* Prevent switch to layer 2 using encoder */
- selected_layer++;
- layer_move(selected_layer);
- } else if (!clockwise && selected_layer > 0) {
- selected_layer--;
- layer_move(selected_layer);
- }
- }
- }
-}
diff --git a/keyboards/mixi/keymaps/via/rules 2.mk b/keyboards/mixi/keymaps/via/rules 2.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/mixi/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/mixi/mixi 2.c b/keyboards/mixi/mixi 2.c
deleted file mode 100644
index 43625bcd568d..000000000000
--- a/keyboards/mixi/mixi 2.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "mixi.h"
-
-void eeconfig_init_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable(); // Enable RGB underglow by default
- rgblight_sethsv(0, 255, 255);
-#ifdef RGBLIGHT_ANIMATIONS
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // Set to RGB_RAINBOW_SWIRL animation by default
-#endif
-#endif
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/mixi/mixi 2.h b/keyboards/mixi/mixi 2.h
deleted file mode 100644
index 8b2bc7090bab..000000000000
--- a/keyboards/mixi/mixi 2.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, \
- K10, K11, K12, \
- K20, K21, K22 \
- ) { \
- { K00, K01, K02 }, \
- { K10, K11, K12 }, \
- { K20, K21, K22 } \
-}
diff --git a/keyboards/mixi/readme 2.md b/keyboards/mixi/readme 2.md
deleted file mode 100644
index e8930809411a..000000000000
--- a/keyboards/mixi/readme 2.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Mixi
-
-
-
-A mini 3x3 macropad with rotary encoders support and RGB underglow and also tray mount support. Currently the PCB and kits can only be purchased in Indonesia.
-
-* Keyboard Maintainer: [ohchiko](https://github.com/ohchiko)
-* Hardware Supported: Mixi PCB, Arduino Pro Micro
-* Hardware Availability: [Tokopedia/Sell Stuffs](https://tokopedia.com/sell-stuffs) (Indonesia only).
-
-Make example for this keyboard (after setting up your build environment):
-
- make mixi: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/mixi/rules 2.mk b/keyboards/mixi/rules 2.mk
deleted file mode 100644
index 99b1f1cbc5ed..000000000000
--- a/keyboards/mixi/rules 2.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = caterina
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-ENCODER_ENABLE = yes
-AUDIO_ENABLE = no
diff --git a/keyboards/montsinger/rebound/rev4/config 2.h b/keyboards/montsinger/rebound/rev4/config 2.h
deleted file mode 100644
index c4fc053ea9c0..000000000000
--- a/keyboards/montsinger/rebound/rev4/config 2.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2020 Ross Montsinger
-This 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 0xFEED
-#define PRODUCT_ID 0x552F
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Montsinger
-#define PRODUCT Rebound
-#define DESCRIPTION "A conjoined Let's Split"
-
-/* key matrix size */
-
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 7
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on
-diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-
-#define MATRIX_ROW_PINS { D1, D0, D4, C6, F7, F6, F5, F4 }
-#define MATRIX_COL_PINS { D7, E6, B4, B5, B2, B3, B1 }
-#define UNUSED_PINS { B6 }
-
-#define ENCODERS_PAD_A { D2 }
-#define ENCODERS_PAD_B { D3 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/montsinger/rebound/rev4/info 2.json b/keyboards/montsinger/rebound/rev4/info 2.json
deleted file mode 100644
index 23893b6c689f..000000000000
--- a/keyboards/montsinger/rebound/rev4/info 2.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "keyboard":"montsinger/rebound/rev4",
- "url": "https://montsinger.net",
- "maintainer": "rossman360",
- "width": 13,
- "height": 4,
- "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":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
- {"x":4, "y":1},
- {"x":5, "y":1},
- {"x":6, "y":1},
- {"x":7, "y":1},
- {"x":8, "y":1},
- {"x":9, "y":1},
- {"x":10, "y":1},
- {"x":11, "y":1},
- {"x":12, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
- {"x":4, "y":2},
- {"x":5, "y":2},
- {"x":6, "y":2},
- {"x":7, "y":2},
- {"x":8, "y":2},
- {"x":9, "y":2},
- {"x":10, "y":2},
- {"x":11, "y":2},
- {"x":12, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
- {"x":4, "y":3},
- {"x":5, "y":3},
- {"x":6, "y":3},
- {"x":7, "y":3},
- {"x":8, "y":3},
- {"x":9, "y":3},
- {"x":10, "y":3},
- {"x":11, "y":3},
- {"x":12, "y":3}
- ]
- },
- "LAYOUT_ortho_4x12": {
- "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":7, "y":0},
- {"x":8, "y":0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
-
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
- {"x":4, "y":1},
- {"x":5, "y":1},
-
- {"x":7, "y":1},
- {"x":8, "y":1},
- {"x":9, "y":1},
- {"x":10, "y":1},
- {"x":11, "y":1},
- {"x":12, "y":1},
-
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
- {"x":4, "y":2},
- {"x":5, "y":2},
-
- {"x":7, "y":2},
- {"x":8, "y":2},
- {"x":9, "y":2},
- {"x":10, "y":2},
- {"x":11, "y":2},
- {"x":12, "y":2},
-
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
- {"x":4, "y":3},
- {"x":5, "y":3},
-
- {"x":7, "y":3},
- {"x":8, "y":3},
- {"x":9, "y":3},
- {"x":10, "y":3},
- {"x":11, "y":3},
- {"x":12, "y":3}
- ]
- }
- }
-}
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c b/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
deleted file mode 100644
index be038b1f53d7..000000000000
--- a/keyboards/montsinger/rebound/rev4/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum layer_names {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define ADJUST MO(_ADJUST)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_all(
- 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_PGUP, 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_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_COLEMAK] = LAYOUT_all(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- KC_ESC, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_DVORAK] = LAYOUT_all(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
- KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, _______, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[_LOWER] = LAYOUT_all(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[_RAISE] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[_ADJUST] = LAYOUT_all(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
-
-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 QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- break;
- }
- return true;
-}
-
-void encoder_update_user(uint8_t index, bool clockwise) {
- if (clockwise) {
- tap_code16(S(KC_VOLD));
- } else {
- tap_code16(KC_VOLU);
- }
-}
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
deleted file mode 100644
index a0c3ab639547..000000000000
--- a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/keymap 2.c
+++ /dev/null
@@ -1,120 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "rossman360.h"
-
-#define PGMOD LT(_NUM, KC_PGDN)
-#define TABMOD LT(_FN1, KC_TAB)
-#define SPCMOD LT(_FN1, KC_SPACE)
-#define ENTMOD LT(_FN2, KC_ENTER)
-#define ESCMOD LT(_NUM, KC_ESC)
-#define RSMOD LT(_FN1, KC_RSHIFT)
-#
-
-enum layer_names {
- _BASE,
- _DEL,
- _FN1,
- _FN2,
- _NUM,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_BASE] = LAYOUT_all(
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , NTAB ,
- JUMPBACK, KC_A , KC_S , KC_D , KC_F , KC_G ,MO(_DEL), KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , LM(_FN1, MOD_LALT), KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
- CMDBSP , ALTDEL , KC_NO , CTRLSP , TABMOD , PGMOD , QUIT , ENTMOD , SPCMOD , MO(_DEL),KC_NO , KC_BSPC, KC_DEL
- ),
-
-[_FN1] = LAYOUT_all(
- _______, TAB1 , TAB2 , TAB3 , TAB4 , _______, _______, UNDO , _______, _______, _______, CTAB ,
- KC_CAPS, _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , KC_NO ,
- _______, _______, XPANDR , _______, PMERGE , _______, _______, _______, PMERGE , KC_DOWN, _______, _______, EMDASH ,
- WREFRESH,_______, _______, _______, LWORD , RWORD , _______, KC_NO , _______, KC_NO , _______, _______, _______
- ),
-
-[_FN2] = LAYOUT_all(
- _______, SPEAK1 , SPEAK2 , SPEAK3 , SPEAK4 , _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, PARADOWN, CSPEAK, _______, _______, KC_NO , KC_NO , _______, _______, _______
- ),
-
-[_DEL] = LAYOUT_all(
- RESET, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
- REMCAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
- _______, _______, _______, BLINE , KC_BSPC, BWORD , _______, KC_NO , KC_NO , _______, _______, _______, _______
- ),
-
-[_NUM] = LAYOUT_all(
- KC_GRV , KC_1 , KC_7 , KC_8 , KC_9 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_MINS, KC_EQL,
- KC_CAPS, _______, KC_4 , KC_5 , KC_6 , KC_BSPC, KC_LBRC, KC_MINS, KC_4 , KC_5 , KC_6 , KC_COLN, _______,
- KC_COMM, KC_DOT , KC_1 , KC_2 , KC_3 ,KC_ENTER, KC_RBRC, KC_RBRC, KC_1 , KC_2 , KC_3 , KC_BSLS, _______,
- _______, _______, _______, _______, KC_0 , _______, _______, KC_NO , KC_NO , KC_0 , _______, _______, _______
- )
-};
-
-void encoder_update_user(uint8_t index, bool clockwise) {
- switch(get_highest_layer(layer_state)){
-case _BASE:
- if (clockwise) {
- tap_code16(KC_VOLD);
- } else {
- tap_code16(KC_VOLU);
- }
- break;
-case _DEL:
- if (clockwise) {
- tap_code16(KC_F11);
- } else {
- tap_code16(KC_F3);
- }
- break;
-
- case _FN1:
- if (clockwise) {
- tap_code16(S(KC_TAB));
- } else {
- tap_code16(KC_TAB);
- }
- break;
-}
-}
-
-#ifdef OLED_DRIVER_ENABLE
-void oled_task_user(void) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR(""), false);
-
- switch (get_highest_layer(layer_state)) {
- case _BASE:
- oled_write_P(PSTR("Rebound\n"), false);
- oled_write_P(PSTR("Rev3.1\n"), false);
- break;
- case _FN1:
- oled_write_P(PSTR("Fn\n"), false);
- break;
- case _FN2:
- oled_write_P(PSTR("Para\n"), false);
- break;
- case _NUM:
- oled_write_P(PSTR("Num\n"), false);
- break;
- case _DEL:
- oled_write_P(PSTR("Del\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
-}
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
-
-}
-
-#endif
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk b/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
deleted file mode 100644
index fa835793e75a..000000000000
--- a/keyboards/montsinger/rebound/rev4/keymaps/rossman360/rules 2.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-OLED_DRIVER_ENABLE = no
diff --git a/keyboards/montsinger/rebound/rev4/rev4 2.h b/keyboards/montsinger/rebound/rev4/rev4 2.h
deleted file mode 100644
index 923f7d1a2477..000000000000
--- a/keyboards/montsinger/rebound/rev4/rev4 2.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2020 Ross Montsinger
- *
- * This 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"
-
-/* This is a shortcut to help you visually see your layout.
- * The first section contains all of the arguments representing the
- * 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_ortho_4x12( \
- K00, K70, K01, K71, K02, K72, K04, K84, K05, K75, K06, K76, \
- K10, K60, K11, K61, K12, K62, K14, K74, K15, K65, K16, K66, \
- K20, K50, K21, K51, K22, K52, K24, K64, K25, K55, K26, K56,\
- K30, K40, K31, K41, K32, K42, K34, K54, K35, K45, K36, K46\
- ) { \
- { K00, K01, K02, K04, K05, K06, K07}, \
- { K10, K11, K12, K14, K15, K16, K17 }, \
- { K20, K21, K22, K24, K25, K26, K27 }, \
- { K30, K31, K32, K34, K35, K36, K37 }, \
- { K40, K41, K42, K44, K45, K46, K47 }, \
- { K50, K51, K52, K54, K55, K56, K57 }, \
- { K60, K61, K62, K64, K65, K66, K67 }, \
- { K70, K71, K72, K74, K75, K76, K77 } \
-}
-
-#define LAYOUT_all( \
- K00, K70, K01, K71, K02, K72, K04, K74, K05, K75, K06, K76, \
- K10, K60, K11, K61, K12, K62, K13, K14, K64, K15, K65, K16, K66, \
- K20, K50, K21, K51, K22, K52, K23, K24, K54, K25, K55, K26, K56,\
- K30, K40, K31, K41, K32, K42, K33, K34, K44, K35, K45, K36, K46\
- ) { \
- { K00, K01, K02, KC_NO, K04, K05, K06}, \
- { K10, K11, K12, K13, K14, K15, K16}, \
- { K20, K21, K22, K23, K24, K25, K26}, \
- { K30, K31, K32, K33, K34, K35, K36}, \
- { K40, K41, K42, KC_NO, K44, K45, K46}, \
- { K50, K51, K52, KC_NO, K54, K55, K56}, \
- { K60, K61, K62, KC_NO, K64, K65, K66}, \
- { K70, K71, K72, KC_NO, K74, K75, K76} \
-}
-
diff --git a/keyboards/montsinger/rebound/rev4/rules 2.mk b/keyboards/montsinger/rebound/rev4/rules 2.mk
deleted file mode 100644
index 0759709231e1..000000000000
--- a/keyboards/montsinger/rebound/rev4/rules 2.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = atmel-dfu
-
-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 = yes # 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
-MIDI_ENABLE = no # MIDI support
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-ENCODER_ENABLE = yes
-
-LAYOUTS = ortho_4x12
-LAYOUTS_HAS_RGB = no
-
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
deleted file mode 100644
index 7c09bd997cb1..000000000000
--- a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * This file has been automatically generated using ChibiStudio board
- * generator plugin. Do not edit manually.
- */
-
-#include "hal.h"
-#include "stm32_gpio.h"
-
-/*===========================================================================*/
-/* Driver local definitions. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver exported variables. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver local variables and types. */
-/*===========================================================================*/
-
-/**
- * @brief Type of STM32 GPIO port setup.
- */
-typedef struct {
- uint32_t moder;
- uint32_t otyper;
- uint32_t ospeedr;
- uint32_t pupdr;
- uint32_t odr;
- uint32_t afrl;
- uint32_t afrh;
-} gpio_setup_t;
-
-/**
- * @brief Type of STM32 GPIO initialization data.
- */
-typedef struct {
-#if STM32_HAS_GPIOA || defined(__DOXYGEN__)
- gpio_setup_t PAData;
-#endif
-#if STM32_HAS_GPIOB || defined(__DOXYGEN__)
- gpio_setup_t PBData;
-#endif
-#if STM32_HAS_GPIOC || defined(__DOXYGEN__)
- gpio_setup_t PCData;
-#endif
-#if STM32_HAS_GPIOD || defined(__DOXYGEN__)
- gpio_setup_t PDData;
-#endif
-#if STM32_HAS_GPIOE || defined(__DOXYGEN__)
- gpio_setup_t PEData;
-#endif
-#if STM32_HAS_GPIOF || defined(__DOXYGEN__)
- gpio_setup_t PFData;
-#endif
-#if STM32_HAS_GPIOG || defined(__DOXYGEN__)
- gpio_setup_t PGData;
-#endif
-#if STM32_HAS_GPIOH || defined(__DOXYGEN__)
- gpio_setup_t PHData;
-#endif
-#if STM32_HAS_GPIOI || defined(__DOXYGEN__)
- gpio_setup_t PIData;
-#endif
-#if STM32_HAS_GPIOJ || defined(__DOXYGEN__)
- gpio_setup_t PJData;
-#endif
-#if STM32_HAS_GPIOK || defined(__DOXYGEN__)
- gpio_setup_t PKData;
-#endif
-} gpio_config_t;
-
-/**
- * @brief STM32 GPIO static initialization data.
- */
-static const gpio_config_t gpio_default_config = {
-#if STM32_HAS_GPIOA
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
-#endif
-#if STM32_HAS_GPIOB
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
-#endif
-#if STM32_HAS_GPIOC
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
-#endif
-#if STM32_HAS_GPIOD
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
-#endif
-#if STM32_HAS_GPIOE
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
-#endif
-#if STM32_HAS_GPIOF
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
-#endif
-#if STM32_HAS_GPIOG
- {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
- VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
-#endif
-#if STM32_HAS_GPIOH
- {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
- VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
-#endif
-#if STM32_HAS_GPIOI
- {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
- VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
-#endif
-#if STM32_HAS_GPIOJ
- {VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
- VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH},
-#endif
-#if STM32_HAS_GPIOK
- {VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
- VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH}
-#endif
-};
-
-/*===========================================================================*/
-/* Driver local functions. */
-/*===========================================================================*/
-
-static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) {
-
- gpiop->OTYPER = config->otyper;
- gpiop->OSPEEDR = config->ospeedr;
- gpiop->PUPDR = config->pupdr;
- gpiop->ODR = config->odr;
- gpiop->AFRL = config->afrl;
- gpiop->AFRH = config->afrh;
- gpiop->MODER = config->moder;
-}
-
-static void stm32_gpio_init(void) {
-
- /* Enabling GPIO-related clocks, the mask comes from the
- registry header file.*/
- rccResetAHB(STM32_GPIO_EN_MASK);
- rccEnableAHB(STM32_GPIO_EN_MASK, true);
-
- /* Initializing all the defined GPIO ports.*/
-#if STM32_HAS_GPIOA
- gpio_init(GPIOA, &gpio_default_config.PAData);
-#endif
-#if STM32_HAS_GPIOB
- gpio_init(GPIOB, &gpio_default_config.PBData);
-#endif
-#if STM32_HAS_GPIOC
- gpio_init(GPIOC, &gpio_default_config.PCData);
-#endif
-#if STM32_HAS_GPIOD
- gpio_init(GPIOD, &gpio_default_config.PDData);
-#endif
-#if STM32_HAS_GPIOE
- gpio_init(GPIOE, &gpio_default_config.PEData);
-#endif
-#if STM32_HAS_GPIOF
- gpio_init(GPIOF, &gpio_default_config.PFData);
-#endif
-#if STM32_HAS_GPIOG
- gpio_init(GPIOG, &gpio_default_config.PGData);
-#endif
-#if STM32_HAS_GPIOH
- gpio_init(GPIOH, &gpio_default_config.PHData);
-#endif
-#if STM32_HAS_GPIOI
- gpio_init(GPIOI, &gpio_default_config.PIData);
-#endif
-#if STM32_HAS_GPIOJ
- gpio_init(GPIOJ, &gpio_default_config.PJData);
-#endif
-#if STM32_HAS_GPIOK
- gpio_init(GPIOK, &gpio_default_config.PKData);
-#endif
-}
-
-/*===========================================================================*/
-/* Driver interrupt handlers. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver exported functions. */
-/*===========================================================================*/
-
-/**
- * @brief Early initialization code.
- * @details GPIO ports and system clocks are initialized before everything
- * else.
- */
-void __early_init(void) {
- extern void enter_bootloader_mode_if_requested(void);
- enter_bootloader_mode_if_requested();
- stm32_gpio_init();
- stm32_clock_init();
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
-}
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
deleted file mode 100644
index 57636d1f12f5..000000000000
--- a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.h
+++ /dev/null
@@ -1,940 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * This file has been automatically generated using ChibiStudio board
- * generator plugin. Do not edit manually.
- */
-
-#ifndef BOARD_H
-#define BOARD_H
-
-/*===========================================================================*/
-/* Driver constants. */
-/*===========================================================================*/
-
-/*
- * Setup for ST STM32F072B-Discovery board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_ST_STM32F072B_DISCOVERY
-#define BOARD_NAME "ST STM32F072B-Discovery"
-
-/*
- * Board oscillators-related settings.
- * NOTE: HSE not fitted.
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK 32768
-#endif
-
-#define STM32_LSEDRV (3U << 3U)
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK 0U
-#endif
-
-#define STM32_HSE_BYPASS
-
-/*
- * MCU type as defined in the ST header.
- */
-#define STM32F072xB
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_BUTTON 0U
-#define GPIOA_PIN1 1U
-#define GPIOA_PIN2 2U
-#define GPIOA_PIN3 3U
-#define GPIOA_PIN4 4U
-#define GPIOA_PIN5 5U
-#define GPIOA_PIN6 6U
-#define GPIOA_PIN7 7U
-#define GPIOA_PIN8 8U
-#define GPIOA_PIN9 9U
-#define GPIOA_PIN10 10U
-#define GPIOA_USB_DM 11U
-#define GPIOA_USB_DP 12U
-#define GPIOA_SWDIO 13U
-#define GPIOA_SWCLK 14U
-#define GPIOA_PIN15 15U
-
-#define GPIOB_PIN0 0U
-#define GPIOB_PIN1 1U
-#define GPIOB_PIN2 2U
-#define GPIOB_PIN3 3U
-#define GPIOB_PIN4 4U
-#define GPIOB_PIN5 5U
-#define GPIOB_PIN6 6U
-#define GPIOB_PIN7 7U
-#define GPIOB_PIN8 8U
-#define GPIOB_PIN9 9U
-#define GPIOB_PIN10 10U
-#define GPIOB_PIN11 11U
-#define GPIOB_PIN12 12U
-#define GPIOB_SPI2_SCK 13U
-#define GPIOB_SPI2_MISO 14U
-#define GPIOB_SPI2_MOSI 15U
-
-#define GPIOC_MEMS_CS 0U
-#define GPIOC_PIN1 1U
-#define GPIOC_PIN2 2U
-#define GPIOC_PIN3 3U
-#define GPIOC_PIN4 4U
-#define GPIOC_PIN5 5U
-#define GPIOC_LED_RED 6U
-#define GPIOC_LED_BLUE 7U
-#define GPIOC_LED_ORANGE 8U
-#define GPIOC_LED_GREEN 9U
-#define GPIOC_PIN10 10U
-#define GPIOC_PIN11 11U
-#define GPIOC_PIN12 12U
-#define GPIOC_PIN13 13U
-#define GPIOC_OSC32_IN 14U
-#define GPIOC_OSC32_OUT 15U
-
-#define GPIOD_PIN0 0U
-#define GPIOD_PIN1 1U
-#define GPIOD_PIN2 2U
-#define GPIOD_PIN3 3U
-#define GPIOD_PIN4 4U
-#define GPIOD_PIN5 5U
-#define GPIOD_PIN6 6U
-#define GPIOD_PIN7 7U
-#define GPIOD_PIN8 8U
-#define GPIOD_PIN9 9U
-#define GPIOD_PIN10 10U
-#define GPIOD_PIN11 11U
-#define GPIOD_PIN12 12U
-#define GPIOD_PIN13 13U
-#define GPIOD_PIN14 14U
-#define GPIOD_PIN15 15U
-
-#define GPIOE_PIN0 0U
-#define GPIOE_PIN1 1U
-#define GPIOE_PIN2 2U
-#define GPIOE_PIN3 3U
-#define GPIOE_PIN4 4U
-#define GPIOE_PIN5 5U
-#define GPIOE_PIN6 6U
-#define GPIOE_PIN7 7U
-#define GPIOE_PIN8 8U
-#define GPIOE_PIN9 9U
-#define GPIOE_PIN10 10U
-#define GPIOE_PIN11 11U
-#define GPIOE_PIN12 12U
-#define GPIOE_PIN13 13U
-#define GPIOE_PIN14 14U
-#define GPIOE_PIN15 15U
-
-#define GPIOF_OSC_IN 0U
-#define GPIOF_OSC_OUT 1U
-#define GPIOF_PIN2 2U
-#define GPIOF_PIN3 3U
-#define GPIOF_PIN4 4U
-#define GPIOF_PIN5 5U
-#define GPIOF_PIN6 6U
-#define GPIOF_PIN7 7U
-#define GPIOF_PIN8 8U
-#define GPIOF_PIN9 9U
-#define GPIOF_PIN10 10U
-#define GPIOF_PIN11 11U
-#define GPIOF_PIN12 12U
-#define GPIOF_PIN13 13U
-#define GPIOF_PIN14 14U
-#define GPIOF_PIN15 15U
-
-/*
- * IO lines assignments.
- */
-#define LINE_BUTTON PAL_LINE(GPIOA, 0U)
-#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
-#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
-#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
-#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
-#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
-#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
-#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
-#define LINE_MEMS_CS PAL_LINE(GPIOC, 0U)
-#define LINE_LED_RED PAL_LINE(GPIOC, 6U)
-#define LINE_LED_BLUE PAL_LINE(GPIOC, 7U)
-#define LINE_LED_ORANGE PAL_LINE(GPIOC, 8U)
-#define LINE_LED_GREEN PAL_LINE(GPIOC, 9U)
-#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
-#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
-#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
-#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver macros. */
-/*===========================================================================*/
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
-#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
-#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
-#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
-#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
-
-/*
- * GPIOA setup:
- *
- * PA0 - BUTTON (input floating).
- * PA1 - PIN1 (input pullup).
- * PA2 - PIN2 (input pullup).
- * PA3 - PIN3 (input pullup).
- * PA4 - PIN4 (input pullup).
- * PA5 - PIN5 (input pullup).
- * PA6 - PIN6 (input pullup).
- * PA7 - PIN7 (input pullup).
- * PA8 - PIN8 (input pullup).
- * PA9 - PIN9 (input pullup).
- * PA10 - PIN10 (input pullup).
- * PA11 - USB_DM (input floating).
- * PA12 - USB_DP (input floating).
- * PA13 - SWDIO (alternate 0).
- * PA14 - SWCLK (alternate 0).
- * PA15 - PIN15 (input pullup).
- */
-#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \
- PIN_MODE_INPUT(GPIOA_PIN1) | \
- PIN_MODE_INPUT(GPIOA_PIN2) | \
- PIN_MODE_INPUT(GPIOA_PIN3) | \
- PIN_MODE_INPUT(GPIOA_PIN4) | \
- PIN_MODE_INPUT(GPIOA_PIN5) | \
- PIN_MODE_INPUT(GPIOA_PIN6) | \
- PIN_MODE_INPUT(GPIOA_PIN7) | \
- PIN_MODE_INPUT(GPIOA_PIN8) | \
- PIN_MODE_INPUT(GPIOA_PIN9) | \
- PIN_MODE_INPUT(GPIOA_PIN10) | \
- PIN_MODE_INPUT(GPIOA_USB_DM) | \
- PIN_MODE_INPUT(GPIOA_USB_DP) | \
- PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
- PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
- PIN_MODE_INPUT(GPIOA_PIN15))
-#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \
- PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \
- PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
- PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
-#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOA_USB_DM) | \
- PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \
- PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
- PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
- PIN_OSPEED_HIGH(GPIOA_PIN15))
-#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN10) | \
- PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
- PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
- PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \
- PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN15))
-#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \
- PIN_ODR_HIGH(GPIOA_PIN1) | \
- PIN_ODR_HIGH(GPIOA_PIN2) | \
- PIN_ODR_HIGH(GPIOA_PIN3) | \
- PIN_ODR_HIGH(GPIOA_PIN4) | \
- PIN_ODR_HIGH(GPIOA_PIN5) | \
- PIN_ODR_HIGH(GPIOA_PIN6) | \
- PIN_ODR_HIGH(GPIOA_PIN7) | \
- PIN_ODR_HIGH(GPIOA_PIN8) | \
- PIN_ODR_HIGH(GPIOA_PIN9) | \
- PIN_ODR_HIGH(GPIOA_PIN10) | \
- PIN_ODR_HIGH(GPIOA_USB_DM) | \
- PIN_ODR_HIGH(GPIOA_USB_DP) | \
- PIN_ODR_HIGH(GPIOA_SWDIO) | \
- PIN_ODR_HIGH(GPIOA_SWCLK) | \
- PIN_ODR_HIGH(GPIOA_PIN15))
-#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN1, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN6, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN7, 0U))
-#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN9, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOA_USB_DM, 0U) | \
- PIN_AFIO_AF(GPIOA_USB_DP, 0U) | \
- PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \
- PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \
- PIN_AFIO_AF(GPIOA_PIN15, 0U))
-
-/*
- * GPIOB setup:
- *
- * PB0 - PIN0 (input pullup).
- * PB1 - PIN1 (input pullup).
- * PB2 - PIN2 (input pullup).
- * PB3 - PIN3 (input pullup).
- * PB4 - PIN4 (input pullup).
- * PB5 - PIN5 (input pullup).
- * PB6 - PIN6 (input pullup).
- * PB7 - PIN7 (input pullup).
- * PB8 - PIN8 (input pullup).
- * PB9 - PIN9 (input pullup).
- * PB10 - PIN10 (input pullup).
- * PB11 - PIN11 (input pullup).
- * PB12 - PIN12 (input pullup).
- * PB13 - SPI2_SCK (alternate 0).
- * PB14 - SPI2_MISO (alternate 0).
- * PB15 - SPI2_MOSI (alternate 0).
- */
-#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \
- PIN_MODE_INPUT(GPIOB_PIN1) | \
- PIN_MODE_INPUT(GPIOB_PIN2) | \
- PIN_MODE_INPUT(GPIOB_PIN3) | \
- PIN_MODE_INPUT(GPIOB_PIN4) | \
- PIN_MODE_INPUT(GPIOB_PIN5) | \
- PIN_MODE_INPUT(GPIOB_PIN6) | \
- PIN_MODE_INPUT(GPIOB_PIN7) | \
- PIN_MODE_INPUT(GPIOB_PIN8) | \
- PIN_MODE_INPUT(GPIOB_PIN9) | \
- PIN_MODE_INPUT(GPIOB_PIN10) | \
- PIN_MODE_INPUT(GPIOB_PIN11) | \
- PIN_MODE_INPUT(GPIOB_PIN12) | \
- PIN_MODE_ALTERNATE(GPIOB_SPI2_SCK) | \
- PIN_MODE_ALTERNATE(GPIOB_SPI2_MISO) | \
- PIN_MODE_ALTERNATE(GPIOB_SPI2_MOSI))
-#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOB_SPI2_SCK) | \
- PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MISO) | \
- PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MOSI))
-#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \
- PIN_OSPEED_HIGH(GPIOB_PIN2) | \
- PIN_OSPEED_HIGH(GPIOB_PIN3) | \
- PIN_OSPEED_HIGH(GPIOB_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOB_SPI2_SCK) | \
- PIN_OSPEED_VERYLOW(GPIOB_SPI2_MISO) | \
- PIN_OSPEED_VERYLOW(GPIOB_SPI2_MOSI))
-#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN12) | \
- PIN_PUPDR_FLOATING(GPIOB_SPI2_SCK) | \
- PIN_PUPDR_FLOATING(GPIOB_SPI2_MISO) | \
- PIN_PUPDR_FLOATING(GPIOB_SPI2_MOSI))
-#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \
- PIN_ODR_HIGH(GPIOB_PIN1) | \
- PIN_ODR_HIGH(GPIOB_PIN2) | \
- PIN_ODR_HIGH(GPIOB_PIN3) | \
- PIN_ODR_HIGH(GPIOB_PIN4) | \
- PIN_ODR_HIGH(GPIOB_PIN5) | \
- PIN_ODR_HIGH(GPIOB_PIN6) | \
- PIN_ODR_HIGH(GPIOB_PIN7) | \
- PIN_ODR_HIGH(GPIOB_PIN8) | \
- PIN_ODR_HIGH(GPIOB_PIN9) | \
- PIN_ODR_HIGH(GPIOB_PIN10) | \
- PIN_ODR_HIGH(GPIOB_PIN11) | \
- PIN_ODR_HIGH(GPIOB_PIN12) | \
- PIN_ODR_HIGH(GPIOB_SPI2_SCK) | \
- PIN_ODR_HIGH(GPIOB_SPI2_MISO) | \
- PIN_ODR_HIGH(GPIOB_SPI2_MOSI))
-#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN1, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN6, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN7, 0U))
-#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN11, 0U) | \
- PIN_AFIO_AF(GPIOB_PIN12, 0U) | \
- PIN_AFIO_AF(GPIOB_SPI2_SCK, 0U) | \
- PIN_AFIO_AF(GPIOB_SPI2_MISO, 0U) | \
- PIN_AFIO_AF(GPIOB_SPI2_MOSI, 0U))
-
-/*
- * GPIOC setup:
- *
- * PC0 - MEMS_CS (output pushpull maximum).
- * PC1 - PIN1 (input pullup).
- * PC2 - PIN2 (input pullup).
- * PC3 - PIN3 (input pullup).
- * PC4 - PIN4 (input pullup).
- * PC5 - PIN5 (input pullup).
- * PC6 - LED_RED (output pushpull maximum).
- * PC7 - LED_BLUE (output pushpull maximum).
- * PC8 - LED_ORANGE (output pushpull maximum).
- * PC9 - LED_GREEN (output pushpull maximum).
- * PC10 - PIN10 (input pullup).
- * PC11 - PIN11 (input pullup).
- * PC12 - PIN12 (input pullup).
- * PC13 - PIN13 (input pullup).
- * PC14 - OSC32_IN (input floating).
- * PC15 - OSC32_OUT (input floating).
- */
-#define VAL_GPIOC_MODER (PIN_MODE_OUTPUT(GPIOC_MEMS_CS) | \
- PIN_MODE_INPUT(GPIOC_PIN1) | \
- PIN_MODE_INPUT(GPIOC_PIN2) | \
- PIN_MODE_INPUT(GPIOC_PIN3) | \
- PIN_MODE_INPUT(GPIOC_PIN4) | \
- PIN_MODE_INPUT(GPIOC_PIN5) | \
- PIN_MODE_OUTPUT(GPIOC_LED_RED) | \
- PIN_MODE_OUTPUT(GPIOC_LED_BLUE) | \
- PIN_MODE_OUTPUT(GPIOC_LED_ORANGE) | \
- PIN_MODE_OUTPUT(GPIOC_LED_GREEN) | \
- PIN_MODE_INPUT(GPIOC_PIN10) | \
- PIN_MODE_INPUT(GPIOC_PIN11) | \
- PIN_MODE_INPUT(GPIOC_PIN12) | \
- PIN_MODE_INPUT(GPIOC_PIN13) | \
- PIN_MODE_INPUT(GPIOC_OSC32_IN) | \
- PIN_MODE_INPUT(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_MEMS_CS) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOC_LED_RED) | \
- PIN_OTYPE_PUSHPULL(GPIOC_LED_BLUE) | \
- PIN_OTYPE_PUSHPULL(GPIOC_LED_ORANGE) | \
- PIN_OTYPE_PUSHPULL(GPIOC_LED_GREEN) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
- PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_MEMS_CS) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
- PIN_OSPEED_HIGH(GPIOC_LED_RED) | \
- PIN_OSPEED_HIGH(GPIOC_LED_BLUE) | \
- PIN_OSPEED_HIGH(GPIOC_LED_ORANGE) | \
- PIN_OSPEED_HIGH(GPIOC_LED_GREEN) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
- PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \
- PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_MEMS_CS) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN5) | \
- PIN_PUPDR_FLOATING(GPIOC_LED_RED) | \
- PIN_PUPDR_FLOATING(GPIOC_LED_BLUE) | \
- PIN_PUPDR_FLOATING(GPIOC_LED_ORANGE) | \
- PIN_PUPDR_FLOATING(GPIOC_LED_GREEN) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN13) | \
- PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \
- PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_MEMS_CS) | \
- PIN_ODR_HIGH(GPIOC_PIN1) | \
- PIN_ODR_HIGH(GPIOC_PIN2) | \
- PIN_ODR_HIGH(GPIOC_PIN3) | \
- PIN_ODR_HIGH(GPIOC_PIN4) | \
- PIN_ODR_HIGH(GPIOC_PIN5) | \
- PIN_ODR_LOW(GPIOC_LED_RED) | \
- PIN_ODR_LOW(GPIOC_LED_BLUE) | \
- PIN_ODR_LOW(GPIOC_LED_ORANGE) | \
- PIN_ODR_LOW(GPIOC_LED_GREEN) | \
- PIN_ODR_HIGH(GPIOC_PIN10) | \
- PIN_ODR_HIGH(GPIOC_PIN11) | \
- PIN_ODR_HIGH(GPIOC_PIN12) | \
- PIN_ODR_HIGH(GPIOC_PIN13) | \
- PIN_ODR_HIGH(GPIOC_OSC32_IN) | \
- PIN_ODR_HIGH(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_MEMS_CS, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN1, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOC_LED_RED, 0U) | \
- PIN_AFIO_AF(GPIOC_LED_BLUE, 0U))
-#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_LED_ORANGE, 0U) | \
- PIN_AFIO_AF(GPIOC_LED_GREEN, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN11, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN12, 0U) | \
- PIN_AFIO_AF(GPIOC_PIN13, 0U) | \
- PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \
- PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
-
-/*
- * GPIOD setup:
- *
- * PD0 - PIN0 (input pullup).
- * PD1 - PIN1 (input pullup).
- * PD2 - PIN2 (input pullup).
- * PD3 - PIN3 (input pullup).
- * PD4 - PIN4 (input pullup).
- * PD5 - PIN5 (input pullup).
- * PD6 - PIN6 (input pullup).
- * PD7 - PIN7 (input pullup).
- * PD8 - PIN8 (input pullup).
- * PD9 - PIN9 (input pullup).
- * PD10 - PIN10 (input pullup).
- * PD11 - PIN11 (input pullup).
- * PD12 - PIN12 (input pullup).
- * PD13 - PIN13 (input pullup).
- * PD14 - PIN14 (input pullup).
- * PD15 - PIN15 (input pullup).
- */
-#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
- PIN_MODE_INPUT(GPIOD_PIN1) | \
- PIN_MODE_INPUT(GPIOD_PIN2) | \
- PIN_MODE_INPUT(GPIOD_PIN3) | \
- PIN_MODE_INPUT(GPIOD_PIN4) | \
- PIN_MODE_INPUT(GPIOD_PIN5) | \
- PIN_MODE_INPUT(GPIOD_PIN6) | \
- PIN_MODE_INPUT(GPIOD_PIN7) | \
- PIN_MODE_INPUT(GPIOD_PIN8) | \
- PIN_MODE_INPUT(GPIOD_PIN9) | \
- PIN_MODE_INPUT(GPIOD_PIN10) | \
- PIN_MODE_INPUT(GPIOD_PIN11) | \
- PIN_MODE_INPUT(GPIOD_PIN12) | \
- PIN_MODE_INPUT(GPIOD_PIN13) | \
- PIN_MODE_INPUT(GPIOD_PIN14) | \
- PIN_MODE_INPUT(GPIOD_PIN15))
-#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
-#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN15))
-#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN15))
-#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
- PIN_ODR_HIGH(GPIOD_PIN1) | \
- PIN_ODR_HIGH(GPIOD_PIN2) | \
- PIN_ODR_HIGH(GPIOD_PIN3) | \
- PIN_ODR_HIGH(GPIOD_PIN4) | \
- PIN_ODR_HIGH(GPIOD_PIN5) | \
- PIN_ODR_HIGH(GPIOD_PIN6) | \
- PIN_ODR_HIGH(GPIOD_PIN7) | \
- PIN_ODR_HIGH(GPIOD_PIN8) | \
- PIN_ODR_HIGH(GPIOD_PIN9) | \
- PIN_ODR_HIGH(GPIOD_PIN10) | \
- PIN_ODR_HIGH(GPIOD_PIN11) | \
- PIN_ODR_HIGH(GPIOD_PIN12) | \
- PIN_ODR_HIGH(GPIOD_PIN13) | \
- PIN_ODR_HIGH(GPIOD_PIN14) | \
- PIN_ODR_HIGH(GPIOD_PIN15))
-#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN1, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN6, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN7, 0U))
-#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN9, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN11, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN12, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN13, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN14, 0U) | \
- PIN_AFIO_AF(GPIOD_PIN15, 0U))
-
-/*
- * GPIOE setup:
- *
- * PE0 - PIN0 (input pullup).
- * PE1 - PIN1 (input pullup).
- * PE2 - PIN2 (input pullup).
- * PE3 - PIN3 (input pullup).
- * PE4 - PIN4 (input pullup).
- * PE5 - PIN5 (input pullup).
- * PE6 - PIN6 (input pullup).
- * PE7 - PIN7 (input pullup).
- * PE8 - PIN8 (input pullup).
- * PE9 - PIN9 (input pullup).
- * PE10 - PIN10 (input pullup).
- * PE11 - PIN11 (input pullup).
- * PE12 - PIN12 (input pullup).
- * PE13 - PIN13 (input pullup).
- * PE14 - PIN14 (input pullup).
- * PE15 - PIN15 (input pullup).
- */
-#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \
- PIN_MODE_INPUT(GPIOE_PIN1) | \
- PIN_MODE_INPUT(GPIOE_PIN2) | \
- PIN_MODE_INPUT(GPIOE_PIN3) | \
- PIN_MODE_INPUT(GPIOE_PIN4) | \
- PIN_MODE_INPUT(GPIOE_PIN5) | \
- PIN_MODE_INPUT(GPIOE_PIN6) | \
- PIN_MODE_INPUT(GPIOE_PIN7) | \
- PIN_MODE_INPUT(GPIOE_PIN8) | \
- PIN_MODE_INPUT(GPIOE_PIN9) | \
- PIN_MODE_INPUT(GPIOE_PIN10) | \
- PIN_MODE_INPUT(GPIOE_PIN11) | \
- PIN_MODE_INPUT(GPIOE_PIN12) | \
- PIN_MODE_INPUT(GPIOE_PIN13) | \
- PIN_MODE_INPUT(GPIOE_PIN14) | \
- PIN_MODE_INPUT(GPIOE_PIN15))
-#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
-#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN15))
-#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN15))
-#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
- PIN_ODR_HIGH(GPIOE_PIN1) | \
- PIN_ODR_HIGH(GPIOE_PIN2) | \
- PIN_ODR_HIGH(GPIOE_PIN3) | \
- PIN_ODR_HIGH(GPIOE_PIN4) | \
- PIN_ODR_HIGH(GPIOE_PIN5) | \
- PIN_ODR_HIGH(GPIOE_PIN6) | \
- PIN_ODR_HIGH(GPIOE_PIN7) | \
- PIN_ODR_HIGH(GPIOE_PIN8) | \
- PIN_ODR_HIGH(GPIOE_PIN9) | \
- PIN_ODR_HIGH(GPIOE_PIN10) | \
- PIN_ODR_HIGH(GPIOE_PIN11) | \
- PIN_ODR_HIGH(GPIOE_PIN12) | \
- PIN_ODR_HIGH(GPIOE_PIN13) | \
- PIN_ODR_HIGH(GPIOE_PIN14) | \
- PIN_ODR_HIGH(GPIOE_PIN15))
-#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN6, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN7, 0U))
-#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN9, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN11, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN12, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN13, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN14, 0U) | \
- PIN_AFIO_AF(GPIOE_PIN15, 0U))
-
-/*
- * GPIOF setup:
- *
- * PF0 - OSC_IN (input floating).
- * PF1 - OSC_OUT (input floating).
- * PF2 - PIN2 (input pullup).
- * PF3 - PIN3 (input pullup).
- * PF4 - PIN4 (input pullup).
- * PF5 - PIN5 (input pullup).
- * PF6 - PIN6 (input pullup).
- * PF7 - PIN7 (input pullup).
- * PF8 - PIN8 (input pullup).
- * PF9 - PIN9 (input pullup).
- * PF10 - PIN10 (input pullup).
- * PF11 - PIN11 (input pullup).
- * PF12 - PIN12 (input pullup).
- * PF13 - PIN13 (input pullup).
- * PF14 - PIN14 (input pullup).
- * PF15 - PIN15 (input pullup).
- */
-#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_OSC_IN) | \
- PIN_MODE_INPUT(GPIOF_OSC_OUT) | \
- PIN_MODE_INPUT(GPIOF_PIN2) | \
- PIN_MODE_INPUT(GPIOF_PIN3) | \
- PIN_MODE_INPUT(GPIOF_PIN4) | \
- PIN_MODE_INPUT(GPIOF_PIN5) | \
- PIN_MODE_INPUT(GPIOF_PIN6) | \
- PIN_MODE_INPUT(GPIOF_PIN7) | \
- PIN_MODE_INPUT(GPIOF_PIN8) | \
- PIN_MODE_INPUT(GPIOF_PIN9) | \
- PIN_MODE_INPUT(GPIOF_PIN10) | \
- PIN_MODE_INPUT(GPIOF_PIN11) | \
- PIN_MODE_INPUT(GPIOF_PIN12) | \
- PIN_MODE_INPUT(GPIOF_PIN13) | \
- PIN_MODE_INPUT(GPIOF_PIN14) | \
- PIN_MODE_INPUT(GPIOF_PIN15))
-#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) | \
- PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
-#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOF_OSC_IN) | \
- PIN_OSPEED_VERYLOW(GPIOF_OSC_OUT) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN15))
-#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \
- PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN15))
-#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_OSC_IN) | \
- PIN_ODR_HIGH(GPIOF_OSC_OUT) | \
- PIN_ODR_HIGH(GPIOF_PIN2) | \
- PIN_ODR_HIGH(GPIOF_PIN3) | \
- PIN_ODR_HIGH(GPIOF_PIN4) | \
- PIN_ODR_HIGH(GPIOF_PIN5) | \
- PIN_ODR_HIGH(GPIOF_PIN6) | \
- PIN_ODR_HIGH(GPIOF_PIN7) | \
- PIN_ODR_HIGH(GPIOF_PIN8) | \
- PIN_ODR_HIGH(GPIOF_PIN9) | \
- PIN_ODR_HIGH(GPIOF_PIN10) | \
- PIN_ODR_HIGH(GPIOF_PIN11) | \
- PIN_ODR_HIGH(GPIOF_PIN12) | \
- PIN_ODR_HIGH(GPIOF_PIN13) | \
- PIN_ODR_HIGH(GPIOF_PIN14) | \
- PIN_ODR_HIGH(GPIOF_PIN15))
-#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) | \
- PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN2, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN3, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN4, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN5, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN6, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN7, 0U))
-#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN9, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN10, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN11, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN12, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN13, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN14, 0U) | \
- PIN_AFIO_AF(GPIOF_PIN15, 0U))
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* BOARD_H */
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
deleted file mode 100644
index b98dcdd26c6a..000000000000
--- a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/board 2.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# List of all the board related files.
-BOARDSRC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY/board.c
-
-# Required include directories
-BOARDINC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY
diff --git a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg b/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
deleted file mode 100644
index 9c7cf4fd76a3..000000000000
--- a/keyboards/nebula12/boards/ST_STM32F072B_DISCOVERY/cfg/board 2.chcfg
+++ /dev/null
@@ -1,703 +0,0 @@
-
-
-
-
- resources/gencfg/processors/boards/stm32f0xx/templates
- ..
- 3.0.x
-
- ST STM32F072B-Discovery
- ST_STM32F072B_DISCOVERY
-
- STM32F072xB
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/keyboards/nebula12/bootloader_defs 2.h b/keyboards/nebula12/bootloader_defs 2.h
deleted file mode 100644
index 02c48c4e6dcb..000000000000
--- a/keyboards/nebula12/bootloader_defs 2.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Address for jumping to bootloader on STM32 chips. */
-/* It is chip dependent, the correct number can be looked up here (page 175):
- * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
- * This also requires a patch to chibios:
- * /tmk_core/tool/chibios/ch-bootloader-jump.patch
- */
-#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
diff --git a/keyboards/nebula12/chconf 2.h b/keyboards/nebula12/chconf 2.h
deleted file mode 100644
index 03f63da36a88..000000000000
--- a/keyboards/nebula12/chconf 2.h
+++ /dev/null
@@ -1,714 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file rt/templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-#define _CHIBIOS_RT_CONF_VER_6_0_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#if !defined(CH_CFG_ST_RESOLUTION)
-#define CH_CFG_ST_RESOLUTION 32
-#endif
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#if !defined(CH_CFG_ST_FREQUENCY)
-#define CH_CFG_ST_FREQUENCY 10000
-#endif
-
-/**
- * @brief Time intervals data size.
- * @note Allowed values are 16, 32 or 64 bits.
- */
-#if !defined(CH_CFG_INTERVALS_SIZE)
-#define CH_CFG_INTERVALS_SIZE 32
-#endif
-
-/**
- * @brief Time types data size.
- * @note Allowed values are 16 or 32 bits.
- */
-#if !defined(CH_CFG_TIME_TYPES_SIZE)
-#define CH_CFG_TIME_TYPES_SIZE 32
-#endif
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#if !defined(CH_CFG_ST_TIMEDELTA)
-#define CH_CFG_ST_TIMEDELTA 2
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#if !defined(CH_CFG_TIME_QUANTUM)
-#define CH_CFG_TIME_QUANTUM 0
-#endif
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#if !defined(CH_CFG_MEMCORE_SIZE)
-#define CH_CFG_MEMCORE_SIZE 0
-#endif
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#if !defined(CH_CFG_NO_IDLE_THREAD)
-#define CH_CFG_NO_IDLE_THREAD FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_OPTIMIZE_SPEED)
-#define CH_CFG_OPTIMIZE_SPEED FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_TM)
-#define CH_CFG_USE_TM FALSE
-#endif
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_REGISTRY)
-#define CH_CFG_USE_REGISTRY TRUE
-#endif
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_WAITEXIT)
-#define CH_CFG_USE_WAITEXIT TRUE
-#endif
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_SEMAPHORES)
-#define CH_CFG_USE_SEMAPHORES TRUE
-#endif
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-#endif
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MUTEXES)
-#define CH_CFG_USE_MUTEXES TRUE
-#endif
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-#endif
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#if !defined(CH_CFG_USE_CONDVARS)
-#define CH_CFG_USE_CONDVARS TRUE
-#endif
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
-#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
-#endif
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_EVENTS)
-#define CH_CFG_USE_EVENTS TRUE
-#endif
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-#endif
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MESSAGES)
-#define CH_CFG_USE_MESSAGES TRUE
-#endif
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-#endif
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#if !defined(CH_CFG_USE_MAILBOXES)
-#define CH_CFG_USE_MAILBOXES TRUE
-#endif
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMCORE)
-#define CH_CFG_USE_MEMCORE TRUE
-#endif
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#if !defined(CH_CFG_USE_HEAP)
-#define CH_CFG_USE_HEAP FALSE
-#endif
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMPOOLS)
-#define CH_CFG_USE_MEMPOOLS FALSE
-#endif
-
-/**
- * @brief Objects FIFOs APIs.
- * @details If enabled then the objects FIFOs APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_OBJ_FIFOS)
-#define CH_CFG_USE_OBJ_FIFOS FALSE
-#endif
-
-/**
- * @brief Pipes APIs.
- * @details If enabled then the pipes APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_PIPES)
-#define CH_CFG_USE_PIPES FALSE
-#endif
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#if !defined(CH_CFG_USE_DYNAMIC)
-#define CH_CFG_USE_DYNAMIC FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Objects factory options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Objects Factory APIs.
- * @details If enabled then the objects factory APIs are included in the
- * kernel.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_CFG_USE_FACTORY)
-#define CH_CFG_USE_FACTORY FALSE
-#endif
-
-/**
- * @brief Maximum length for object names.
- * @details If the specified length is zero then the name is stored by
- * pointer but this could have unintended side effects.
- */
-#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
-#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
-#endif
-
-/**
- * @brief Enables the registry of generic objects.
- */
-#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
-#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE
-#endif
-
-/**
- * @brief Enables factory for generic buffers.
- */
-#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
-#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE
-#endif
-
-/**
- * @brief Enables factory for semaphores.
- */
-#if !defined(CH_CFG_FACTORY_SEMAPHORES)
-#define CH_CFG_FACTORY_SEMAPHORES FALSE
-#endif
-
-/**
- * @brief Enables factory for mailboxes.
- */
-#if !defined(CH_CFG_FACTORY_MAILBOXES)
-#define CH_CFG_FACTORY_MAILBOXES FALSE
-#endif
-
-/**
- * @brief Enables factory for objects FIFOs.
- */
-#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
-#define CH_CFG_FACTORY_OBJ_FIFOS FALSE
-#endif
-
-/**
- * @brief Enables factory for Pipes.
- */
-#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
-#define CH_CFG_FACTORY_PIPES FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_STATISTICS)
-#define CH_DBG_STATISTICS FALSE
-#endif
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-#endif
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_ENABLE_CHECKS)
-#define CH_DBG_ENABLE_CHECKS FALSE
-#endif
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_ENABLE_ASSERTS)
-#define CH_DBG_ENABLE_ASSERTS FALSE
-#endif
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#if !defined(CH_DBG_TRACE_MASK)
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-#endif
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-#endif
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#if !defined(CH_DBG_ENABLE_STACK_CHECK)
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-#endif
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_FILL_THREADS)
-#define CH_DBG_FILL_THREADS FALSE
-#endif
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#if !defined(CH_DBG_THREADS_PROFILING)
-#define CH_DBG_THREADS_PROFILING FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System structure extension.
- * @details User fields added to the end of the @p ch_system_t structure.
- */
-#define CH_CFG_SYSTEM_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief System initialization hook.
- * @details User initialization code added to the @p chSysInit() function
- * just before interrupts are enabled globally.
- */
-#define CH_CFG_SYSTEM_INIT_HOOK() { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p _thread_init() function.
- *
- * @note It is invoked from within @p _thread_init() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/keyboards/nebula12/halconf 2.h b/keyboards/nebula12/halconf 2.h
deleted file mode 100644
index b5b151ee26a2..000000000000
--- a/keyboards/nebula12/halconf 2.h
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#define _CHIBIOS_HAL_CONF_
-#define _CHIBIOS_HAL_CONF_VER_7_0_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the cryptographic subsystem.
- */
-#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
-#define HAL_USE_CRY FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SIO subsystem.
- */
-#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
-#define HAL_USE_SIO FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the TRNG subsystem.
- */
-#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
-#define HAL_USE_TRNG FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/**
- * @brief Enables the WSPI subsystem.
- */
-#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
-#define HAL_USE_WSPI FALSE
-#endif
-
-/*===========================================================================*/
-/* PAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
-#define PAL_USE_CALLBACKS FALSE
-#endif
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
-#define PAL_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/**
- * @brief Enforces the driver to use direct callbacks rather than OSAL events.
- */
-#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
-#define CAN_ENFORCE_USE_CALLBACKS FALSE
-#endif
-
-/*===========================================================================*/
-/* CRY driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the SW fall-back of the cryptographic driver.
- * @details When enabled, this option, activates a fall-back software
- * implementation for algorithms not supported by the underlying
- * hardware.
- * @note Fall-back implementations may not be present for all algorithms.
- */
-#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
-#define HAL_CRY_USE_FALLBACK FALSE
-#endif
-
-/**
- * @brief Makes the driver forcibly use the fall-back implementations.
- */
-#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
-#define HAL_CRY_ENFORCE_FALLBACK FALSE
-#endif
-
-/*===========================================================================*/
-/* DAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
-#define DAC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define DAC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the zero-copy API.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/**
- * @brief OCR initialization constant for V20 cards.
- */
-#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
-#define SDC_INIT_OCR_V20 0x50FF8000U
-#endif
-
-/**
- * @brief OCR initialization constant for non-V20 cards.
- */
-#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
-#define SDC_INIT_OCR 0x80100000U
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 1
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables circular transfers APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
-#define SPI_USE_CIRCULAR FALSE
-#endif
-
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/**
- * @brief Handling method for SPI CS line.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
-#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT TRUE
-#endif
-
-/*===========================================================================*/
-/* WSPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
-#define WSPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define WSPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/keyboards/nebula12/info 2.json b/keyboards/nebula12/info 2.json
deleted file mode 100755
index 16d04fa86a56..000000000000
--- a/keyboards/nebula12/info 2.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "keyboard_name": "NEBULA12",
- "url": "",
- "maintainer": "yiancar",
- "width": 3,
- "height": 4,
- "layouts": {
- "LAYOUT_68_ansi": {
- "layout": [
- {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}
- ]
- }
- }
-}
diff --git a/keyboards/nebula12/keymaps/default/keymap 2.c b/keyboards/nebula12/keymaps/default/keymap 2.c
deleted file mode 100755
index 670d25e732a6..000000000000
--- a/keyboards/nebula12/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6,
- KC_P1, KC_P2, KC_P3,
- MO(1), KC_P0, KC_PDOT),
-
-[1] = LAYOUT_all( /* FN */
- RGB_TOG, RGB_MOD, KC_TRNS,
- EF_DEC, EF_INC, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_PENT),
-
-[2] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/nebula12/keymaps/default/readme 2.md b/keyboards/nebula12/keymaps/default/readme 2.md
deleted file mode 100755
index 706ec9f3bf7b..000000000000
--- a/keyboards/nebula12/keymaps/default/readme 2.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The default keymap for Nebula12. VIA support disabled.
-
-
-
-
-
-The full RGB control does not fit due to the small number of keys. Using VIA might be a good idea!
diff --git a/keyboards/nebula12/keymaps/via/keymap 2.c b/keyboards/nebula12/keymaps/via/keymap 2.c
deleted file mode 100755
index 670d25e732a6..000000000000
--- a/keyboards/nebula12/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6,
- KC_P1, KC_P2, KC_P3,
- MO(1), KC_P0, KC_PDOT),
-
-[1] = LAYOUT_all( /* FN */
- RGB_TOG, RGB_MOD, KC_TRNS,
- EF_DEC, EF_INC, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_PENT),
-
-[2] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/nebula12/keymaps/via/readme 2.md b/keyboards/nebula12/keymaps/via/readme 2.md
deleted file mode 100755
index 7023515d770d..000000000000
--- a/keyboards/nebula12/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The default keymap for Nebula12. VIA support enabled.
-
-
-
-
diff --git a/keyboards/nebula12/keymaps/via/rules 2.mk b/keyboards/nebula12/keymaps/via/rules 2.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/nebula12/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/nebula12/mcuconf 2.h b/keyboards/nebula12/mcuconf 2.h
deleted file mode 100644
index a414763ed1d0..000000000000
--- a/keyboards/nebula12/mcuconf 2.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * STM32F0xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 3...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F0xx_MCUCONF
-// #define STM32F070xB
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_HSI14_ENABLED TRUE
-#define STM32_HSI48_ENABLED FALSE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED FALSE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 12
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE STM32_PPRE_DIV1
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_USBSW STM32_USBSW_HSI48
-#define STM32_CECSW STM32_CECSW_HSI
-#define STM32_I2C1SW STM32_I2C1SW_HSI
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 2
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 TRUE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 2
-#define STM32_GPT_TIM2_IRQ_PRIORITY 2
-#define STM32_GPT_TIM3_IRQ_PRIORITY 2
-#define STM32_GPT_TIM14_IRQ_PRIORITY 2
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 TRUE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 3
-#define STM32_I2C_I2C2_IRQ_PRIORITY 3
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 3
-#define STM32_ICU_TIM2_IRQ_PRIORITY 3
-#define STM32_ICU_TIM3_IRQ_PRIORITY 3
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 3
-#define STM32_PWM_TIM2_IRQ_PRIORITY 3
-#define STM32_PWM_TIM3_IRQ_PRIORITY 3
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 3
-#define STM32_SERIAL_USART2_PRIORITY 3
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 TRUE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 2
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 3
-#define STM32_UART_USART2_IRQ_PRIORITY 3
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 TRUE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 3
-
-#endif /* _MCUCONF_H_ */
diff --git a/keyboards/nebula12/nebula12 2.c b/keyboards/nebula12/nebula12 2.c
deleted file mode 100755
index 6deecb8f47f4..000000000000
--- a/keyboards/nebula12/nebula12 2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef RGB_BACKLIGHT_NEBULA12
-#error RGB_BACKLIGHT_NEBULA12 not defined, recheck config.h
-#endif
-
-#include "nebula12.h"
diff --git a/keyboards/nebula12/nebula12 2.h b/keyboards/nebula12/nebula12 2.h
deleted file mode 100755
index 1c73fbdaeccc..000000000000
--- a/keyboards/nebula12/nebula12 2.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define XXX KC_NO
-
-#include "quantum.h"
-#include "../wilba_tech/wt_rgb_backlight_keycodes.h"
-
-// This a shortcut to help you visually see your layout.
-
-#define LAYOUT_all( \
- K00, K01, K02, \
- K10, K11, K12, \
- K20, K21, K22, \
- K30, K31, K32 \
-) { \
- { K00, K01, K02, }, \
- { K10, K11, K12, }, \
- { K20, K21, K22, }, \
- { K30, K31, K32, } \
-}
diff --git a/keyboards/nebula12/readme 2.md b/keyboards/nebula12/readme 2.md
deleted file mode 100755
index 3a68d0a97d18..000000000000
--- a/keyboards/nebula12/readme 2.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Nebula65
-
-This is a standard fixed layout 12 key PCB. It supports VIA, full per-key RGB and underglow RGB.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A 65% keyboard with STM32F072CB
-* Hardware Availability: https://spaceholdings.net/
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make nebula12:via
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or dfu-util (`make nebula12::dfu-util`)
diff --git a/keyboards/nebula12/rules 2.mk b/keyboards/nebula12/rules 2.mk
deleted file mode 100755
index c897d9ddaac2..000000000000
--- a/keyboards/nebula12/rules 2.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# MCU name
-MCU = STM32F072
-
-BOARD = ST_STM32F072B_DISCOVERY
-
-# Do not put the microcontroller into power saving mode
-# when we get USB suspend event. We want it to keep updating
-# backlight effects.
-OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
-
-# Build Options
-# comment out to disable the options.
-#
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-AUDIO_ENABLE = no # Audio output on port C6
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
-RGBLIGHT_ENABLE = yes # Underglow RGB
-WS2812_DRIVER = spi # Underglow RGB Driver
-
-CIE1931_CURVE = yes
-
-# project specific files
-SRC += keyboards/wilba_tech/wt_main.c \
- keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3731.c \
- quantum/color.c
-QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/nebula65/chconf 2.h b/keyboards/nebula65/chconf 2.h
deleted file mode 100644
index aac33037058e..000000000000
--- a/keyboards/nebula65/chconf 2.h
+++ /dev/null
@@ -1,714 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file rt/templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-#define _CHIBIOS_RT_CONF_VER_6_0_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#if !defined(CH_CFG_ST_RESOLUTION)
-#define CH_CFG_ST_RESOLUTION 32
-#endif
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#if !defined(CH_CFG_ST_FREQUENCY)
-#define CH_CFG_ST_FREQUENCY 100000
-#endif
-
-/**
- * @brief Time intervals data size.
- * @note Allowed values are 16, 32 or 64 bits.
- */
-#if !defined(CH_CFG_INTERVALS_SIZE)
-#define CH_CFG_INTERVALS_SIZE 32
-#endif
-
-/**
- * @brief Time types data size.
- * @note Allowed values are 16 or 32 bits.
- */
-#if !defined(CH_CFG_TIME_TYPES_SIZE)
-#define CH_CFG_TIME_TYPES_SIZE 32
-#endif
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#if !defined(CH_CFG_ST_TIMEDELTA)
-#define CH_CFG_ST_TIMEDELTA 2
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#if !defined(CH_CFG_TIME_QUANTUM)
-#define CH_CFG_TIME_QUANTUM 0
-#endif
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#if !defined(CH_CFG_MEMCORE_SIZE)
-#define CH_CFG_MEMCORE_SIZE 0
-#endif
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#if !defined(CH_CFG_NO_IDLE_THREAD)
-#define CH_CFG_NO_IDLE_THREAD FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_OPTIMIZE_SPEED)
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_TM)
-#define CH_CFG_USE_TM TRUE
-#endif
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_REGISTRY)
-#define CH_CFG_USE_REGISTRY TRUE
-#endif
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_WAITEXIT)
-#define CH_CFG_USE_WAITEXIT TRUE
-#endif
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_SEMAPHORES)
-#define CH_CFG_USE_SEMAPHORES TRUE
-#endif
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-#endif
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MUTEXES)
-#define CH_CFG_USE_MUTEXES TRUE
-#endif
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-#endif
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#if !defined(CH_CFG_USE_CONDVARS)
-#define CH_CFG_USE_CONDVARS TRUE
-#endif
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-#endif
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_EVENTS)
-#define CH_CFG_USE_EVENTS TRUE
-#endif
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-#endif
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MESSAGES)
-#define CH_CFG_USE_MESSAGES TRUE
-#endif
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
-#define CH_CFG_USE_MESSAGES_PRIORITY TRUE
-#endif
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#if !defined(CH_CFG_USE_MAILBOXES)
-#define CH_CFG_USE_MAILBOXES TRUE
-#endif
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMCORE)
-#define CH_CFG_USE_MEMCORE TRUE
-#endif
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#if !defined(CH_CFG_USE_HEAP)
-#define CH_CFG_USE_HEAP TRUE
-#endif
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMPOOLS)
-#define CH_CFG_USE_MEMPOOLS TRUE
-#endif
-
-/**
- * @brief Objects FIFOs APIs.
- * @details If enabled then the objects FIFOs APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_OBJ_FIFOS)
-#define CH_CFG_USE_OBJ_FIFOS TRUE
-#endif
-
-/**
- * @brief Pipes APIs.
- * @details If enabled then the pipes APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_PIPES)
-#define CH_CFG_USE_PIPES TRUE
-#endif
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#if !defined(CH_CFG_USE_DYNAMIC)
-#define CH_CFG_USE_DYNAMIC TRUE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Objects factory options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Objects Factory APIs.
- * @details If enabled then the objects factory APIs are included in the
- * kernel.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_CFG_USE_FACTORY)
-#define CH_CFG_USE_FACTORY TRUE
-#endif
-
-/**
- * @brief Maximum length for object names.
- * @details If the specified length is zero then the name is stored by
- * pointer but this could have unintended side effects.
- */
-#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
-#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
-#endif
-
-/**
- * @brief Enables the registry of generic objects.
- */
-#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
-#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
-#endif
-
-/**
- * @brief Enables factory for generic buffers.
- */
-#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
-#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
-#endif
-
-/**
- * @brief Enables factory for semaphores.
- */
-#if !defined(CH_CFG_FACTORY_SEMAPHORES)
-#define CH_CFG_FACTORY_SEMAPHORES TRUE
-#endif
-
-/**
- * @brief Enables factory for mailboxes.
- */
-#if !defined(CH_CFG_FACTORY_MAILBOXES)
-#define CH_CFG_FACTORY_MAILBOXES TRUE
-#endif
-
-/**
- * @brief Enables factory for objects FIFOs.
- */
-#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
-#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
-#endif
-
-/**
- * @brief Enables factory for Pipes.
- */
-#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
-#define CH_CFG_FACTORY_PIPES TRUE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_STATISTICS)
-#define CH_DBG_STATISTICS FALSE
-#endif
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-#endif
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_ENABLE_CHECKS)
-#define CH_DBG_ENABLE_CHECKS FALSE
-#endif
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_ENABLE_ASSERTS)
-#define CH_DBG_ENABLE_ASSERTS FALSE
-#endif
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#if !defined(CH_DBG_TRACE_MASK)
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-#endif
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-#endif
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#if !defined(CH_DBG_ENABLE_STACK_CHECK)
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-#endif
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#if !defined(CH_DBG_FILL_THREADS)
-#define CH_DBG_FILL_THREADS FALSE
-#endif
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#if !defined(CH_DBG_THREADS_PROFILING)
-#define CH_DBG_THREADS_PROFILING FALSE
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System structure extension.
- * @details User fields added to the end of the @p ch_system_t structure.
- */
-#define CH_CFG_SYSTEM_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief System initialization hook.
- * @details User initialization code added to the @p chSysInit() function
- * just before interrupts are enabled globally.
- */
-#define CH_CFG_SYSTEM_INIT_HOOK() { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p _thread_init() function.
- *
- * @note It is invoked from within @p _thread_init() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/keyboards/nebula65/config 2.h b/keyboards/nebula65/config 2.h
deleted file mode 100755
index efd413328714..000000000000
--- a/keyboards/nebula65/config 2.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-Copyright 2020 Yiancar
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x5336
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT NEBULA65
-#define DESCRIPTION "A 65-percent, tool-free RGB keyboard"
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-#define MATRIX_ROW_PINS { B3, B4, B5, A8, A4 }
-#define MATRIX_COL_PINS { A13, A10, A9, A14, A15, B8, B9, C13, C14, C15, A0, A1, A2, A3, A5 }
-// To enable debugger set A13 A14 -> A5 A7
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
-#define WS2812_PWM_CHANNEL 2 // default: 2
-#define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
-#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-
-#define RGB_DI_PIN A7
-#ifdef RGB_DI_PIN
- #define RGBLED_NUM 10
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_LIMIT_VAL 210 /* The maximum brightness level */
- #define RGBLIGHT_ANIMATIONS
-#endif
-
-/* Bootmagic Lite key configuration */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 0
-
-/* Backlight options */
-
-#define RGB_BACKLIGHT_ENABLED 1
-
-#define RGB_BACKLIGHT_NEBULA65
-
-// they aren't really used if RGB_BACKLIGHT_NEBULA65 defined
-#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
-#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
-#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
-#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
-#define RGB_BACKLIGHT_USE_ISO_ENTER 0
-#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
-
-// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
-#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
-
-// disable backlight after timeout in minutes, 0 = no timeout
-#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
-
-// the default brightness
-#define RGB_BACKLIGHT_BRIGHTNESS 255
-
-// the default effect (RGB test)
-#define RGB_BACKLIGHT_EFFECT 6
-
-// the default effect speed (0-3)
-#define RGB_BACKLIGHT_EFFECT_SPEED 0
-
-// the default color1 and color2
-#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
-#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
-
-#define DRIVER_COUNT 2
-#define DRIVER_LED_TOTAL 128
-
-// These define which keys in the matrix are alphas/mods
-// Used for backlight effects so colors are different for
-// alphas vs. mods
-// Each value is for a row, bit 0 is column 0
-// Alpha=0 Mod=1
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0100000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0110000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0111111000000111
-
-#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-
-// Backlight config starts after VIA's EEPROM usage,
-// dynamic keymaps start after this.
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 32
-
-// VIA lighting is handled by the keyboard-level code
-#define VIA_CUSTOM_LIGHTING_ENABLE
-#define VIA_QMK_RGBLIGHT_ENABLE
diff --git a/keyboards/nebula65/halconf 2.h b/keyboards/nebula65/halconf 2.h
deleted file mode 100644
index e4952ece8720..000000000000
--- a/keyboards/nebula65/halconf 2.h
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#define _CHIBIOS_HAL_CONF_
-#define _CHIBIOS_HAL_CONF_VER_7_0_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the cryptographic subsystem.
- */
-#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
-#define HAL_USE_CRY FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SIO subsystem.
- */
-#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
-#define HAL_USE_SIO FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the TRNG subsystem.
- */
-#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
-#define HAL_USE_TRNG FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/**
- * @brief Enables the WSPI subsystem.
- */
-#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
-#define HAL_USE_WSPI FALSE
-#endif
-
-/*===========================================================================*/
-/* PAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
-#define PAL_USE_CALLBACKS FALSE
-#endif
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
-#define PAL_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/**
- * @brief Enforces the driver to use direct callbacks rather than OSAL events.
- */
-#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
-#define CAN_ENFORCE_USE_CALLBACKS FALSE
-#endif
-
-/*===========================================================================*/
-/* CRY driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the SW fall-back of the cryptographic driver.
- * @details When enabled, this option, activates a fall-back software
- * implementation for algorithms not supported by the underlying
- * hardware.
- * @note Fall-back implementations may not be present for all algorithms.
- */
-#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
-#define HAL_CRY_USE_FALLBACK FALSE
-#endif
-
-/**
- * @brief Makes the driver forcibly use the fall-back implementations.
- */
-#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
-#define HAL_CRY_ENFORCE_FALLBACK FALSE
-#endif
-
-/*===========================================================================*/
-/* DAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
-#define DAC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define DAC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the zero-copy API.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/**
- * @brief OCR initialization constant for V20 cards.
- */
-#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
-#define SDC_INIT_OCR_V20 0x50FF8000U
-#endif
-
-/**
- * @brief OCR initialization constant for non-V20 cards.
- */
-#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
-#define SDC_INIT_OCR 0x80100000U
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 1
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables circular transfers APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
-#define SPI_USE_CIRCULAR FALSE
-#endif
-
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/**
- * @brief Handling method for SPI CS line.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
-#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT TRUE
-#endif
-
-/*===========================================================================*/
-/* WSPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
-#define WSPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define WSPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/keyboards/nebula65/info 2.json b/keyboards/nebula65/info 2.json
deleted file mode 100755
index c68e11ddad00..000000000000
--- a/keyboards/nebula65/info 2.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "keyboard_name": "NEBULA65",
- "url": "",
- "maintainer": "yiancar",
- "width": 17.25,
- "height": 5,
- "layouts": {
- "LAYOUT_68_ansi": {
- "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.25, "y":0},
- {"x":16.25, "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.25, "y":1},
- {"x":16.25, "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},
- {"x":11.75, "y":2},
- {"x":12.75, "y":2, "w":2.25},
-
- {"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":2.75},
- {"x":15.25, "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.25},
- {"x":11.25, "y":4, "w":1.25},
- {"x":12.5, "y":4, "w":1.25},
- {"x":14.25, "y":4},
- {"x":15.25, "y":4},
- {"x":16.25, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/nebula65/keymaps/default/keymap 2.c b/keyboards/nebula65/keymaps/default/keymap 2.c
deleted file mode 100755
index da4479f89be0..000000000000
--- a/keyboards/nebula65/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_68_ansi( /* Base */
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_68_ansi( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/nebula65/keymaps/default/readme 2.md b/keyboards/nebula65/keymaps/default/readme 2.md
deleted file mode 100755
index 324676b64e03..000000000000
--- a/keyboards/nebula65/keymaps/default/readme 2.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The default keymap for Nebula65. VIA support disabled.
-
-
-
-
-
-Default layer is normal ANSI 65%
diff --git a/keyboards/nebula65/keymaps/via/keymap 2.c b/keyboards/nebula65/keymaps/via/keymap 2.c
deleted file mode 100755
index da4479f89be0..000000000000
--- a/keyboards/nebula65/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_68_ansi( /* Base */
- KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_68_ansi( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_DEL, KC_PGDN,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_68_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/nebula65/keymaps/via/readme 2.md b/keyboards/nebula65/keymaps/via/readme 2.md
deleted file mode 100755
index d15266ea7c1e..000000000000
--- a/keyboards/nebula65/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# The default keymap for Nebula65. VIA support enabled.
-
-
-
-
-
-Default layer is normal ANSI 65%
diff --git a/keyboards/nebula65/keymaps/via/rules 2.mk b/keyboards/nebula65/keymaps/via/rules 2.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/nebula65/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/nebula65/mcuconf 2.h b/keyboards/nebula65/mcuconf 2.h
deleted file mode 100644
index 3b1301f085bb..000000000000
--- a/keyboards/nebula65/mcuconf 2.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F3xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F3xx_MCUCONF
-#define STM32F303_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADC12PRES STM32_ADC12PRES_DIV1
-#define STM32_ADC34PRES STM32_ADC34PRES_DIV1
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_USART2SW STM32_USART2SW_PCLK
-#define STM32_USART3SW STM32_USART3SW_PCLK
-#define STM32_UART4SW STM32_UART4SW_PCLK
-#define STM32_UART5SW STM32_UART5SW_PCLK
-#define STM32_I2C1SW STM32_I2C1SW_SYSCLK
-#define STM32_I2C2SW STM32_I2C2SW_SYSCLK
-#define STM32_TIM1SW STM32_TIM1SW_PCLK2
-#define STM32_TIM8SW STM32_TIM8SW_PCLK2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-
-/*
- * IRQ system settings.
- */
-#define STM32_IRQ_EXTI0_PRIORITY 6
-#define STM32_IRQ_EXTI1_PRIORITY 6
-#define STM32_IRQ_EXTI2_PRIORITY 6
-#define STM32_IRQ_EXTI3_PRIORITY 6
-#define STM32_IRQ_EXTI4_PRIORITY 6
-#define STM32_IRQ_EXTI5_9_PRIORITY 6
-#define STM32_IRQ_EXTI10_15_PRIORITY 6
-#define STM32_IRQ_EXTI16_PRIORITY 6
-#define STM32_IRQ_EXTI17_PRIORITY 15
-#define STM32_IRQ_EXTI18_PRIORITY 6
-#define STM32_IRQ_EXTI19_PRIORITY 15
-#define STM32_IRQ_EXTI20_PRIORITY 15
-#define STM32_IRQ_EXTI21_22_29_PRIORITY 6
-#define STM32_IRQ_EXTI30_32_PRIORITY 6
-#define STM32_IRQ_EXTI33_PRIORITY 6
-#define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7
-#define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7
-#define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7
-#define STM32_IRQ_TIM1_CC_PRIORITY 7
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_DUAL_MODE FALSE
-#define STM32_ADC_COMPACT_SAMPLES FALSE
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_USE_ADC4 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_ADC4_DMA_PRIORITY 2
-#define STM32_ADC_ADC12_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_IRQ_PRIORITY 5
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 TRUE
-#define STM32_DAC_USE_DAC1_CH2 TRUE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 TRUE
-#define STM32_GPT_USE_TIM6 TRUE
-#define STM32_GPT_USE_TIM7 TRUE
-#define STM32_GPT_USE_TIM8 TRUE
-#define STM32_GPT_USE_TIM15 FALSE
-#define STM32_GPT_USE_TIM16 FALSE
-#define STM32_GPT_USE_TIM17 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 TRUE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 10
-#define STM32_I2C_I2C2_IRQ_PRIORITY 10
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM15 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 TRUE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM15 FALSE
-#define STM32_PWM_USE_TIM16 FALSE
-#define STM32_PWM_USE_TIM17 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * RTC driver system settings.
- */
-#define STM32_RTC_PRESA_VALUE 32
-#define STM32_RTC_PRESS_VALUE 1024
-#define STM32_RTC_CR_INIT 0
-#define STM32_RTC_TAMPCR_INIT 0
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 TRUE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-#endif /* MCUCONF_H */
diff --git a/keyboards/nebula65/nebula65 2.c b/keyboards/nebula65/nebula65 2.c
deleted file mode 100755
index b3e7cc66399b..000000000000
--- a/keyboards/nebula65/nebula65 2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef RGB_BACKLIGHT_NEBULA65
-#error RGB_BACKLIGHT_NEBULA65 not defined, recheck config.h
-#endif
-
-#include "nebula65.h"
diff --git a/keyboards/nebula65/nebula65 2.h b/keyboards/nebula65/nebula65 2.h
deleted file mode 100755
index db9c7f26cb6b..000000000000
--- a/keyboards/nebula65/nebula65 2.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define XXX KC_NO
-
-#include "quantum.h"
-#include "../wilba_tech/wt_rgb_backlight_keycodes.h"
-
-// This a shortcut to help you visually see your layout.
-
-#define LAYOUT_68_ansi( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K2E, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K3E, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
- K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
- { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
- { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \
-}
diff --git a/keyboards/nebula65/readme 2.md b/keyboards/nebula65/readme 2.md
deleted file mode 100755
index 5189c049c37e..000000000000
--- a/keyboards/nebula65/readme 2.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Nebula65
-
-This is a standard fixed layout 65% PCB. It supports VIA, full per-key RGB and underglow RGB.
-
-* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A 65% keyboard with STM32F303CC
-* Hardware Availability: https://spaceholdings.net/
-
-## Instructions
-
-### Build
-
-Make example for this keyboard (after setting up your build environment):
-
- make nebula65:via
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
-
-### Flash
-
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or dfu-util (`make nebula65::flash`)
diff --git a/keyboards/nebula65/rules 2.mk b/keyboards/nebula65/rules 2.mk
deleted file mode 100755
index 399385b3e0e6..000000000000
--- a/keyboards/nebula65/rules 2.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# MCU name
-MCU = STM32F303
-
-# Do not put the microcontroller into power saving mode
-# when we get USB suspend event. We want it to keep updating
-# backlight effects.
-OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
-
-# Build Options
-# comment out to disable the options.
-#
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-AUDIO_ENABLE = no # Audio output on port C6
-NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
-RGBLIGHT_ENABLE = yes # Underglow RGB
-WS2812_DRIVER = pwm # Underglow RGB Driver
-
-CIE1931_CURVE = yes
-
-LAYOUTS = 68_ansi
-
-# project specific files
-SRC += keyboards/wilba_tech/wt_main.c \
- keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
- quantum/color.c
-QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/noxary/220/keymaps/via/keymap 2.c b/keyboards/noxary/220/keymaps/via/keymap 2.c
deleted file mode 100644
index 1bfc7a8d044a..000000000000
--- a/keyboards/noxary/220/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BL,
- _FL1,
- _FL2,
- _FL3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base Layer
- * ┌───┬───┬───┬───┐
- * │Esc│BLT│BL-│BL+│
- * ├───┼───┼───┼───┤
- * │NLK│ / │ * │ = │
- * ├───┼───┼───┼───┤
- * │ 7 │ 8 │ 9 │ - │
- * ├───┼───┼───┼───┤
- * │ 4 │ 5 │ 6 │ + │
- * ├───┼───┼───┼───┤
- * │ 1 │ 2 │ 3 │ENT│
- * ├───┼───┼───┼───┤
- * │ 0 │ 0 │ . │ENT│
- * └───┴───┴───┴───┘
- */
- [_BL] = LAYOUT_ortho_6x4(
- KC_ESC, BL_TOGG, BL_DEC, BL_INC,
- KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_P0, KC_PDOT, KC_PENT
- ),
- /* Function Layer 1
- * ┌───┬───┬───┬───┐
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * └───┴───┴───┴───┘
- */
- [_FL1] = LAYOUT_ortho_6x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- /* Function Layer 2
- * ┌───┬───┬───┬───┐
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * └───┴───┴───┴───┘
- */
- [_FL2] = LAYOUT_ortho_6x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- /* Function Layer 3
- * ┌───┬───┬───┬───┐
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * ├───┼───┼───┼───┤
- * │ │ │ │ │
- * └───┴───┴───┴───┘
- */
- [_FL3] = LAYOUT_ortho_6x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/noxary/220/keymaps/via/readme 2.md b/keyboards/noxary/220/keymaps/via/readme 2.md
deleted file mode 100644
index 1e2b4542d7a1..000000000000
--- a/keyboards/noxary/220/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-# The VIA keymap for Noxary 220
\ No newline at end of file
diff --git a/keyboards/noxary/220/keymaps/via/rules 2.mk b/keyboards/noxary/220/keymaps/via/rules 2.mk
deleted file mode 100644
index c2e96d233b21..000000000000
--- a/keyboards/noxary/220/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-LTO_ENABLE = yes
diff --git a/keyboards/noxary/260/keymaps/via/keymap 2.c b/keyboards/noxary/260/keymaps/via/keymap 2.c
deleted file mode 100644
index 4177abd154fc..000000000000
--- a/keyboards/noxary/260/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* _BL: Base Layer(Default) - For ISO enter use ANSI enter
- * ,-----------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|BSpc|
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| Ent|
- * |-----------------------------------------------------------|
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift |Del|
- * |-----------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt |Win |Mo(1) |Ctrl |
- * `-----------------------------------------------------------'
- */
- [0] = LAYOUT_60_ansi(
- 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, MO(1), KC_RCTL),
- /* _FL1: Function Layer 1 - For ISO enter use ANSI enter
- * ,----------------------------------------------------------------.
- * | `|F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |PScr| |
- * |----------------------------------------------------------------|
- * | | | | |RST| | | | | | | | | | Ins|
- * |----------------------------------------------------------------|
- * | | | | | | | | | | | | | | |Home|
- * |----------------------------------------------------------------|
- * | | | | | | | | | |Bl-|Bl+| |Mute|Vol+| End|
- * |----------------------------------------------------------------|
- * | | | | BL_Toggle | | | | |Vol-| |
- * `----------------------------------------------------------------'
- */
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
- _______, KC_VOLU, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE,
- _______, _______, _______, BL_TOGG, _______, _______, _______, _______),
- /* _FL2: Function Layer 2 - For ISO enter use ANSI enter
- * ,----------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | | | | | | | | |
- * |----------------------------------------------------------------|
- * | | | | | | | | | | |
- * `----------------------------------------------------------------'
- */
- [2] = LAYOUT_60_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_60_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-};
-
diff --git a/keyboards/noxary/260/keymaps/via/rules 2.mk b/keyboards/noxary/260/keymaps/via/rules 2.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/noxary/260/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/noxary/268/keymaps/via/keymap 2.c b/keyboards/noxary/268/keymaps/via/keymap 2.c
deleted file mode 100644
index 431ea5bac4ca..000000000000
--- a/keyboards/noxary/268/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BL,
- _FL1,
- _FL2,
- _FL3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base Layer - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Bsp│ ` │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │Sft │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │Ctrl│Win │Alt │ Space │Alt │M(1)│Ctrl│ ← │ ↓ │ → │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_BL] = 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_BSLS, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- 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_NUHS, KC_ENT, KC_PGUP,
- 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_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Function Layer 1 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │PSc│ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │Hom│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ │ Mute │Vl+│End│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ BL_Toggle │ │ │ │ │Vl-│ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL1] = 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, _______, KC_PSCR, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_MUTE, KC_VOLU, KC_END,
- _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______
- ),
- /* Function Layer 2 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /* Function Layer 3 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
\ No newline at end of file
diff --git a/keyboards/noxary/268/keymaps/via/readme 2.md b/keyboards/noxary/268/keymaps/via/readme 2.md
deleted file mode 100644
index e2adb0eef28c..000000000000
--- a/keyboards/noxary/268/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The VIA keymap for Noxary 268
-
-
diff --git a/keyboards/noxary/268/keymaps/via/rules 2.mk b/keyboards/noxary/268/keymaps/via/rules 2.mk
deleted file mode 100644
index c2e96d233b21..000000000000
--- a/keyboards/noxary/268/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-LTO_ENABLE = yes
diff --git a/keyboards/noxary/268_2/keymaps/via/keymap 2.c b/keyboards/noxary/268_2/keymaps/via/keymap 2.c
deleted file mode 100644
index c4f044e4fe0b..000000000000
--- a/keyboards/noxary/268_2/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BL,
- _FL1,
- _FL2,
- _FL3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base Layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bspc │ ` │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │Ctrl│Win │Alt │ Space │Alt │ Fn │ │ ← │ ↓ │ → │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
- */
- [_BL] = LAYOUT_65_ansi_blocker(
- 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_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- 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_PGUP,
- 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_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Function Layer 1
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ PScr │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │Hom│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ Mute │Vl+│End│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ BL Toggle │ │ │ │ │Vl-│ │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
- */
- [_FL1] = LAYOUT_65_ansi_blocker(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______,
- _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, KC_MUTE, KC_VOLU, KC_END,
- _______, _______, _______, BL_TOGG, _______, _______, _______, KC_VOLD, _______
- ),
- /* Function Layer 2
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
- */
- [_FL2] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /* Function Layer 3
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
- */
- [_FL3] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/noxary/268_2/keymaps/via/readme 2.md b/keyboards/noxary/268_2/keymaps/via/readme 2.md
deleted file mode 100644
index 0918bfb97c8d..000000000000
--- a/keyboards/noxary/268_2/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The VIA keymap for 268.2
-
-
diff --git a/keyboards/noxary/268_2/keymaps/via/rules 2.mk b/keyboards/noxary/268_2/keymaps/via/rules 2.mk
deleted file mode 100644
index 1974f5d3f591..000000000000
--- a/keyboards/noxary/268_2/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/noxary/x268/keymaps/via/keymap 2.c b/keyboards/noxary/x268/keymaps/via/keymap 2.c
deleted file mode 100644
index 7f26a6c10ecd..000000000000
--- a/keyboards/noxary/x268/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BL,
- _FL1,
- _FL2,
- _FL3
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base Layer - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Bsp│ ` │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │PgU│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │Sft │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ↑ │PgD│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │Ctrl│Win │Alt │ Space │Alt │M(1)│Ctrl│ ← │ ↓ │ → │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_BL] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- 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_NUHS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(_FL1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Function Layer 1 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Psc│ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │RST│ │ │ │ │ │ │ │ │ │Ins│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hme│
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │Bl-│Bl+│ │ Mute │Vl+│End│
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ BL_Toggle │ │ │ │ │Vl-│ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, _______,
- RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
- _______, RGB_VAD, RGB_SAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, _______, KC_MUTE, KC_VOLU, KC_END,
- _______, _______, _______, BL_TOGG, _______, _______, _______, _______, KC_VOLD, _______
- ),
- /* Function Layer 2 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- /* Function Layer 3 - For ISO enter use ANSI enter
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┼───┴┬──┴─┬─┴──┬───┼───┼───┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴─────────────────────┴────┴────┴────┴───┴───┴───┘
- */
- [_FL3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
\ No newline at end of file
diff --git a/keyboards/noxary/x268/keymaps/via/readme 2.md b/keyboards/noxary/x268/keymaps/via/readme 2.md
deleted file mode 100644
index e0e0b9f92d02..000000000000
--- a/keyboards/noxary/x268/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# The VIA keymap for x268
-
-
diff --git a/keyboards/noxary/x268/keymaps/via/rules 2.mk b/keyboards/noxary/x268/keymaps/via/rules 2.mk
deleted file mode 100644
index c2e96d233b21..000000000000
--- a/keyboards/noxary/x268/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-LTO_ENABLE = yes
diff --git a/keyboards/planck/keymaps/buffet/config 2.h b/keyboards/planck/keymaps/buffet/config 2.h
deleted file mode 100644
index 478b282b3113..000000000000
--- a/keyboards/planck/keymaps/buffet/config 2.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 150
-#define PERMISSIVE_HOLD
-
-// Disable all RGB effects
-#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define DISABLE_RGB_MATRIX_ALPHAS_MODS
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define DISABLE_RGB_MATRIX_BREATHING
-#define DISABLE_RGB_MATRIX_BAND_SAT
-#define DISABLE_RGB_MATRIX_BAND_VAL
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define DISABLE_RGB_MATRIX_CYCLE_ALL
-#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define DISABLE_RGB_MATRIX_DUAL_BEACON
-#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
-#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define DISABLE_RGB_MATRIX_RAINDROPS
-#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
-#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define DISABLE_RGB_MATRIX_SPLASH
-#define DISABLE_RGB_MATRIX_MULTISPLASH
-#define DISABLE_RGB_MATRIX_SOLID_SPLASH
-#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// Most tactile encoders have detents every 4 stages
-#define ENCODER_RESOLUTION 4
diff --git a/keyboards/planck/keymaps/buffet/keymap 2.c b/keyboards/planck/keymaps/buffet/keymap 2.c
deleted file mode 100644
index 78a9f711c495..000000000000
--- a/keyboards/planck/keymaps/buffet/keymap 2.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/* Copyright 2015-2017 Jack Humbert
- * 2020 Niclas Meyer
- *
- * This 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 K(kc) (1ull<<((kc) - ALPHA))
-
-#define KALPHA K(ALPHA)
-#define KBETA K(BETA)
-#define KGAMMA K(GAMMA)
-#define KDELTA K(DELTA)
-#define KEPSILON K(EPSILON)
-#define KZETA K(ZETA)
-#define KTHETA K(THETA)
-#define KIOTA K(IOTA)
-#define KKAPPA K(KAPPA)
-
-enum keys {
- ALPHA = SAFE_RANGE,
- BETA,
- GAMMA,
- DELTA,
- EPSILON,
- ZETA,
- THETA,
- IOTA,
- KAPPA,
- LOCK,
- NONE,
-};
-
-enum layers {
- NORMAL,
- QWERTY,
- GAME,
- LOWER,
- RAISE,
- PHI,
- FN,
-};
-
-#define XXXX KC_NO
-#define ____ KC_TRNS
-
-#define CQWER LM(QWERTY, MOD_LCTL)
-#define AQWER LM(QWERTY, MOD_LALT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [NORMAL] = LAYOUT_planck_grid(
- ALPHA, BETA, GAMMA, DELTA, ____, ____, ____, ____, DELTA, GAMMA, BETA, ALPHA,
- EPSILON, ZETA, THETA, IOTA, ____, ____, ____, ____, IOTA, THETA, ZETA, EPSILON,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
- MO(PHI), CQWER, AQWER, MO(FN), KAPPA, ____, XXXX, KAPPA, MO(FN), ____, ____, MO(PHI)
- ),
- [QWERTY] = LAYOUT_planck_grid(
- 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT,
- MO(PHI), KC_LCTL, KC_LALT, KC_LGUI, MO(LOWER), KC_SPC, XXXX, MO(RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
- ),
- [GAME] = LAYOUT_planck_grid(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_Z, KC_X, KC_C, KC_SPC, ____, XXXX, ____, KC_V, KC_B, ____, MO(PHI)
- ),
- [LOWER] = LAYOUT_planck_grid(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, ____, ____, ____, ____, ____, ____, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_PGDN, KC_HOME, KC_END, ____,
- ____, ____, ____, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [RAISE] = LAYOUT_planck_grid(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, ____, ____, ____, ____, ____, ____, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_PGDN, KC_HOME, KC_END, ____,
- ____, ____, ____, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [PHI] = LAYOUT_planck_grid(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, ____, ____, ____, ____, ____, ____, KC_DEL,
- ____, KC_F5, KC_F6, KC_F7, KC_F8, ____, ____, DF(QWERTY), DF(NORMAL), DF(GAME), ____, KC_F13,
- ____, KC_F9, KC_F10, KC_F11, KC_F12, ____, ____, ____, ____, ____, ____, ____,
- ____, RGB_TOG, RGB_MOD, ____, ____, ____, XXXX, ____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [FN] = LAYOUT_planck_grid(
- ____, ____, KC_UP, ____, ____, ____, ____, ____, ____, KC_UP, ____, ____,
- KC_DEL, KC_LEFT, KC_DOWN, KC_RIGHT, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL,
- KC_HOME, KC_END, KC_PGUP, KC_PGDN, ____, ____, ____, ____, KC_PGDN, KC_PGUP, KC_HOME, KC_END,
- ____, ____, ____, ____, ____, ____, XXXX, ____, ____, ____, ____, ____
- ),
-};
-
-static uint16_t left_chord = 0;
-static uint16_t right_chord = 0;
-
-static bool locking = false;
-static bool locked = false;
-static uint16_t mods = 0;
-
-#define PROCESS_MOD(mod) \
- do { \
- if ((mods & MOD_##mod) && !(keys & MOD_##mod)) { \
- unregister_code16(KC_##mod); \
- } \
- if (!(mods & MOD_##mod) && (keys & MOD_##mod)) { \
- register_code16(KC_##mod); \
- } \
- } while (0)
-
-static void process_keys(uint16_t keys) {
- if (keys == NONE) {
- return;
- }
-
- if (keys == LOCK) {
- locking = !locking;
- return;
- }
-
- if ((keys & QK_ONE_SHOT_MOD) == QK_ONE_SHOT_MOD) {
- PROCESS_MOD(LCTL);
- PROCESS_MOD(LSFT);
- PROCESS_MOD(LALT);
- PROCESS_MOD(LGUI);
-
- mods = keys & ~QK_ONE_SHOT_MOD;
- locked = false;
-
- if (locking) {
- locking = false;
- locked = true;
- }
-
- return;
- }
-
- // Normal key
- tap_code16(keys);
- locking = false;
-
- if (mods && !locked) {
- if (mods & MOD_LCTL) {
- unregister_code16(KC_LCTL);
- }
-
- if (mods & MOD_LSFT) {
- unregister_code16(KC_LSFT);
- }
-
- if (mods & MOD_LALT) {
- unregister_code16(KC_LALT);
- }
-
- if (mods & MOD_LGUI) {
- unregister_code16(KC_LGUI);
- }
-
- mods = 0;
- }
-}
-
-static uint16_t chord_to_keys(uint16_t chord) {
- switch (chord) {
- // Unshifted Extra
- case KKAPPA: return KC_SPC;
- case KEPSILON | KZETA | KTHETA | KIOTA: return KC_ENT;
- case KEPSILON | KZETA | KGAMMA | KIOTA: return KC_TAB;
- case KEPSILON | KIOTA: return KC_BSPC;
- case KKAPPA | KEPSILON: return KC_ESC;
-
- // Shifted Extra
- case KKAPPA | KEPSILON | KZETA | KTHETA | KIOTA: return S(KC_ENT);
- case KKAPPA | KEPSILON | KZETA | KGAMMA | KIOTA: return S(KC_TAB);
- case KKAPPA | KEPSILON | KIOTA: return S(KC_BSPC);
-
- // Lowercase Letters
- case KBETA: return KC_A;
- case KZETA | KDELTA: return KC_B;
- case KBETA | KGAMMA | KDELTA: return KC_C;
- case KZETA | KTHETA | KIOTA: return KC_D;
- case KDELTA: return KC_E;
- case KGAMMA | KIOTA: return KC_F;
- case KBETA | KTHETA: return KC_G;
- case KZETA | KTHETA: return KC_H;
- case KGAMMA: return KC_I;
- case KBETA | KGAMMA | KIOTA: return KC_J;
- case KBETA | KTHETA | KIOTA: return KC_K;
- case KBETA | KGAMMA: return KC_L;
- case KBETA | KDELTA: return KC_M;
- case KZETA: return KC_N;
- case KTHETA: return KC_O;
- case KZETA | KGAMMA: return KC_P;
- case KBETA | KTHETA | KDELTA: return KC_Q;
- case KGAMMA | KDELTA: return KC_R;
- case KTHETA | KIOTA: return KC_S;
- case KIOTA: return KC_T;
- case KZETA | KIOTA: return KC_U;
- case KTHETA | KDELTA: return KC_V;
- case KZETA | KGAMMA | KIOTA: return KC_W;
- case KZETA | KTHETA | KDELTA: return KC_X;
- case KBETA | KIOTA: return KC_Y;
- case KZETA | KGAMMA | KDELTA: return KC_Z;
-
- // Uppercase Letters
- case KKAPPA | KBETA: return S(KC_A);
- case KKAPPA | KZETA | KDELTA: return S(KC_B);
- case KKAPPA | KBETA | KGAMMA | KDELTA: return S(KC_C);
- case KKAPPA | KZETA | KTHETA | KIOTA: return S(KC_D);
- case KKAPPA | KDELTA: return S(KC_E);
- case KKAPPA | KGAMMA | KIOTA: return S(KC_F);
- case KKAPPA | KBETA | KTHETA: return S(KC_G);
- case KKAPPA | KZETA | KTHETA: return S(KC_H);
- case KKAPPA | KGAMMA: return S(KC_I);
- case KKAPPA | KBETA | KGAMMA | KIOTA: return S(KC_J);
- case KKAPPA | KBETA | KTHETA | KIOTA: return S(KC_K);
- case KKAPPA | KBETA | KGAMMA: return S(KC_L);
- case KKAPPA | KBETA | KDELTA: return S(KC_M);
- case KKAPPA | KZETA: return S(KC_N);
- case KKAPPA | KTHETA: return S(KC_O);
- case KKAPPA | KZETA | KGAMMA: return S(KC_P);
- case KKAPPA | KBETA | KTHETA | KDELTA: return S(KC_Q);
- case KKAPPA | KGAMMA | KDELTA: return S(KC_R);
- case KKAPPA | KTHETA | KIOTA: return S(KC_S);
- case KKAPPA | KIOTA: return S(KC_T);
- case KKAPPA | KZETA | KIOTA: return S(KC_U);
- case KKAPPA | KTHETA | KDELTA: return S(KC_V);
- case KKAPPA | KZETA | KGAMMA | KIOTA: return S(KC_W);
- case KKAPPA | KZETA | KTHETA | KDELTA: return S(KC_X);
- case KKAPPA | KBETA | KIOTA: return S(KC_Y);
- case KKAPPA | KZETA | KGAMMA | KDELTA: return S(KC_Z);
-
- // Unshifted Numbers
- case KEPSILON | KZETA: return KC_0;
- case KEPSILON | KZETA | KIOTA: return KC_1;
- case KEPSILON | KZETA | KTHETA: return KC_2;
- case KEPSILON | KBETA: return KC_3;
- case KEPSILON | KBETA | KDELTA: return KC_4;
- case KEPSILON | KBETA | KGAMMA: return KC_5;
- case KEPSILON | KBETA | KIOTA: return KC_6;
- case KEPSILON | KTHETA: return KC_7;
- case KEPSILON | KBETA | KGAMMA | KIOTA: return KC_8;
- case KEPSILON | KGAMMA | KDELTA: return KC_9;
-
- // Shifted Numbers
- case KKAPPA | KEPSILON | KZETA | KIOTA: return KC_EXLM;
- case KKAPPA | KEPSILON | KZETA | KTHETA: return KC_AT;
- case KKAPPA | KEPSILON | KBETA: return KC_HASH;
- case KKAPPA | KEPSILON | KBETA | KDELTA: return KC_DLR;
- case KKAPPA | KEPSILON | KBETA | KGAMMA: return KC_PERC;
- case KKAPPA | KEPSILON | KBETA | KIOTA: return KC_CIRC;
- case KKAPPA | KEPSILON | KTHETA: return KC_AMPR;
- case KKAPPA | KEPSILON | KBETA | KGAMMA | KIOTA: return KC_ASTR;
- case KKAPPA | KEPSILON | KGAMMA | KDELTA: return KC_LPRN;
- case KKAPPA | KEPSILON | KZETA: return KC_RPRN;
-
- // Unshifted Symbols
- case KEPSILON | KBETA | KTHETA | KIOTA: return KC_MINS;
- case KEPSILON | KZETA | KTHETA | KDELTA: return KC_EQL;
- case KEPSILON | KZETA | KGAMMA: return KC_LBRC;
- case KEPSILON | KGAMMA | KIOTA: return KC_RBRC;
- case KEPSILON | KBETA | KTHETA: return KC_BSLS;
- case KEPSILON | KBETA | KGAMMA | KDELTA: return KC_SCLN;
- case KEPSILON | KZETA | KDELTA: return KC_QUOT;
- case KEPSILON | KTHETA | KIOTA: return KC_COMM;
- case KEPSILON | KZETA | KGAMMA | KDELTA: return KC_DOT;
- case KEPSILON | KGAMMA: return KC_SLSH;
- case KEPSILON | KDELTA: return KC_GRV;
-
- // Shifted Symbols
- case KKAPPA | KEPSILON | KBETA | KTHETA | KIOTA: return KC_UNDS;
- case KKAPPA | KEPSILON | KZETA | KTHETA | KDELTA: return KC_PLUS;
- case KKAPPA | KEPSILON | KZETA | KGAMMA: return KC_LCBR;
- case KKAPPA | KEPSILON | KGAMMA | KIOTA: return KC_RCBR;
- case KKAPPA | KEPSILON | KBETA | KTHETA: return KC_PIPE;
- case KKAPPA | KEPSILON | KBETA | KGAMMA | KDELTA: return KC_COLN;
- case KKAPPA | KEPSILON | KZETA | KDELTA: return KC_DQT;
- case KKAPPA | KEPSILON | KTHETA | KIOTA: return KC_LT;
- case KKAPPA | KEPSILON | KZETA | KGAMMA | KDELTA: return KC_GT;
- case KKAPPA | KEPSILON | KGAMMA: return KC_QUES;
- case KKAPPA | KEPSILON | KDELTA: return KC_TILD;
-
- // Modifiers
- case KALPHA | KIOTA: return LOCK;
-
- case KALPHA: return QK_ONE_SHOT_MOD; // Release all
-
- case KALPHA | KBETA: return OSM(MOD_LCTL);
- case KALPHA | KGAMMA: return OSM(MOD_LSFT);
- case KALPHA | KDELTA: return OSM(MOD_LALT);
- case KALPHA | KKAPPA: return OSM(MOD_LGUI);
-
- case KALPHA | KBETA | KGAMMA: return OSM(MOD_LCTL | MOD_LSFT);
- case KALPHA | KBETA | KDELTA: return OSM(MOD_LCTL | MOD_LALT);
- case KALPHA | KBETA | KKAPPA: return OSM(MOD_LCTL | MOD_LGUI);
- case KALPHA | KGAMMA | KDELTA: return OSM(MOD_LSFT | MOD_LALT);
- case KALPHA | KGAMMA | KKAPPA: return OSM(MOD_LSFT | MOD_LGUI);
- case KALPHA | KDELTA | KKAPPA: return OSM(MOD_LALT | MOD_LGUI);
-
- case KALPHA | KBETA | KGAMMA | KDELTA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LALT);
- case KALPHA | KBETA | KGAMMA | KKAPPA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LGUI);
- case KALPHA | KBETA | KDELTA | KKAPPA: return OSM(MOD_LCTL | MOD_LALT | MOD_LGUI);
- case KALPHA | KGAMMA | KDELTA | KKAPPA: return OSM(MOD_LSFT | MOD_LALT | MOD_LGUI);
-
- case KALPHA | KBETA | KGAMMA | KDELTA | KKAPPA: return OSM(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI);
- }
-
- return NONE;
-}
-
-static uint16_t *get_hand(keypos_t *key) {
- if (key->row <= 3) {
- return &left_chord;
- }
-
- if (key->row <= 6) {
- return &right_chord;
- }
-
- // row 7
- if (key->col <= 2) {
- return &right_chord;
- } else {
- return &left_chord;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (keycode < ALPHA) {
- return true;
- }
-
- uint16_t *chord = get_hand(&record->event.key);
-
- if (record->event.pressed) {
- *chord |= K(keycode);
- return false;
- }
-
- if (*chord != 0) {
- process_keys(chord_to_keys(*chord));
- *chord = 0;
- }
-
- return false;
-}
-
-#ifdef KEYBOARD_planck_ez
-
-#define LED_BRIGHTNESS 50
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- switch (state) {
- case 1U << NORMAL:
- planck_ez_left_led_off();
- planck_ez_right_led_off();
- break;
- case 1U << QWERTY:
- planck_ez_left_led_level(LED_BRIGHTNESS);
- planck_ez_right_led_off();
- break;
- case 1U << GAME:
- planck_ez_left_led_off();
- planck_ez_right_led_level(LED_BRIGHTNESS);
- break;
- }
-
- return state;
-}
-
-#endif /* KEYBOARD_planck_ez */
diff --git a/keyboards/planck/keymaps/buffet/readme 2.md b/keyboards/planck/keymaps/buffet/readme 2.md
deleted file mode 100644
index 223595b92c0b..000000000000
--- a/keyboards/planck/keymaps/buffet/readme 2.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# buffet's planck layout
-
-## Layout
-
-The Layout is based on keychords.
-The general idea is that you're able to type everything with either hand, so that you can alternate between hands as you type.
-
-The keys are in a 2x4 block in the top left and top right respectively (mirrored).
-They have greek letter names (see `keymap.c` for more info).
-
-Thumb added to any key means shift is pressed as well.
-
-`-` means the finger presses nothing.
-`^` means the finger presses the upper row.
-`v` means the finger presses the lower row.
-
-```
-Space: thumb
-Return: vvvv vvvv
-Tab: vv^v v^vv
-Bspace: v--v v--v
-Esc: lower pinky and thumb
-```
-
-### Letters
-
-```
-a: -^-- --^-
-b: -v-^ ^-v-
-c: -^^^ ^^^-
-d: -vvv vvv-
-e: ---^ ^---
-f: --^v v^--
-g: -^v- -v^-
-h: -vv- -vv-
-i: --^- -^--
-j: -^^v v^^-
-k: -^vv vv^-
-l: -^^- -^^-
-m: -^-^ ^-^-
-n: -v-- --v-
-o: --v- -v--
-p: -v^- -^v-
-q: -^v^ ^v^-
-r: --^^ ^^--
-s: --vv vv--
-t: ---v v---
-u: -v-v v-v-
-v: --v^ ^v--
-w: -v^v v^v-
-x: -vv^ ^vv-
-y: -^-v v-^-
-z: -v^^ ^^v-
-```
-
-### Numbers and Symbols
-
-```
-0: vv-- --vv
-1: vv-v v-vv
-2: vvv- -vvv
-3: v^-- --^v
-4: v^-^ ^-^v
-5: v^^- -^^v
-6: v^-v v-^v
-7: v-v- -v-v
-8: v^^v v^^v
-9: v-^^ ^^-v
--: v^vv vv^v
-=: vvv^ ^vvv
-[: vv^- -^vv
-]: v-^v v^-v
-\: v^v- -v^v
-;: v^^^ ^^^v
-': vv-^ ^-vv
-,: v-vv vv-v
-.: vv^^ ^^vv
-/: v-^- -^-v
-`: v--^ ^--v
-```
-
-### Modifiers
-
-Modifiers all use the top pinky key, and a combinations of modifiers you want to activate for the next keypress (very similar to how OMS work).
-For the modifiers the top row of keys is used.
-
-```
-Control: Ringfinger
-Shift: Middlefinger
-Alt: Indexfinger
-Super: Thumb
-```
-
-`^--v v--^` can be used to lock the next modifier input.
-
-### Remaining
-
-These combinations are unused.
-
-```
-v^v^
-v-v^
-v---
-```
diff --git a/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc b/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
deleted file mode 100644
index e217d1010a3b..000000000000
--- a/keyboards/planck/keymaps/buffet/rgb_matrix_user 2.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-RGB_MATRIX_EFFECT(rainbow_stripe)
-
-#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-
-static HSV rainbow_stripe_math(HSV hsv, uint8_t i, uint8_t time) {
- if (i >= 14 && i <= 21) {
- hsv.h = g_led_config.point[i].x - time;
- } else {
- hsv.v = 0;
- }
- return hsv;
-}
-
-bool rainbow_stripe(effect_params_t* params) {
- return effect_runner_i(params, &rainbow_stripe_math);
-}
-
-#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/planck/keymaps/buffet/rules 2.mk b/keyboards/planck/keymaps/buffet/rules 2.mk
deleted file mode 100644
index 7774d766577a..000000000000
--- a/keyboards/planck/keymaps/buffet/rules 2.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-AUDIO_ENABLE = no
-BOOTMAGIC_ENABLE = lite
-COMMAND_ENABLE = no
-MOUSEKEY_ENABLE = no
-
-RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/planck/keymaps/charlesrocket/config 2.h b/keyboards/planck/keymaps/charlesrocket/config 2.h
deleted file mode 100644
index 21d65d8f5dc9..000000000000
--- a/keyboards/planck/keymaps/charlesrocket/config 2.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#ifdef AUDIO_ENABLE
-#define STARTUP_SONG SONG(PLANCK_SOUND)
-#endif
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-
-#define MIDI_BASIC
-#define AUDIO_CLICKY
-#define AUDIO_CLICKY_FREQ_DEFAULT 2360.0f
-#define AUDIO_CLICKY_FREQ_MAX 9500.0f
-#define AUDIO_CLICKY_FREQ_RANDOMNESS 0.05f
-#define DAC_SAMPLE_MAX 9754U
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 2
-
-// Most tactile encoders have detents every 4 stages
-#define ENCODER_RESOLUTION 4
-#define ORYX_CONFIGURATOR
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/charlesrocket/keymap 2.c b/keyboards/planck/keymaps/charlesrocket/keymap 2.c
deleted file mode 100644
index f82819c58e23..000000000000
--- a/keyboards/planck/keymaps/charlesrocket/keymap 2.c
+++ /dev/null
@@ -1,203 +0,0 @@
-#include QMK_KEYBOARD_H
-#ifdef AUDIO_ENABLE
-#include "muse.h"
-#endif
-#include "eeprom.h"
-
-#define KC_MAC_UNDO LGUI(KC_Z)
-#define KC_MAC_CUT LGUI(KC_X)
-#define KC_MAC_COPY LGUI(KC_C)
-#define KC_MAC_PASTE LGUI(KC_V)
-#define KC_PC_UNDO LCTL(KC_Z)
-#define KC_PC_CUT LCTL(KC_X)
-#define KC_PC_COPY LCTL(KC_C)
-#define KC_PC_PASTE LCTL(KC_V)
-#define ES_LESS_MAC KC_GRAVE
-#define ES_GRTR_MAC LSFT(KC_GRAVE)
-#define ES_BSLS_MAC ALGR(KC_6)
-#define NO_PIPE_ALT KC_GRAVE
-#define NO_BSLS_ALT KC_EQUAL
-#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)
-
-enum planck_keycodes {
- RGB_SLD = EZ_SAFE_RANGE,
-};
-
-enum planck_layers {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_planck_grid(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
- KC_ESCAPE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
- KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_ENTER,
- WEBUSB_PAIR, KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPACE, KC_NO, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
- ),
-
- [_LOWER] = LAYOUT_planck_grid(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH, KC_HOME, KC_END, _______,
- KC_COMMA, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE
- ),
-
- [_RAISE] = LAYOUT_planck_grid(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINUS, KC_EQUAL, KC_LBRACKET, KC_RBRACKET, KC_BSLASH,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NONUS_HASH, KC_NONUS_BSLASH, KC_PGUP, KC_PGDOWN, _______,
- _______, _______, _______, _______, _______, _______, KC_NO, _______, KC_MEDIA_NEXT_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE
- ),
-
- [_ADJUST] = LAYOUT_planck_grid(
- _______, CK_UP, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- KC_DELETE, CK_TOGG, AU_ON, AU_OFF, AU_TOG, _______, _______, _______, RGB_VAI,RGB_VAD , _______, RESET,
- _______, CK_DOWN, MU_ON, MU_OFF, MU_TOG, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______
- ),
-
-};
-
-extern bool g_suspend_state;
-extern rgb_config_t rgb_matrix_config;
-
-void keyboard_post_init_user(void) {
- rgb_matrix_enable();
-}
-
-const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
- [0] = { {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255} },
-
- [1] = { {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255} },
-
- [2] = { {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255}, {104,255,255} },
-
- [3] = { {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255}, {0,0,255} },
-
-};
-
-void set_layer_color(int layer) {
- for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (!hsv.h && !hsv.s && !hsv.v) {
- rgb_matrix_set_color( i, 0, 0, 0 );
- } else {
- RGB rgb = hsv_to_rgb( hsv );
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color( i, f * rgb.r, f * rgb.g, f * rgb.b );
- }
- }
-}
-
-void rgb_matrix_indicators_user(void) {
- if (g_suspend_state || keyboard_config.disable_layer_led) { return; }
- switch (biton32(layer_state)) {
- case 0:
- set_layer_color(0);
- break;
- case 1:
- set_layer_color(1);
- break;
- case 2:
- set_layer_color(2);
- break;
- case 3:
- set_layer_color(3);
- break;
- default:
- if (rgb_matrix_get_flags() == LED_FLAG_NONE)
- rgb_matrix_set_color_all(0, 0, 0);
- break;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case RGB_SLD:
- if (record->event.pressed) {
- rgblight_mode(1);
- }
- return false;
- }
- return true;
-}
-
-#ifdef AUDIO_ENABLE
-bool muse_mode = false;
-uint8_t last_muse_note = 0;
-uint16_t muse_counter = 0;
-uint8_t muse_offset = 70;
-uint16_t muse_tempo = 50;
-
-void encoder_update(bool clockwise) {
- if (muse_mode) {
- if (IS_LAYER_ON(_RAISE)) {
- if (clockwise) {
- muse_offset++;
- } else {
- muse_offset--;
- }
- } else {
- if (clockwise) {
- muse_tempo+=1;
- } else {
- muse_tempo-=1;
- }
- }
- } else {
- if (clockwise) {
- #ifdef MOUSEKEY_ENABLE
- tap_code(KC_MS_WH_DOWN);
- #else
- tap_code(KC_PGDN);
- #endif
- } else {
- #ifdef MOUSEKEY_ENABLE
- tap_code(KC_MS_WH_UP);
- #else
- tap_code(KC_PGUP);
- #endif
- }
- }
-}
-
-void matrix_scan_user(void) {
-#ifdef AUDIO_ENABLE
- if (muse_mode) {
- if (muse_counter == 0) {
- uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
- if (muse_note != last_muse_note) {
- stop_note(compute_freq_for_midi_note(last_muse_note));
- play_note(compute_freq_for_midi_note(muse_note), 0xF);
- last_muse_note = muse_note;
- }
- }
- muse_counter = (muse_counter + 1) % muse_tempo;
- }
-#endif
-}
-
-bool music_mask_user(uint16_t keycode) {
- switch (keycode) {
- case RAISE:
- case LOWER:
- return false;
- default:
- return true;
- }
-}
-#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/planck/keymaps/charlesrocket/readme 2.md b/keyboards/planck/keymaps/charlesrocket/readme 2.md
deleted file mode 100644
index 9e9f0d255142..000000000000
--- a/keyboards/planck/keymaps/charlesrocket/readme 2.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Red Planck EZ (Glow) with beeps
-
-QWERTY layout with colored layers (red, purple, green and white) for Planck EZ Glow. Soft beep feedback is On by default. Sound level is hardcoded with `DAC_SAMPLE_MAX` and tone settings (`CK`) are in Adjust (WHITE) layer.
-
-```
-RED Base
- ,-----------------------------------------------------------------------------------.
- | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | QMK | Ctrl | Alt | OS |Lower | Space |Raise | Left | Down | Up |Right |
- `-----------------------------------------------------------------------------------'
-```
-
-```
-PURPLE Lower
- ,-----------------------------------------------------------------------------------.
- | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | |Lower | |Raise | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-```
-
-```
-GREEN Raise
- ,-----------------------------------------------------------------------------------.
- | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | |Lower | |Raise | Next | Vol- | Vol+ | Play |
- `-----------------------------------------------------------------------------------'
-```
-
-```
-WHITE (Lower + Raise)
- ,-----------------------------------------------------------------------------------.
- | | CkUp | | | | | | | | | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | Del | CkTg |Aud On|AudOff|AudTog| | | |BRGTH+|BRGTH-| | Reset|
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | CkDn |Mus On|MusOff|MusTog| | | | | | | |
- |------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | |Lower | |Raise | | | | |
- `-----------------------------------------------------------------------------------'
-```
diff --git a/keyboards/planck/keymaps/charlesrocket/rules 2.mk b/keyboards/planck/keymaps/charlesrocket/rules 2.mk
deleted file mode 100644
index 6e4985a8b171..000000000000
--- a/keyboards/planck/keymaps/charlesrocket/rules 2.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-SRC += muse.c
-# Set any rules.mk overrides for your specific keymap here.
-# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LTO_ENABLE = yes
-COMMAND_ENABLE = no
-MOUSEKEY_ENABLE = no
-WEBUSB_ENABLE = yes
-ORYX_ENABLE = yes
diff --git a/keyboards/preonic/keymaps/shwilliam/config 2.h b/keyboards/preonic/keymaps/shwilliam/config 2.h
deleted file mode 100644
index 959f94fe2b4b..000000000000
--- a/keyboards/preonic/keymaps/shwilliam/config 2.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(PREONIC_SOUND)
- // #define STARTUP_SONG SONG(NO_SOUND)
-#endif
-
-#define MUSIC_MASK (keycode != KC_NO)
-
-/* prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-#define MIDI_BASIC
-
-/* enable advanced MIDI features */
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/keyboards/preonic/keymaps/shwilliam/keymap 2.c b/keyboards/preonic/keymaps/shwilliam/keymap 2.c
deleted file mode 100644
index c9d6cbab4236..000000000000
--- a/keyboards/preonic/keymaps/shwilliam/keymap 2.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/* Copyright 2020 William Lindvall
- *
- * This 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
-
-enum custom_keycodes {
- LIQUOT = SAFE_RANGE,
- RIQUOT,
- LQUOT,
- RQUOT,
- LTITLE,
- RTITLE,
- TBULLET,
- FBULLET,
- FN_ARROW,
- MAIL,
- GITHUB,
- HEART,
- E_LCRY,
- E_FLOWER,
- E_SHEART,
- E_KISS,
- E_PHEART,
- E_NOGOOD,
- E_PARTY,
- E_ROCKET,
- E_SHRUG,
- E_WIZARD,
- E_OKBUST,
- E_OKHAND,
- E_SLEEP,
- E_HUNNED,
- E_2HEART
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LIQUOT:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("300a"));
- }
- return false;
- case RIQUOT:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("300b"));
- }
- return false;
- case LQUOT:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("300c"));
- }
- return false;
- case RQUOT:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("300d"));
- }
- return false;
- case LTITLE:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("3010"));
- }
- return false;
- case RTITLE:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("3011"));
- }
- return false;
- case TBULLET:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("2023"));
- }
- return false;
- case FBULLET:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("2055"));
- }
- return false;
- case MAIL:
- if (record->event.pressed) {
- SEND_STRING("w-lindvall@outlook.com");
- }
- return false;
- case GITHUB:
- if (record->event.pressed) {
- SEND_STRING("https://github.com/shwilliam");
- }
- return false;
- case FN_ARROW:
- if (record->event.pressed) {
- SEND_STRING("=>");
- }
- return false;
- case HEART:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("2661"));
- }
- return false;
- case E_LCRY:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE02"));
- }
- return false;
- case E_FLOWER:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83C+DF38"));
- }
- return false;
- case E_SHEART:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DC96"));
- }
- return false;
- case E_KISS:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE18"));
- }
- return false;
- case E_PHEART:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DC9C"));
- }
- return false;
- case E_NOGOOD:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE45"));
- }
- return false;
- case E_PARTY:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83C+DF8A"));
- }
- return false;
- case E_ROCKET:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE80"));
- }
- return false;
- case E_SHRUG:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83E+DD37"));
- }
- return false;
- case E_WIZARD:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83E+DDD9"));
- }
- return false;
- case E_OKBUST:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE46"));
- }
- return false;
- case E_OKHAND:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DC4C"));
- }
- return false;
- case E_SLEEP:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DE34"));
- }
- return false;
- case E_HUNNED:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DCAF"));
- }
- return false;
- case E_2HEART:
- if (record->event.pressed) {
- SEND_STRING(SS_LALT("D83D+DC95"));
- }
- return false;
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* qwerty
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | q | w | e | r | t | y | u | i | o | p | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | H/Esc| a | s | d | f | g | h | j | k | l | ' | Enter|
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| z | x | c | v | b | n | m | , | . | / | ; |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | PDown| PUp | Alt | OS | Opt | Raise| Space| Lower| Left | Down | Up | Right|
- * `-----------------------------------------------------------------------------------'
- */
-
- [0] = LAYOUT_preonic_grid(
- KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,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_BSPC,
- C_S_T(KC_ESC),KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_QUOT ,KC_ENT,
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_SCLN,
- KC_PGDN ,KC_PGUP ,KC_LALT ,KC_LGUI ,KC_LCTL ,MO(1) ,KC_SPC ,MO(2) ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
- ),
-
- /* raise
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |SRight|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Q | W | E | R | T | Y | U | I | O | P | SLeft|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | A | S | D | F | G | H | J | K | L | " | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Emoji| Z | X | C | V | B | N | M | < | > | ? | : |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | End | Home | ShAlt| ShOS | ShOpt|~~~~~~| Space| | | BDown| BUp | |
- * `-----------------------------------------------------------------------------------'
- */
-
- [1] = LAYOUT_preonic_grid(
- KC_TILD ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,SGUI(KC_RGHT),
- KC_NO ,LSFT(KC_Q),LSFT(KC_W) ,LSFT(KC_E) ,LSFT(KC_R) ,LSFT(KC_T),LSFT(KC_Y),LSFT(KC_U),LSFT(KC_I),LSFT(KC_O),LSFT(KC_P),SGUI(KC_LEFT),
- KC_NO ,LSFT(KC_A),LSFT(KC_S) ,LSFT(KC_D) ,LSFT(KC_F) ,LSFT(KC_G),LSFT(KC_H),LSFT(KC_J),LSFT(KC_K),LSFT(KC_L),KC_DQUO ,KC_BSLS,
- OSL(3) ,LSFT(KC_Z),LSFT(KC_X) ,LSFT(KC_C) ,LSFT(KC_V) ,LSFT(KC_B),LSFT(KC_N),LSFT(KC_M),KC_LT ,KC_GT ,KC_QUES ,KC_COLN,
- KC_END ,KC_HOME ,LSFT(KC_LALT),LSFT(KC_LGUI),LSFT(KC_LCTL),KC_TRNS ,KC_SPC ,KC_TRNS ,KC_NO ,KC_BRID ,KC_BRIU ,KC_NO
- ),
-
- /* lower
- * ,-----------------------------------------------------------------------------------.
- * | ♡ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ‣ | CLeft| MUp |CRight|MWDown| 【 | - | _ | | | = | + | DLeft|
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | MLeft| MDown|MRight| MWUp | 】 | Left | Down | Up | Right| ( | ) |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | 《 | 》 | 「 | 」 | ⁕ | | { | } | [ | ] | => |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Mail |GitHub| | | | | Space|~~~~~~| VMute| VDown| VUp | |
- * `-----------------------------------------------------------------------------------'
- */
-
- [2] = LAYOUT_preonic_grid(
- HEART ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_NO,
- TBULLET ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_WH_D ,LTITLE ,KC_MINS ,KC_UNDS ,KC_PIPE ,KC_EQL ,KC_PLUS ,LGUI(KC_BSPC),
- KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_U ,RTITLE ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,KC_LPRN ,KC_RPRN,
- KC_NO ,LIQUOT ,RIQUOT ,LQUOT ,RQUOT ,FBULLET ,KC_NO ,KC_LCBR ,KC_RCBR ,KC_LBRC ,KC_RBRC ,FN_ARROW,
- MAIL ,GITHUB ,KC_NO ,KC_NO ,KC_NO ,KC_TRNS ,KC_BSPC ,KC_TRNS ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_NO
- ),
-
- /* emoji
- * ,-----------------------------------------------------------------------------------.
- * | | 1 | 2 | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | w | | r | | y | | | o | p | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | s | | f | | h | | k | l | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | z | | c | | | n | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- *
- * mnemonics:
- *
- * 100 - 💯
- * 2 hearts - 💕
- * cry - 😂
- * flower - 🌸
- * heart - 💖
- * kiss - 😘
- * love - 💜
- * no - 🙅
- * ok - 🙆
- * party - 🎊
- * rocket - 🚀
- * shrug - 🤷
- * wizard - 🧙
- * yes - 👌
- * zzz - 😴
- *
- */
-
- [3] = LAYOUT_preonic_grid(
- KC_NO ,E_HUNNED,E_2HEART,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
- KC_NO ,KC_NO ,E_WIZARD,KC_NO ,E_ROCKET,KC_NO ,E_OKHAND,KC_NO ,KC_NO ,E_OKBUST,E_PARTY ,KC_NO,
- KC_NO ,KC_NO ,E_SHRUG ,KC_NO ,E_FLOWER,KC_NO ,E_SHEART,KC_NO ,E_KISS ,E_PHEART,KC_NO ,KC_NO,
- KC_NO ,E_SLEEP ,KC_NO ,E_LCRY ,KC_NO ,KC_NO ,E_NOGOOD,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
- KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- )
-
-};
diff --git a/keyboards/preonic/keymaps/shwilliam/readme 2.md b/keyboards/preonic/keymaps/shwilliam/readme 2.md
deleted file mode 100644
index bb0f2e1797ba..000000000000
--- a/keyboards/preonic/keymaps/shwilliam/readme 2.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# [@shwilliam](https://github.com/shwilliam)'s Preonic Layout
-
-
-
-## Overview
-
-- Shift, backspace, raise and lower on thumbs
-- Arrows on Vim keys
-- Function arrow key (`=>`)
-- Common parens one key from home-row
-- Brightness/volume control
-- Tap caps-lock for escape, hold for left control and left shift
-- Alternative punctuation
- - Corner brackets
- - Double-angle brackets
- - Lenticular brackets
-- Select to left and right keys
-- Emoji layer
-
-## Layers
-
-### QWERTY
-
-- Base layer; similar to default Preonic keymap
-
-### Raise
-
-- Mostly shifted QWERTY layer with alternative actions
-- Brightness control
-
-### Lower
-
-- Common parentheses
-- Arrows on Vim keys
-- Mouse controls on WASD
-- Volume control
-
-### Emoji
-
-- Emoji layout based on mnemonics
diff --git a/keyboards/preonic/keymaps/shwilliam/rules 2.mk b/keyboards/preonic/keymaps/shwilliam/rules 2.mk
deleted file mode 100644
index dcf16bef3994..000000000000
--- a/keyboards/preonic/keymaps/shwilliam/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-SRC += muse.c
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h b/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
deleted file mode 100644
index 8075bb73d554..000000000000
--- a/keyboards/primekb/prime_e/keymaps/madhatter/config 2.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-#define TAPPING_TERM 150
-
-#undef PRODUCT
-#define PRODUCT MadHatter\x27s Custom Ilpse
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c b/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
deleted file mode 100644
index 7b08d0ecf458..000000000000
--- a/keyboards/primekb/prime_e/keymaps/madhatter/keymap 2.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright 2018 Holten Campbell
- *
- * This 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 BLINK_DURATION 512
-#define CAPS_LED_PIN B1
-#define NUM_LED_PIN B2
-#define SCROLL_LED_PIN B3
-
-uint8_t CAPS;
-uint16_t BLINK_TIMER = 0;
-uint8_t CAPS_LED_STATE = 0;
-
-// Init togg_indicator so the compiler doesn't complain when I declare it last.
-static void togg_indicator(uint8_t *state, uint8_t pin);
-
-enum ilpse_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum skank_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, LOWER, KC_LCMD, LT(_RAISE, KC_SPC), KC_LALT, KC_RGUI, KC_RCTL
- ),
-
- [_LOWER] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
- KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_RAISE] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
- KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_ADJUST] = LAYOUT(
- RESET, 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- AG_TOGG, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-void matrix_init_user(void) {
- // set CapsLock LED to output and low
- setPinOutput(CAPS_LED_PIN);
- writePinLow(CAPS_LED_PIN);
- // set NumLock LED to output and low
- setPinOutput(NUM_LED_PIN);
- writePinLow(NUM_LED_PIN);
- // set ScrollLock LED to output and low
- setPinOutput(SCROLL_LED_PIN);
- writePinLow(SCROLL_LED_PIN);
-}
-
-void matrix_scan_user(void) {
- if (CAPS == 1) {
- // Blink the first led when capslock is active
- if (BLINK_TIMER >= BLINK_DURATION) {
- togg_indicator(&CAPS_LED_STATE, CAPS_LED_PIN);
- BLINK_TIMER = 0;
- }
- BLINK_TIMER++;
- }
-}
-
-//function for layer indicator LED
-layer_state_t layer_state_set_user(layer_state_t state) {
- if (layer_state_cmp(state, 1)) {
- writePinHigh(CAPS_LED_PIN);
- } else {
- writePinLow(CAPS_LED_PIN);
- }
- if (layer_state_cmp(state, 2)) {
- writePinHigh(NUM_LED_PIN);
- } else {
- writePinLow(NUM_LED_PIN);
- }
- if (layer_state_cmp(state, 3)) {
- writePinHigh(SCROLL_LED_PIN);
- } else {
- writePinLow(SCROLL_LED_PIN);
- }
- return state;
-}
-
-void led_set_user(uint8_t usb_led) {
- CAPS = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK);
-}
-
-void togg_indicator(uint8_t *state, uint8_t pin) {
- // Toggles a pin based on the current state
- if (*state == 0){
- *state = 1;
- writePinHigh(pin);
- }
- else if (*state == 1){
- *state = 0;
- writePinLow(pin);
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case 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 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;
- }
- return true;
-}
diff --git a/keyboards/s7_elephant/rev1/config 2.h b/keyboards/s7_elephant/rev1/config 2.h
deleted file mode 100644
index d2770d117b60..000000000000
--- a/keyboards/s7_elephant/rev1/config 2.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER jacky
-#define PRODUCT S7 Elephant
-#define DESCRIPTION A high-end 70% custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
-#define MATRIX_COL_PINS { B6, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7, F1 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#define RGB_DI_PIN E6
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 2
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_SLEEP
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/s7_elephant/rev1/info 2.json b/keyboards/s7_elephant/rev1/info 2.json
deleted file mode 100644
index 3d45f0b094c9..000000000000
--- a/keyboards/s7_elephant/rev1/info 2.json
+++ /dev/null
@@ -1,2348 +0,0 @@
-{
- "keyboard_name": "S7 Elephant",
- "url": "https://geekhack.org/index.php?topic=96434.0",
- "maintainer": "qmk",
- "width": 18,
- "height": 5,
- "layouts": {
- "LAYOUT_ansi": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_small_lshift": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_small_lshift_small_bspc": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_1u": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_1u_small_lshift": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_1u_small_bspc": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_1u_small_lshift_small_bspc": {
- "key_count": 75,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_7u": {
- "key_count": 71,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_7u_small_lshift": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_7u_small_bspc": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_7u_small_lshift_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_small_lshift": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_small_lshift_small_bspc": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_7u": {
- "key_count": 71,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"label":"Space", "x":6, "y":4, "w":7},
- {"label":"Fn", "x":13, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_7u_small_lshift": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"label":"Space", "x":6, "y":4, "w":7},
- {"label":"Fn", "x":13, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_7u_small_bspc": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":2.25},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"label":"Space", "x":6, "y":4, "w":7},
- {"label":"Fn", "x":13, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_ansi_blocker_7u_small_lshift_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"|", "x":15.5, "y":1, "w":1.5},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"Enter", "x":14.75, "y":2, "w":2.25},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"label":"Space", "x":6, "y":4, "w":7},
- {"label":"Fn", "x":13, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_small_bspc": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_1u": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_1u_small_bspc": {
- "key_count": 75,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4},
- {"label":"Alt", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_7u": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_7u_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4, "w":1.5},
- {"x":5, "y":4, "w":7},
- {"label":"Fn", "x":12, "y":4, "w":1.5},
- {"label":"Ctrl", "x":13.5, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_blocker": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_blocker_small_bspc": {
- "key_count": 74,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.25},
- {"label":"Win", "x":3.25, "y":4, "w":1.25},
- {"label":"Alt", "x":4.5, "y":4, "w":1.25},
- {"x":5.75, "y":4, "w":6.25},
- {"label":"Fn", "x":12, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.25, "y":4, "w":1.25},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_blocker_7u": {
- "key_count": 72,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0, "w":2},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"x":6, "y":4, "w":6.75},
- {"label":"Fn", "x":12.75, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- },
- "LAYOUT_iso_blocker_7u_small_bspc": {
- "key_count": 73,
- "layout": [
- {"label":"F1", "x":0, "y":0},
- {"label":"Esc", "x":2, "y":0},
- {"label":"!", "x":3, "y":0},
- {"label":"@", "x":4, "y":0},
- {"label":"#", "x":5, "y":0},
- {"label":"$", "x":6, "y":0},
- {"label":"%", "x":7, "y":0},
- {"label":"^", "x":8, "y":0},
- {"label":"&", "x":9, "y":0},
- {"label":"*", "x":10, "y":0},
- {"label":"(", "x":11, "y":0},
- {"label":")", "x":12, "y":0},
- {"label":"_", "x":13, "y":0},
- {"label":"+", "x":14, "y":0},
- {"label":"Backspace", "x":15, "y":0},
- {"x":16, "y":0},
- {"label":"Home", "x":17, "y":0},
- {"label":"F2", "x":0, "y":1},
- {"label":"Tab", "x":2, "y":1, "w":1.5},
- {"label":"Q", "x":3.5, "y":1},
- {"label":"W", "x":4.5, "y":1},
- {"label":"E", "x":5.5, "y":1},
- {"label":"R", "x":6.5, "y":1},
- {"label":"T", "x":7.5, "y":1},
- {"label":"Y", "x":8.5, "y":1},
- {"label":"U", "x":9.5, "y":1},
- {"label":"I", "x":10.5, "y":1},
- {"label":"O", "x":11.5, "y":1},
- {"label":"P", "x":12.5, "y":1},
- {"label":"{", "x":13.5, "y":1},
- {"label":"}", "x":14.5, "y":1},
- {"label":"End", "x":17, "y":1},
- {"label":"F3", "x":0, "y":2},
- {"label":"Caps Lock", "x":2, "y":2, "w":1.75},
- {"label":"A", "x":3.75, "y":2},
- {"label":"S", "x":4.75, "y":2},
- {"label":"D", "x":5.75, "y":2},
- {"label":"F", "x":6.75, "y":2},
- {"label":"G", "x":7.75, "y":2},
- {"label":"H", "x":8.75, "y":2},
- {"label":"J", "x":9.75, "y":2},
- {"label":"K", "x":10.75, "y":2},
- {"label":"L", "x":11.75, "y":2},
- {"label":":", "x":12.75, "y":2},
- {"label":"\"", "x":13.75, "y":2},
- {"label":"|", "x":14.75, "y":2},
- {"label":"Enter", "x":15.75, "y":1, "w":1.25, "h":2},
- {"label":"Ins", "x":17, "y":2},
- {"label":"F4", "x":0, "y":3},
- {"label":"Shift", "x":2, "y":3, "w":1.25},
- {"x":3.25, "y":3},
- {"label":"Z", "x":4.25, "y":3},
- {"label":"X", "x":5.25, "y":3},
- {"label":"C", "x":6.25, "y":3},
- {"label":"V", "x":7.25, "y":3},
- {"label":"B", "x":8.25, "y":3},
- {"label":"N", "x":9.25, "y":3},
- {"label":"M", "x":10.25, "y":3},
- {"label":"<", "x":11.25, "y":3},
- {"label":">", "x":12.25, "y":3},
- {"label":"?", "x":13.25, "y":3},
- {"label":"Shift", "x":14.25, "y":3, "w":1.75},
- {"label":"Up", "x":16, "y":3},
- {"label":"Del", "x":17, "y":3},
- {"label":"F5", "x":0, "y":4},
- {"label":"Ctrl", "x":2, "y":4, "w":1.5},
- {"label":"Win", "x":3.5, "y":4},
- {"label":"Alt", "x":4.5, "y":4, "w":1.5},
- {"label":"Space", "x":6, "y":4, "w":7},
- {"label":"Fn", "x":13, "y":4, "w":1.5},
- {"label":"Left", "x":15, "y":4},
- {"label":"Down", "x":16, "y":4},
- {"label":"Right", "x":17, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/config 2.h b/keyboards/s7_elephant/rev1/keymaps/default/config 2.h
deleted file mode 100644
index 85f62371e9f0..000000000000
--- a/keyboards/s7_elephant/rev1/keymaps/default/config 2.h
+++ /dev/null
@@ -1 +0,0 @@
-#define RGBLIGHT_LIMIT_VAL 80
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c b/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
deleted file mode 100644
index 339f2d379c65..000000000000
--- a/keyboards/s7_elephant/rev1/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _QWERTY,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F5 | | Ctrl | Gui | Alt | Space | FN | RCtrl | L | D | R |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-[_QWERTY] = LAYOUT_ansi(
-KC_F1, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
-KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
-KC_F3, 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_HOME,
-KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
-),
-
-/* FN
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * |Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | |PgDn |
- * |------| |-------------------------------------------------------------------------------------------------|
- * |EEPRST| | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-[_FN] = LAYOUT_ansi(
-RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP,
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
-EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-
-void led_set_user(uint8_t usb_led) {
- // Turn LEDs On/Off for Caps Lock
- if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
- rgblight_enable_noeeprom();
- rgblight_sethsv_noeeprom(0, 0, 80);
- } else {
- rgblight_sethsv_noeeprom(0, 0, 80);
- rgblight_disable_noeeprom();
- }
-}
diff --git a/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md b/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
deleted file mode 100644
index c4fe30acdd58..000000000000
--- a/keyboards/s7_elephant/rev1/keymaps/default/readme 2.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Default keymap for S7 Elephant
-
-**Features**
-
-* LEDs are functioning as Caps-Lock indicators
-
-## QWERTY (Normal) Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
-|------| |-------------------------------------------------------------------------------------------------|
-| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
-|------| |-------------------------------------------------------------------------------------------------|
-| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
-|------| |-------------------------------------------------------------------------------------------------|
-| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
-|------| |-------------------------------------------------------------------------------------------------|
-| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
-`------' `-------------------------------------------------------------------------------------------------'
-```
-
-## FN Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | | | |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | |PgDn |
-|------| |-------------------------------------------------------------------------------------------------|
-|EPRM | | | | | | | | | | | |
-`------' `-------------------------------------------------------------------------------------------------'
-```
diff --git a/keyboards/s7_elephant/rev1/readme 2.md b/keyboards/s7_elephant/rev1/readme 2.md
deleted file mode 100644
index 702be4c3a786..000000000000
--- a/keyboards/s7_elephant/rev1/readme 2.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# S7 Elephant
-
-
-
-A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
-
-* Keyboard Maintainer: QMK Community
-* Hardware Supported: S7 Elephant
-* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
-
-Make example for this keyboard (after setting up your build environment):
-
- make s7_elephant/rev1:default
-
-To enter the bootloader, either short the pins 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/s7_elephant/rev1/rev1 2.c b/keyboards/s7_elephant/rev1/rev1 2.c
deleted file mode 100644
index 520a869e57ba..000000000000
--- a/keyboards/s7_elephant/rev1/rev1 2.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "rev1.h"
diff --git a/keyboards/s7_elephant/rev1/rev1 2.h b/keyboards/s7_elephant/rev1/rev1 2.h
deleted file mode 100644
index 958ba0fae0af..000000000000
--- a/keyboards/s7_elephant/rev1/rev1 2.h
+++ /dev/null
@@ -1,853 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define ____ KC_NO
-
-/* ANSI
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small shift
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_small_lshift( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small shift and small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_small_lshift_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ANSI with 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_1u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* ANSI with small shift and 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_1u_small_lshift( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* ANSI with small backspace and 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_1u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* ANSI with small shift and small backspace and 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_1u_small_lshift_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ANSI with 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_7u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small shift and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_7u_small_lshift( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_7u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with small shift and small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_7u_small_lshift_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ANSI with blocker
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_ansi_blocker( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small shift
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_ansi_blocker_small_lshift( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_ansi_blocker_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small shift and small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_ansi_blocker_small_lshift_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ANSI with blocker and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_ansi_blocker_7u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small shift and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_ansi_blocker_7u_small_lshift( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_ansi_blocker_7u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
-
-/* ANSI with blocker and small shift and small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_ansi_blocker_7u_small_lshift_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ISO
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ISO with small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ISO with 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso_1u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* ISO with small backspace and 1u keys in the bottom row
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso_1u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ISO with 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso_7u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ISO with small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_iso_7u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-/* **************************************************************************************************************************************** */
-/* ISO with blocker
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_iso_blocker( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* ISO with blocker and small backspace
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------- -------------------'
- */
-
-#define LAYOUT_iso_blocker_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
-}
-
-/* **************************************************************************************************************************************** */
-/* ISO with blocker and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_iso_blocker_7u( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
-
-/* ISO with blocker and small backspace and 7u spacebar
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |------------------------------------------------------------------------------------ |-----|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `------' `--------------------------------------------------------------------------- ------------------'
- */
-
-#define LAYOUT_iso_blocker_7u_small_bspc( \
-K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
-K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
-K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
-K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-K400, K401, K402, K403, K407, K410, K413, K414, K415 \
-) { \
-{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
-{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
-{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
-{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
-{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
-}
diff --git a/keyboards/s7_elephant/rev1/rules 2.mk b/keyboards/s7_elephant/rev1/rules 2.mk
deleted file mode 100644
index 91fe85c3dfb1..000000000000
--- a/keyboards/s7_elephant/rev1/rules 2.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
diff --git a/keyboards/s7_elephant/rev2/config 2.h b/keyboards/s7_elephant/rev2/config 2.h
deleted file mode 100644
index 5c5b526aa7cf..000000000000
--- a/keyboards/s7_elephant/rev2/config 2.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2020 MudkipMao
-
-This 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 0xA13B // Hexidecimal A13B will be Jacky's vendor ID
-#define PRODUCT_ID 0x0008 // 8 for S7++
-#define DEVICE_VER 0x0002
-#define MANUFACTURER Jacky
-#define PRODUCT Jacky S7 Elephant Rev 2
-#define DESCRIPTION A high-end 70% custom keyboard
-
-/* Don't remove this without also removing LTO_ENABLE=yes in rules.mk */
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- *
- * 0 1 2 3 4 5 6 7 8 9 A B C D E F */
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0, E6 }
-
-/* Setting the matrix value of top left key for bootmagic lite */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 15
-
-#define DIODE_DIRECTION ROW2COL
-
-#define BACKLIGHT_PIN B6
-// #define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 15
-
-#define RGB_DI_PIN E2
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 2
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-#endif // RGB_DI_PIN
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/s7_elephant/rev2/info 2.json b/keyboards/s7_elephant/rev2/info 2.json
deleted file mode 100644
index 5c811cd47df8..000000000000
--- a/keyboards/s7_elephant/rev2/info 2.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "keyboard_name": "S7 Elephant Rev2",
- "url": "https://geekhack.org/index.php?topic=103148.0",
- "maintainer": "qmk",
- "width": 17.25,
- "height": 5,
- "layouts": {
- "LAYOUT_all": {
- "key_count": 75,
- "layout": [
- {"label":"K0F (B0,E6)", "x":0, "y":0},
- {"label":"K00 (B0,D0)", "x":1.25, "y":0},
- {"label":"K01 (B0,D1)", "x":2.25, "y":0},
- {"label":"K02 (B0,D2)", "x":3.25, "y":0},
- {"label":"K03 (B0,D3)", "x":4.25, "y":0},
- {"label":"K04 (B0,D5)", "x":5.25, "y":0},
- {"label":"K05 (B0,D4)", "x":6.25, "y":0},
- {"label":"K06 (B0,D6)", "x":7.25, "y":0},
- {"label":"K07 (B0,D7)", "x":8.25, "y":0},
- {"label":"K08 (B0,B4)", "x":9.25, "y":0},
- {"label":"K09 (B0,F7)", "x":10.25, "y":0},
- {"label":"K0A (B0,F6)", "x":11.25, "y":0},
- {"label":"K0B (B0,F5)", "x":12.25, "y":0},
- {"label":"K0C (B0,F4)", "x":13.25, "y":0},
- {"label":"K0D (B0,F1)", "x":14.25, "y":0},
- {"label":"K0E (B0,F0)", "x":15.25, "y":0},
- {"label":"K4E (B7,F0)", "x":16.25, "y":0},
- {"label":"K1F (B1,E6)", "x":0, "y":1},
- {"label":"K10 (B1,D0)", "x":1.25, "y":1, "w":1.5},
- {"label":"K11 (B1,D1)", "x":2.75, "y":1},
- {"label":"K12 (B1,D2)", "x":3.75, "y":1},
- {"label":"K13 (B1,D3)", "x":4.75, "y":1},
- {"label":"K14 (B1,D5)", "x":5.75, "y":1},
- {"label":"K15 (B1,D4)", "x":6.75, "y":1},
- {"label":"K16 (B1,D6)", "x":7.75, "y":1},
- {"label":"K17 (B1,D7)", "x":8.75, "y":1},
- {"label":"K18 (B1,B4)", "x":9.75, "y":1},
- {"label":"K19 (B1,F7)", "x":10.75, "y":1},
- {"label":"K1A (B1,F6)", "x":11.75, "y":1},
- {"label":"K1B (B1,F5)", "x":12.75, "y":1},
- {"label":"K1C (B1,F4)", "x":13.75, "y":1},
- {"label":"K2C (B2,F4)", "x":14.75, "y":1, "w":1.5},
- {"label":"K1E (B1,F0)", "x":16.25, "y":1},
- {"label":"K2F (B2,E6)", "x":0, "y":2},
- {"label":"K20 (B2,D0)", "x":1.25, "y":2, "w":1.75},
- {"label":"K21 (B2,D1)", "x":3, "y":2},
- {"label":"K22 (B2,D2)", "x":4, "y":2},
- {"label":"K23 (B2,D3)", "x":5, "y":2},
- {"label":"K24 (B2,D5)", "x":6, "y":2},
- {"label":"K25 (B2,D4)", "x":7, "y":2},
- {"label":"K26 (B2,D6)", "x":8, "y":2},
- {"label":"K27 (B2,D7)", "x":9, "y":2},
- {"label":"K28 (B2,B4)", "x":10, "y":2},
- {"label":"K29 (B2,F7)", "x":11, "y":2},
- {"label":"K2A (B2,F6)", "x":12, "y":2},
- {"label":"K2B (B2,F5)", "x":13, "y":2},
- {"label":"K1D (B1,F1)", "x":14, "y":2, "w":2.25},
- {"label":"K2E (B2,F0)", "x":16.25, "y":2},
- {"label":"K3F (B3,E6)", "x":0, "y":3},
- {"label":"K30 (B3,D0)", "x":1.25, "y":3, "w":1.25},
- {"label":"K31 (B3,D1)", "x":2.5, "y":3},
- {"label":"K32 (B3,D2)", "x":3.5, "y":3},
- {"label":"K33 (B3,D3)", "x":4.5, "y":3},
- {"label":"K34 (B3,D5)", "x":5.5, "y":3},
- {"label":"K35 (B3,D4)", "x":6.5, "y":3},
- {"label":"K36 (B3,D6)", "x":7.5, "y":3},
- {"label":"K37 (B3,D7)", "x":8.5, "y":3},
- {"label":"K38 (B3,B4)", "x":9.5, "y":3},
- {"label":"K39 (B3,F7)", "x":10.5, "y":3},
- {"label":"K3A (B3,F6)", "x":11.5, "y":3},
- {"label":"K3B (B3,F5)", "x":12.5, "y":3},
- {"label":"K3C (B3,F4)", "x":13.5, "y":3, "w":1.75},
- {"label":"K3D (B3,F1)", "x":15.25, "y":3},
- {"label":"K3E (B3,F0)", "x":16.25, "y":3},
- {"label":"K4F (B7,E6)", "x":0, "y":4},
- {"label":"K40 (B7,D0)", "x":1.25, "y":4, "w":1.25},
- {"label":"K41 (B7,D1)", "x":2.5, "y":4, "w":1.25},
- {"label":"K42 (B7,D2)", "x":3.75, "y":4, "w":1.25},
- {"label":"K46 (B7,D6)", "x":5, "y":4, "w":6.25},
- {"label":"K48 (B7,B4)", "x":11.25, "y":4},
- {"label":"K49 (B7,F7)", "x":12.25, "y":4},
- {"label":"K4A (B7,F6)", "x":13.25, "y":4},
- {"label":"K4B (B7,F5)", "x":14.25, "y":4},
- {"label":"K4C (B7,F4)", "x":15.25, "y":4},
- {"label":"K4D (B7,F1)", "x":16.25, "y":4}
- ]
- },
- "LAYOUT_ansi_1u": {
- "key_count": 73,
- "layout": [
- {"label":"K0F", "x":0, "y":0},
- {"label":"K00", "x":1.25, "y":0},
- {"label":"K01", "x":2.25, "y":0},
- {"label":"K02", "x":3.25, "y":0},
- {"label":"K03", "x":4.25, "y":0},
- {"label":"K04", "x":5.25, "y":0},
- {"label":"K05", "x":6.25, "y":0},
- {"label":"K06", "x":7.25, "y":0},
- {"label":"K07", "x":8.25, "y":0},
- {"label":"K08", "x":9.25, "y":0},
- {"label":"K09", "x":10.25, "y":0},
- {"label":"K0A", "x":11.25, "y":0},
- {"label":"K0B", "x":12.25, "y":0},
- {"label":"K0C", "x":13.25, "y":0},
- {"label":"K0E", "x":14.25, "y":0, "w":2},
- {"label":"K4E", "x":16.25, "y":0},
- {"label":"K1F", "x":0, "y":1},
- {"label":"K10", "x":1.25, "y":1, "w":1.5},
- {"label":"K11", "x":2.75, "y":1},
- {"label":"K12", "x":3.75, "y":1},
- {"label":"K13", "x":4.75, "y":1},
- {"label":"K14", "x":5.75, "y":1},
- {"label":"K15", "x":6.75, "y":1},
- {"label":"K16", "x":7.75, "y":1},
- {"label":"K17", "x":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K1A", "x":11.75, "y":1},
- {"label":"K1B", "x":12.75, "y":1},
- {"label":"K1C", "x":13.75, "y":1},
- {"label":"K2C", "x":14.75, "y":1, "w":1.5},
- {"label":"K1E", "x":16.25, "y":1},
- {"label":"K2F", "x":0, "y":2},
- {"label":"K20", "x":1.25, "y":2, "w":1.75},
- {"label":"K21", "x":3, "y":2},
- {"label":"K22", "x":4, "y":2},
- {"label":"K23", "x":5, "y":2},
- {"label":"K24", "x":6, "y":2},
- {"label":"K25", "x":7, "y":2},
- {"label":"K26", "x":8, "y":2},
- {"label":"K27", "x":9, "y":2},
- {"label":"K28", "x":10, "y":2},
- {"label":"K29", "x":11, "y":2},
- {"label":"K2A", "x":12, "y":2},
- {"label":"K2B", "x":13, "y":2},
- {"label":"K1D", "x":14, "y":2, "w":2.25},
- {"label":"K2E", "x":16.25, "y":2},
- {"label":"K3F", "x":0, "y":3},
- {"label":"K30", "x":1.25, "y":3, "w":2.25},
- {"label":"K32", "x":3.5, "y":3},
- {"label":"K33", "x":4.5, "y":3},
- {"label":"K34", "x":5.5, "y":3},
- {"label":"K35", "x":6.5, "y":3},
- {"label":"K36", "x":7.5, "y":3},
- {"label":"K37", "x":8.5, "y":3},
- {"label":"K38", "x":9.5, "y":3},
- {"label":"K39", "x":10.5, "y":3},
- {"label":"K3A", "x":11.5, "y":3},
- {"label":"K3B", "x":12.5, "y":3},
- {"label":"K3C", "x":13.5, "y":3, "w":1.75},
- {"label":"K3D", "x":15.25, "y":3},
- {"label":"K3E", "x":16.25, "y":3},
- {"label":"K4F", "x":0, "y":4},
- {"label":"K40", "x":1.25, "y":4, "w":1.25},
- {"label":"K41", "x":2.5, "y":4, "w":1.25},
- {"label":"K42", "x":3.75, "y":4, "w":1.25},
- {"label":"K46", "x":5, "y":4, "w":6.25},
- {"label":"K48", "x":11.25, "y":4},
- {"label":"K49", "x":12.25, "y":4},
- {"label":"K4A", "x":13.25, "y":4},
- {"label":"K4B", "x":14.25, "y":4},
- {"label":"K4C", "x":15.25, "y":4},
- {"label":"K4D", "x":16.25, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c b/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
deleted file mode 100644
index b1fbd3830d63..000000000000
--- a/keyboards/s7_elephant/rev2/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,65 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _QWERTY,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | Ins |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Del |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Home|
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | End |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F5 | | Ctrl | Gui | Alt | Space | RAlt | FN | RCtrl | L | D | R |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
- [_QWERTY] = LAYOUT_ansi_1u(
- KC_F1, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_F3, 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_HOME,
- KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
-/* FN
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * |Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | |PgDn |
- * |------| |-------------------------------------------------------------------------------------------------|
- * |EEPRST| | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
- [_FN] = LAYOUT_ansi_1u(
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
- EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-bool led_update_user(led_t led_state) {
- // Turn LEDs On/Off for Caps Lock
- if (led_state.caps_lock) {
- rgblight_enable_noeeprom();
- rgblight_sethsv_noeeprom(0, 0, 80);
- } else {
- rgblight_sethsv_noeeprom(0, 0, 80);
- rgblight_disable_noeeprom();
- }
- return false;
-}
diff --git a/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md b/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
deleted file mode 100644
index c4fe30acdd58..000000000000
--- a/keyboards/s7_elephant/rev2/keymaps/default/readme 2.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Default keymap for S7 Elephant
-
-**Features**
-
-* LEDs are functioning as Caps-Lock indicators
-
-## QWERTY (Normal) Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
-|------| |-------------------------------------------------------------------------------------------------|
-| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
-|------| |-------------------------------------------------------------------------------------------------|
-| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
-|------| |-------------------------------------------------------------------------------------------------|
-| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
-|------| |-------------------------------------------------------------------------------------------------|
-| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
-`------' `-------------------------------------------------------------------------------------------------'
-```
-
-## FN Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | | | |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | |PgDn |
-|------| |-------------------------------------------------------------------------------------------------|
-|EPRM | | | | | | | | | | | |
-`------' `-------------------------------------------------------------------------------------------------'
-```
diff --git a/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c b/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
deleted file mode 100644
index b81777b12ad7..000000000000
--- a/keyboards/s7_elephant/rev2/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// For readability
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Default layer
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | F1 | | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | Ins |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Del |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |Home |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | End |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F5 | | Ctrl | Gui | Alt | Space | RAlt | FN | RCtrl | L | D | R |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT_ansi_1u(
- KC_F1, 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_INS,
- KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_F3, 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_HOME,
- KC_F4, 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_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Fn1 Layer
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | F6 | | `~ | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F7 | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F8 | | |VolD |VolU |Mute | | | | | | | | | |PgUp |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F9 | | |Prev |Play |Next | | | | | | | | | |PgDn |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | F10 | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
- [_FN1] = LAYOUT_ansi_1u(
- KC_F6, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F7, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F8, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
- KC_F9, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
- KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* Fn2 Layer
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
- [_FN2] = LAYOUT_ansi_1u(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
- [_FN3] = LAYOUT_ansi_1u(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/s7_elephant/rev2/keymaps/via/readme 2.md b/keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
deleted file mode 100644
index c4fe30acdd58..000000000000
--- a/keyboards/s7_elephant/rev2/keymaps/via/readme 2.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Default keymap for S7 Elephant
-
-**Features**
-
-* LEDs are functioning as Caps-Lock indicators
-
-## QWERTY (Normal) Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-| F1 | | Esc`~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |Home |
-|------| |-------------------------------------------------------------------------------------------------|
-| F2 | | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | End |
-|------| |-------------------------------------------------------------------------------------------------|
-| F3 | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Ins |
-|------| |-------------------------------------------------------------------------------------------------|
-| F4 | | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | U | Del |
-|------| |-------------------------------------------------------------------------------------------------|
-| F5 | | Ctrl | Gui | Alt | Space | FN | RAlt | RCtrl | L | D | R |
-`------' `-------------------------------------------------------------------------------------------------'
-```
-
-## FN Layer
-```
-,------. ,-------------------------------------------------------------------------------------------------.
-|Reset | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr | ScrLck |Pause|
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | | | |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | |Prev |Play |Next | | | | |VolD |Mute |VolU | | |PgUp |
-|------| |-------------------------------------------------------------------------------------------------|
-| | | | | | | | | | | | | | | |PgDn |
-|------| |-------------------------------------------------------------------------------------------------|
-|EPRM | | | | | | | | | | | |
-`------' `-------------------------------------------------------------------------------------------------'
-```
diff --git a/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk b/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/s7_elephant/rev2/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/s7_elephant/rev2/readme 2.md b/keyboards/s7_elephant/rev2/readme 2.md
deleted file mode 100644
index 04cbafd96f53..000000000000
--- a/keyboards/s7_elephant/rev2/readme 2.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# S7 Elephant
-
-
-
-A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
-
-* Keyboard Maintainer: QMK Community
-* Hardware Supported: S7 Elephant
-* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
-
-Make example for this keyboard (after setting up your build environment):
-
- make s7_elephant/rev2:default
-
-To enter the bootloader, either short the pins on the PCB next to CAPSLOCK or the press 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/s7_elephant/rev2/rev2 2.c b/keyboards/s7_elephant/rev2/rev2 2.c
deleted file mode 100644
index 3e84aedd5267..000000000000
--- a/keyboards/s7_elephant/rev2/rev2 2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2020 MudkipMao
- *
- * This 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 "rev2.h"
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/s7_elephant/rev2/rev2 2.h b/keyboards/s7_elephant/rev2/rev2 2.h
deleted file mode 100644
index 16fe50aadbff..000000000000
--- a/keyboards/s7_elephant/rev2/rev2 2.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define ___ KC_NO
-
-/* ALL: This is an odd layout that the JSON file comes preloaded with. Split left-shift and ansi enter
- * ,------. ,-------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |------| |-------------------------------------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `------' `-------------------------------------------------------------------------------------------------'
- */
-
-#define LAYOUT_all( \
- K0F, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \
- K1F, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \
- K2F, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \
- K3F, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K4F, K40, K41, K42, K46, K48, K49, K4A, K4B, K4C, K4D \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
- { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
-
-/* ANSI
- * ,---. ,---------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | |
- * |---| |---------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | |
- * |---| |---------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |---| |---------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | |
- * |---| |---------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * `---' `---------------------------------------------------------------'
- */
-
-#define LAYOUT_ansi_1u( \
- K0F, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K4E, \
- K1F, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, \
- K2F, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2E, \
- K3F, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K4F, K40, K41, K42, K46, K48, K49, K4A, K4B, K4C, K4D \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E, K0F }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___, K2E, K2F }, \
- { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
- { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F } \
-}
diff --git a/keyboards/s7_elephant/rev2/rules 2.mk b/keyboards/s7_elephant/rev2/rules 2.mk
deleted file mode 100644
index cbf45a2b9be9..000000000000
--- a/keyboards/s7_elephant/rev2/rules 2.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-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 = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-LTO_ENABLE = yes
diff --git a/keyboards/suihankey/alpha/info 2.json b/keyboards/suihankey/alpha/info 2.json
deleted file mode 100644
index 3d914662ff03..000000000000
--- a/keyboards/suihankey/alpha/info 2.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "keyboard_name": "suihankey",
- "url": "https://kakunpc.booth.pm/",
- "maintainer": "kakunpc",
- "width": 6.4,
- "height": 4.85,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x": 0, "y": 0.375},
- {"x": 1, "y": 0.125},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0.125},
- {"x": 4, "y": 0.25},
-
- {"x": 0, "y": 1.375},
- {"x": 1, "y": 1.125},
- {"x": 2, "y": 1},
- {"x": 3, "y": 1.125},
- {"x": 4, "y": 1.25},
-
- {"x": 0, "y": 2.375},
- {"x": 1, "y": 2.125},
- {"x": 2, "y": 2},
- {"x": 3, "y": 2.125},
- {"x": 4, "y": 2.25},
-
- {"x": 3.4, "y": 3.25},
- {"x": 4.4, "y": 3.55},
- {"x": 5.4, "y": 3.85}
- ]
- }
- }
-}
diff --git a/keyboards/westfoxtrot/prophet/info 2.json b/keyboards/westfoxtrot/prophet/info 2.json
deleted file mode 100644
index fa4c5a9e5499..000000000000
--- a/keyboards/westfoxtrot/prophet/info 2.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "keyboard_name": "Prophet",
- "url": "",
- "maintainer": "westfoxtrot",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":1, "y":0},
- {"label":"K02", "x":2, "y":0},
- {"label":"K03", "x":3, "y":0},
- {"label":"K04", "x":4, "y":0},
- {"label":"K05", "x":5, "y":0},
- {"label":"K06", "x":6, "y":0},
- {"label":"K07", "x":7, "y":0},
- {"label":"K08", "x":8, "y":0},
- {"label":"K09", "x":9, "y":0},
- {"label":"K0A", "x":10, "y":0},
- {"label":"K0B", "x":11, "y":0},
- {"label":"K0C", "x":12, "y":0},
- {"label":"K0D", "x":13, "y":0},
- {"label":"K4D", "x":14, "y":0},
- {"label":"K10", "x":0, "y":1, "w":1.5},
- {"label":"K11", "x":1.5, "y":1},
- {"label":"K12", "x":2.5, "y":1},
- {"label":"K13", "x":3.5, "y":1},
- {"label":"K14", "x":4.5, "y":1},
- {"label":"K15", "x":5.5, "y":1},
- {"label":"K16", "x":6.5, "y":1},
- {"label":"K17", "x":7.5, "y":1},
- {"label":"K18", "x":8.5, "y":1},
- {"label":"K19", "x":9.5, "y":1},
- {"label":"K1A", "x":10.5, "y":1},
- {"label":"K1B", "x":11.5, "y":1},
- {"label":"K1C", "x":12.5, "y":1},
- {"label":"K1D", "x":13.5, "y":1, "w":1.5},
- {"label":"K20", "x":0, "y":2, "w":1.75},
- {"label":"K21", "x":1.75, "y":2},
- {"label":"K22", "x":2.75, "y":2},
- {"label":"K23", "x":3.75, "y":2},
- {"label":"K24", "x":4.75, "y":2},
- {"label":"K25", "x":5.75, "y":2},
- {"label":"K26", "x":6.75, "y":2},
- {"label":"K27", "x":7.75, "y":2},
- {"label":"K28", "x":8.75, "y":2},
- {"label":"K29", "x":9.75, "y":2},
- {"label":"K2A", "x":10.75, "y":2},
- {"label":"K2B", "x":11.75, "y":2},
- {"label":"K2D", "x":12.75, "y":2, "w":2.25},
- {"label":"K30", "x":0, "y":3, "w":1.25},
- {"label":"K31", "x":1.25, "y":3},
- {"label":"K32", "x":2.25, "y":3},
- {"label":"K33", "x":3.25, "y":3},
- {"label":"K34", "x":4.25, "y":3},
- {"label":"K35", "x":5.25, "y":3},
- {"label":"K36", "x":6.25, "y":3},
- {"label":"K37", "x":7.25, "y":3},
- {"label":"K38", "x":8.25, "y":3},
- {"label":"K39", "x":9.25, "y":3},
- {"label":"K3A", "x":10.25, "y":3},
- {"label":"K3B", "x":11.25, "y":3},
- {"label":"K3C", "x":12.25, "y":3, "w":1.75},
- {"label":"K3D", "x":14, "y":3},
- {"label":"K40", "x":0, "y":4, "w":1.5},
- {"label":"K41", "x":1.5, "y":4},
- {"label":"K42", "x":2.5, "y":4, "w":1.5},
- {"label":"K46", "x":4, "y":4, "w":7},
- {"label":"K4A", "x":11, "y":4, "w":1.5},
- {"label":"K4B", "x":12.5, "y":4},
- {"label":"K4C", "x":13.5, "y":4, "w":1.5}
- ]
- }
- }
-}
diff --git a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
deleted file mode 100644
index afb1d86d6c68..000000000000
--- a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config 2.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#undef PRODUCT
-#define PRODUCT MadHatter\x27s Custom Singa V3
diff --git a/keyboards/xd75/keymaps/hybrid/config 2.h b/keyboards/xd75/keymaps/hybrid/config 2.h
deleted file mode 100644
index 8aa116d99398..000000000000
--- a/keyboards/xd75/keymaps/hybrid/config 2.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * This 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 TAPPING_TERM 170
-//#define RGBLIGHT_LAYERS
-// place overrides here
diff --git a/keyboards/xd75/keymaps/hybrid/keymap 2.c b/keyboards/xd75/keymaps/hybrid/keymap 2.c
deleted file mode 100644
index e8b5a3536bcd..000000000000
--- a/keyboards/xd75/keymaps/hybrid/keymap 2.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* Copyright 2020 Hybrid
- *
- * This 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
-
-
-enum layers {
- _MAIN = 0,
- _LY1,
- _LY2,
-};
-
-enum {
- TD_A,
- TD_E,
- TD_I,
- TD_O,
- TD_U,
- TD_SLASH,
- TD_UNDER,
- TD_OP_ACCOL,
- TD_CL_ACCOL,
- TD_QUESTION,
- TD_CEDILLE,
- TD_DOT,
-};
-
-
-
-void dance_a_accent (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_0);
- }
- else {
- tap_code (KC_Q);
- }
-}
-void dance_e_accent (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_2);
- }
- else if (state->count == 3) {
- tap_code (KC_7);
- }
- else {
- tap_code (KC_E);
- }
-}
-void dance_i_accent (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P2);
- tap_code (KC_P3);
- tap_code (KC_P8);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_I);
-
- }
-}
-void dance_o_accent (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P2);
- tap_code (KC_P4);
- tap_code (KC_P4);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_O);
- }
-}
-void dance_u_accent (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P2);
- tap_code (KC_P4);
- tap_code (KC_P9);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_U);
- }
-
-}
-void dance_slash (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P9);
- tap_code (KC_P2);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_PSLS);
- }
-}
-void dance_under (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P9);
- tap_code (KC_P5);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_6);
- }
-}
-void dance_open_accol (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P1);
- tap_code (KC_P2);
- tap_code (KC_P3);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else if (state->count == 3) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P9);
- tap_code (KC_P1);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_5);
- }
-}
-void dance_close_accol (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P1);
- tap_code (KC_P2);
- tap_code (KC_P5);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
-
- }
- else if (state->count == 3) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P9);
- tap_code (KC_P3);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_MINS);
- }
-}
-void dance_question (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P0);
- tap_code (KC_P3);
- tap_code (KC_P3);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
-
- }
- else {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P0);
- tap_code (KC_P6);
- tap_code (KC_P3);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
-
- }
-}
-void dance_cedille (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_9);
- }
- else {
- tap_code (KC_C);
- }
-}
-void dance_dot (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P4);
- tap_code (KC_P4);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
- else {
- tap_code (KC_NLCK);
- register_code (KC_LALT);
- tap_code (KC_P0);
- tap_code (KC_P4);
- tap_code (KC_P6);
- unregister_code (KC_LALT);
- tap_code (KC_NLCK);
- }
-}
-qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_A] = ACTION_TAP_DANCE_FN(dance_a_accent),
- [TD_E] = ACTION_TAP_DANCE_FN(dance_e_accent),
- [TD_I] = ACTION_TAP_DANCE_FN(dance_i_accent),
- [TD_O] = ACTION_TAP_DANCE_FN(dance_o_accent),
- [TD_U] = ACTION_TAP_DANCE_FN(dance_u_accent),
- [TD_SLASH] = ACTION_TAP_DANCE_FN(dance_slash),
- [TD_UNDER] = ACTION_TAP_DANCE_FN(dance_under),
- [TD_OP_ACCOL] = ACTION_TAP_DANCE_FN(dance_open_accol),
- [TD_CL_ACCOL] = ACTION_TAP_DANCE_FN(dance_close_accol),
- [TD_QUESTION] = ACTION_TAP_DANCE_FN(dance_question),
- [TD_CEDILLE] = ACTION_TAP_DANCE_FN(dance_cedille),
- [TD_DOT] = ACTION_TAP_DANCE_FN(dance_dot),
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-// red led layout
- [_MAIN] = LAYOUT_ortho_5x15(
- KC_ESC, KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_DOT), KC_6, KC_7, KC_8, KC_9, KC_0, DF(_LY1), KC_NO,
- KC_TAB, TD(TD_A), KC_W, TD(TD_E), KC_R, KC_T, KC_Y, KC_ENT, TD(TD_U), TD(TD_I), TD(TD_O), KC_P, KC_NO, TD(TD_OP_ACCOL), TD(TD_CL_ACCOL),
- KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_ENT, KC_J, KC_K, KC_L, KC_SCLN, KC_UP, KC_NO, KC_NO,
- KC_PGDN, KC_Z, KC_X, TD(TD_CEDILLE), KC_V, KC_B, KC_N, KC_DOT, TD(TD_QUESTION), TD(TD_UNDER), TD(TD_SLASH), KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
- KC_NO, KC_NO, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, KC_HOME, KC_LGUI, KC_END, KC_BSPC, KC_RALT, KC_DEL, KC_PMNS, KC_NO, MO(1)
- ),
-
-// green led layout
- [_LY1] = LAYOUT_ortho_5x15(
- KC_ESC, RGB_TOG, RGB_RMOD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_K, RGB_M_G, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_LY2), DF(_MAIN),
- DEBUG, KC_PSCR, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- RESET, KC_NO, KC_S, KC_D, KC_F, KC_G, KC_Z, KC_J, KC_K, KC_L, KC_M, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_LSFT,
- KC_NO, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_SCLN, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PEQL, KC_LCBR,
- KC_NO, KC_NO, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_TRNS, KC_NO, KC_TRNS, KC_P0, KC_P1, KC_P2, KC_P3, KC_TRNS
- ),
-
-// blue led layout
- [_LY2] = LAYOUT_ortho_5x15(
- KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, BL_ON, BL_OFF, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, DF(_LY1),
- KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, RGB_M_P, RGB_M_B,
- KC_MPLY, KC_MSTP, KC_MUTE, KC_NO, KC_NO, BL_DEC, BL_INC, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, RGB_M_R, RGB_M_SW,
- KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, RGB_M_SN, RGB_M_K,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, RGB_SPD, RGB_SPI, RGB_M_X, RGB_M_G
- )
-
-};
-
-
-//Define layer colors
-#define rgblight_setrgb_user_MAIN() rgblight_sethsv_red()
-#define rgblight_setrgb_user_LY1() rgblight_sethsv_green()
-#define rgblight_setrgb_user_LY2() rgblight_sethsv_blue()
-
-void matrix_init_user(void) {
- rgblight_enable();
- rgblight_mode(1);
- rgblight_setrgb_user_MAIN();
-}
-
-
-//Set a color based on the layer
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _LY1:
- rgblight_setrgb_user_LY1();
- break;
- case _LY2:
- rgblight_setrgb_user_LY2();
- break;
- default:
- rgblight_setrgb_user_MAIN();
- break;
- }
- return state;
-}
diff --git a/keyboards/xd75/keymaps/hybrid/readme 2.md b/keyboards/xd75/keymaps/hybrid/readme 2.md
deleted file mode 100644
index dbe41037c23d..000000000000
--- a/keyboards/xd75/keymaps/hybrid/readme 2.md
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# My XD75 keyboard
-# The layouts are 100 % customizable by myself.
-# The layout 1 is almost finished (layer 2 and layer 3 are not finished, for testing purpose as far)
-# Layout 1 => rgb red
-# Layout 2 => rgb green
-# Layout 1 => rgb blue
-# (to memorize => rgb :) )
-#
-# I added some double tap dance for french accent (à é è î ô ù, not for every accents) and c & ç
-# Some double tap dance for useful mapping (- & _ , ({[ & )}], etc... )
-#
-#
diff --git a/keyboards/xd75/keymaps/hybrid/rules 2.mk b/keyboards/xd75/keymaps/hybrid/rules 2.mk
deleted file mode 100644
index 403c3c65ce97..000000000000
--- a/keyboards/xd75/keymaps/hybrid/rules 2.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2013 Jun Wako
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-RGBLIGHT_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-UNICODE_ENABLE = no
-SLEEP_LED_ENABLE = no
-BACKLIGHT_ENABLE = no
-
diff --git a/keyboards/ymdk/sp64/config 2.h b/keyboards/ymdk/sp64/config 2.h
deleted file mode 100644
index fc3e2d7dc2b3..000000000000
--- a/keyboards/ymdk/sp64/config 2.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2019 Neil Kettle
-
-This 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"
-
-#define VENDOR_ID 0x594D
-#define PRODUCT_ID 0x5364
-#define DEVICE_VER 0x0200
-#define MANUFACTURER YMDK
-#define PRODUCT SP64
-#define DESCRIPTION YMDK Split 64
-
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 15
-
-#define RIGHT_HALF
-
-/* disable these deprecated features by default */
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-/* RGB underglow */
-#define RGBLED_NUM 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_LIMIT_VAL 250 /* The maximum brightness level */
-#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/ymdk/sp64/info 2.json b/keyboards/ymdk/sp64/info 2.json
deleted file mode 100644
index 798124d8480d..000000000000
--- a/keyboards/ymdk/sp64/info 2.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "keyboard_name": "YMDK_SP64",
- "url": "",
- "maintainer": "walston",
- "width": 16,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"~", "x":0, "y":0},
- {"label":"!", "x":1, "y":0},
- {"label":"@", "x":2, "y":0},
- {"label":"#", "x":3, "y":0},
- {"label":"$", "x":4, "y":0},
- {"label":"%", "x":5, "y":0},
- {"label":"^", "x":6, "y":0},
- {"label":"&", "x":8, "y":0},
- {"label":"*", "x":9, "y":0},
- {"label":"(", "x":10, "y":0},
- {"label":")", "x":11, "y":0},
- {"label":"_", "x":12, "y":0},
- {"label":"+", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0, "w":2},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":7.5, "y":1},
- {"label":"U", "x":8.5, "y":1},
- {"label":"I", "x":9.5, "y":1},
- {"label":"O", "x":10.5, "y":1},
- {"label":"P", "x":11.5, "y":1},
- {"label":"{ ", "x":12.5, "y":1},
- {"label":"}", "x":13.5, "y":1},
- {"label":"|", "x":14.5, "y":1, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":7.75, "y":2},
- {"label":"J", "x":8.75, "y":2},
- {"label":"K", "x":9.75, "y":2},
- {"label":"L", "x":10.75, "y":2},
- {"label":":", "x":11.75, "y":2},
- {"label":"\"", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2},
- {"label":"Z", "x":2, "y":3},
- {"label":"X", "x":3, "y":3},
- {"label":"C", "x":4, "y":3},
- {"label":"V", "x":5, "y":3},
- {"label":"B", "x":6, "y":3},
- {"label":"N", "x":8, "y":3},
- {"label":"M", "x":9, "y":3},
- {"label":"<", "x":10, "y":3},
- {"label":">", "x":11, "y":3},
- {"label":"?", "x":12, "y":3},
- {"label":"Shift", "x":13, "y":3},
- {"label":"Up", "x":14, "y":3},
- {"label":"F3", "x":15, "y":3},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"Win", "x":1.25, "y":4},
- {"label":"Alt", "x":2.25, "y":4, "w":1.25},
- {"label":"Space", "x":3.5, "y":4, "w":2.25},
- {"label":"Fn", "x":5.75, "y":4},
- {"label":"Space", "x":7.75, "y":4, "w":2.75},
- {"label":"Alt", "x":10.5, "y":4, "w":1.25},
- {"label":"Win", "x":11.75, "y":4, "w":1.25},
- {"label":"Left", "x":13, "y":4},
- {"label":"Down", "x":14, "y":4},
- {"label":"Right", "x":15, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c b/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
deleted file mode 100644
index 7174c108b34a..000000000000
--- a/keyboards/ymdk/sp64/keymaps/daed/keymap 2.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _GAMER,
- _FN,
- _RAISE,
- _MODE,
- _GACROS,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _FN │ Win │ Alt │ │ _RA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
- MO(_FN), KC_LGUI, KC_LALT, KC_SPACE, MO(_RAISE), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-/* Keymap 1: Gamer layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ _MO │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _FN │ F13 │ Alt │ │ _GA │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_GAMER] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_MODE),
- MO(_FN), KC_F13, KC_LALT, KC_SPACE, MO(_GACROS), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-/* Keymap 2: Function
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FN] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-/* Keymap 3: Raise / Quality of life
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_RAISE] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-/* Keymap 4: Mode switching
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ RGB 0/1│RGBM-│RGBB+│RGBM+│ │ │ │ │ │ │ │ │ │ │ Reset │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │RGBS-│RGBB-│RGBS+│ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_MODE] = LAYOUT(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- RGB_TOG, RGB_RMOD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
- _______, RGB_SPD, RGB_VAD, RGB_SPI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 5: Gaming macros
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ PUSH│ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ FALL│ │ │ │ │Left │ Up │Down │Right│ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ CAP │ │ │ │ │ │ │ │ GAME| BASE│ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_GACROS] = LAYOUT(
- KC_GRAVE, 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_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMER), TO(_BASE), _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/ymdk/sp64/keymaps/default/keymap 2.c b/keyboards/ymdk/sp64/keymaps/default/keymap 2.c
deleted file mode 100644
index e988d6e91b79..000000000000
--- a/keyboards/ymdk/sp64/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- BASE, // default layer
- _FN, // function layer
- _FX // media keys
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Caps │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │ Fn │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ Ctrl │ Win │ Alt │ │ Fn │ │ │ Alt │ Win │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_F3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FN), KC_SPACE, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-/* Function
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FN] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Media
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FX] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
diff --git a/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c b/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
deleted file mode 100644
index ada3073fb99b..000000000000
--- a/keyboards/ymdk/sp64/keymaps/walston/keymap 2.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include QMK_KEYBOARD_H
-enum layer_names {
- BASE, // default layer
- _FUN, // function layer
- _NUMPAD, // num-pad
- _MEDIA // media keys
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │ Sft │ Up │_MED │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ _NUM │_MED │ Alt │ Cmd │ Spc │ │ Space │ Cmd │ Alt │ Lft │ Dwn │ Rgt │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[BASE] = LAYOUT(
- MT(RESET, KC_GRAVE), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, OSL(_MEDIA),
- LT(_NUMPAD, KC_CAPS), TT(_MEDIA), KC_LALT, KC_LGUI, LT(_FUN, KC_SPACE), KC_SPACE, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-/* Keymap 1: Function Layer / Vim Arrows
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │Left │ Up │Down │Right│ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_FUN] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 2: NumPad
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ │ Vol-│ Vol+│ Mute │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ |<< │ >>| │ >|| │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ 0 │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_NUMPAD] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_VOLD, KC_VOLU, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_MPRV, KC_MNXT, KC_MPLY,
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/* Keymap 3: Media
- *
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ │ │ │ Backlight │ │ │ │ │ │ │ │ │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-[_MEDIA] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk b/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
deleted file mode 100644
index a6c5cfa18a0c..000000000000
--- a/keyboards/ymdk/sp64/keymaps/walston/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-COMMAND_ENABLE = no
diff --git a/keyboards/ymdk/sp64/matrix 2.c b/keyboards/ymdk/sp64/matrix 2.c
deleted file mode 100644
index 8dd2bb8d765b..000000000000
--- a/keyboards/ymdk/sp64/matrix 2.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-Copyright 2013 Oleg Kostyuk
-This 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 "matrix.h"
-#include
-#include
-#include
-#include "wait.h"
-#include "action_layer.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "sp64.h"
-#include "debounce.h"
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-
-// Debouncing: store for each key the number of scans until it's eligible to
-// change. When scanning the matrix, ignore any changes in keys that have
-// already changed in the last DEBOUNCE scans.
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static void matrix_select_row(uint8_t row);
-
-#ifdef RIGHT_HALF
-static uint8_t mcp23018_reset_loop = 0;
-#endif
-
-void matrix_init(void)
-{
- // all outputs for rows high
- DDRB = 0xFF;
- PORTB = 0xFF;
- // all inputs for columns
- DDRA = 0x00;
- DDRC &= ~(0x111111<<2);
- DDRD &= ~(1<= 1300) {
- // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
- // this will be approx bit more frequent than once per second
- print("trying to reset mcp23018\n");
- mcp23018_status = init_mcp23018();
- if (mcp23018_status) {
- print("left side not responding\n");
- } else {
- print("left side attached\n");
- }
- }
- }
-#endif
- bool changed = false;
- for (uint8_t row = 0; row < MATRIX_ROWS; row++)
- {
- matrix_row_t cols;
-
- matrix_select_row(row);
-#ifndef RIGHT_HALF
- _delay_us(5);
-#endif
-
- cols = (
- // cols 0..7, PORTA 0 -> 7
- (~PINA) & 0xFF
- );
-
-#ifdef RIGHT_HALF
- uint8_t data = 0x7F;
- // Receive the columns from right half
- i2c_receive(I2C_ADDR_WRITE, &data, 1, MCP23018_I2C_TIMEOUT);
- cols |= ((~(data) & 0x7F) << 7);
-#endif
-
- if (matrix_debouncing[row] != cols) {
- matrix_debouncing[row] = cols;
- //debouncing = DEBOUNCE;
- changed = true;
- }
- }
-
- debounce(matrix_debouncing, matrix, MATRIX_ROWS, changed);
-
- matrix_scan_quantum();
-
-#ifdef DEBUG_MATRIX
- for (uint8_t c = 0; c < MATRIX_COLS; c++)
- for (uint8_t r = 0; r < MATRIX_ROWS; r++)
- if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c);
-#endif
-
- return (uint8_t)changed;
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
- }
- return count;
-}
-
-static void matrix_select_row(uint8_t row)
-{
-#ifdef RIGHT_HALF
- uint8_t txdata[3];
-
- //Set the remote row on port A
- txdata[0] = GPIOA;
- txdata[1] = 0xFF & ~(1<
.
- */
-
-#include "sp64.h"
-
-#ifdef RIGHT_HALF
-bool i2c_initialized = 0;
-i2c_status_t mcp23018_status = I2C_STATUS_ERROR;
-
-uint8_t init_mcp23018(void)
-{
- uint8_t data[3];
- mcp23018_status = I2C_STATUS_ERROR;
-
- // I2C subsystem
- if (i2c_initialized == 0) {
- i2c_init(); // on pins D(1,0)
- i2c_initialized = true;
- _delay_ms(1000);
- }
-
- // set pin direction
- // - unused : input : 1
- // - input : input : 1
- // - driving : output :
- data[0] = IODIRA;
- data[1] = 0b00000000;
- data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
- if (mcp23018_status != I2C_STATUS_SUCCESS)
- goto out;
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- data[0] = GPPUA;
- data[1] = 0b00000000;
- data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
- if (mcp23018_status != I2C_STATUS_SUCCESS)
- goto out;
-
- // set logical value (doesn't matter on inputs)
- // - unused : hi-Z : 1
- // - input : hi-Z : 1
- // - driving : hi-Z : 1
- data[0] = OLATA;
- data[1] = 0b11111111;
- data[2] = 0b11111111;
- mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
-
-out:
- return (mcp23018_status);
-}
-#endif
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-__attribute__ ((weak))
-void matrix_init_user(void) {}
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
diff --git a/keyboards/ymdk/sp64/sp64 2.h b/keyboards/ymdk/sp64/sp64 2.h
deleted file mode 100644
index 63620f0c3ca1..000000000000
--- a/keyboards/ymdk/sp64/sp64 2.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2019 Neil Kettle
- *
- * This 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"
-
-#ifdef RIGHT_HALF
-# include
-# include "i2c_master.h"
-
-// I2C aliases and register addresses (see "mcp23018.md")
-# define I2C_ADDR 0b0100000
-# define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-# define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
-# define IODIRA 0x00 // i/o direction register
-# define IODIRB 0x01
-# define GPPUA 0x0C // GPIO pull-up resistor register
-# define GPPUB 0x0D
-# define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
-# define GPIOB 0x13
-# define OLATA 0x14 // output latch register
-# define OLATB 0x15
-
-extern i2c_status_t mcp23018_status;
-# define MCP23018_I2C_TIMEOUT 100
-
-uint8_t init_mcp23018(void);
-#endif
-
-#define ___ KC_NO
-#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.
- *
- * LEFT HAND RIGHT HAND
- * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐
- * │ L00 │ L01 │ L02 │ L03 │ L04 │ L05 │ L06 │ │ R07 │ R08 │ R09 │ R0A │ R0B │ R0C │ R0D │
- * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤
- * │ L10 │ L11 │ L12 │ L13 │ L14 │ L15 │ │ R16 │ R17 │ R18 │ R19 │ R1A │ R1B │ R1C │ R1D │
- * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤
- * │ L20 │ L21 │ L22 │ L23 │ L24 │ L25 │ │ R26 │ R27 │ R28 │ R29 │ R2A │ R2B │ R2C │
- * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤
- * │ L30 │ L31 │ L32 │ L33 │ L34 │ L35 │ │ R36 │ R37 │ R38 │ R39 │ R3A │ R3B │ R3C │ R3D │
- * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤
- * │ L40 │ L41 │ L42 │ L43 │ L45 │ │ R46 │ R48 │ R4A │ R4B │ R4C │ R4D │
- * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘
- */
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, L06, R07, R08, R09, R0A, R0B, R0C, R0D, \
- L10, L11, L12, L13, L14, L15, R16, R17, R18, R19, R1A, R1B, R1C, R1D, \
- L20, L21, L22, L23, L24, L25, R26, R27, R28, R29, R2A, R2B, R2C, \
- L30, L31, L32, L33, L34, L35, R36, R37, R38, R39, R3A, R3B, R3C, R3D, \
- L40, L41, L42, L43, L45, R46, R48, R4A, R4B, R4C, R4D \
- ) \
- /* matrix positions */ \
- { \
- { ___, ___, ___, ___, ___, ___, ___, R46, R48, R4A, R4B, R4C, R4D, R3D }, \
- { L40, L41, L42, L43, L45, L06, ___, R36, R37, R38, R39, R3A, R3B, R3C }, \
- { L30, L31, L32, L33, L34, L35, ___, R26, R27, R28, R29, R2A, R2B, R2C }, \
- { L20, L21, L22, L23, L24, L25, ___, R17, R18, R19, R1A, R1B, R1C, R1D }, \
- { L10, L11, L12, L13, L14, L15, ___, R07, R08, R09, R0A, R0B, R0C, R0D }, \
- { L00, L01, L02, L03, L04, L05, ___, R16, ___, ___, ___, ___, ___, ___ } \
- }
-
diff --git a/keyboards/yncognito/batpad/batpad 2.c b/keyboards/yncognito/batpad/batpad 2.c
deleted file mode 100644
index caafd5727895..000000000000
--- a/keyboards/yncognito/batpad/batpad 2.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Yncognito
- *
- * This 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 "batpad.h"
-
-
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config ={
- {
- {4 ,5 ,6 ,7 },
- {0 ,1 ,2 ,3 }
- },
- {
- {0,0},{75,0},{145,0},{224,0},
- {0,64},{75,64},{145,64},{224,64}
- },
- {
- 0x04,0x04,0x04,0x04,
- 0x04,0x04,0x04,0x04
- }
-};
-
-#endif
diff --git a/keyboards/yncognito/batpad/batpad 2.h b/keyboards/yncognito/batpad/batpad 2.h
deleted file mode 100644
index 1cc79edf814c..000000000000
--- a/keyboards/yncognito/batpad/batpad 2.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2020 Yncognito
- *
- * This 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_ortho_2x4( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13 \
-) { \
- { K00, K01, K02, K03 }, \
- { K10, K11, K12, K13 }, \
-}
-
-// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/yncognito/batpad/config 2.h b/keyboards/yncognito/batpad/config 2.h
deleted file mode 100644
index 379fc886d77b..000000000000
--- a/keyboards/yncognito/batpad/config 2.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2020 Yncognito
-
-This 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 0x7979
-#define PRODUCT_ID 0x6602
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yncognito
-#define PRODUCT Batpad
-#define DESCRIPTION A bat with 8 keys
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { F4, C7 }
-#define MATRIX_COL_PINS { F1, F0, D5, D3 }
-
-#define DIODE_DIRECTION COL2ROW
-
-#define RGB_DI_PIN B5
-#define DRIVER_LED_TOTAL 8
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_AFTER_TIMEOUT 0
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
-
-
diff --git a/keyboards/yncognito/batpad/info 2.json b/keyboards/yncognito/batpad/info 2.json
deleted file mode 100644
index 2c0fd0d2ebf0..000000000000
--- a/keyboards/yncognito/batpad/info 2.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "keyboard_name": "batpad",
- "url": "",
- "maintainer": "qmk",
- "width": 4,
- "height": 2,
- "layouts": {
- "LAYOUT_ortho_2x4": {
- "key_count": 8,
- "layout": [
- {"label":"K00 (F4,F1)", "x":0, "y":0},
- {"label":"K01 (F4,F0)", "x":1, "y":0},
- {"label":"K02 (F4,D5)", "x":2, "y":0},
- {"label":"K03 (F4,D3)", "x":3, "y":0},
- {"label":"K10 (C7,F1)", "x":0, "y":1},
- {"label":"K11 (C7,F0)", "x":1, "y":1},
- {"label":"K12 (C7,D5)", "x":2, "y":1},
- {"label":"K13 (C7,D3)", "x":3, "y":1}
- ]
- }
- }
- ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
-}
diff --git a/keyboards/yncognito/batpad/keymaps/default/keymap 2.c b/keyboards/yncognito/batpad/keymaps/default/keymap 2.c
deleted file mode 100644
index 6cf40a182ec9..000000000000
--- a/keyboards/yncognito/batpad/keymaps/default/keymap 2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Yncognito
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_2x4(
-
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
- [1] = LAYOUT_ortho_2x4(
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
- [2] = LAYOUT_ortho_2x4(
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
-
-
-};
diff --git a/keyboards/yncognito/batpad/keymaps/default/readme 2.md b/keyboards/yncognito/batpad/keymaps/default/readme 2.md
deleted file mode 100644
index ecc5d913a81c..000000000000
--- a/keyboards/yncognito/batpad/keymaps/default/readme 2.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for batpad
diff --git a/keyboards/yncognito/batpad/keymaps/via/keymap 2.c b/keyboards/yncognito/batpad/keymaps/via/keymap 2.c
deleted file mode 100644
index 6e02a719349f..000000000000
--- a/keyboards/yncognito/batpad/keymaps/via/keymap 2.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 Yncognito
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_2x4(
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
- [1] = LAYOUT_ortho_2x4(
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
- [2] = LAYOUT_ortho_2x4(
- KC_Q, KC_W, KC_E, KC_R,
- KC_LGUI, KC_SPC, RGB_TOG, RGB_MOD
- ),
- [3] = LAYOUT_ortho_2x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/yncognito/batpad/keymaps/via/rules 2.mk b/keyboards/yncognito/batpad/keymaps/via/rules 2.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/yncognito/batpad/keymaps/via/rules 2.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/yncognito/batpad/readme 2.md b/keyboards/yncognito/batpad/readme 2.md
deleted file mode 100644
index 356f06024043..000000000000
--- a/keyboards/yncognito/batpad/readme 2.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Batpad
-
-
-
-A 8 keys macropad!
-
-* Keyboard Maintainer: Yncognito
-* Hardware Supported: Batpad/Atmega32u4
-
-Make example for this keyboard (after setting up your build environment):
-
- make yncognito/batpad: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/yncognito/batpad/rules 2.mk b/keyboards/yncognito/batpad/rules 2.mk
deleted file mode 100644
index 71cf8ef3e9b4..000000000000
--- a/keyboards/yncognito/batpad/rules 2.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-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
-RGB_MATRIX_ENABLE = WS2812
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-# generated by KBFirmware JSON to QMK Parser
-# https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/layouts/community/ergodox/manna-harbour_miryoku/config 2.h b/layouts/community/ergodox/manna-harbour_miryoku/config 2.h
deleted file mode 100644
index 0f20409c2e84..000000000000
--- a/layouts/community/ergodox/manna-harbour_miryoku/config 2.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
-
-#pragma once
-
-#define LAYOUT_miryoku(\
-K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
-K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
-K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
-N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
-)\
-LAYOUT_ergodox_pretty( \
-KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
-KC_NO, K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09, KC_NO, \
-KC_NO, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_NO, \
-KC_NO, K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29, KC_NO, \
-KC_NO, KC_NO, KC_NO, KC_NO, K32, K37, KC_NO, KC_NO, KC_NO, KC_NO, \
- KC_NO, KC_NO, KC_NO, KC_NO, \
- KC_NO, KC_NO, \
- K33, K34, KC_NO, KC_NO, K35, K36 \
-)
diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h b/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
deleted file mode 100644
index 772b510ef6f1..000000000000
--- a/layouts/community/ortho_4x12/manna-harbour_miryoku/config 2.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
-
-#pragma once
-
-#if defined MIRYOKU_MAPPING_SPLIT
-#define LAYOUT_miryoku(\
-K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
-K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
-K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
-N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
-)\
-LAYOUT_ortho_4x12(\
-KC_NO, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, KC_NO,\
-K00, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K09,\
-K10, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K19,\
-K20, KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO, K29\
-)
-#else
-#define LAYOUT_miryoku(\
-K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
-K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
-K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
-N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
-)\
-LAYOUT_ortho_4x12(\
-K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09,\
-K10, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K19,\
-K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29,\
-KC_NO, KC_NO, K32, K33, K34, K34, K35, K35, K36, K37, KC_NO, KC_NO\
-)
-#endif
diff --git a/quantum/keymap_extras/keymap_hebrew 2.h b/quantum/keymap_extras/keymap_hebrew 2.h
deleted file mode 100644
index ea9ac5ed4c4c..000000000000
--- a/quantum/keymap_extras/keymap_hebrew 2.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright 2020
- *
- * This 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 "keymap.h"
-
-// clang-format off
-
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define IL_SCLN KC_GRV // ;
-#define IL_1 KC_1 // 1
-#define IL_2 KC_2 // 2
-#define IL_3 KC_3 // 3
-#define IL_4 KC_4 // 4
-#define IL_5 KC_5 // 5
-#define IL_6 KC_6 // 6
-#define IL_7 KC_7 // 7
-#define IL_8 KC_8 // 8
-#define IL_9 KC_9 // 9
-#define IL_0 KC_0 // 0
-#define IL_MINS KC_MINS // -
-#define IL_EQL KC_EQL // =
-// Row 2
-#define IL_SLSH KC_Q // /
-#define IL_QUOT KC_W // '
-#define IL_QOF KC_E // ק
-#define IL_RESH KC_R // ר
-#define IL_ALEF KC_T // א
-#define IL_TET KC_Y // ט
-#define IL_VAV KC_U // ו
-#define IL_FNUN KC_I // ן
-#define IL_FMEM KC_O // ם
-#define IL_PE KC_P // פ
-#define IL_RBRC KC_LBRC // ]
-#define IL_LBRC KC_RBRC // [
-// Row 3
-#define IL_SHIN KC_A // ש
-#define IL_DALT KC_S // ד
-#define IL_GIML KC_D // ג
-#define IL_KAF KC_F // כ
-#define IL_AYIN KC_G // ע
-#define IL_YOD KC_H // י
-#define IL_HET KC_J // ח
-#define IL_LAMD KC_K // ל
-#define IL_FKAF KC_L // ך
-#define IL_FPE KC_SCLN // ף
-#define IL_COMM KC_QUOT // ,
-#define IL_BSLS KC_NUHS // (backslash)
-// Row 4
-#define IL_ZAYN KC_Z // ז
-#define IL_SMKH KC_X // ס
-#define IL_BET KC_C // ב
-#define IL_HE KC_V // ה
-#define IL_NUN KC_B // נ
-#define IL_MEM KC_N // מ
-#define IL_TSDI KC_M // צ
-#define IL_TAV KC_COMM // ת
-#define IL_FTSD KC_DOT // ץ
-#define IL_DOT KC_SLSH // .
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define IL_TILD S(IL_SCLN) // ~
-#define IL_EXLM S(IL_1) // !
-#define IL_AT S(IL_2) // @
-#define IL_PND S(IL_3) // #
-#define IL_DLR S(IL_4) // $
-#define IL_PERC S(IL_5) // %
-#define IL_CIRC S(IL_6) // ^
-#define IL_AMPR S(IL_7) // &
-#define IL_ASTR S(IL_8) // *
-#define IL_RPRN S(IL_9) // )
-#define IL_LPRN S(IL_0) // (
-#define IL_UNDS S(IL_MINS) // _
-#define IL_PLUS S(IL_EQL) // +
-// Row 2
-#define IL_RCBR S(IL_RBRC) // }
-#define IL_LCBR S(IL_LBRC) // {
-// Row 3
-#define IL_COLN S(IL_FPE) // :
-#define IL_DQUO S(IL_COMM) // "
-#define IL_PIPE S(IL_BSLS) // |
-// Row 4
-#define IL_RABK S(IL_TAV) // >
-#define IL_LABK S(IL_FTSD) // <
-#define IL_QUES S(IL_DOT) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define IL_EURO ALGR(IL_3) // €
-#define IL_SHKL ALGR(IL_4) // ₪
-#define IL_DEG ALGR(IL_5) // °
-#define IL_MUL ALGR(IL_8) // ×
-// Row 2
-#define IL_DVAV ALGR(IL_TET) // װ
-// Row 3
-#define IL_VYOD ALGR(IL_AYIN) // ױ
-#define IL_DYOD ALGR(IL_YOD) // ײ
-// Row 4
-#define IL_DIV ALGR(IL_DOT) // ÷
From 627bad420887ad89a7186621c55746d75a9e6a2f Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Sat, 27 Jun 2020 19:29:34 -0700
Subject: [PATCH 33/39] extend keymap functionality
---
.../clawsome/coupe/keymaps/default/keymap.c | 29 +++++++++++++++++--
.../clawsome/sedan/keymaps/default/keymap.c | 26 +++++++++++++++--
2 files changed, 49 insertions(+), 6 deletions(-)
diff --git a/keyboards/clawsome/coupe/keymaps/default/keymap.c b/keyboards/clawsome/coupe/keymaps/default/keymap.c
index a36017d7c396..4c71f0b1810c 100644
--- a/keyboards/clawsome/coupe/keymaps/default/keymap.c
+++ b/keyboards/clawsome/coupe/keymaps/default/keymap.c
@@ -15,18 +15,20 @@
*/
#include QMK_KEYBOARD_H
+#define FNM LT(1, KC_APP) // MO(1) when held, KC_APP when tapped
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*-----------------------------------------------------------------------
*|ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | DEL|
*-----------------------------------------------------------------------
- *|TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
+ *|TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
*-----------------------------------------------------------------------
*|CAPS | A | S | D | F | G | H | J | K | L | ; | " | ENTER |
*-----------------------------------------------------------------------
*| SHIFT | Z | X | C | V | B | N | M | , | . | ? | SHIFT |
*-----------------------------------------------------------------------
- *|CTRL|GUI |ALT | SPACE |ALT |GUI |MENU |CTRL|
+ *|CTRL|GUI |ALT | SPACE |ALT |GUI | FNM |CTRL|
*-----------------------------------------------------------------------
*/
[0] = LAYOUT_60_ansi(
@@ -34,7 +36,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, FNM, KC_LCTL
+ ),
+
+ /*
+ *-------------------------------------------------------------
+ *| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | DEL |
+ *-------------------------------------------------------------
+ *| | | ^ | | | | | | | | |PSC|SLK|PAUSE|
+ *-------------------------------------------------------------
+ *| | < | v | > | | |HOM|PGU| | | | | |
+ *-------------------------------------------------------------
+ *| | | | | | |END|PGD| | | |
+ *-------------------------------------------------------------
+ *|RST | | | | | | | |
+ *-------------------------------------------------------------
+ */
+ [1] = LAYOUT_60_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______, _______,
+ RESET, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/clawsome/sedan/keymaps/default/keymap.c b/keyboards/clawsome/sedan/keymaps/default/keymap.c
index 3e84ab6cdccc..099296578978 100644
--- a/keyboards/clawsome/sedan/keymaps/default/keymap.c
+++ b/keyboards/clawsome/sedan/keymaps/default/keymap.c
@@ -15,7 +15,6 @@
*/
#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*---------------------------------------------------------------------------------
@@ -27,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*---------------------------------------------------------------------------------
*| SHIFT | Z | X | C | V | B | N | M | , | . | ? | SHIFT | ^ |PGDN|
*---------------------------------------------------------------------------------
- *|CTRL|GUI |ALT | SPACE |ALT |GUI |MENU |CTRL| < | v | > |
+ *|CTRL|GUI |ALT | SPACE |ALT | FN |CTRL| < | v | > |
*---------------------------------------------------------------------------------
*/
[0] = LAYOUT_65_ansi(
@@ -35,7 +34,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_END,
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_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_GALT, KC_RGUI, KC_GCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ *---------------------------------------------------------------------------------
+ *| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |F11 |F12 |DEL | |
+ *---------------------------------------------------------------------------------
+ *| | | | | | | | | | | |PSCR|SLCK| PAUSE | |
+ *---------------------------------------------------------------------------------
+ *| | | | | | | | | | | | | | |
+ *---------------------------------------------------------------------------------
+ *| | | | | | | | | | | | | | |
+ *---------------------------------------------------------------------------------
+ *|RST | | | | | | | | | |
+ *---------------------------------------------------------------------------------
+ */
+ [1] = LAYOUT_65_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
From 93755d659af455c8e570017c4f610ede697fab0d Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 14:58:26 -0400
Subject: [PATCH 34/39] Update config.h
---
keyboards/clawsome/coupe/config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/config.h b/keyboards/clawsome/coupe/config.h
index 9fd1070159c8..381f5cdc2b38 100644
--- a/keyboards/clawsome/coupe/config.h
+++ b/keyboards/clawsome/coupe/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see .
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
+#define VENDOR_ID 0x7767
#define PRODUCT_ID 0x7E94
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
From 2a889a7cc05f3a02bf1008ba0ac4b45a25583e49 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 14:58:58 -0400
Subject: [PATCH 35/39] Update config.h
---
keyboards/clawsome/sedan/config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h
index 60f7834f18a8..20d58d366e75 100644
--- a/keyboards/clawsome/sedan/config.h
+++ b/keyboards/clawsome/sedan/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see .
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
+#define VENDOR_ID 0x7767
#define PRODUCT_ID 0x8C78
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
From c4b043ab98b154cbb1cdb25ff549aa826a300cff Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 15:02:06 -0400
Subject: [PATCH 36/39] added URL on line #3 for image of Coupe
---
keyboards/clawsome/coupe/readme.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/clawsome/coupe/readme.md b/keyboards/clawsome/coupe/readme.md
index 021cc901c02f..9840c1750b9c 100644
--- a/keyboards/clawsome/coupe/readme.md
+++ b/keyboards/clawsome/coupe/readme.md
@@ -1,5 +1,7 @@
# Coupe
+
+
This is a 5x14 keyboard in a 60% layout.
* Keyboard Maintainer: [AAClawson](http://github.com/AlisGraveNil)
From d9de402faee2e3b367f99dd2419a42367a9446d0 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 15:02:56 -0400
Subject: [PATCH 37/39] Added URL to line #3
---
keyboards/clawsome/sedan/readme.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/clawsome/sedan/readme.md b/keyboards/clawsome/sedan/readme.md
index 752dbae26309..c22a3f2ec8d3 100644
--- a/keyboards/clawsome/sedan/readme.md
+++ b/keyboards/clawsome/sedan/readme.md
@@ -1,5 +1,7 @@
# Sedan
+
+
This is a 5x15 keyboard in a 68% layout.
* Keyboard Maintainer: [AAClawson](http://github.com/AlisGraveNil)
From 2ba64c06233974442bbc8f32788681b3e278c4cf Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 18:46:30 -0400
Subject: [PATCH 38/39] Update keyboards/clawsome/sedan/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/sedan/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/sedan/readme.md b/keyboards/clawsome/sedan/readme.md
index c22a3f2ec8d3..461db121a89f 100644
--- a/keyboards/clawsome/sedan/readme.md
+++ b/keyboards/clawsome/sedan/readme.md
@@ -1,6 +1,6 @@
# Sedan
-
+
This is a 5x15 keyboard in a 68% layout.
From 1c40353a600bee3cbcf16a0df53a5f41a0008213 Mon Sep 17 00:00:00 2001
From: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com>
Date: Sun, 28 Jun 2020 18:46:43 -0400
Subject: [PATCH 39/39] Update keyboards/clawsome/coupe/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
---
keyboards/clawsome/coupe/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/clawsome/coupe/readme.md b/keyboards/clawsome/coupe/readme.md
index 9840c1750b9c..77d5fc2f0bbb 100644
--- a/keyboards/clawsome/coupe/readme.md
+++ b/keyboards/clawsome/coupe/readme.md
@@ -1,6 +1,6 @@
# Coupe
-
+
This is a 5x14 keyboard in a 60% layout.