summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/mappings/defaults.hjson5
-rw-r--r--data/mappings/info_config.hjson3
-rw-r--r--data/mappings/info_rules.hjson1
-rw-r--r--data/schemas/definitions.jsonschema32
-rw-r--r--data/schemas/keyboard.jsonschema26
-rw-r--r--data/schemas/keycodes.jsonschema10
-rw-r--r--data/schemas/keymap.jsonschema1
7 files changed, 70 insertions, 8 deletions
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 93da6161d6..090cbe4be9 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -74,6 +74,11 @@
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040"
+ },
+ "liatris": {
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "board": "QMK_PM2040"
}
}
}
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index 46108e6fe6..239813473c 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -10,6 +10,9 @@
// deprecated: Default `false`. Set to `true` to turn on warning when a value exists
// invalid: Default `false`. Set to `true` to generate errors when a value exists
// replace_with: use with a key marked deprecated or invalid to designate a replacement
+ "APA102_DI_PIN": {"info_key": "apa102.data_pin"},
+ "APA102_CI_PIN": {"info_key": "apa102.clock_pin"},
+ "APA102_DEFAULT_BRIGHTNESS": {"info_key": "apa102.default_brightness", "value_type": "int"},
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
index 7c3780504c..1eb450b3d3 100644
--- a/data/mappings/info_rules.hjson
+++ b/data/mappings/info_rules.hjson
@@ -38,6 +38,7 @@
"PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
"PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
"PS2_DRIVER": {"info_key": "ps2.driver"},
+ "WS2812_DRIVER": {"info_key": "ws2812.driver"},
"PLATFORM_KEY": {"info_key": "platform_key", "to_json": false},
diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema
index 94a94157c0..b9c64a55ec 100644
--- a/data/schemas/definitions.jsonschema
+++ b/data/schemas/definitions.jsonschema
@@ -71,6 +71,38 @@
"type": "string",
"pattern": "^[0-9a-z][0-9a-z_/]*$"
},
+ "keycode": {
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 50,
+ "pattern": "^[A-Z][A-Zs_0-9]*$"
+ },
+ "keycode_short": {
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 7,
+ "pattern": "^[A-Z][A-Zs_0-9]*$"
+ },
+ "keycode_decl": {
+ "type": "object",
+ "required": [
+ "key"
+ ],
+ "properties": {
+ "key": {"$ref": "#/keycode"},
+ "label": {"$ref": "#/text_identifier"},
+ "aliases": {
+ "type": "array",
+ "minItems": 1,
+ "items": {"$ref": "#/keycode_short"}
+ }
+ }
+ },
+ "keycode_decl_array": {
+ "type": "array",
+ "minItems": 1
+ "items": {"$ref": "#/keycode_decl"}
+ },
"mcu_pin_array": {
"type": "array",
"items": {"$ref": "#/mcu_pin"}
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 2afc1ed516..18b3514aa5 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -35,7 +35,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"]
+ "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"]
},
"pin_compatible": {
"type": "string",
@@ -96,6 +96,19 @@
"unknown"
]
},
+ "apa102": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "default_brightness": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 31
+ }
+ }
+ },
"audio": {
"type": "object",
"additionalProperties": false,
@@ -246,6 +259,7 @@
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
+ "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
"layout_aliases": {
"type": "object",
"additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
@@ -686,6 +700,16 @@
"led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
+ },
+ "ws2812": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "driver": {
+ "type": "string",
+ "enum": ["bitbang", "i2c", "pwm", "spi", "vendor"]
+ }
+ }
}
}
}
diff --git a/data/schemas/keycodes.jsonschema b/data/schemas/keycodes.jsonschema
index 77a8347b3b..df6ce95a83 100644
--- a/data/schemas/keycodes.jsonschema
+++ b/data/schemas/keycodes.jsonschema
@@ -8,11 +8,7 @@
"type": "string",
"minLength": 2,
"maxLength": 50,
- "pattern": "^[A-Zs_0-9]*$"
- },
- "hex_number_4d": {
- "type": "string",
- "pattern": "^0x[0-9A-F]{4}$"
+ "pattern": "^[A-Z][A-Zs_0-9]*$"
}
},
"properties": {
@@ -34,10 +30,10 @@
"keycodes": {
"type": "object",
"propertyNames": {
- "$ref": "#/definitions/hex_number_4d"
+ "$ref": "qmk.definitions.v1#/hex_number_4d"
},
"additionalProperties": {
- "type": "object",
+ "type": "object", // use 'qmk.definitions.v1#/keycode_decl' when problem keycodes are removed
"required": [
"key"
],
diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema
index 73aa7c5c22..7233e896e9 100644
--- a/data/schemas/keymap.jsonschema
+++ b/data/schemas/keymap.jsonschema
@@ -67,6 +67,7 @@
}
}
},
+ "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
"config": {"$ref": "qmk.keyboard.v1"},
"notes": {
"type": "string"