diff options
Diffstat (limited to 'data/schemas')
-rw-r--r-- | data/schemas/keyboard.jsonschema | 47 | ||||
-rw-r--r-- | data/schemas/keymap.jsonschema | 17 |
2 files changed, 60 insertions, 4 deletions
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 4126217fc2..42a3a44391 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -23,6 +23,7 @@ } }, "type": "object", + "not": { "required": [ "vendorId", "productId" ] }, // reject via keys... "properties": { "keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"}, "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"}, @@ -34,7 +35,7 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "elite_pi", "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", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios"] }, "pin_compatible": { "type": "string", @@ -108,6 +109,10 @@ "type": "object", "additionalProperties": false, "properties": { + "driver": { + "type": "string", + "enum": ["pwm", "software", "timer", "custom"] + }, "breathing": {"type": "boolean"}, "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "levels": { @@ -118,7 +123,8 @@ "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"} + "on_state": {"$ref": "qmk.definitions.v1#/bit"}, + "as_caps_lock": {"type": "boolean"} } }, "bluetooth": { @@ -131,6 +137,22 @@ } } }, + "bootmagic":{ + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + }, "board": { "type": "string", "minLength": 2, @@ -155,6 +177,7 @@ "stm32-dfu", "stm32duino", "tinyuf2", + "uf2boot", "unknown", "usbasploader", "wb32-dfu" @@ -240,6 +263,9 @@ "c_macro": { "type": "boolean" }, + "json_layout": { + "type": "boolean" + }, "layout": { "type": "array", "items": { @@ -288,6 +314,7 @@ "custom": {"type": "boolean"}, "custom_lite": {"type": "boolean"}, "ghost": {"type": "boolean"}, + "input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "direct": { "type": "array", @@ -511,6 +538,21 @@ "additionalProperties": false, "properties": { "enabled": {"type": "boolean"}, + "bootmagic":{ + "type": "object", + "additionalProperties": false, + "properties": { + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + }, "matrix_grid": { "type": "array", "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} @@ -588,7 +630,6 @@ "force_hold": {"type": "boolean"}, "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"}, diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index 1b8d01bcc6..73aa7c5c22 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -7,7 +7,8 @@ "author": {"type": "string"}, "converter": { "type": "string", - "enum": ["elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bonsai_c4"] + "minLength": 1, + "pattern": "^[a-z][0-9a-z_]*$" }, "host_language": {"$ref": "qmk.definitions.v1#/text_identifier"}, "keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"}, @@ -20,6 +21,20 @@ "items": {"type": "string"} } }, + "encoders": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "object", + "required": ["ccw", "cw"], + "properties": { + "ccw": {"type": "string"}, + "cw": {"type": "string"} + } + } + } + }, "macros": { "type": "array", "items": { |