diff options
Diffstat (limited to 'data/schemas/keycodes.jsonschema')
-rw-r--r-- | data/schemas/keycodes.jsonschema | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/data/schemas/keycodes.jsonschema b/data/schemas/keycodes.jsonschema new file mode 100644 index 0000000000..77a8347b3b --- /dev/null +++ b/data/schemas/keycodes.jsonschema @@ -0,0 +1,57 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.keycodes.v1", + "title": "Keycode Information", + "type": "object", + "definitions": { + "define": { + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[A-Zs_0-9]*$" + }, + "hex_number_4d": { + "type": "string", + "pattern": "^0x[0-9A-F]{4}$" + } + }, + "properties": { + "ranges": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "required": [ + "define" + ], + "properties": { + "define": {"$ref": "#/definitions/define"} + } + } + }, + "keycodes": { + "type": "object", + "propertyNames": { + "$ref": "#/definitions/hex_number_4d" + }, + "additionalProperties": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": {"$ref": "#/definitions/define"}, + "aliases": { + "type": "array", + "minItems": 1, + "items": { + "type": "string" + } + } + } + } + } + } +} |