diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/mappings/info_config.json | 2 | ||||
-rw-r--r-- | data/mappings/keyboard_aliases.json | 638 | ||||
-rw-r--r-- | data/schemas/definitions.jsonschema | 42 | ||||
-rw-r--r-- | data/schemas/keyboard.jsonschema | 12 | ||||
-rw-r--r-- | data/schemas/keymap.jsonschema | 7 | ||||
-rw-r--r-- | data/templates/avr/config.h | 138 | ||||
-rw-r--r-- | data/templates/avr/rules.mk | 18 | ||||
-rw-r--r-- | data/templates/base/%(KEYBOARD)s.c | 4 | ||||
-rw-r--r-- | data/templates/base/%(KEYBOARD)s.h | 22 | ||||
-rw-r--r-- | data/templates/base/info.json | 17 | ||||
-rw-r--r-- | data/templates/base/keymaps/default/keymap.c | 22 | ||||
-rw-r--r-- | data/templates/base/keymaps/default/readme.md | 1 | ||||
-rw-r--r-- | data/templates/keyboard/config.h | 20 | ||||
-rw-r--r-- | data/templates/keyboard/info.json | 25 | ||||
-rw-r--r-- | data/templates/keyboard/readme.md (renamed from data/templates/avr/readme.md) | 10 | ||||
-rw-r--r-- | data/templates/keyboard/rules.mk | 1 | ||||
-rw-r--r-- | data/templates/ps2avrgb/config.h | 128 | ||||
-rw-r--r-- | data/templates/ps2avrgb/readme.md | 28 | ||||
-rw-r--r-- | data/templates/ps2avrgb/rules.mk | 17 |
19 files changed, 740 insertions, 412 deletions
diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 3cb64dd3a2..cfe8807d43 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -15,6 +15,8 @@ "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, "DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"}, + # TODO: Replace ^^^ with vvv + #"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, "DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json index 60c91b1bfc..343812718e 100644 --- a/data/mappings/keyboard_aliases.json +++ b/data/mappings/keyboard_aliases.json @@ -41,8 +41,14 @@ 'atom47/rev3': { target: 'maartenwut/atom47/rev3' }, + bakeneko60: { + target: 'kkatano/bakeneko60' + }, bakeneko65: { - target: 'bakeneko65/rev2' + target: 'kkatano/bakeneko65/rev2' + }, + bakeneko80: { + target: 'kkatano/bakeneko80' }, bear_face: { target: 'bear_face/v1' @@ -215,6 +221,9 @@ LAYOUT: 'LAYOUT_all' } }, + idobo: { + target: 'idobao/id75' + }, 'jj40': { target: 'kprepublic/jj40' }, @@ -260,6 +269,9 @@ 'lfkeyboards/smk65': { target: 'lfkeyboards/smk65/revb' }, + m3v3van: { + target: 'matthewdias/m3n3van' + }, 'maartenwut/atom47/rev2': { target: 'evyd13/atom47/rev2' }, @@ -344,15 +356,24 @@ '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' }, @@ -495,6 +516,9 @@ 'tokyo60': { target: 'tokyokeyboard/tokyo60' }, + 'txuu': { + target: 'matthewdias/txuu' + }, underscore33: { target: 'underscore33/rev1' }, @@ -547,7 +571,7 @@ target: 'xelus/valor/rev1' }, yd60mq: { - target: 'yd60mq/12led' + target: 'ymdk/yd60mq/12led' }, ymd75: { target: 'ymd75/rev1' @@ -560,5 +584,615 @@ }, 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' + }, + 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' + }, + 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/v1' + }, + 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' + }, + 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' + }, + 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' + }, + 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' + }, + vn66: { + target: 'hnahkb/vn66' + }, + wallaby: { + target: 'kkatano/wallaby' + }, + wanten: { + target: 'qpockets/wanten' + }, + 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/definitions.jsonschema b/data/schemas/definitions.jsonschema index 822f237073..46aba52cbd 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -20,6 +20,10 @@ "type": "string", "pattern": "^0x[0-9A-F]{4}$" }, + "bcd_version": { + "type": "string", + "pattern": "^[0-9]{1,2}\\.[0-9]\\.[0-9]$" + }, "text_identifier": { "type": "string", "minLength": 1, @@ -29,7 +33,33 @@ "oneOf": [ { "type": "string", - "enum": ["LAYOUT", "LAYOUT_planck_1x2uC"] + "enum": [ + "LAYOUT", + "LAYOUT_1x2uC", + "LAYOUT_1x2uL", + "LAYOUT_1x2uR", + "LAYOUT_2x2uC", + "LAYOUT_2x3uC", + "LAYOUT_625uC", + "LAYOUT_ANSI_DEFAULT", + "LAYOUT_JP", + "LAYOUT_ortho_3x12_1x2uC", + "LAYOUT_ortho_4x12_1x2uC", + "LAYOUT_ortho_4x12_1x2uL", + "LAYOUT_ortho_4x12_1x2uR", + "LAYOUT_ortho_5x12_1x2uC", + "LAYOUT_ortho_5x12_2x2uC", + "LAYOUT_ortho_5x14_1x2uC", + "LAYOUT_ortho_5x14_1x2uL", + "LAYOUT_ortho_5x14_1x2uR", + "LAYOUT_planck_1x2uC", + "LAYOUT_planck_1x2uL", + "LAYOUT_planck_1x2uR", + "LAYOUT_preonic_1x2uC", + "LAYOUT_preonic_1x2uL", + "LAYOUT_preonic_1x2uR", + "LAYOUT_reviung34_2uL" + ] }, { "type": "string", @@ -49,6 +79,10 @@ "oneOf": [ { "type": "string", + "enum": ["NO_PIN"] + }, + { + "type": "string", "pattern": "^[A-K]\\d{1,2}$" }, { @@ -70,13 +104,13 @@ "signed_int": { "type": "number", "multipleOf": 1 - } + }, "signed_int_8": { "type": "number", "min": -127, "max": 127, "multipleOf": 1 - } + }, "string_array": { "type": "array", "items": { @@ -97,7 +131,7 @@ "type": "number", "min": 0, "multipleOf": 1 - } + }, "unsigned_int_8": { "type": "number", "min": 0, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 308f9b782b..a8b3d06933 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -13,7 +13,7 @@ }, "processor": { "type": "string", - "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L433", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] + "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66FX1M0", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L432", "STM32L433", "STM32L442", "STM32L443", "GD32VF103", "WB32F3G71", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] }, "audio": { "type": "object", @@ -45,7 +45,7 @@ "properties": { "driver": { "type": "string", - "enum": ["AdafruitBLE", "RN42"] + "enum": ["BluefruitLE", "RN42"] }, "lto": {"type": "boolean"}, } @@ -57,7 +57,7 @@ }, "bootloader": { "type": "string", - "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], + "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "custom", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2"], }, "bootloader_instructions": { "type": "string", @@ -69,7 +69,7 @@ "properties": { "debounce_type": { "type": "string", - "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_eager_pk"] + "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk"] }, "firmware_format": { "type": "string", @@ -109,6 +109,7 @@ }, "layouts": { "type": "object", + "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"}, "additionalProperties": { "type": "object", "additionalProperties": false, @@ -320,7 +321,8 @@ "type": "object", "additionalProperties": false, "properties": { - "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, # Deprecated + "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"}, "force_nkro": {"type": "boolean"}, "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index faa250a942..3803301a66 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -53,5 +53,10 @@ "type": "string", "description": "asdf" } - } + }, + "required": [ + "keyboard", + "layout", + "layers" + ] } diff --git a/data/templates/avr/config.h b/data/templates/avr/config.h deleted file mode 100644 index 7c15e8e704..0000000000 --- a/data/templates/avr/config.h +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER %(USER_NAME)s -#define PRODUCT %(KEYBOARD)s - -/* key matrix size */ -#define MATRIX_ROWS 2 -#define MATRIX_COLS 3 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { D0, D5 } -#define MATRIX_COL_PINS { F1, F0, B0 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -//#define LED_NUM_LOCK_PIN B0 -//#define LED_CAPS_LOCK_PIN B1 -//#define LED_SCROLL_LOCK_PIN B2 -//#define LED_COMPOSE_PIN B3 -//#define LED_KANA_PIN B4 - -//#define BACKLIGHT_PIN B7 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -//#define RGB_DI_PIN E2 -//#ifdef RGB_DI_PIN -//# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -//# define RGBLIGHT_EFFECT_RAINBOW_MOOD -//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -//#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/data/templates/avr/rules.mk b/data/templates/avr/rules.mk deleted file mode 100644 index 1275531ef6..0000000000 --- a/data/templates/avr/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/data/templates/base/%(KEYBOARD)s.c b/data/templates/base/%(KEYBOARD)s.c deleted file mode 100644 index 0c509aff65..0000000000 --- a/data/templates/base/%(KEYBOARD)s.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "%(KEYBOARD)s.h" diff --git a/data/templates/base/%(KEYBOARD)s.h b/data/templates/base/%(KEYBOARD)s.h deleted file mode 100644 index 3e8ca3912d..0000000000 --- a/data/templates/base/%(KEYBOARD)s.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "quantum.h" - -/* This is a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ -#define LAYOUT( \ - k00, k01, k02, \ - k10, k12 \ -) { \ - { k00, k01, k02 }, \ - { k10, KC_NO, k12 } \ -} diff --git a/data/templates/base/info.json b/data/templates/base/info.json deleted file mode 100644 index a50ccba7bf..0000000000 --- a/data/templates/base/info.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "keyboard_name": "%(KEYBOARD)s", - "url": "", - "maintainer": "%(USER_NAME)s", - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "k00", "x": 0, "y": 0}, - {"label": "k01", "x": 1, "y": 0}, - {"label": "k02", "x": 2, "y": 0}, - - {"label": "k10", "x": 0, "y": 1, "w": 1.5}, - {"label": "k12", "x": 1.5, "y": 1, "w": 1.5} - ] - } - } -} diff --git a/data/templates/base/keymaps/default/keymap.c b/data/templates/base/keymaps/default/keymap.c deleted file mode 100644 index 3fec3d5120..0000000000 --- a/data/templates/base/keymaps/default/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - KC_A, KC_1, MO(_FN), - KC_TAB, KC_SPC - ), - [_FN] = LAYOUT( - _______, _______, _______, - RESET, XXXXXXX - ) -}; diff --git a/data/templates/base/keymaps/default/readme.md b/data/templates/base/keymaps/default/readme.md deleted file mode 100644 index 63a0643275..0000000000 --- a/data/templates/base/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for %(KEYBOARD)s diff --git a/data/templates/keyboard/config.h b/data/templates/keyboard/config.h new file mode 100644 index 0000000000..b15c8d31f1 --- /dev/null +++ b/data/templates/keyboard/config.h @@ -0,0 +1,20 @@ +// Copyright %YEAR% %REAL_NAME% (@%USER_NAME%) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/data/templates/keyboard/info.json b/data/templates/keyboard/info.json new file mode 100644 index 0000000000..65f935fb42 --- /dev/null +++ b/data/templates/keyboard/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "%KEYBOARD%", + "maintainer": "%USER_NAME%", + "manufacturer": "%REAL_NAME%", + "processor": "%MCU%", + "bootloader": "%BOOTLOADER%", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C2"], + "rows": ["D1"] + }, + "usb": { + "vid": "0xFEED", + "pid": "0x0000", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + } +} diff --git a/data/templates/avr/readme.md b/data/templates/keyboard/readme.md index 207850e065..ca703c53f0 100644 --- a/data/templates/avr/readme.md +++ b/data/templates/keyboard/readme.md @@ -1,20 +1,20 @@ -# %(KEYBOARD)s +# %KEYBOARD% -![%(KEYBOARD)s](imgur.com image replace me!) +![%KEYBOARD%](imgur.com image replace me!) *A short description of the keyboard/project* -* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/%(USER_NAME)s) +* Keyboard Maintainer: [%REAL_NAME%](https://github.com/%USER_NAME%) * Hardware Supported: *The PCBs, controllers supported* * Hardware Availability: *Links to where you can find this hardware* Make example for this keyboard (after setting up your build environment): - make %(KEYBOARD)s:default + make %KEYBOARD%:default Flashing example for this keyboard: - make %(KEYBOARD)s:default:flash + make %KEYBOARD%:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/data/templates/keyboard/rules.mk b/data/templates/keyboard/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/data/templates/keyboard/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/data/templates/ps2avrgb/config.h b/data/templates/ps2avrgb/config.h deleted file mode 100644 index 876a60252f..0000000000 --- a/data/templates/ps2avrgb/config.h +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER %(USER_NAME)s -#define PRODUCT %(KEYBOARD)s - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 } -#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -//#define LED_NUM_LOCK_PIN D0 -//#define LED_CAPS_LOCK_PIN D1 -//#define LED_SCROLL_LOCK_PIN D6 - -#define BACKLIGHT_PIN D4 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -#define RGBLED_NUM 16 -//#define RGBLIGHT_HUE_STEP 8 -//#define RGBLIGHT_SAT_STEP 8 -//#define RGBLIGHT_VAL_STEP 8 -//#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//#define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//#define RGBLIGHT_EFFECT_BREATHING -//#define RGBLIGHT_EFFECT_RAINBOW_MOOD -//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//#define RGBLIGHT_EFFECT_SNAKE -//#define RGBLIGHT_EFFECT_KNIGHT -//#define RGBLIGHT_EFFECT_CHRISTMAS -//#define RGBLIGHT_EFFECT_STATIC_GRADIENT -//#define RGBLIGHT_EFFECT_RGB_TEST -//#define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//#define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/data/templates/ps2avrgb/readme.md b/data/templates/ps2avrgb/readme.md deleted file mode 100644 index a2ac4495b6..0000000000 --- a/data/templates/ps2avrgb/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# %(KEYBOARD)s - -![%(KEYBOARD)s](imgur.com image replace me!) - -*A short description of the keyboard/project* - -* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/yourusername) -* Hardware Supported: *The PCBs, controllers supported* -* Hardware Availability: *Links to where you can find this hardware* - -Make example for this keyboard (after setting up your build environment): - - make %(KEYBOARD)s:default - -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) - - make %(KEYBOARD)s:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **BootloadHID reset**: Hold down the key connected to the `A0` and `B0` pins on the MCU if it is known (often top left or bottom left) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/data/templates/ps2avrgb/rules.mk b/data/templates/ps2avrgb/rules.mk deleted file mode 100644 index 1bbfa8fa0e..0000000000 --- a/data/templates/ps2avrgb/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# MCU name -MCU = atmega32a - -# Bootloader selection -BOOTLOADER = bootloadhid - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -WS2812_DRIVER = i2c |