summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/mappings/info_config.json2
-rw-r--r--data/mappings/keyboard_aliases.json635
-rw-r--r--data/schemas/definitions.jsonschema14
-rw-r--r--data/schemas/keyboard.jsonschema11
-rw-r--r--data/templates/avr/config.h138
-rw-r--r--data/templates/avr/rules.mk18
-rw-r--r--data/templates/base/%(KEYBOARD)s.c4
-rw-r--r--data/templates/base/%(KEYBOARD)s.h22
-rw-r--r--data/templates/base/info.json17
-rw-r--r--data/templates/base/keymaps/default/keymap.c22
-rw-r--r--data/templates/base/keymaps/default/readme.md1
-rw-r--r--data/templates/keyboard/config.h20
-rw-r--r--data/templates/keyboard/info.json25
-rw-r--r--data/templates/keyboard/readme.md (renamed from data/templates/avr/readme.md)10
-rw-r--r--data/templates/keyboard/rules.mk1
-rw-r--r--data/templates/ps2avrgb/config.h128
-rw-r--r--data/templates/ps2avrgb/readme.md28
-rw-r--r--data/templates/ps2avrgb/rules.mk17
18 files changed, 703 insertions, 410 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 c9467f7c84..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'
},
@@ -353,9 +365,15 @@
'mechlovin/hannah65': {
target: 'mechlovin/hannah65/rev1'
},
+ minim: {
+ target: 'matthewdias/minim'
+ },
model01: {
target: 'keyboardio/model01'
},
+ model_v: {
+ target: 'matthewdias/model_v'
+ },
m0lly: {
target: 'tkc/m0lly'
},
@@ -498,6 +516,9 @@
'tokyo60': {
target: 'tokyokeyboard/tokyo60'
},
+ 'txuu': {
+ target: 'matthewdias/txuu'
+ },
underscore33: {
target: 'underscore33/rev1'
},
@@ -550,7 +571,7 @@
target: 'xelus/valor/rev1'
},
yd60mq: {
- target: 'yd60mq/12led'
+ target: 'ymdk/yd60mq/12led'
},
ymd75: {
target: 'ymd75/rev1'
@@ -563,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..9fd503a108 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,
@@ -49,6 +53,10 @@
"oneOf": [
{
"type": "string",
+ "enum": ["NO_PIN"]
+ },
+ {
+ "type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
{
@@ -70,13 +78,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 +105,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..fc0844a086 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",
@@ -320,7 +320,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/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..777ceb3bd8
--- /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_lite": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ }
+} \ No newline at end of file
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