diff options
| -rw-r--r-- | data/mappings/defaults.hjson (renamed from data/mappings/defaults.json) | 0 | ||||
| -rw-r--r-- | data/mappings/info_config.hjson (renamed from data/mappings/info_config.json) | 24 | ||||
| -rw-r--r-- | data/mappings/info_rules.hjson (renamed from data/mappings/info_rules.json) | 24 | ||||
| -rw-r--r-- | data/mappings/keyboard_aliases.hjson | 1252 | ||||
| -rw-r--r-- | data/mappings/keyboard_aliases.json | 1285 | ||||
| -rw-r--r-- | data/schemas/keyboard.jsonschema | 5 | ||||
| -rw-r--r-- | docs/data_driven_config.md | 2 | ||||
| -rwxr-xr-x | lib/python/qmk/cli/generate/api.py | 2 | ||||
| -rwxr-xr-x | lib/python/qmk/cli/generate/config_h.py | 2 | ||||
| -rwxr-xr-x | lib/python/qmk/cli/generate/rules_mk.py | 2 | ||||
| -rw-r--r-- | lib/python/qmk/cli/new/keyboard.py | 2 | ||||
| -rw-r--r-- | lib/python/qmk/commands.py | 2 | ||||
| -rw-r--r-- | lib/python/qmk/info.py | 6 | ||||
| -rw-r--r-- | lib/python/qmk/keyboard.py | 2 | 
14 files changed, 1290 insertions, 1320 deletions
| diff --git a/data/mappings/defaults.json b/data/mappings/defaults.hjson index ea9f6972c5..ea9f6972c5 100644 --- a/data/mappings/defaults.json +++ b/data/mappings/defaults.hjson diff --git a/data/mappings/info_config.json b/data/mappings/info_config.hjson index 01f39540d0..a013e98b34 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.hjson @@ -1,15 +1,15 @@ -# 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. +// 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 +    // 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"}, @@ -118,7 +118,7 @@      "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 +    // 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}, diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.hjson index 6bf933bfb8..2f8656c4bf 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.hjson @@ -1,15 +1,15 @@ -# 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. +// 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 +    // 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"}, @@ -37,7 +37,7 @@      "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},      "PS2_DRIVER": {"info_key": "ps2.driver"}, -    # Items we want flagged in lint +    // 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' -    } -} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index bc07eaf5fb..daf54141a8 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -601,7 +601,10 @@              "type": "object",              "additionalProperties": false,              "properties": { -                "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, # Deprecated +                "device_ver": { +                    "$ref": "qmk.definitions.v1#/hex_number_4d", +                    "$comment": "Deprecated: use device_version instead" +                },                  "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},                  "force_nkro": {"type": "boolean"},                  "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md index 1a2e4ca54a..ba287f5688 100644 --- a/docs/data_driven_config.md +++ b/docs/data_driven_config.md @@ -41,7 +41,7 @@ In other cases you should group like options together in an `object`. This is pa  ### Add a mapping -In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.json` and `data/mappings/info_rules.json`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys: +In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.hjson` and `data/mappings/info_rules.hjson`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys:  * `info_key`: (required) The location within `info.json` for this value. See below.  * `value_type`: (optional) Default `raw`. The format for this variable's value. See below. diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py index 0f29cd2327..ddb3a0772e 100755 --- a/lib/python/qmk/cli/generate/api.py +++ b/lib/python/qmk/cli/generate/api.py @@ -98,7 +98,7 @@ def generate_api(cli):      # Generate data for the global files      keyboard_list = sorted(kb_all) -    keyboard_aliases = json_load(Path('data/mappings/keyboard_aliases.json')) +    keyboard_aliases = json_load(Path('data/mappings/keyboard_aliases.hjson'))      keyboard_metadata = {          'last_updated': current_datetime(),          'keyboards': keyboard_list, diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index f64daba134..31b8d70635 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -70,7 +70,7 @@ def generate_matrix_size(kb_info_json, config_h_lines):  def generate_config_items(kb_info_json, config_h_lines):      """Iterate through the info_config map to generate basic config values.      """ -    info_config_map = json_load(Path('data/mappings/info_config.json')) +    info_config_map = json_load(Path('data/mappings/info_config.hjson'))      for config_key, info_dict in info_config_map.items():          info_key = info_dict['info_key'] diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 1d708f371e..fc272da6c6 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -62,7 +62,7 @@ def generate_rules_mk(cli):          cli.subcommands['generate-rules-mk'].print_help()          return False -    info_rules_map = json_load(Path('data/mappings/info_rules.json')) +    info_rules_map = json_load(Path('data/mappings/info_rules.hjson'))      rules_mk_lines = [GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE]      # Iterate through the info_rules map to generate basic rules diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 8d4def1bef..251ad919dd 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -210,7 +210,7 @@ def new_keyboard(cli):      # Preprocess any development_board presets      if mcu in dev_boards: -        defaults_map = json_load(Path('data/mappings/defaults.json')) +        defaults_map = json_load(Path('data/mappings/defaults.hjson'))          board = defaults_map['development_board'][mcu]          mcu = board['processor'] diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 07826a4866..5561a354c5 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -214,7 +214,7 @@ def parse_configurator_json(configurator_file):          exit(1)      orig_keyboard = user_keymap['keyboard'] -    aliases = json_load(Path('data/mappings/keyboard_aliases.json')) +    aliases = json_load(Path('data/mappings/keyboard_aliases.hjson'))      if orig_keyboard in aliases:          if 'target' in aliases[orig_keyboard]: diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 5ca282b2d3..5dc8b9c5fe 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -483,7 +483,7 @@ def _extract_config_h(info_data, config_c):      """      # Pull in data from the json map      dotty_info = dotty(info_data) -    info_config_map = json_load(Path('data/mappings/info_config.json')) +    info_config_map = json_load(Path('data/mappings/info_config.hjson'))      for config_key, info_dict in info_config_map.items():          info_key = info_dict['info_key'] @@ -529,7 +529,7 @@ def _extract_config_h(info_data, config_c):  def _process_defaults(info_data):      """Process any additional defaults based on currently discovered information      """ -    defaults_map = json_load(Path('data/mappings/defaults.json')) +    defaults_map = json_load(Path('data/mappings/defaults.hjson'))      for default_type in defaults_map.keys():          thing_map = defaults_map[default_type]          if default_type in info_data: @@ -555,7 +555,7 @@ def _extract_rules_mk(info_data, rules):      # Pull in data from the json map      dotty_info = dotty(info_data) -    info_rules_map = json_load(Path('data/mappings/info_rules.json')) +    info_rules_map = json_load(Path('data/mappings/info_rules.hjson'))      for rules_key, info_dict in info_rules_map.items():          info_key = info_dict['info_key'] diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 686d4fc403..6ddbba8fa5 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -69,7 +69,7 @@ def keyboard_folder(keyboard):      This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard.      """ -    aliases = json_load(Path('data/mappings/keyboard_aliases.json')) +    aliases = json_load(Path('data/mappings/keyboard_aliases.hjson'))      if keyboard in aliases:          keyboard = aliases[keyboard].get('target', keyboard) | 
