From 479d8de622674b6667295bda344145a69aa042bd Mon Sep 17 00:00:00 2001
From: Ryan <fauxpark@gmail.com>
Date: Tue, 8 Nov 2022 12:05:08 +1100
Subject: Format DD mappings and schemas (#18924)

---
 data/mappings/defaults.hjson         |   77 ++
 data/mappings/defaults.json          |   77 --
 data/mappings/info_config.hjson      |  130 ++++
 data/mappings/info_config.json       |  130 ----
 data/mappings/info_rules.hjson       |   44 ++
 data/mappings/info_rules.json        |   44 --
 data/mappings/keyboard_aliases.hjson | 1252 +++++++++++++++++++++++++++++++++
 data/mappings/keyboard_aliases.json  | 1285 ----------------------------------
 8 files changed, 1503 insertions(+), 1536 deletions(-)
 create mode 100644 data/mappings/defaults.hjson
 delete mode 100644 data/mappings/defaults.json
 create mode 100644 data/mappings/info_config.hjson
 delete mode 100644 data/mappings/info_config.json
 create mode 100644 data/mappings/info_rules.hjson
 delete mode 100644 data/mappings/info_rules.json
 create mode 100644 data/mappings/keyboard_aliases.hjson
 delete mode 100644 data/mappings/keyboard_aliases.json

(limited to 'data/mappings')

diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
new file mode 100644
index 0000000000..ea9f6972c5
--- /dev/null
+++ b/data/mappings/defaults.hjson
@@ -0,0 +1,77 @@
+{
+    "development_board": {
+        "promicro": {
+            "processor": "atmega32u4",
+            "bootloader": "caterina",
+            "pin_compatible": "promicro"
+        },
+        "elite_c": {
+            "processor": "atmega32u4",
+            "bootloader": "atmel-dfu",
+            "pin_compatible": "promicro"
+        },
+        "elite_pi": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040",
+            "pin_compatible": "promicro"
+        },
+        "proton_c": {
+            "processor": "STM32F303",
+            "bootloader": "stm32-dfu",
+            "board": "QMK_PROTON_C",
+            "pin_compatible": "promicro"
+        },
+        "kb2040": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040",
+            "pin_compatible": "promicro"
+        },
+        "promicro_rp2040": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040",
+            "pin_compatible": "promicro"
+        },
+        "blok": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040",
+            "pin_compatible": "promicro"
+        },
+        "bit_c_pro": {
+            "processor": "RP2040",
+            "bootloader": "rp2040",
+            "board": "QMK_PM2040",
+            "pin_compatible": "promicro"
+        },
+        "bluepill": {
+            "processor": "STM32F103",
+            "bootloader": "stm32duino",
+            "board": "STM32_F103_STM32DUINO"
+        },
+        "blackpill_f401": {
+            "processor": "STM32F401",
+            "bootloader": "stm32-dfu",
+            "board": "BLACKPILL_STM32_F401"
+        },
+        "blackpill_f411": {
+            "processor": "STM32F411",
+            "bootloader": "stm32-dfu",
+            "board": "BLACKPILL_STM32_F411"
+        },
+        "stemcell": {
+            "processor": "STM32F411",
+            "bootloader": "tinyuf2",
+            "board": "STEMCELL",
+            "pin_compatible": "promicro"
+        },
+        "bonsai_c4": {
+            "processor": "STM32F411",
+            "bootloader": "stm32-dfu",
+            "board": "GENERIC_STM32_F411XE",
+            "pin_compatible": "promicro"
+        }
+    }
+}
diff --git a/data/mappings/defaults.json b/data/mappings/defaults.json
deleted file mode 100644
index ea9f6972c5..0000000000
--- a/data/mappings/defaults.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-    "development_board": {
-        "promicro": {
-            "processor": "atmega32u4",
-            "bootloader": "caterina",
-            "pin_compatible": "promicro"
-        },
-        "elite_c": {
-            "processor": "atmega32u4",
-            "bootloader": "atmel-dfu",
-            "pin_compatible": "promicro"
-        },
-        "elite_pi": {
-            "processor": "RP2040",
-            "bootloader": "rp2040",
-            "board": "QMK_PM2040",
-            "pin_compatible": "promicro"
-        },
-        "proton_c": {
-            "processor": "STM32F303",
-            "bootloader": "stm32-dfu",
-            "board": "QMK_PROTON_C",
-            "pin_compatible": "promicro"
-        },
-        "kb2040": {
-            "processor": "RP2040",
-            "bootloader": "rp2040",
-            "board": "QMK_PM2040",
-            "pin_compatible": "promicro"
-        },
-        "promicro_rp2040": {
-            "processor": "RP2040",
-            "bootloader": "rp2040",
-            "board": "QMK_PM2040",
-            "pin_compatible": "promicro"
-        },
-        "blok": {
-            "processor": "RP2040",
-            "bootloader": "rp2040",
-            "board": "QMK_PM2040",
-            "pin_compatible": "promicro"
-        },
-        "bit_c_pro": {
-            "processor": "RP2040",
-            "bootloader": "rp2040",
-            "board": "QMK_PM2040",
-            "pin_compatible": "promicro"
-        },
-        "bluepill": {
-            "processor": "STM32F103",
-            "bootloader": "stm32duino",
-            "board": "STM32_F103_STM32DUINO"
-        },
-        "blackpill_f401": {
-            "processor": "STM32F401",
-            "bootloader": "stm32-dfu",
-            "board": "BLACKPILL_STM32_F401"
-        },
-        "blackpill_f411": {
-            "processor": "STM32F411",
-            "bootloader": "stm32-dfu",
-            "board": "BLACKPILL_STM32_F411"
-        },
-        "stemcell": {
-            "processor": "STM32F411",
-            "bootloader": "tinyuf2",
-            "board": "STEMCELL",
-            "pin_compatible": "promicro"
-        },
-        "bonsai_c4": {
-            "processor": "STM32F411",
-            "bootloader": "stm32-dfu",
-            "board": "GENERIC_STM32_F411XE",
-            "pin_compatible": "promicro"
-        }
-    }
-}
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
new file mode 100644
index 0000000000..a013e98b34
--- /dev/null
+++ b/data/mappings/info_config.hjson
@@ -0,0 +1,130 @@
+// This file maps keys between `config.h` and `info.json`. It is used by QMK
+// to correctly and consistently map back and forth between the two systems.
+{
+    // Format:
+    // <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
+    // value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
+    // to_json: Default `true`. Set to `false` to exclude this mapping from info.json
+    // to_c: Default `true`. Set to `false` to exclude this mapping from config.h
+    // warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
+    // deprecated: Default `false`. Set to `true` to turn on warning when a value exists
+    // invalid: Default `false`. Set to `true` to generate errors when a value exists
+    // replace_with: use with a key marked deprecated or invalid to designate a replacement
+    "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
+    "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
+    "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
+    "BACKLIGHT_LEVELS": {"info_key": "backlight.levels", "value_type": "int"},
+    "BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
+    "BACKLIGHT_PIN": {"info_key": "backlight.pin"},
+    "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
+    "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
+    "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
+    "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
+    "DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
+    "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"},
+    "DIODE_DIRECTION": {"info_key": "diode_direction"},
+    "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
+    "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
+    "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
+    "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
+    "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
+    "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
+    "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
+    "HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
+    "LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
+    "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
+    "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
+    "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
+    "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
+    "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
+    "LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
+    "LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
+    "LED_KANA_PIN": {"info_key": "indicators.kana"},
+    "LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
+    "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
+    "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
+    "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
+    "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
+    "LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"},
+    "LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"},
+    "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
+    "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
+    "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str"},
+    "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
+    "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
+    "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
+    "MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
+    "MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
+    "MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
+    "MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
+    "ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
+    "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
+    "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
+    "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
+    "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"},
+    "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
+    "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
+    "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
+    "RGB_DI_PIN": {"info_key": "rgblight.pin"},
+    "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
+    "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
+    "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
+    "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
+    "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
+    "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
+    "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
+    "RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
+    "RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
+    "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
+    "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
+    "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
+    "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
+    "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
+    "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
+    "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
+    "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
+    "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
+    "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"},
+    "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},
+    "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
+    "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str"},
+    "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
+    "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
+    "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
+    "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
+    "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
+    "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
+    "SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
+    "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
+    "SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
+    "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
+    "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
+    "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
+    "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
+    "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
+    "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
+    "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"},
+    "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"},
+    "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
+    "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
+    "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
+    "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
+    "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
+    "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
+    "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
+    "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
+    "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
+    "USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
+    "USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
+    "USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
+
+    // Items we want flagged in lint
+    "NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
+    "NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
+    "DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
+    "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
+    "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
+    "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
+    "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
+    "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}
+}
diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json
deleted file mode 100644
index 01f39540d0..0000000000
--- a/data/mappings/info_config.json
+++ /dev/null
@@ -1,130 +0,0 @@
-# This file maps keys between `config.h` and `info.json`. It is used by QMK
-# to correctly and consistently map back and forth between the two systems.
-{
-    # Format:
-    # <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
-    # value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
-    # to_json: Default `true`. Set to `false` to exclude this mapping from info.json
-    # to_c: Default `true`. Set to `false` to exclude this mapping from config.h
-    # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
-    # deprecated: Default `false`. Set to `true` to turn on warning when a value exists
-    # invalid: Default `false`. Set to `true` to generate errors when a value exists
-    # replace_with: use with a key marked deprecated or invalid to designate a replacement
-    "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
-    "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
-    "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
-    "BACKLIGHT_LEVELS": {"info_key": "backlight.levels", "value_type": "int"},
-    "BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
-    "BACKLIGHT_PIN": {"info_key": "backlight.pin"},
-    "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
-    "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
-    "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
-    "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
-    "DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
-    "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"},
-    "DIODE_DIRECTION": {"info_key": "diode_direction"},
-    "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
-    "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
-    "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
-    "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
-    "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
-    "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
-    "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
-    "HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
-    "LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
-    "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
-    "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
-    "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
-    "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
-    "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
-    "LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
-    "LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
-    "LED_KANA_PIN": {"info_key": "indicators.kana"},
-    "LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
-    "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
-    "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
-    "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
-    "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
-    "LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"},
-    "LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"},
-    "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
-    "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
-    "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str"},
-    "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
-    "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
-    "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
-    "MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
-    "MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
-    "MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
-    "MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
-    "ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
-    "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
-    "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
-    "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
-    "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"},
-    "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
-    "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
-    "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
-    "RGB_DI_PIN": {"info_key": "rgblight.pin"},
-    "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
-    "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
-    "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
-    "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
-    "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
-    "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
-    "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
-    "RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
-    "RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
-    "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
-    "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
-    "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
-    "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
-    "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
-    "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
-    "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
-    "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
-    "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
-    "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"},
-    "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},
-    "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
-    "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str"},
-    "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
-    "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
-    "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
-    "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
-    "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
-    "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
-    "SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
-    "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
-    "SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
-    "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
-    "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
-    "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
-    "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
-    "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
-    "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
-    "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"},
-    "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"},
-    "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
-    "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
-    "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
-    "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
-    "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
-    "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
-    "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
-    "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
-    "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
-    "USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
-    "USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
-    "USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
-
-    # Items we want flagged in lint
-    "NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
-    "NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
-    "DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
-    "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
-    "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
-    "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
-    "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
-    "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}
-}
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
new file mode 100644
index 0000000000..2f8656c4bf
--- /dev/null
+++ b/data/mappings/info_rules.hjson
@@ -0,0 +1,44 @@
+// This file maps keys between `rules.mk` and `info.json`. It is used by QMK
+// to correctly and consistently map back and forth between the two systems.
+{
+    // Format:
+    // <rules.mk key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
+    // value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping", "str", "raw"
+    // to_json: Default `true`. Set to `false` to exclude this mapping from info.json
+    // to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
+    // warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
+    // deprecated: Default `false`. Set to `true` to turn on warning when a value exists
+    // invalid: Default `false`. Set to `true` to generate errors when a value exists
+    // replace_with: use with a key marked deprecated or invalid to designate a replacement
+    "BOARD": {"info_key": "board"},
+    "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
+    "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
+    "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
+    "DEBOUNCE_TYPE": {"info_key": "build.debounce_type"},
+    "ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
+    "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
+    "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
+    "MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"},
+    "LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
+    "LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
+    "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
+    "LTO_ENABLE": {"info_key": "build.lto", "value_type": "bool"},
+    "MCU": {"info_key": "processor", "warn_duplicate": false},
+    "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"},
+    "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"},
+    "PIN_COMPATIBLE": {"info_key": "pin_compatible"},
+    "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
+    "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
+    "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
+    "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
+    "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
+    "STENO_PROTOCOL": {"info_key": "stenography.protocol"},
+    "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
+    "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
+    "PS2_DRIVER": {"info_key": "ps2.driver"},
+
+    // Items we want flagged in lint
+    "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
+    "CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
+    "VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
+}
diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json
deleted file mode 100644
index 6bf933bfb8..0000000000
--- a/data/mappings/info_rules.json
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file maps keys between `rules.mk` and `info.json`. It is used by QMK
-# to correctly and consistently map back and forth between the two systems.
-{
-    # Format:
-    # <rules.mk key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
-    # value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping", "str", "raw"
-    # to_json: Default `true`. Set to `false` to exclude this mapping from info.json
-    # to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
-    # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
-    # deprecated: Default `false`. Set to `true` to turn on warning when a value exists
-    # invalid: Default `false`. Set to `true` to generate errors when a value exists
-    # replace_with: use with a key marked deprecated or invalid to designate a replacement
-    "BOARD": {"info_key": "board"},
-    "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
-    "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
-    "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
-    "DEBOUNCE_TYPE": {"info_key": "build.debounce_type"},
-    "ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
-    "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
-    "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
-    "MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"},
-    "LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
-    "LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
-    "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
-    "LTO_ENABLE": {"info_key": "build.lto", "value_type": "bool"},
-    "MCU": {"info_key": "processor", "warn_duplicate": false},
-    "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"},
-    "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"},
-    "PIN_COMPATIBLE": {"info_key": "pin_compatible"},
-    "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
-    "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
-    "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
-    "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
-    "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
-    "STENO_PROTOCOL": {"info_key": "stenography.protocol"},
-    "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
-    "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
-    "PS2_DRIVER": {"info_key": "ps2.driver"},
-
-    # Items we want flagged in lint
-    "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
-    "CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
-    "VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
-}
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
new file mode 100644
index 0000000000..78a85ef6e7
--- /dev/null
+++ b/data/mappings/keyboard_aliases.hjson
@@ -0,0 +1,1252 @@
+{
+    // Format for each entry:
+    // "<alias>": {
+    //     "target": "<keyboard_folder>",
+    //     "layouts": {
+    //         "<layout_alias>": "<layout_target>"
+    //     }
+    // }
+    //
+    // Both target and layouts are optional.
+    "2_milk": {
+        "target": "spaceman/2_milk"
+    },
+    "absinthe": {
+        "target": "keyhive/absinthe"
+    },
+    "aeboards/constellation": {
+        "target": "aeboards/constellation/rev1"
+    },
+    "aeboards/ext65": {
+        "target": "aeboards/ext65/rev1"
+    },
+    "ai03/equinox": {
+        "target": "ai03/equinox/rev1"
+    },
+    "alice": {
+        "target": "tgr/alice"
+    },
+    "amj40": {
+        "target": "amjkeyboard/amj40"
+    },
+    "amj60": {
+        "target": "amjkeyboard/amj60"
+    },
+    "amj96": {
+        "target": "amjkeyboard/amj96"
+    },
+    "amjpad": {
+        "target": "amjkeyboard/amjpad"
+    },
+    "angel64": {
+        "target": "angel64/alpha"
+    },
+    "at101_blackheart": {
+        "target": "viktus/at101_bh"
+    },
+    "at101_bh": {
+        "target": "viktus/at101_bh"
+    },
+    "atom47/rev2": {
+        "target": "maartenwut/atom47/rev2"
+    },
+    "atom47/rev3": {
+        "target": "maartenwut/atom47/rev3"
+    },
+    "bakeneko60": {
+        "target": "kkatano/bakeneko60"
+    },
+    "bakeneko65": {
+        "target": "kkatano/bakeneko65/rev2"
+    },
+    "bakeneko80": {
+        "target": "kkatano/bakeneko80"
+    },
+    "bear_face": {
+        "target": "bear_face/v1"
+    },
+    "bm16a": {
+        "target": "kprepublic/bm16a"
+    },
+    "bm16s": {
+        "target": "kprepublic/bm16s"
+    },
+    "bm40hsrgb": {
+        "target": "kprepublic/bm40hsrgb"
+    },
+    "bm43a": {
+        "target": "kprepublic/bm43a"
+    },
+    "bm60poker": {
+        "target": "kprepublic/bm60poker"
+    },
+    "bm60rgb": {
+        "target": "kprepublic/bm60rgb"
+    },
+    "bm60rgb_iso": {
+        "target": "kprepublic/bm60rgb_iso"
+    },
+    "bm68rgb": {
+        "target": "kprepublic/bm68rgb"
+    },
+    "bpiphany/pegasushoof": {
+        "target": "bpiphany/pegasushoof/2013"
+    },
+    "chavdai40": {
+        "target": "chavdai40/rev1"
+    },
+    "candybar/lefty": {
+        "target": "tkc/candybar/lefty"
+    },
+    "candybar/righty": {
+        "target": "tkc/candybar/righty"
+    },
+    "canoe": {
+        "target": "percent/canoe"
+    },
+    "clawsome/gamebuddy": {
+        "target": "clawsome/gamebuddy/v1_0"
+    },
+    "cmm_studio/saka68": {
+        "target": "cmm_studio/saka68/solder"
+    },
+    "cospad": {
+        "target": "kprepublic/cospad"
+    },
+    "crkbd/rev1/legacy": {
+        "target": "crkbd/rev1"
+    },
+    "crkbd/rev1/common": {
+        "target": "crkbd/rev1"
+    },
+    "custommk/genesis": {
+        "target": "custommk/genesis/rev1"
+    },
+    "daisy": {
+        "target": "ktec/daisy"
+    },
+    "doro67/multi": {
+        "layouts": {
+            "LAYOUT_ansi": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "doro67/regular": {
+        "layouts": {
+            "LAYOUT": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "doro67/rgb": {
+        "layouts": {
+            "LAYOUT": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "drakon": {
+        "target": "jagdpietr/drakon"
+    },
+    "durgod/k320": {
+        "target": "durgod/k3x0/k320"
+    },
+    "dztech/dz60rgb": {
+        "target": "dztech/dz60rgb/v1"
+    },
+    "dztech/dz60rgb_ansi": {
+        "target": "dztech/dz60rgb_ansi/v1"
+    },
+    "dztech/dz60rgb_wkl": {
+        "target": "dztech/dz60rgb_wkl/v1"
+    },
+    "dztech/dz65rgb": {
+        "target": "dztech/dz65rgb/v1"
+    },
+    "dztech/volcano660": {
+        "target": "ilumkb/volcano660"
+    },
+    "eek": {
+        "target": "eek/silk_down"
+    },
+    "ergodone": {
+        "target": "ktec/ergodone"
+    },
+    "ergoinu": {
+        "target": "dm9records/ergoinu"
+    },
+    "ergosaurus": {
+        "target": "keyhive/ergosaurus"
+    },
+    "exclusive/e85": {
+        "target": "exclusive/e85/hotswap"
+    },
+    "gh60": {
+        "target": "gh60/revc"
+    },
+    "gmmk/pro": {
+        "target": "gmmk/pro/rev1/ansi"
+    },
+    "gmmk/pro/ansi": {
+        "target": "gmmk/pro/rev1/ansi"
+    },
+    "gmmk/pro/iso": {
+        "target": "gmmk/pro/rev1/iso"
+    },
+    "handwired/ferris": {
+        "target": "ferris/0_1"
+    },
+    "handwired/p1800fl": {
+        "target": "team0110/p1800fl"
+    },
+    "helix/pico/sc/back": {
+        "target": "helix/pico/sc"
+    },
+    "helix/pico/sc/under": {
+        "target": "helix/pico/sc"
+    },
+    "helix/rev2/back/oled": {
+        "target": "helix/rev2/back"
+    },
+    "helix/rev2/oled": {
+        "target": "helix/rev2"
+    },
+    "helix/rev2/oled/back": {
+        "target": "helix/rev2/back"
+    },
+    "helix/rev2/oled/under": {
+        "target": "helix/rev2/under"
+    },
+    "helix/rev2/sc/back": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/sc/oled": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/sc/oledback": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/sc/oledunder": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/sc/under": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/under": {
+        "target": "helix/rev2/sc"
+    },
+    "helix/rev2/under/oled": {
+        "target": "helix/rev2/under"
+    },
+    "honeycomb": {
+        "target": "keyhive/honeycomb"
+    },
+    "idb_60": {
+        "target": "idb/idb_60",
+        "layouts": {
+            "LAYOUT": "LAYOUT_all"
+        }
+    },
+    "idobo": {
+        "target": "idobao/id75"
+    },
+    "jj40": {
+        "target": "kprepublic/jj40"
+    },
+    "jj4x4": {
+        "target": "kprepublic/jj4x4"
+    },
+    "jj50": {
+        "target": "kprepublic/jj50"
+    },
+    "jones": {
+        "target": "jones/v03_1"
+    },
+    "katana60": {
+        "target": "rominronin/katana60/rev1"
+    },
+    "kbdfans/kbd67mkiirgb": {
+        "target": "kbdfans/kbd67/mkiirgb",
+        "layouts": {
+            "LAYOUT": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "kbdfans/kbd67/mkiirgb": {
+        "target": "kbdfans/kbd67/mkiirgb/v1"
+    },
+    "keebio/dsp40": {
+        "target": "keebio/dsp40/rev1"
+    },
+    "keycapsss/plaid_pad": {
+        "target": "keycapsss/plaid_pad/rev1"
+    },
+    "kudox": {
+        "target": "kudox/rev1"
+    },
+    "kyria": {
+        "target": "splitkb/kyria"
+    },
+    "lattice60": {
+        "target": "keyhive/lattice60"
+    },
+    "lazydesigners/the60": {
+        "target": "lazydesigners/the60/rev1"
+    },
+    "lfkeyboards/lfk78": {
+        "target": "lfkeyboards/lfk78/revj"
+    },
+    "lfkeyboards/smk65": {
+        "target": "lfkeyboards/smk65/revb"
+    },
+    "m3v3van": {
+        "target": "matthewdias/m3n3van"
+    },
+    "maartenwut/atom47/rev2": {
+        "target": "evyd13/atom47/rev2"
+    },
+    "maartenwut/atom47/rev3": {
+        "target": "evyd13/atom47/rev3"
+    },
+    "maartenwut/eon40": {
+        "target": "evyd13/eon40"
+    },
+    "maartenwut/eon65": {
+        "target": "evyd13/eon65"
+    },
+    "maartenwut/eon75": {
+        "target": "evyd13/eon75"
+    },
+    "maartenwut/eon87": {
+        "target": "evyd13/eon87"
+    },
+    "maartenwut/eon95": {
+        "target": "evyd13/eon95"
+    },
+    "maartenwut/gh80_1800": {
+        "target": "evyd13/gh80_1800"
+    },
+    "maartenwut/gh80_3700": {
+        "target": "evyd13/gh80_3700"
+    },
+    "maartenwut/minitomic": {
+        "target": "evyd13/minitomic"
+    },
+    "maartenwut/mx5160": {
+        "target": "evyd13/mx5160"
+    },
+    "maartenwut/nt660": {
+        "target": "evyd13/nt660"
+    },
+    "maartenwut/omrontkl": {
+        "target": "evyd13/omrontkl"
+    },
+    "maartenwut/plain60": {
+        "target": "evyd13/plain60"
+    },
+    "maartenwut/pockettype": {
+        "target": "evyd13/pockettype"
+    },
+    "maartenwut/quackfire": {
+        "target": "evyd13/quackfire"
+    },
+    "maartenwut/solheim68": {
+        "target": "evyd13/solheim68"
+    },
+    "maartenwut/ta65": {
+        "target": "evyd13/ta65"
+    },
+    "maartenwut/wasdat": {
+        "target": "evyd13/wasdat"
+    },
+    "maartenwut/wasdat_code": {
+        "target": "evyd13/wasdat_code"
+    },
+    "maartenwut/wonderland": {
+        "target": "evyd13/wonderland"
+    },
+    "matrix/m12og": {
+        "target": "matrix/m12og/rev1"
+    },
+    "mechlovin/hannah910": {
+        "target": "mechlovin/hannah910/rev1"
+    },
+    "mechlovin/adelais/rgb_led": {
+        "target": "mechlovin/adelais/rgb_led/rev1"
+    },
+    "mechlovin/adelais/standard_led": {
+        "target": "mechlovin/adelais/standard_led/rev2"
+    },
+    "mechlovin/delphine": {
+        "target": "mechlovin/delphine/mono_led"
+    },
+    "mechlovin/hannah60rgb": {
+        "target": "mechlovin/hannah60rgb/rev1"
+    },
+    "mechlovin/hannah65/mechlovin9": {
+        "target": "mechlovin/mechlovin9/rev1"
+    },
+    "mechlovin/hex4b": {
+        "target": "mechlovin/hex4b/rev1"
+    },
+    "melgeek/z70ultra": {
+        "target": "melgeek/z70ultra/rev1"
+    },
+    "mechlovin/hannah65": {
+        "target": "mechlovin/hannah65/rev1"
+    },
+    "minim": {
+        "target": "matthewdias/minim"
+    },
+    "model01": {
+        "target": "keyboardio/model01"
+    },
+    "model_v": {
+        "target": "matthewdias/model_v"
+    },
+    "m0lly": {
+        "target": "tkc/m0lly"
+    },
+    "montsinger/rebound": {
+        "target": "montsinger/rebound/rev1"
+    },
+    "noxary/268_2": {
+        "layouts": {
+            "LAYOUT": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "oddball": {
+        "target": "oddball/v1"
+    },
+    "omnikey_blackheart": {
+        "target": "viktus/omnikey_bh"
+    },
+    "omnikey_bh": {
+        "target": "viktus/omnikey_bh"
+    },
+    "opus": {
+        "target": "keyhive/opus"
+    },
+    "pabile/p20": {
+        "target": "pabile/p20/ver1"
+    },
+    "pancake/feather": {
+        "target": "spaceman/pancake/feather"
+    },
+    "pancake/promicro": {
+        "target": "spaceman/pancake/promicro"
+    },
+    "peiorisboards/ixora": {
+        "target": "coarse/ixora"
+    },
+    "percent/canoe": {
+        "layouts": {
+            "LAYOUT_iso": "LAYOUT_65_iso_blocker"
+        }
+    },
+    "plaid": {
+        "target": "dm9records/plaid"
+    },
+    "plain60": {
+        "target": "maartenwut/plain60"
+    },
+    "ploopyco/trackball": {
+        "target": "ploopyco/trackball/rev1_005"
+    },
+    "polilla": {
+        "target": "polilla/rev1"
+    },
+    "preonic/rev1": {
+        "layouts": {
+            "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12"
+        }
+    },
+    "preonic/rev2": {
+        "layouts": {
+            "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12"
+        }
+    },
+    "preonic/rev3": {
+        "layouts": {
+            "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12"
+        }
+    },
+    "primekb/prime_l": {
+        "target": "primekb/prime_l/v1"
+    },
+    "primekb/prime_l_v2": {
+        "target": "primekb/prime_l/v2"
+    },
+    "projectkb/alice": {
+        "target": "projectkb/alice/rev1"
+    },
+    "rama/koyu": {
+        "target": "wilba_tech/rama_works_koyu"
+    },
+    "rama/m6_a": {
+        "target": "wilba_tech/rama_works_m6_a"
+    },
+    "rama/m6_b": {
+        "target": "wilba_tech/rama_works_m6_b"
+    },
+    "rama/m10_b": {
+        "target": "wilba_tech/rama_works_m10_b"
+    },
+    "rama/m60_a": {
+        "target": "wilba_tech/rama_works_m60_a"
+    },
+    "rama/u80_a": {
+        "target": "wilba_tech/rama_works_u80_a"
+    },
+    "ramonimbao/herringbone": {
+        "target": "ramonimbao/herringbone/v1"
+    },
+    "ramonimbao/mona": {
+        "target": "ramonimbao/mona/v1"
+    },
+    "rgbkb/pan": {
+        "target": "rgbkb/pan/rev1/32a"
+    },
+    "rgbkb/pan/rev1": {
+        "target": "rgbkb/pan/rev1/32a"
+    },
+    "romac": {
+        "target": "kingly_keys/romac"
+    },
+    "ropro": {
+        "target": "kingly_keys/ropro"
+    },
+    "satan": {
+        "target": "gh60/satan"
+    },
+    "skog": {
+        "target": "percent/skog"
+    },
+    "smallice": {
+        "target": "keyhive/smallice"
+    },
+    "southpole": {
+        "target": "keyhive/southpole"
+    },
+    "speedo": {
+        "target": "cozykeys/speedo/v2"
+    },
+    "staryu": {
+        "target": "ktec/staryu"
+    },
+    "stoutgat": {
+        "target": "tkw/stoutgat/v1"
+    },
+    "suihankey": {
+        "target": "suihankey/split/alpha"
+    },
+    "ta65": {
+        "target": "maartenwut/ta65"
+    },
+    "tartan": {
+        "target": "dm9records/tartan"
+    },
+    "tkc1800": {
+        "target": "tkc/tkc1800"
+    },
+    "tkw/stoutgat/v2": {
+        "target": "tkw/stoutgat/v2/f411"
+    },
+    "tokyo60": {
+        "target": "tokyokeyboard/tokyo60"
+    },
+    "txuu": {
+        "target": "matthewdias/txuu"
+    },
+    "underscore33": {
+        "target": "underscore33/rev1"
+    },
+    "vinta": {
+        "target": "coarse/vinta",
+        "layouts": {
+            "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker"
+        }
+    },
+    "wasdat": {
+        "target": "maartenwut/wasdat"
+    },
+    "westfoxtrot/cypher": {
+        "target": "westfoxtrot/cypher/rev1"
+    },
+    "whale/sk": {
+        "target": "whale/sk/v3"
+    },
+    "xd002": {
+        "target": "xiudi/xd002"
+    },
+    "xd004": {
+        "target": "xiudi/xd004"
+    },
+    "xd60": {
+        "target": "xiudi/xd60"
+    },
+    "xd68": {
+        "target": "xiudi/xd68"
+    },
+    "xd75": {
+        "target": "xiudi/xd75"
+    },
+    "xd84": {
+        "target": "xiudi/xd84"
+    },
+    "xd84pro": {
+        "target": "xiudi/xd84pro"
+    },
+    "xd87": {
+        "target": "xiudi/xd87"
+    },
+    "xd96": {
+        "target": "xiudi/xd96"
+    },
+    "xelus/dawn60": {
+        "target": "xelus/dawn60/rev1"
+    },
+    "xelus/valor": {
+        "target": "xelus/valor/rev1"
+    },
+    "z150_blackheart": {
+        "target": "viktus/z150_bh"
+    },
+    "z150_bh":{
+        "target": "viktus/z150_bh"
+    },
+    "zeal60": {
+        "target": "wilba_tech/zeal60"
+    },
+    "zeal65": {
+        "target": "wilba_tech/zeal65"
+    },
+    // Moved during 2022 Q1 cycle
+    "6ball": {
+        "target": "maple_computing/6ball"
+    },
+    "7skb": {
+        "target": "salicylic_acid3/7skb"
+    },
+    "7splus": {
+        "target": "salicylic_acid3/7splus"
+    },
+    "acr60": {
+        "target": "mechkeys/acr60"
+    },
+    "adalyn": {
+        "target": "tominabox1/adalyn"
+    },
+    "ajisai74": {
+        "target": "salicylic_acid3/ajisai74"
+    },
+    "aleth42": {
+        "target": "25keys/aleth42"
+    },
+    "alicia_cook": {
+        "target": "ibnuda/alicia_cook"
+    },
+    "allison": {
+        "target": "prototypist/allison"
+    },
+    "allison_numpad": {
+        "target": "prototypist/allison_numpad"
+    },
+    "alu84": {
+        "target": "mechkeys/alu84"
+    },
+    "angel17": {
+        "target": "kakunpc/angel17"
+    },
+    "angel64/alpha": {
+        "target": "kakunpc/angel64/alpha"
+    },
+    "angel64/rev1": {
+        "target": "kakunpc/angel64/rev1"
+    },
+    "arch_36": {
+        "target": "obosob/arch_36"
+    },
+    "bakeneko65/rev2": {
+        "target": "kkatano/bakeneko65/rev2"
+    },
+    "bakeneko65/rev3": {
+        "target": "kkatano/bakeneko65/rev3"
+    },
+    "barleycorn": {
+        "target": "yiancardesigns/barleycorn"
+    },
+    "bat43/rev1": {
+        "target": "dailycraft/bat43/rev1"
+    },
+    "bat43/rev2": {
+        "target": "dailycraft/bat43/rev2"
+    },
+    "bigseries/1key": {
+        "target": "woodkeys/bigseries/1key"
+    },
+    "bigseries/2key": {
+        "target": "woodkeys/bigseries/2key"
+    },
+    "bigseries/3key": {
+        "target": "woodkeys/bigseries/3key"
+    },
+    "bigseries/4key": {
+        "target": "woodkeys/bigseries/4key"
+    },
+    "bkf": {
+        "target": "drhigsby/bkf"
+    },
+    "business_card/alpha": {
+        "target": "kakunpc/business_card/alpha"
+    },
+    "business_card/beta": {
+        "target": "kakunpc/business_card/beta"
+    },
+    "butterstick": {
+        "target": "gboards/butterstick"
+    },
+    "c39": {
+        "target": "maple_computing/c39"
+    },
+    "cassette42": {
+        "target": "25keys/cassette42"
+    },
+    "chidori": {
+        "target": "kagizaraya/chidori"
+    },
+    "chili": {
+        "target": "ydkb/chili"
+    },
+    "chimera_ergo": {
+        "target": "glenpickle/chimera_ergo"
+    },
+    "chimera_ls": {
+        "target": "glenpickle/chimera_ls"
+    },
+    "chimera_ortho": {
+        "target": "glenpickle/chimera_ortho"
+    },
+    "chimera_ortho_plus": {
+        "target": "glenpickle/chimera_ortho_plus"
+    },
+    "choc_taro": {
+        "target": "kakunpc/choc_taro"
+    },
+    "choco60": {
+        "target": "recompile_keys/choco60"
+    },
+    "christmas_tree": {
+        "target": "maple_computing/christmas_tree"
+    },
+    "claw44/rev1": {
+        "target": "dailycraft/claw44/rev1"
+    },
+    "cocoa40": {
+        "target": "recompile_keys/cocoa40"
+    },
+    "comet46": {
+        "target": "satt/comet46"
+    },
+    "cu24": {
+        "target": "capsunlocked/cu24"
+    },
+    "cu75": {
+        "target": "capsunlocked/cu75"
+    },
+    "cu80": {
+        "target": "capsunlocked/cu80/v1"
+    },
+    "delilah": {
+        "target": "rainkeebs/delilah"
+    },
+    "diverge3": {
+        "target": "unikeyboard/diverge3"
+    },
+    "divergetm2": {
+        "target": "unikeyboard/divergetm2"
+    },
+    "dozen0": {
+        "target": "yynmt/dozen0"
+    },
+    "dubba175": {
+        "target": "drhigsby/dubba175"
+    },
+    "eggman": {
+        "target": "qpockets/eggman"
+    },
+    "ergo42": {
+        "target": "biacco42/ergo42"
+    },
+    "ergoarrows": {
+        "target": "salicylic_acid3/ergoarrows"
+    },
+    "ergodash/mini": {
+        "target": "omkbd/ergodash/mini"
+    },
+    "ergodash/rev1": {
+        "target": "omkbd/ergodash/rev1"
+    },
+    "ergodox_infinity": {
+        "target": "input_club/ergodox_infinity"
+    },
+    "ergotaco": {
+        "target": "gboards/ergotaco"
+    },
+    "espectro": {
+        "target": "mechkeys/espectro"
+    },
+    "felix": {
+        "target": "unikeyboard/felix"
+    },
+    "four_banger": {
+        "target": "bpiphany/four_banger"
+    },
+    "freyr": {
+        "target": "hnahkb/freyr"
+    },
+    "geminate60": {
+        "target": "weirdo/geminate60"
+    },
+    "gentleman65": {
+        "target": "jkeys_design/gentleman65"
+    },
+    "georgi": {
+        "target": "gboards/georgi"
+    },
+    "gergo": {
+        "target": "gboards/gergo"
+    },
+    "getta25": {
+        "target": "salicylic_acid3/getta25"
+    },
+    "gingham": {
+        "target": "yiancardesigns/gingham"
+    },
+    "gurindam": {
+        "target": "ibnuda/gurindam"
+    },
+    "halberd": {
+        "target": "kagizaraya/halberd"
+    },
+    "handwired/hillside/0_1": {
+        "target": "handwired/hillside/48"
+    },
+    "hecomi/alpha": {
+        "target": "takashiski/hecomi/alpha"
+    },
+    "hid_liber": {
+        "target": "bpiphany/hid_liber"
+    },
+    "id67/default_rgb": {
+        "target": "idobao/id67/default_rgb"
+    },
+    "id67/rgb": {
+        "target": "idobao/id67/rgb"
+    },
+    "id80": {
+        "target": "idobao/id80/v2/ansi"
+    },
+    "idobao/id80/v1/ansi": {
+        "target": "idobao/id80/v2/ansi"
+    },
+    "idobao/id80/v1/iso": {
+        "target": "idobao/id80/v2/iso"
+    },
+    "id87": {
+        "target": "idobao/id87/v1"
+    },
+    "infinity60": {
+        "target": "input_club/infinity60"
+    },
+    "ivy/rev1": {
+        "target": "maple_computing/ivy/rev1"
+    },
+    "jisplit89": {
+        "target": "salicylic_acid3/jisplit89"
+    },
+    "jnao": {
+        "target": "maple_computing/jnao"
+    },
+    "just60": {
+        "target": "ydkb/just60"
+    },
+    "k_type": {
+        "target": "input_club/k_type"
+    },
+    "kagamidget": {
+        "target": "yynmt/kagamidget"
+    },
+    "kelowna/rgb64": {
+        "target": "weirdo/kelowna/rgb64"
+    },
+    "kprepublic/bm65hsrgb_iso": {
+        "target": "kprepublic/bm65hsrgb_iso/rev1"
+    },
+    "kprepublic/bm68hsrgb": {
+        "target": "kprepublic/bm68hsrgb/rev1"
+    },
+    "latin17rgb": {
+        "target": "latincompass/latin17rgb"
+    },
+    "latin47ble": {
+        "target": "latincompass/latin47ble"
+    },
+    "latin60rgb": {
+        "target": "latincompass/latin60rgb"
+    },
+    "latin64ble": {
+        "target": "latincompass/latin64ble"
+    },
+    "latin6rgb": {
+        "target": "latincompass/latin6rgb"
+    },
+    "latinpad": {
+        "target": "latincompass/latinpad"
+    },
+    "latinpadble": {
+        "target": "latincompass/latinpadble"
+    },
+    "launchpad/rev1": {
+        "target": "maple_computing/launchpad/rev1"
+    },
+    "lck75": {
+        "target": "lyso1/lck75"
+    },
+    "le_chiffre": {
+        "target": "tominabox1/le_chiffre"
+    },
+    "lefishe": {
+        "target": "lyso1/lefishe"
+    },
+    "lets_split_eh/eh": {
+        "target": "maple_computing/lets_split_eh/eh"
+    },
+    "ls_60": {
+        "target": "weirdo/ls_60"
+    },
+    "m3n3van": {
+        "target": "matthewdias/m3n3van"
+    },
+    "mechmini/v1": {
+        "target": "mechkeys/mechmini/v1"
+    },
+    "mechmini/v2": {
+        "target": "mechkeys/mechmini/v2"
+    },
+    "meira": {
+        "target": "woodkeys/meira"
+    },
+    "meishi": {
+        "target": "biacco42/meishi"
+    },
+    "meishi2": {
+        "target": "biacco42/meishi2"
+    },
+    "melody96": {
+        "target": "ymdk/melody96"
+    },
+    "minidox/rev1": {
+        "target": "maple_computing/minidox/rev1"
+    },
+    "mio": {
+        "target": "recompile_keys/mio"
+    },
+    "montex": {
+        "target": "idobao/montex/v1"
+    },
+    "mt40": {
+        "target": "mt/mt40"
+    },
+    "mt64rgb": {
+        "target": "mt/mt64rgb"
+    },
+    "mt84": {
+        "target": "mt/mt84"
+    },
+    "mt980": {
+        "target": "mt/mt980"
+    },
+    "nafuda": {
+        "target": "salicylic_acid3/nafuda"
+    },
+    "naiping/np64": {
+        "target": "weirdo/naiping/np64"
+    },
+    "naiping/nphhkb": {
+        "target": "weirdo/naiping/nphhkb"
+    },
+    "naiping/npminila": {
+        "target": "weirdo/naiping/npminila"
+    },
+    "naked48": {
+        "target": "salicylic_acid3/naked48"
+    },
+    "naked60": {
+        "target": "salicylic_acid3/naked60"
+    },
+    "naked64": {
+        "target": "salicylic_acid3/naked64"
+    },
+    "namecard2x4": {
+        "target": "takashiski/namecard2x4"
+    },
+    "navi10": {
+        "target": "keyhive/navi10"
+    },
+    "nebula12": {
+        "target": "spaceholdings/nebula12"
+    },
+    "nebula68": {
+        "target": "spaceholdings/nebula68"
+    },
+    "nebula68b": {
+        "target": "spaceholdings/nebula68b"
+    },
+    "niu_mini": {
+        "target": "kbdfans/niu_mini"
+    },
+    "nk1": {
+        "target": "novelkeys/nk1"
+    },
+    "nk65": {
+        "target": "novelkeys/nk65"
+    },
+    "nk87": {
+        "target": "novelkeys/nk87"
+    },
+    "nknl7en": {
+        "target": "salicylic_acid3/nknl7en"
+    },
+    "nknl7jp": {
+        "target": "salicylic_acid3/nknl7jp"
+    },
+    "nomu30": {
+        "target": "recompile_keys/nomu30"
+    },
+    "novelpad": {
+        "target": "novelkeys/novelpad"
+    },
+    "ogurec": {
+        "target": "drhigsby/ogurec"
+    },
+    "otaku_split/rev0": {
+        "target": "takashiski/otaku_split/rev0"
+    },
+    "otaku_split/rev1": {
+        "target": "takashiski/otaku_split/rev1"
+    },
+    "owl8": {
+        "target": "dailycraft/owl8"
+    },
+    "packrat": {
+        "target": "drhigsby/packrat"
+    },
+    "pistachio": {
+        "target": "rate/pistachio"
+    },
+    "pistachio_mp": {
+        "target": "rate/pistachio_mp"
+    },
+    "pistachio_pro": {
+        "target": "rate/pistachio_pro"
+    },
+    "plexus75": {
+        "target": "checkerboards/plexus75"
+    },
+    "pursuit40": {
+        "target": "checkerboards/pursuit40"
+    },
+    "qaz": {
+        "target": "tominabox1/qaz"
+    },
+    "quark": {
+        "target": "checkerboards/quark"
+    },
+    "rabbit_capture_plan": {
+        "target": "kakunpc/rabbit_capture_plan"
+    },
+    "rainkeeb": {
+        "target": "rainkeebs/rainkeeb"
+    },
+    "reviung33": {
+        "target": "reviung/reviung33"
+    },
+    "reviung34": {
+        "target": "reviung/reviung34"
+    },
+    "reviung39": {
+        "target": "reviung/reviung39"
+    },
+    "reviung41": {
+        "target": "reviung/reviung41"
+    },
+    "reviung5": {
+        "target": "reviung/reviung5"
+    },
+    "reviung53": {
+        "target": "reviung/reviung53"
+    },
+    "reviung61": {
+        "target": "reviung/reviung61"
+    },
+    "runner3680/3x6": {
+        "target": "omkbd/runner3680/3x6"
+    },
+    "runner3680/3x7": {
+        "target": "omkbd/runner3680/3x7"
+    },
+    "runner3680/3x8": {
+        "target": "omkbd/runner3680/3x8"
+    },
+    "runner3680/4x6": {
+        "target": "omkbd/runner3680/4x6"
+    },
+    "runner3680/4x7": {
+        "target": "omkbd/runner3680/4x7"
+    },
+    "runner3680/4x8": {
+        "target": "omkbd/runner3680/4x8"
+    },
+    "runner3680/5x6": {
+        "target": "omkbd/runner3680/5x6"
+    },
+    "runner3680/5x6_5x8": {
+        "target": "omkbd/runner3680/5x6_5x8"
+    },
+    "runner3680/5x7": {
+        "target": "omkbd/runner3680/5x7"
+    },
+    "runner3680/5x8": {
+        "target": "omkbd/runner3680/5x8"
+    },
+    "scarletbandana": {
+        "target": "woodkeys/scarletbandana"
+    },
+    "scythe": {
+        "target": "kagizaraya/scythe"
+    },
+    "seigaiha": {
+        "target": "yiancardesigns/seigaiha"
+    },
+    "setta21": {
+        "target": "salicylic_acid3/setta21"
+    },
+    "space_space/rev1": {
+        "target": "qpockets/space_space/rev1"
+    },
+    "space_space/rev2": {
+        "target": "qpockets/space_space/rev2"
+    },
+    "spiderisland/winry25tc": {
+        "target": "winry/winry25tc"
+    },
+    "splitreus62": {
+        "target": "nacly/splitreus62"
+    },
+    "squiggle/rev1": {
+        "target": "ibnuda/squiggle/rev1"
+    },
+    "standaside": {
+        "target": "edi/standaside"
+    },
+    "steal_this_keyboard": {
+        "target": "obosob/steal_this_keyboard"
+    },
+    "stella": {
+        "target": "hnahkb/stella"
+    },
+    "suihankey/alpha": {
+        "target": "kakunpc/suihankey/alpha"
+    },
+    "suihankey/rev1": {
+        "target": "kakunpc/suihankey/rev1"
+    },
+    "suihankey/split": {
+        "target": "kakunpc/suihankey/split"
+    },
+    "the_ruler": {
+        "target": "maple_computing/the_ruler"
+    },
+    "thedogkeyboard": {
+        "target": "kakunpc/thedogkeyboard"
+    },
+    "tiger910": {
+        "target": "weirdo/tiger910"
+    },
+    "treadstone32": {
+        "target": "marksard/treadstone32"
+    },
+    "treadstone48/rev1": {
+        "target": "marksard/treadstone48/rev1"
+    },
+    "treadstone48/rev2": {
+        "target": "marksard/treadstone48/rev2"
+    },
+    "ua62": {
+        "target": "nacly/ua62"
+    },
+    "underscore33/rev1": {
+        "target": "tominabox1/underscore33/rev1"
+    },
+    "underscore33/rev2": {
+        "target": "tominabox1/underscore33/rev2"
+    },
+    "uno": {
+        "target": "keyhive/uno"
+    },
+    "ut472": {
+        "target": "keyhive/ut472"
+    },
+    "vn66": {
+        "target": "hnahkb/vn66"
+    },
+    "wallaby": {
+        "target": "kkatano/wallaby"
+    },
+    "wanten": {
+        "target": "qpockets/wanten"
+    },
+    "wheatfield/blocked65": {
+        "target": "mt/blocked65"
+    },
+    "wheatfield/split75": {
+        "target": "mt/split75"
+    },
+    "whitefox": {
+        "target": "input_club/whitefox"
+    },
+    "wings42/rev1": {
+        "target": "dailycraft/wings42/rev1"
+    },
+    "wings42/rev1_extkeys": {
+        "target": "dailycraft/wings42/rev1_extkeys"
+    },
+    "wings42/rev2": {
+        "target": "dailycraft/wings42/rev2"
+    },
+    "yasui": {
+        "target": "rainkeebs/yasui"
+    },
+    "yd60mq": {
+        "target": "ymdk/yd60mq"
+    },
+    "yd68": {
+        "target": "ydkb/yd68"
+    },
+    "ymd75": {
+        "target": "ymdk/ymd75"
+    },
+    "ymd96": {
+        "target": "ymdk/ymd96"
+    },
+    "ymdk_np21": {
+        "target": "ymdk/np21"
+    },
+    "yurei": {
+        "target": "kkatano/yurei"
+    },
+    "zinc": {
+        "target": "25keys/zinc"
+    },
+    "zinc/rev1": {
+        "target": "25keys/zinc/rev1"
+    },
+    "zinc/reva": {
+        "target": "25keys/zinc/reva"
+    }
+}
diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json
deleted file mode 100644
index 3e96451086..0000000000
--- a/data/mappings/keyboard_aliases.json
+++ /dev/null
@@ -1,1285 +0,0 @@
-{
-    # Format for each entry:
-    # <alias>: {
-    #     target: <keyboard_folder>,
-    #     layouts: {
-    #         <layout_alias>: <layout_target>
-    #     }
-    # }
-    #
-    # Both target and layouts are optional.
-    '2_milk': {
-          target: 'spaceman/2_milk'
-    },
-    'absinthe': {
-        target: 'keyhive/absinthe'
-    },
-    'aeboards/constellation': {
-          target: 'aeboards/constellation/rev1'
-    },
-    'aeboards/ext65': {
-          target: 'aeboards/ext65/rev1'
-    },
-    'ai03/equinox': {
-          target: 'ai03/equinox/rev1'
-    },
-    aleth42: {
-          target: 'aleth42/rev1'
-    },
-    alice: {
-          target: 'tgr/alice'
-    },
-    amj40: {
-        target: 'amjkeyboard/amj40'
-    },
-    amj60: {
-        target: 'amjkeyboard/amj60'
-    },
-    amj96: {
-        target: 'amjkeyboard/amj96'
-    },
-    amjpad: {
-        target: 'amjkeyboard/amjpad'
-    },
-    angel17: {
-          target: 'angel17/alpha'
-    },
-    angel64: {
-          target: 'angel64/alpha'
-    },
-    at101_blackheart: {
-          target: 'viktus/at101_bh'
-    },
-    at101_bh: {
-        target: 'viktus/at101_bh'
-    },
-    'atom47/rev2': {
-          target: 'maartenwut/atom47/rev2'
-    },
-    'atom47/rev3': {
-          target: 'maartenwut/atom47/rev3'
-    },
-    bakeneko60: {
-          target: 'kkatano/bakeneko60'
-    },
-    bakeneko65: {
-          target: 'kkatano/bakeneko65/rev2'
-    },
-    bakeneko80: {
-          target: 'kkatano/bakeneko80'
-    },
-    bear_face: {
-          target: 'bear_face/v1'
-    },
-    bm16a: {
-          target: 'kprepublic/bm16a'
-    },
-    bm16s: {
-          target: 'kprepublic/bm16s'
-    },
-    bm40hsrgb: {
-          target: 'kprepublic/bm40hsrgb'
-    },
-    bm43a: {
-          target: 'kprepublic/bm43a'
-    },
-    bm60poker: {
-          target: 'kprepublic/bm60poker'
-    },
-    bm60rgb: {
-          target: 'kprepublic/bm60rgb'
-    },
-    bm60rgb_iso: {
-          target: 'kprepublic/bm60rgb_iso'
-    },
-    bm68rgb: {
-          target: 'kprepublic/bm68rgb'
-    },
-    'bpiphany/pegasushoof': {
-          target: 'bpiphany/pegasushoof/2013'
-    },
-    chavdai40: {
-          target: 'chavdai40/rev1'
-    },
-    'candybar/lefty': {
-          target: 'tkc/candybar/lefty'
-    },
-    'candybar/righty': {
-          target: 'tkc/candybar/righty'
-    },
-    canoe: {
-          target: 'percent/canoe'
-    },
-    'clawsome/gamebuddy': {
-          target: 'clawsome/gamebuddy/v1_0'
-    },
-    'cmm_studio/saka68': {
-          target: 'cmm_studio/saka68/solder'
-    },
-    'cospad': {
-          target: 'kprepublic/cospad'
-    },
-    'crkbd/rev1/legacy': {
-          target: 'crkbd/rev1'
-    },
-    'crkbd/rev1/common': {
-          target: 'crkbd/rev1'
-    },
-    'custommk/genesis': {
-          target: 'custommk/genesis/rev1'
-    },
-    'daisy': {
-          target: 'ktec/daisy'
-    },
-    'doro67/multi': {
-          layouts: {
-                  LAYOUT_ansi: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    'doro67/regular': {
-          layouts: {
-                  LAYOUT: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    'doro67/rgb': {
-          layouts: {
-                  LAYOUT: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    drakon: {
-          target: 'jagdpietr/drakon'
-    },
-    'durgod/k320': {
-          target: 'durgod/k3x0/k320'
-    },
-    'dztech/dz60rgb': {
-          target: 'dztech/dz60rgb/v1'
-    },
-    'dztech/dz60rgb_ansi': {
-          target: 'dztech/dz60rgb_ansi/v1'
-    },
-    'dztech/dz60rgb_wkl': {
-          target: 'dztech/dz60rgb_wkl/v1'
-    },
-    'dztech/dz65rgb': {
-          target: 'dztech/dz65rgb/v1'
-    },
-    'dztech/volcano660': {
-          target: 'ilumkb/volcano660'
-    },
-    eek: {
-          target: 'eek/silk_down'
-    },
-    'ergodone': {
-          target: 'ktec/ergodone'
-    },
-    ergoinu: {
-          target: 'dm9records/ergoinu'
-    },
-    ergosaurus: {
-        target: 'keyhive/ergosaurus'
-    },
-    'exclusive/e85': {
-          target: 'exclusive/e85/hotswap'
-    },
-    gh60: {
-          target: 'gh60/revc'
-    },
-    'gmmk/pro': {
-          target: 'gmmk/pro/rev1/ansi'
-    },
-    'gmmk/pro/ansi': {
-        target: 'gmmk/pro/rev1/ansi'
-    },
-    'gmmk/pro/iso': {
-        target: 'gmmk/pro/rev1/iso'
-    },
-    'handwired/ferris': {
-          target: 'ferris/0_1'
-    },
-    'handwired/p1800fl': {
-          target: 'team0110/p1800fl'
-    },
-    'helix/pico/sc/back': {
-          target: 'helix/pico/sc'
-    },
-    'helix/pico/sc/under': {
-          target: 'helix/pico/sc'
-    },
-    'helix/rev2/back/oled': {
-          target: 'helix/rev2/back'
-    },
-    'helix/rev2/oled': {
-          target: 'helix/rev2'
-    },
-    'helix/rev2/oled/back': {
-          target: 'helix/rev2/back'
-    },
-    'helix/rev2/oled/under': {
-          target: 'helix/rev2/under'
-    },
-    'helix/rev2/sc/back': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/sc/oled': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/sc/oledback': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/sc/oledunder': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/sc/under': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/under': {
-          target: 'helix/rev2/sc'
-    },
-    'helix/rev2/under/oled': {
-          target: 'helix/rev2/under'
-    },
-    honeycomb: {
-        target: 'keyhive/honeycomb'
-    },
-    idb_60: {
-          target: 'idb/idb_60',
-          layouts: {
-                  LAYOUT: 'LAYOUT_all'
-          }
-    },
-    idobo: {
-        target: 'idobao/id75'
-    },
-    'jj40': {
-          target: 'kprepublic/jj40'
-    },
-    'jj4x4': {
-          target: 'kprepublic/jj4x4'
-    },
-    'jj50': {
-          target: 'kprepublic/jj50'
-    },
-    jones: {
-          target: 'jones/v03_1'
-    },
-    katana60: {
-          target: 'rominronin/katana60/rev1'
-    },
-    'kbdfans/kbd67mkiirgb': {
-          target: 'kbdfans/kbd67/mkiirgb',
-          layouts: {
-                  LAYOUT: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    'kbdfans/kbd67/mkiirgb': {
-          target: 'kbdfans/kbd67/mkiirgb/v1'
-    },
-    'keebio/dsp40': {
-          target: 'keebio/dsp40/rev1'
-    },
-    'keycapsss/plaid_pad': {
-          target: 'keycapsss/plaid_pad/rev1'
-    },
-    kudox: {
-          target: 'kudox/rev1'
-    },
-    'kyria': {
-          target: 'splitkb/kyria'
-    },
-    lattice60: {
-        target: 'keyhive/lattice60'
-    },
-    'lazydesigners/the60': {
-          target: 'lazydesigners/the60/rev1'
-    },
-    'lfkeyboards/lfk78': {
-          target: 'lfkeyboards/lfk78/revj'
-    },
-    'lfkeyboards/smk65': {
-          target: 'lfkeyboards/smk65/revb'
-    },
-    m3v3van: {
-          target: 'matthewdias/m3n3van'
-    },
-    'maartenwut/atom47/rev2': {
-          target: 'evyd13/atom47/rev2'
-    },
-    'maartenwut/atom47/rev3': {
-          target: 'evyd13/atom47/rev3'
-    },
-    'maartenwut/eon40': {
-          target: 'evyd13/eon40'
-    },
-    'maartenwut/eon65': {
-          target: 'evyd13/eon65'
-    },
-    'maartenwut/eon75': {
-          target: 'evyd13/eon75'
-    },
-    'maartenwut/eon87': {
-          target: 'evyd13/eon87'
-    },
-    'maartenwut/eon95': {
-          target: 'evyd13/eon95'
-    },
-    'maartenwut/gh80_1800': {
-          target: 'evyd13/gh80_1800'
-    },
-    'maartenwut/gh80_3700': {
-          target: 'evyd13/gh80_3700'
-    },
-    'maartenwut/minitomic': {
-          target: 'evyd13/minitomic'
-    },
-    'maartenwut/mx5160': {
-          target: 'evyd13/mx5160'
-    },
-    'maartenwut/nt660': {
-          target: 'evyd13/nt660'
-    },
-    'maartenwut/omrontkl': {
-          target: 'evyd13/omrontkl'
-    },
-    'maartenwut/plain60': {
-          target: 'evyd13/plain60'
-    },
-    'maartenwut/pockettype': {
-          target: 'evyd13/pockettype'
-    },
-    'maartenwut/quackfire': {
-          target: 'evyd13/quackfire'
-    },
-    'maartenwut/solheim68': {
-          target: 'evyd13/solheim68'
-    },
-    'maartenwut/ta65': {
-          target: 'evyd13/ta65'
-    },
-    'maartenwut/wasdat': {
-          target: 'evyd13/wasdat'
-    },
-    'maartenwut/wasdat_code': {
-          target: 'evyd13/wasdat_code'
-    },
-    'maartenwut/wonderland': {
-          target: 'evyd13/wonderland'
-    },
-    'matrix/m12og': {
-          target: 'matrix/m12og/rev1'
-    },
-    'mechlovin/hannah910': {
-          target: 'mechlovin/hannah910/rev1'
-    },
-    'mechlovin/adelais/rgb_led': {
-          target: 'mechlovin/adelais/rgb_led/rev1'
-    },
-    'mechlovin/adelais/standard_led': {
-          target: 'mechlovin/adelais/standard_led/rev2'
-    },
-    'mechlovin/delphine': {
-          target: 'mechlovin/delphine/mono_led'
-    },
-    'mechlovin/hannah60rgb': {
-          target: 'mechlovin/hannah60rgb/rev1'
-    },
-    'mechlovin/hannah65/mechlovin9': {
-          target: 'mechlovin/mechlovin9/rev1'
-    },
-    'mechlovin/hex4b': {
-          target: 'mechlovin/hex4b/rev1'
-    },
-    'melgeek/z70ultra': {
-          target: 'melgeek/z70ultra/rev1'
-    },
-    'mechlovin/hannah65': {
-          target: 'mechlovin/hannah65/rev1'
-    },
-    minim: {
-          target: 'matthewdias/minim'
-    },
-    model01: {
-          target: 'keyboardio/model01'
-    },
-    model_v: {
-          target: 'matthewdias/model_v'
-    },
-    m0lly: {
-          target: 'tkc/m0lly'
-    },
-    'montsinger/rebound': {
-          target: 'montsinger/rebound/rev1'
-    },
-    nomu30: {
-          target: 'nomu30/rev1'
-    },
-    'noxary/268_2': {
-          layouts: {
-                  LAYOUT: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    oddball: {
-          target: 'oddball/v1'
-    },
-    omnikey_blackheart: {
-          target: 'viktus/omnikey_bh'
-    },
-    omnikey_bh: {
-        target: 'viktus/omnikey_bh'
-    },
-    opus: {
-        target: 'keyhive/opus'
-    },
-    'pabile/p20': {
-          target: 'pabile/p20/ver1'
-    },
-    'pancake/feather': {
-          target: 'spaceman/pancake/feather'
-    },
-    'pancake/promicro': {
-          target: 'spaceman/pancake/promicro'
-    },
-    'peiorisboards/ixora': {
-          target: 'coarse/ixora'
-    },
-    'percent/canoe': {
-          layouts: {
-                  LAYOUT_iso: 'LAYOUT_65_iso_blocker'
-          }
-    },
-    plaid: {
-          target: 'dm9records/plaid'
-    },
-    plain60: {
-          target: 'maartenwut/plain60'
-    },
-    'ploopyco/trackball': {
-          target: 'ploopyco/trackball/rev1_005'
-    },
-    polilla: {
-          target: 'polilla/rev1'
-    },
-    'preonic/rev1': {
-          layouts: {
-                  LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
-          }
-    },
-    'preonic/rev2': {
-          layouts: {
-                  LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
-          }
-    },
-    'preonic/rev3': {
-          layouts: {
-                  LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
-          }
-    },
-    'primekb/prime_l': {
-          target: 'primekb/prime_l/v1'
-    },
-    'primekb/prime_l_v2': {
-          target: 'primekb/prime_l/v2'
-    },
-    'projectkb/alice': {
-          target: 'projectkb/alice/rev1'
-    },
-    'rama/koyu': {
-          target: 'wilba_tech/rama_works_koyu'
-    },
-    'rama/m6_a': {
-          target: 'wilba_tech/rama_works_m6_a'
-    },
-    'rama/m6_b': {
-          target: 'wilba_tech/rama_works_m6_b'
-    },
-    'rama/m10_b': {
-          target: 'wilba_tech/rama_works_m10_b'
-    },
-    'rama/m60_a': {
-          target: 'wilba_tech/rama_works_m60_a'
-    },
-    'rama/u80_a': {
-          target: 'wilba_tech/rama_works_u80_a'
-    },
-    'ramonimbao/herringbone': {
-          target: 'ramonimbao/herringbone/v1'
-    },
-    'ramonimbao/mona': {
-          target: 'ramonimbao/mona/v1'
-    },
-    'rgbkb/pan': {
-          target: 'rgbkb/pan/rev1/32a'
-    },
-    'rgbkb/pan/rev1': {
-          target: 'rgbkb/pan/rev1/32a'
-    },
-    romac: {
-          target: 'kingly_keys/romac'
-    },
-    ropro: {
-          target: 'kingly_keys/ropro'
-    },
-    satan: {
-          target: 'gh60/satan'
-    },
-    skog: {
-          target: 'percent/skog'
-    },
-    smallice: {
-        target: 'keyhive/smallice'
-    },
-    southpole: {
-        target: 'keyhive/southpole'
-    },
-    speedo: {
-          target: 'cozykeys/speedo/v2'
-    },
-    'staryu': {
-          target: 'ktec/staryu'
-    },
-    stoutgat: {
-          target: 'tkw/stoutgat/v1'
-    },
-    suihankey: {
-          target: 'suihankey/split/alpha'
-    },
-    ta65: {
-          target: 'maartenwut/ta65'
-    },
-    tartan: {
-          target: 'dm9records/tartan'
-    },
-    tkc1800: {
-          target: 'tkc/tkc1800'
-    },
-    'tkw/stoutgat/v2': {
-          target: 'tkw/stoutgat/v2/f411'
-    },
-    'tokyo60': {
-          target: 'tokyokeyboard/tokyo60'
-    },
-    'txuu': {
-          target: 'matthewdias/txuu'
-    },
-    underscore33: {
-          target: 'underscore33/rev1'
-    },
-    vinta: {
-          target: 'coarse/vinta',
-          layouts: {
-                  LAYOUT_67_ansi: 'LAYOUT_65_ansi_blocker'
-          }
-    },
-    wasdat: {
-          target: 'maartenwut/wasdat'
-    },
-    'westfoxtrot/cypher': {
-          target: 'westfoxtrot/cypher/rev1'
-    },
-    'whale/sk': {
-          target: 'whale/sk/v3'
-    },
-    'xd002': {
-          target: 'xiudi/xd002'
-    },
-    'xd004': {
-          target: 'xiudi/xd004'
-    },
-    'xd60': {
-          target: 'xiudi/xd60'
-    },
-    'xd68': {
-          target: 'xiudi/xd68'
-    },
-    'xd75': {
-          target: 'xiudi/xd75'
-    },
-    'xd84': {
-          target: 'xiudi/xd84'
-    },
-    'xd84pro': {
-          target: 'xiudi/xd84pro'
-    },
-    'xd87': {
-          target: 'xiudi/xd87'
-    },
-    'xd96': {
-          target: 'xiudi/xd96'
-    },
-    'xelus/dawn60': {
-          target: 'xelus/dawn60/rev1'
-    },
-    'xelus/valor': {
-          target: 'xelus/valor/rev1'
-    },
-    yd60mq: {
-          target: 'ymdk/yd60mq/12led'
-    },
-    ymd75: {
-          target: 'ymd75/rev1'
-    },
-    z150_blackheart: {
-          target: 'viktus/z150_bh'
-    },
-    z150_bh:{
-        target: 'viktus/z150_bh'
-    },
-    zeal60: {
-          target: 'wilba_tech/zeal60'
-    },
-    zeal65: {
-          target: 'wilba_tech/zeal65'
-    },
-    # Moved during 2022 Q1 cycle
-    6ball: {
-        target: 'maple_computing/6ball'
-    },
-    7skb: {
-        target: 'salicylic_acid3/7skb'
-    },
-    7splus: {
-        target: 'salicylic_acid3/7splus'
-    },
-    acr60: {
-        target: 'mechkeys/acr60'
-    },
-    adalyn: {
-        target: 'tominabox1/adalyn'
-    },
-    ajisai74: {
-        target: 'salicylic_acid3/ajisai74'
-    },
-    aleth42: {
-        target: '25keys/aleth42'
-    },
-    alicia_cook: {
-        target: 'ibnuda/alicia_cook'
-    },
-    allison: {
-        target: 'prototypist/allison'
-    },
-    allison_numpad: {
-        target: 'prototypist/allison_numpad'
-    },
-    alu84: {
-        target: 'mechkeys/alu84'
-    },
-    angel17: {
-        target: 'kakunpc/angel17'
-    },
-    angel64/alpha: {
-        target: 'kakunpc/angel64/alpha'
-    },
-    angel64/rev1: {
-        target: 'kakunpc/angel64/rev1'
-    },
-    arch_36: {
-        target: 'obosob/arch_36'
-    },
-    bakeneko60: {
-        target: 'kkatano/bakeneko60'
-    },
-    bakeneko65/rev2: {
-        target: 'kkatano/bakeneko65/rev2'
-    },
-    bakeneko65/rev3: {
-        target: 'kkatano/bakeneko65/rev3'
-    },
-    bakeneko80: {
-        target: 'kkatano/bakeneko80'
-    },
-    barleycorn: {
-        target: 'yiancardesigns/barleycorn'
-    },
-    bat43/rev1: {
-        target: 'dailycraft/bat43/rev1'
-    },
-    bat43/rev2: {
-        target: 'dailycraft/bat43/rev2'
-    },
-    bigseries/1key: {
-        target: 'woodkeys/bigseries/1key'
-    },
-    bigseries/2key: {
-        target: 'woodkeys/bigseries/2key'
-    },
-    bigseries/3key: {
-        target: 'woodkeys/bigseries/3key'
-    },
-    bigseries/4key: {
-        target: 'woodkeys/bigseries/4key'
-    },
-    bkf: {
-        target: 'drhigsby/bkf'
-    },
-    business_card/alpha: {
-        target: 'kakunpc/business_card/alpha'
-    },
-    business_card/beta: {
-        target: 'kakunpc/business_card/beta'
-    },
-    butterstick: {
-        target: 'gboards/butterstick'
-    },
-    c39: {
-        target: 'maple_computing/c39'
-    },
-    cassette42: {
-        target: '25keys/cassette42'
-    },
-    chidori: {
-        target: 'kagizaraya/chidori'
-    },
-    chili: {
-        target: 'ydkb/chili'
-    },
-    chimera_ergo: {
-        target: 'glenpickle/chimera_ergo'
-    },
-    chimera_ls: {
-        target: 'glenpickle/chimera_ls'
-    },
-    chimera_ortho: {
-        target: 'glenpickle/chimera_ortho'
-    },
-    chimera_ortho_plus: {
-        target: 'glenpickle/chimera_ortho_plus'
-    },
-    choc_taro: {
-        target: 'kakunpc/choc_taro'
-    },
-    choco60: {
-        target: 'recompile_keys/choco60'
-    },
-    christmas_tree: {
-        target: 'maple_computing/christmas_tree'
-    },
-    claw44/rev1: {
-        target: 'dailycraft/claw44/rev1'
-    },
-    cocoa40: {
-        target: 'recompile_keys/cocoa40'
-    },
-    comet46: {
-        target: 'satt/comet46'
-    },
-    cu24: {
-        target: 'capsunlocked/cu24'
-    },
-    cu75: {
-        target: 'capsunlocked/cu75'
-    },
-    cu80: {
-        target: 'capsunlocked/cu80/v1'
-    },
-    delilah: {
-        target: 'rainkeebs/delilah'
-    },
-    diverge3: {
-        target: 'unikeyboard/diverge3'
-    },
-    divergetm2: {
-        target: 'unikeyboard/divergetm2'
-    },
-    dozen0: {
-        target: 'yynmt/dozen0'
-    },
-    dubba175: {
-        target: 'drhigsby/dubba175'
-    },
-    eggman: {
-        target: 'qpockets/eggman'
-    },
-    ergo42: {
-        target: 'biacco42/ergo42'
-    },
-    ergoarrows: {
-        target: 'salicylic_acid3/ergoarrows'
-    },
-    ergodash/mini: {
-        target: 'omkbd/ergodash/mini'
-    },
-    ergodash/rev1: {
-        target: 'omkbd/ergodash/rev1'
-    },
-    ergodox_infinity: {
-        target: 'input_club/ergodox_infinity'
-    },
-    ergotaco: {
-        target: 'gboards/ergotaco'
-    },
-    espectro: {
-        target: 'mechkeys/espectro'
-    },
-    felix: {
-        target: 'unikeyboard/felix'
-    },
-    four_banger: {
-        target: 'bpiphany/four_banger'
-    },
-    freyr: {
-        target: 'hnahkb/freyr'
-    },
-    geminate60: {
-        target: 'weirdo/geminate60'
-    },
-    gentleman65: {
-        target: 'jkeys_design/gentleman65'
-    },
-    georgi: {
-        target: 'gboards/georgi'
-    },
-    gergo: {
-        target: 'gboards/gergo'
-    },
-    getta25: {
-        target: 'salicylic_acid3/getta25'
-    },
-    gingham: {
-        target: 'yiancardesigns/gingham'
-    },
-    gurindam: {
-        target: 'ibnuda/gurindam'
-    },
-    halberd: {
-        target: 'kagizaraya/halberd'
-    },
-    handwired/hillside/0_1: {
-        target: 'handwired/hillside/48'
-    }
-    hecomi/alpha: {
-        target: 'takashiski/hecomi/alpha'
-    },
-    hid_liber: {
-        target: 'bpiphany/hid_liber'
-    },
-    id67/default_rgb: {
-        target: 'idobao/id67/default_rgb'
-    },
-    id67/rgb: {
-        target: 'idobao/id67/rgb'
-    },
-    id80: {
-        target: 'idobao/id80/v2/ansi'
-    },
-    idobao/id80/v1/ansi: {
-        target: 'idobao/id80/v2/ansi'
-    },
-    idobao/id80/v1/iso: {
-        target: 'idobao/id80/v2/iso'
-    },
-    id87: {
-        target: 'idobao/id87/v1'
-    },
-    idobo: {
-        target: 'idobao/id75/v1'
-    },
-    infinity60: {
-        target: 'input_club/infinity60'
-    },
-    ivy/rev1: {
-        target: 'maple_computing/ivy/rev1'
-    },
-    jisplit89: {
-        target: 'salicylic_acid3/jisplit89'
-    },
-    jnao: {
-        target: 'maple_computing/jnao'
-    },
-    just60: {
-        target: 'ydkb/just60'
-    },
-    k_type: {
-        target: 'input_club/k_type'
-    },
-    kagamidget: {
-        target: 'yynmt/kagamidget'
-    },
-    kelowna/rgb64: {
-        target: 'weirdo/kelowna/rgb64'
-    },
-    kprepublic/bm65hsrgb_iso: {
-        target: 'kprepublic/bm65hsrgb_iso/rev1'
-    },
-    kprepublic/bm68hsrgb: {
-        target: 'kprepublic/bm68hsrgb/rev1'
-    },
-    latin17rgb: {
-        target: 'latincompass/latin17rgb'
-    },
-    latin47ble: {
-        target: 'latincompass/latin47ble'
-    },
-    latin60rgb: {
-        target: 'latincompass/latin60rgb'
-    },
-    latin64ble: {
-        target: 'latincompass/latin64ble'
-    },
-    latin6rgb: {
-        target: 'latincompass/latin6rgb'
-    },
-    latinpad: {
-        target: 'latincompass/latinpad'
-    },
-    latinpadble: {
-        target: 'latincompass/latinpadble'
-    },
-    launchpad/rev1: {
-        target: 'maple_computing/launchpad/rev1'
-    },
-    lck75: {
-        target: 'lyso1/lck75'
-    },
-    le_chiffre: {
-        target: 'tominabox1/le_chiffre'
-    },
-    lefishe: {
-        target: 'lyso1/lefishe'
-    },
-    lets_split_eh/eh: {
-        target: 'maple_computing/lets_split_eh/eh'
-    },
-    ls_60: {
-        target: 'weirdo/ls_60'
-    },
-    m3n3van: {
-        target: 'matthewdias/m3n3van'
-    },
-    mechmini/v1: {
-        target: 'mechkeys/mechmini/v1'
-    },
-    mechmini/v2: {
-        target: 'mechkeys/mechmini/v2'
-    },
-    meira: {
-        target: 'woodkeys/meira'
-    },
-    meishi: {
-        target: 'biacco42/meishi'
-    },
-    meishi2: {
-        target: 'biacco42/meishi2'
-    },
-    melody96: {
-        target: 'ymdk/melody96'
-    },
-    minidox/rev1: {
-        target: 'maple_computing/minidox/rev1'
-    },
-    minim: {
-        target: 'matthewdias/minim'
-    },
-    mio: {
-        target: 'recompile_keys/mio'
-    },
-    model_v: {
-        target: 'matthewdias/model_v'
-    },
-    montex: {
-        target: 'idobao/montex/v1'
-    },
-    mt40: {
-        target: 'mt/mt40'
-    },
-    mt64rgb: {
-        target: 'mt/mt64rgb'
-    },
-    mt84: {
-        target: 'mt/mt84'
-    },
-    mt980: {
-        target: 'mt/mt980'
-    },
-    nafuda: {
-        target: 'salicylic_acid3/nafuda'
-    },
-    naiping/np64: {
-        target: 'weirdo/naiping/np64'
-    },
-    naiping/nphhkb: {
-        target: 'weirdo/naiping/nphhkb'
-    },
-    naiping/npminila: {
-        target: 'weirdo/naiping/npminila'
-    },
-    naked48: {
-        target: 'salicylic_acid3/naked48'
-    },
-    naked60: {
-        target: 'salicylic_acid3/naked60'
-    },
-    naked64: {
-        target: 'salicylic_acid3/naked64'
-    },
-    namecard2x4: {
-        target: 'takashiski/namecard2x4'
-    },
-    navi10: {
-        target: 'keyhive/navi10'
-    },
-    nebula12: {
-        target: 'spaceholdings/nebula12'
-    },
-    nebula68: {
-        target: 'spaceholdings/nebula68'
-    },
-    nebula68b: {
-        target: 'spaceholdings/nebula68b'
-    },
-    niu_mini: {
-        target: 'kbdfans/niu_mini'
-    },
-    nk1: {
-        target: 'novelkeys/nk1'
-    },
-    nk65: {
-        target: 'novelkeys/nk65'
-    },
-    nk87: {
-        target: 'novelkeys/nk87'
-    },
-    nknl7en: {
-        target: 'salicylic_acid3/nknl7en'
-    },
-    nknl7jp: {
-        target: 'salicylic_acid3/nknl7jp'
-    },
-    nomu30: {
-        target: 'recompile_keys/nomu30'
-    },
-    novelpad: {
-        target: 'novelkeys/novelpad'
-    },
-    ogurec: {
-        target: 'drhigsby/ogurec'
-    },
-    otaku_split/rev0: {
-        target: 'takashiski/otaku_split/rev0'
-    },
-    otaku_split/rev1: {
-        target: 'takashiski/otaku_split/rev1'
-    },
-    owl8: {
-        target: 'dailycraft/owl8'
-    },
-    packrat: {
-        target: 'drhigsby/packrat'
-    },
-    pistachio: {
-        target: 'rate/pistachio'
-    },
-    pistachio_mp: {
-        target: 'rate/pistachio_mp'
-    },
-    pistachio_pro: {
-        target: 'rate/pistachio_pro'
-    },
-    plexus75: {
-        target: 'checkerboards/plexus75'
-    },
-    pursuit40: {
-        target: 'checkerboards/pursuit40'
-    },
-    qaz: {
-        target: 'tominabox1/qaz'
-    },
-    quark: {
-        target: 'checkerboards/quark'
-    },
-    rabbit_capture_plan: {
-        target: 'kakunpc/rabbit_capture_plan'
-    },
-    rainkeeb: {
-        target: 'rainkeebs/rainkeeb'
-    },
-    reviung33: {
-        target: 'reviung/reviung33'
-    },
-    reviung34: {
-        target: 'reviung/reviung34'
-    },
-    reviung39: {
-        target: 'reviung/reviung39'
-    },
-    reviung41: {
-        target: 'reviung/reviung41'
-    },
-    reviung5: {
-        target: 'reviung/reviung5'
-    },
-    reviung53: {
-        target: 'reviung/reviung53'
-    },
-    reviung61: {
-        target: 'reviung/reviung61'
-    },
-    runner3680/3x6: {
-        target: 'omkbd/runner3680/3x6'
-    },
-    runner3680/3x7: {
-        target: 'omkbd/runner3680/3x7'
-    },
-    runner3680/3x8: {
-        target: 'omkbd/runner3680/3x8'
-    },
-    runner3680/4x6: {
-        target: 'omkbd/runner3680/4x6'
-    },
-    runner3680/4x7: {
-        target: 'omkbd/runner3680/4x7'
-    },
-    runner3680/4x8: {
-        target: 'omkbd/runner3680/4x8'
-    },
-    runner3680/5x6: {
-        target: 'omkbd/runner3680/5x6'
-    },
-    runner3680/5x6_5x8: {
-        target: 'omkbd/runner3680/5x6_5x8'
-    },
-    runner3680/5x7: {
-        target: 'omkbd/runner3680/5x7'
-    },
-    runner3680/5x8: {
-        target: 'omkbd/runner3680/5x8'
-    },
-    scarletbandana: {
-        target: 'woodkeys/scarletbandana'
-    },
-    scythe: {
-        target: 'kagizaraya/scythe'
-    },
-    seigaiha: {
-        target: 'yiancardesigns/seigaiha'
-    },
-    setta21: {
-        target: 'salicylic_acid3/setta21'
-    },
-    space_space/rev1: {
-        target: 'qpockets/space_space/rev1'
-    },
-    space_space/rev2: {
-        target: 'qpockets/space_space/rev2'
-    },
-    spiderisland/winry25tc: {
-        target: 'winry/winry25tc'
-    },
-    splitreus62: {
-        target: 'nacly/splitreus62'
-    },
-    squiggle/rev1: {
-        target: 'ibnuda/squiggle/rev1'
-    },
-    standaside: {
-        target: 'edi/standaside'
-    },
-    steal_this_keyboard: {
-        target: 'obosob/steal_this_keyboard'
-    },
-    stella: {
-        target: 'hnahkb/stella'
-    },
-    suihankey/alpha: {
-        target: 'kakunpc/suihankey/alpha'
-    },
-    suihankey/rev1: {
-        target: 'kakunpc/suihankey/rev1'
-    },
-    suihankey/split: {
-        target: 'kakunpc/suihankey/split'
-    },
-    the_ruler: {
-        target: 'maple_computing/the_ruler'
-    },
-    thedogkeyboard: {
-        target: 'kakunpc/thedogkeyboard'
-    },
-    tiger910: {
-        target: 'weirdo/tiger910'
-    },
-    treadstone32: {
-        target: 'marksard/treadstone32'
-    },
-    treadstone48/rev1: {
-        target: 'marksard/treadstone48/rev1'
-    },
-    treadstone48/rev2: {
-        target: 'marksard/treadstone48/rev2'
-    },
-    txuu: {
-        target: 'matthewdias/txuu'
-    },
-    ua62: {
-        target: 'nacly/ua62'
-    },
-    underscore33/rev1: {
-        target: 'tominabox1/underscore33/rev1'
-    },
-    underscore33/rev2: {
-        target: 'tominabox1/underscore33/rev2'
-    },
-    uno: {
-        target: 'keyhive/uno'
-    },
-    ut472: {
-        target: 'keyhive/ut472'
-    },
-    vn66: {
-        target: 'hnahkb/vn66'
-    },
-    wallaby: {
-        target: 'kkatano/wallaby'
-    },
-    wanten: {
-        target: 'qpockets/wanten'
-    },
-    'wheatfield/blocked65': {
-        target: 'mt/blocked65'
-    },
-    'wheatfield/split75': {
-        target: 'mt/split75'
-    },
-    whitefox: {
-        target: 'input_club/whitefox'
-    },
-    wings42/rev1: {
-        target: 'dailycraft/wings42/rev1'
-    },
-    wings42/rev1_extkeys: {
-        target: 'dailycraft/wings42/rev1_extkeys'
-    },
-    wings42/rev2: {
-        target: 'dailycraft/wings42/rev2'
-    },
-    yasui: {
-        target: 'rainkeebs/yasui'
-    },
-    yd60mq: {
-        target: 'ymdk/yd60mq'
-    },
-    yd68: {
-        target: 'ydkb/yd68'
-    },
-    ymd75: {
-        target: 'ymdk/ymd75'
-    },
-    ymd96: {
-        target: 'ymdk/ymd96'
-    },
-    ymdk_np21: {
-        target: 'ymdk/np21'
-    },
-    yurei: {
-        target: 'kkatano/yurei'
-    },
-    zinc: {
-        target: '25keys/zinc'
-    },
-    zinc/rev1: {
-        target: '25keys/zinc/rev1'
-    },
-    zinc/reva: {
-        target: '25keys/zinc/reva'
-    }
-}
-- 
cgit v1.2.3