diff --git a/.repo/kbd_layer_0.png b/.repo/kbd_layer_0.png
index f923fdb..31f2e1c 100644
Binary files a/.repo/kbd_layer_0.png and b/.repo/kbd_layer_0.png differ
diff --git a/.repo/kbd_layer_1.png b/.repo/kbd_layer_1.png
index 7c38bc4..d0df9fa 100644
Binary files a/.repo/kbd_layer_1.png and b/.repo/kbd_layer_1.png differ
diff --git a/docs/hardware.md b/docs/hardware.md
index 65f1b0b..298aae0 100644
--- a/docs/hardware.md
+++ b/docs/hardware.md
@@ -58,17 +58,8 @@ Partitions (in order):
- Mods:
- [holee mod](https://www.youtube.com/watch?v=-vhpHjlkRgQ)
- band-aided stabilizer bottom
-- QMK config:
+- [keymap](files/wings_hotswap.json):
- Layer 0

- Layer 1

-
-How to compile and flash the firmware on Linux:
-
-- install qmk cli
-- run qmk setup: `qmk setup -y`
-- copy the [`keyboard`](../files/keyboard/) directory to `~/qmk_firmware/keyboards/ymdk/wingshs/keymaps` and rename it to `pomp`
-- flash the board: `qmk flash --clean --keyboard ymdk/wingshs --keymap pomp`
- - unplug board
- - plug it back while holding Space+B. Keep holding it for a second
diff --git a/files/keyboard/config.h b/files/keyboard/config.h
deleted file mode 100644
index 1409645..0000000
--- a/files/keyboard/config.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x594D // "YM"
-#define PRODUCT_ID 0x4975 // "WINGHS"
-#define DEVICE_VER 0x0001
-#define MANUFACTURER YMDK
-#define PRODUCT WINGS HOTSWAP
-
-/* 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, B7 }
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-#define QMK_KEYS_PER_SCAN 43
-
-#define FORCE_NKRO
-
-// 1000hz polling rate
-#define USB_POLLING_INTERVAL_MS 1
-
-// Chord splitting fix
-// https://github.com/qmk/qmk_firmware/pull/10955
-#define DEFER_KEYBOARD_REPORT_ENABLE
-
-// Lighting
-
-#define BACKLIGHT_PIN B6
-#define BACKLIGHT_LEVELS 5
-
-#define LED_CAPS_LOCK_PIN C7
-#define LED_PIN_ON_STATE 0
-
-#define RGB_DI_PIN E2
-#ifdef RGB_DI_PIN
-
- #define RGBLED_NUM 80
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
- #define RGBLIGHT_EFFECT_ALTERNATING
- #define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_LIMIT_VAL 160 /* The maximum brightness level */
- #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-
-#endif
diff --git a/files/keyboard/keymap.json b/files/keyboard/keymap.json
deleted file mode 100644
index 9dad013..0000000
--- a/files/keyboard/keymap.json
+++ /dev/null
@@ -1,212 +0,0 @@
-{
- "version": 1,
- "keyboard": "ymdk/wingshs",
- "keymap": "pomp",
- "layout": "LAYOUT_all",
- "layers": [
- [
- "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_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_RCTL",
- "KC_UP",
- "KC_LCTL",
- "KC_LALT",
- "KC_SPC",
- "KC_LGUI",
- "MO(1)",
- "KC_LNG1",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT"
- ],
- [
- "KC_TRNS",
- "KC_F1",
- "KC_F2",
- "KC_F3",
- "KC_F4",
- "KC_F5",
- "KC_F6",
- "KC_F7",
- "KC_F8",
- "KC_F9",
- "KC_F10",
- "KC_F11",
- "KC_F12",
- "KC_TRNS",
- "KC_PSCR",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_PGUP",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_HOME",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_PGDN",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_END",
- "KC_TRNS",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_NO",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS"
- ],
- [
- "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_TRNS",
- "KC_NO",
- "KC_TRNS",
- "KC_MNXT",
- "KC_BTN1",
- "KC_MS_U",
- "KC_BTN2",
- "KC_NO",
- "KC_NO",
- "KC_UP",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_NO",
- "KC_TRNS",
- "KC_MPRV",
- "KC_MS_L",
- "KC_MS_D",
- "KC_MS_R",
- "KC_NO",
- "KC_LEFT",
- "KC_DOWN",
- "KC_RGHT",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_NO",
- "KC_TRNS",
- "KC_ACL0",
- "KC_ACL1",
- "KC_ACL2",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS",
- "KC_NO",
- "KC_TRNS",
- "KC_TRNS",
- "KC_TRNS"
- ]
- ]
-}
diff --git a/files/keyboard/rules.mk b/files/keyboard/rules.mk
deleted file mode 100644
index 305333c..0000000
--- a/files/keyboard/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-MCU = atmega32u4 #
-BOOTLOADER = atmel-dfu #
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes #
-EXTRAKEY_ENABLE = no # 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 (DO NOT ENABLE. it uses the same timer as BACKLIGHT_ENABLE)
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-MIDI_ENABLE = no #
-UNICODE_ENABLE = no #
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-DEBOUNCE_TYPE = sym_eager_pk # https://github.com/qmk/qmk_firmware/blob/master/docs/feature_debounce_type.md
-DEBOUNCE = 5 #
-VIA_ENABLE = yes # enable VIA
diff --git a/files/wings_hotswap.json b/files/wings_hotswap.json
new file mode 100644
index 0000000..f9944fe
--- /dev/null
+++ b/files/wings_hotswap.json
@@ -0,0 +1,332 @@
+{
+ "name": "Wings Hotswap",
+ "vendorProductId": 1498237301,
+ "macros": [
+ "{KC_LCTL,KC_LSFT,KC_TAB}",
+ "{KC_LCTL,KC_TAB}",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "layers": [
+ [
+ "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_NO",
+ "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_NO",
+ "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_RCTL",
+ "KC_NO",
+ "KC_UP",
+ "KC_NO",
+ "KC_LCTL",
+ "KC_NO",
+ "KC_LALT",
+ "KC_NO",
+ "KC_SPC",
+ "KC_LGUI",
+ "MO(1)",
+ "KC_NO",
+ "KC_NO",
+ "KC_RALT",
+ "KC_NO",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT",
+ "KC_PSCR"
+ ],
+ [
+ "KC_GRV",
+ "KC_F1",
+ "KC_F2",
+ "KC_F3",
+ "KC_F4",
+ "KC_F5",
+ "KC_F6",
+ "KC_F7",
+ "KC_F8",
+ "KC_F9",
+ "KC_F10",
+ "KC_F11",
+ "KC_F12",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_BTN1",
+ "KC_MS_UP",
+ "KC_MS_BTN2",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_UP",
+ "MACRO00",
+ "MACRO01",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_DEL",
+ "KC_HOME",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_LEFT",
+ "KC_MS_DOWN",
+ "KC_MS_RIGHT",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_END",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS"
+ ],
+ [
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS"
+ ],
+ [
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_NO",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS"
+ ]
+ ]
+}
\ No newline at end of file