diff options
author | Joel Challis <git@zvecr.com> | 2021-08-18 21:52:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-18 21:52:41 +0100 |
commit | 2e734fb6b9e3480854b794218d381559aab431b7 (patch) | |
tree | 2bec5639b3dd200c640cd8c76b8c2b614f67e34b /data | |
parent | 10fab4ec077354f41d19f01798a49e5864a189cd (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.json | 2 | ||||
-rw-r--r-- | data/schemas/keymap.jsonschema | 24 |
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 |