summaryrefslogtreecommitdiffstats
path: root/data
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2021-08-18 21:52:41 +0100
committerGitHub <noreply@github.com>2021-08-18 21:52:41 +0100
commit2e734fb6b9e3480854b794218d381559aab431b7 (patch)
tree2bec5639b3dd200c640cd8c76b8c2b614f67e34b /data
parent10fab4ec077354f41d19f01798a49e5864a189cd (diff)
Add config.h and rules.mk support for data driven keymaps (#12859)
* Add config.h and rules.mk support for data driven keymaps * tidy up after rebase * Rename key as it can contain more than just keyboard overrides * tidy up after rebase * Add validation
Diffstat (limited to 'data')
-rw-r--r--data/mappings/info_config.json2
-rw-r--r--data/schemas/keymap.jsonschema24
2 files changed, 26 insertions, 0 deletions
diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json
index 18477f9129..72bb0f4a1c 100644
--- a/data/mappings/info_config.json
+++ b/data/mappings/info_config.json
@@ -18,6 +18,8 @@
"DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
+ "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
+ "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
"IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
"IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema
new file mode 100644
index 0000000000..35c5b5c98e
--- /dev/null
+++ b/data/schemas/keymap.jsonschema
@@ -0,0 +1,24 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "qmk.keymap.v1",
+ "title": "Keymap Information",
+ "type": "object",
+ "properties": {
+ "author": {"$ref": "qmk.definitions.v1#/text_identifier"},
+ "keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
+ "keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
+ "layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
+ "layers": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {"type": "string"}
+ }
+ },
+ "config": {"$ref": "qmk.keyboard.v1"},
+ "notes": {
+ "type": "string",
+ "description": "asdf"
+ }
+ }
+} \ No newline at end of file