summaryrefslogtreecommitdiff
path: root/data/schemas/keyboard.jsonschema
diff options
context:
space:
mode:
Diffstat (limited to 'data/schemas/keyboard.jsonschema')
-rw-r--r--data/schemas/keyboard.jsonschema100
1 files changed, 67 insertions, 33 deletions
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 2996958084..340eb64ba1 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -6,6 +6,10 @@
"encoder_config": {
"type": "object",
"properties": {
+ "driver": {
+ "type": "string",
+ "enum": ["custom", "quadrature"]
+ },
"rotary": {
"type": "array",
"items": {
@@ -24,14 +28,12 @@
"dip_switch_config": {
"type": "object",
"properties": {
- "pins": {
- "$ref": "qmk.definitions.v1#/mcu_pin_array"
- }
+ "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
}
- },
+ }
},
"type": "object",
- "not": { "required": [ "vendorId", "productId" ] }, // reject via keys...
+ "not": {"required": ["vendorId", "productId"]}, // reject via keys...
"properties": {
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
@@ -43,7 +45,7 @@
},
"development_board": {
"type": "string",
- "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", "liatris"]
+ "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", "liatris", "imera"]
},
"pin_compatible": {
"type": "string",
@@ -123,6 +125,14 @@
"type": "object",
"additionalProperties": false,
"properties": {
+ "default": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "on": {"type": "boolean"},
+ "clicky": {"type": "boolean"}
+ }
+ },
"macro_beep": {"type": "boolean"},
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"voices": {"type": "boolean"}
@@ -134,7 +144,7 @@
"properties": {
"driver": {
"type": "string",
- "enum": ["pwm", "software", "timer", "custom"]
+ "enum": ["custom", "pwm", "software", "timer"]
},
"default": {
"type": "object",
@@ -306,8 +316,8 @@
},
"features": {
"$ref": "qmk.definitions.v1#/boolean_array",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
-
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "not": {"required": ["lto"]}
},
"indicators": {
"type": "object",
@@ -332,15 +342,9 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "filename": {
- "type": "string"
- },
- "c_macro": {
- "type": "boolean"
- },
- "json_layout": {
- "type": "boolean"
- },
+ "filename": {"type": "string"},
+ "c_macro": {"type": "boolean"},
+ "json_layout": {"type": "boolean"},
"layout": {
"type": "array",
"items": {
@@ -423,10 +427,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"default": {
"type": "object",
@@ -438,7 +440,24 @@
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
- "driver": {"type": "string"},
+ "driver": {
+ "type": "string",
+ "enum": [
+ "custom",
+ "is31fl3218",
+ "is31fl3729",
+ "is31fl3731",
+ "is31fl3733",
+ "is31fl3736",
+ "is31fl3737",
+ "is31fl3741",
+ "is31fl3742a",
+ "is31fl3743a",
+ "is31fl3745",
+ "is31fl3746a",
+ "snled27351"
+ ]
+ },
"center_point": {
"type": "array",
"minItems": 2,
@@ -487,10 +506,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"default": {
"type": "object",
@@ -504,7 +521,26 @@
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
- "driver": {"type": "string"},
+ "driver": {
+ "type": "string",
+ "enum": [
+ "aw20216s",
+ "custom",
+ "is31fl3218",
+ "is31fl3729",
+ "is31fl3731",
+ "is31fl3733",
+ "is31fl3736",
+ "is31fl3737",
+ "is31fl3741",
+ "is31fl3742a",
+ "is31fl3743a",
+ "is31fl3745",
+ "is31fl3746a",
+ "snled27351",
+ "ws2812"
+ ]
+ },
"center_point": {
"type": "array",
"minItems": 2,
@@ -556,10 +592,8 @@
"properties": {
"animations": {
"type": "object",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
- "additionalProperties": {
- "type": "boolean"
- }
+ "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
+ "additionalProperties": {"type": "boolean"}
},
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"default": {
@@ -762,7 +796,7 @@
"st7565": {"type": "boolean"},
"wpm": {"type": "boolean"}
}
- }
+ },
"watchdog": {"type": "boolean"},
"watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sync_matrix_state": {