summaryrefslogtreecommitdiff
path: root/data/schemas
diff options
context:
space:
mode:
Diffstat (limited to 'data/schemas')
-rw-r--r--data/schemas/definitions.jsonschema21
-rw-r--r--data/schemas/keyboard.jsonschema101
2 files changed, 117 insertions, 5 deletions
diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema
index 46aba52cbd..1bdfbbeb03 100644
--- a/data/schemas/definitions.jsonschema
+++ b/data/schemas/definitions.jsonschema
@@ -41,8 +41,6 @@
"LAYOUT_2x2uC",
"LAYOUT_2x3uC",
"LAYOUT_625uC",
- "LAYOUT_ANSI_DEFAULT",
- "LAYOUT_JP",
"LAYOUT_ortho_3x12_1x2uC",
"LAYOUT_ortho_4x12_1x2uC",
"LAYOUT_ortho_4x12_1x2uL",
@@ -57,8 +55,7 @@
"LAYOUT_planck_1x2uR",
"LAYOUT_preonic_1x2uC",
"LAYOUT_preonic_1x2uL",
- "LAYOUT_preonic_1x2uR",
- "LAYOUT_reviung34_2uL"
+ "LAYOUT_preonic_1x2uR"
]
},
{
@@ -71,6 +68,22 @@
"type": "number",
"min": 0.25
},
+ "keyboard": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "converter/numeric_keypad_IIe",
+ "emptystring/NQG",
+ "maple_computing/christmas_tree/V2017"
+ ]
+ },
+ {
+ "type": "string",
+ "pattern": "^[0-9a-z][0-9a-z_/]*$"
+ }
+ ]
+ },
"mcu_pin_array": {
"type": "array",
"items": {"$ref": "#/mcu_pin"}
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index a8b3d06933..dc5592220b 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -5,15 +5,24 @@
"type": "object",
"properties": {
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
+ "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"url": {
"type": "string",
"format": "uri"
},
+ "development_board": {
+ "type": "string",
+ "enum": ["promicro", "elite_c", "proton_c", "bluepill", "blackpill_f401", "blackpill_f411"]
+ },
+ "pin_compatible": {
+ "type": "string",
+ "enum": ["promicro"]
+ },
"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", "STM32L432", "STM32L433", "STM32L442", "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", "WB32FQ95", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
},
"audio": {
"type": "object",
@@ -83,6 +92,16 @@
"enum": ["COL2ROW", "ROW2COL"]
},
"debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "caps_word": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "both_shifts_turns_on": {"type": "boolean"},
+ "double_tap_shift_turns_on": {"type": "boolean"},
+ "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ },
+ },
"combo": {
"type": "object",
"properties": {
@@ -193,6 +212,62 @@
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
+ "led_matrix": {
+ "type": "object",
+ "properties": {
+ "driver": {"type": "string"},
+ "layout": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "matrix": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "min": 0,
+ "multipleOf": 1
+ }
+ },
+ "x": {"$ref": "qmk.definitions.v1#/key_unit"},
+ "y": {"$ref": "qmk.definitions.v1#/key_unit"},
+ "flags": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}
+ }
+ }
+ }
+ }
+ },
+ "rgb_matrix": {
+ "type": "object",
+ "properties": {
+ "driver": {"type": "string"},
+ "layout": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "matrix": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "min": 0,
+ "multipleOf": 1
+ }
+ },
+ "x": {"$ref": "qmk.definitions.v1#/key_unit"},
+ "y": {"$ref": "qmk.definitions.v1#/key_unit"},
+ "flags": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}
+ }
+ }
+ }
+ }
+ },
"rgblight": {
"type": "object",
"additionalProperties": false,
@@ -235,6 +310,30 @@
}
}
},
+ "secure": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "unlock_sequence": {
+ "type": "array",
+ "minLength": 1,
+ "maxLength": 5,
+ "items": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "min": 0,
+ "multipleOf": 1
+ }
+ }
+ }
+ }
+ },
"split": {
"type": "object",
"additionalProperties": false,