summaryrefslogtreecommitdiffstats
path: root/data/schemas/keycodes.jsonschema
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2022-11-05 10:30:09 +0000
committerGitHub <noreply@github.com>2022-11-05 10:30:09 +0000
commita69ab05dd687cb9aa38e0c125e4f64956c7da6c7 (patch)
tree3733805ea012b5bc6ae7dc78dfed9f0f4d942d33 /data/schemas/keycodes.jsonschema
parenta070c4c50134cf274a674ee73227289fde81b8ed (diff)
Initial DD keycode migration (#18643)
* Initial DD keycode migration * Sort magic keycodes
Diffstat (limited to 'data/schemas/keycodes.jsonschema')
-rw-r--r--data/schemas/keycodes.jsonschema57
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"
+ }
+ }
+ }
+ }
+ }
+ }
+}