summaryrefslogtreecommitdiffstats
path: root/data/schemas/keyboard.jsonschema
diff options
context:
space:
mode:
Diffstat (limited to 'data/schemas/keyboard.jsonschema')
-rw-r--r--data/schemas/keyboard.jsonschema142
1 files changed, 131 insertions, 11 deletions
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 0308f45116..4126217fc2 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -34,15 +34,66 @@
},
"development_board": {
"type": "string",
- "enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"]
+ "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"]
},
"pin_compatible": {
"type": "string",
- "enum": ["promicro"]
+ "enum": ["promicro", "elite_c"]
},
"processor": {
"type": "string",
- "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK64FX512", "MK66FX1M0", "RP2040", "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"]
+ "enum": [
+ "cortex-m0",
+ "cortex-m0plus",
+ "cortex-m3",
+ "cortex-m4",
+ "cortex-m7",
+ "cortex-m23",
+ "cortex-m33",
+ "cortex-m35p",
+ "cortex-m55",
+ "cortex-m85",
+ "MKL26Z64",
+ "MK20DX128",
+ "MK20DX256",
+ "MK64FX512",
+ "MK66FX1M0",
+ "RP2040",
+ "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",
@@ -64,7 +115,9 @@
"minimum": 1,
"maximum": 31
},
+ "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
@@ -74,9 +127,8 @@
"properties": {
"driver": {
"type": "string",
- "enum": ["BluefruitLE", "RN42"]
- },
- "lto": {"type": "boolean"}
+ "enum": ["BluefruitLE", "RN42", "custom"]
+ }
}
},
"board": {
@@ -89,7 +141,6 @@
"enum": [
"atmel-dfu",
"bootloadhid",
- "bootloadHID",
"caterina",
"custom",
"gd32v-dfu",
@@ -106,7 +157,6 @@
"tinyuf2",
"unknown",
"usbasploader",
- "USBasp",
"wb32-dfu"
]
},
@@ -120,7 +170,7 @@
"properties": {
"debounce_type": {
"type": "string",
- "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk"]
+ "enum": ["asym_eager_defer_pk", "custom", "sym_defer_g", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk", "sym_eager_pr"]
},
"firmware_format": {
"type": "string",
@@ -195,6 +245,7 @@
"items": {
"type": "object",
"additionalProperties": false,
+ "required": ["x", "y"],
"properties": {
"label": {
"type": "string",
@@ -267,7 +318,31 @@
"led_matrix": {
"type": "object",
"properties": {
+ "animations": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
"driver": {"type": "string"},
+ "center_point": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
+ },
+ "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
+ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "split_count": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
+ },
"layout": {
"type": "array",
"items": {
@@ -294,7 +369,31 @@
"rgb_matrix": {
"type": "object",
"properties": {
+ "animations": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
"driver": {"type": "string"},
+ "center_point": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
+ },
+ "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
+ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "split_count": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
+ },
"layout": {
"type": "array",
"items": {
@@ -393,6 +492,20 @@
}
}
},
+ "ps2": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "mouse_enabled": {"type": "boolean"},
+ "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "driver": {
+ "type": "string",
+ "enum": ["busywait", "interrupt", "usart", "vendor"]
+ }
+ }
+ },
"split": {
"type": "object",
"additionalProperties": false,
@@ -449,7 +562,9 @@
"enum": ["custom", "i2c", "serial", "serial_usart"]
},
"sync_matrix_state": {"type": "boolean"},
- "sync_modifiers": {"type": "boolean"}
+ "sync_modifiers": {"type": "boolean"},
+ "watchdog": {"type": "boolean"},
+ "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"usb_detect": {
@@ -474,6 +589,8 @@
"force_hold_per_key": {"type": "boolean"},
"ignore_mod_tap_interrupt": {"type": "boolean"},
"ignore_mod_tap_interrupt_per_key": {"type": "boolean"},
+ "hold_on_other_key_press": {"type": "boolean"},
+ "hold_on_other_key_press_per_key": {"type": "boolean"},
"permissive_hold": {"type": "boolean"},
"permissive_hold_per_key": {"type": "boolean"},
"retro": {"type": "boolean"},
@@ -487,7 +604,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"},