forked from forks/qmk_firmware
b908275354
* fix some broken info.json files * optimize our jsonschema using refs * fix formatting after vscode broke it * make flake8 happy * cleanup * make our schema validation more compact and flexible
108 lines
2.3 KiB
Plaintext
108 lines
2.3 KiB
Plaintext
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "qmk.definitions.v1",
|
|
"title": "Common definitions used across QMK's jsonschemas.",
|
|
"type": "object",
|
|
"boolean_array": {
|
|
"type": "object",
|
|
"additionalProperties": {"type": "boolean"}
|
|
},
|
|
"filename": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"pattern": "^[0-9a-z_]*$"
|
|
},
|
|
"hex_number_2d": {
|
|
"type": "string",
|
|
"pattern": "^0x[0-9A-F]{2}$"
|
|
},
|
|
"hex_number_4d": {
|
|
"type": "string",
|
|
"pattern": "^0x[0-9A-F]{4}$"
|
|
},
|
|
"text_identifier": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 250
|
|
},
|
|
"layout_macro": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"pattern": "^LAYOUT_[0-9a-z_]*$"
|
|
}
|
|
]
|
|
},
|
|
"key_unit": {
|
|
"type": "number",
|
|
"min": 0.25
|
|
},
|
|
"mcu_pin_array": {
|
|
"type": "array",
|
|
"items": {"$ref": "#/mcu_pin"}
|
|
},
|
|
"mcu_pin": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^[A-K]\\d{1,2}$"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"pattern": "^LINE_PIN\\d{1,2}$"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"multipleOf": 1
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"signed_decimal": {
|
|
"type": "number"
|
|
},
|
|
"signed_int": {
|
|
"type": "number",
|
|
"multipleOf": 1
|
|
}
|
|
"signed_int_8": {
|
|
"type": "number",
|
|
"min": -127,
|
|
"max": 127,
|
|
"multipleOf": 1
|
|
}
|
|
"string_array": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"string_object": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"unsigned_decimal": {
|
|
"type": "number",
|
|
"min": 0
|
|
},
|
|
"unsigned_int": {
|
|
"type": "number",
|
|
"min": 0,
|
|
"multipleOf": 1
|
|
}
|
|
"unsigned_int_8": {
|
|
"type": "number",
|
|
"min": 0,
|
|
"max": 255,
|
|
"multipleOf": 1
|
|
}
|
|
}
|