diff options
Diffstat (limited to 'data/schemas/keyboard.jsonschema')
-rw-r--r-- | data/schemas/keyboard.jsonschema | 170 |
1 files changed, 157 insertions, 13 deletions
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 4053387f3b..2996958084 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -20,7 +20,15 @@ } } } - } + }, + "dip_switch_config": { + "type": "object", + "properties": { + "pins": { + "$ref": "qmk.definitions.v1#/mcu_pin_array" + } + } + }, }, "type": "object", "not": { "required": [ "vendorId", "productId" ] }, // reject via keys... @@ -128,6 +136,15 @@ "type": "string", "enum": ["pwm", "software", "timer", "custom"] }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "breathing": {"type": "boolean"}, + "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "breathing": {"type": "boolean"}, "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "levels": { @@ -245,9 +262,40 @@ "type": "array", "items": {"$ref": "qmk.definitions.v1#/filename"} }, + "dip_switch": { + "$ref": "#/definitions/dip_switch_config", + "properties": { + "enabled": {"type": "boolean"}, + "matrix_grid": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + } + }, "eeprom": { "properties": { - "driver": {"type": "string"} + "driver": {"type": "string"}, + "wear_leveling": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"] + }, + "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + } } }, "encoder": { @@ -300,6 +348,7 @@ "additionalProperties": false, "required": ["x", "y"], "properties": { + "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "label": { "type": "string", "pattern": "^[^\\n]*$" @@ -379,6 +428,16 @@ "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -390,6 +449,10 @@ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, @@ -429,6 +492,18 @@ "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -442,6 +517,10 @@ "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, @@ -483,6 +562,18 @@ } }, "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": { "type": "string", "enum": ["apa102", "custom", "ws2812"] @@ -593,10 +684,6 @@ } } }, - "matrix_grid": { - "type": "array", - "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} - }, "matrix_pins": { "type": "object", "additionalProperties": false, @@ -616,6 +703,15 @@ } } }, + "dip_switch": { + "type": "object", + "additionalProperties": false, + "properties": { + "right": { + "$ref": "#/definitions/dip_switch_config" + } + } + }, "encoder": { "type": "object", "additionalProperties": false, @@ -625,9 +721,17 @@ } } }, - "main": { - "type": "string", - "enum": ["eeprom", "left", "matrix_grid", "pin", "right"] + "handedness": { + "type": "object", + "additionalProperties": false, + "properties": { + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "matrix_grid": { + "$ref": "qmk.definitions.v1#/mcu_pin_array", + "minItems": 2, + "maxItems": 2 + } + } }, "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "soft_serial_speed": { @@ -643,10 +747,32 @@ "type": "string", "enum": ["custom", "i2c", "serial", "serial_usart"] }, - "sync_matrix_state": {"type": "boolean"}, - "sync_modifiers": {"type": "boolean"}, + "sync": { + "type": "object", + "additionalProperties": false, + "properties": { + "activity": {"type": "boolean"}, + "detected_os": {"type": "boolean"}, + "haptic": {"type": "boolean"}, + "layer_state": {"type": "boolean"}, + "indicators": {"type": "boolean"}, + "matrix_state": {"type": "boolean"}, + "modifiers": {"type": "boolean"}, + "oled": {"type": "boolean"}, + "st7565": {"type": "boolean"}, + "wpm": {"type": "boolean"} + } + } "watchdog": {"type": "boolean"}, - "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sync_matrix_state": { + "type": "boolean", + "$comment": "Deprecated: use sync.matrix_state instead" + }, + "sync_modifiers": { + "type": "boolean", + "$comment": "Deprecated: use sync.modifiers instead" + } } }, "usb_detect": { @@ -657,6 +783,16 @@ "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } + }, + "main": { + "type": "string", + "enum": ["eeprom", "left", "matrix_grid", "pin", "right"], + "$comment": "Deprecated: use config.h options for now" + }, + "matrix_grid": { + "type": "array", + "items": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "$comment": "Deprecated: use split.handedness.matrix_grid instead" } } }, @@ -714,7 +850,15 @@ "properties": { "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "locking": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "resync": {"type": "boolean"} + } + } } }, "qmk_lufa_bootloader": { |