summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorprecondition <57645186+precondition@users.noreply.github.com>2022-06-23 20:43:24 +0200
committerGitHub <noreply@github.com>2022-06-23 20:43:24 +0200
commit7060cb7b267e78ba693a77a3346c77c2d4209b01 (patch)
treea76e0c4fb9b8422f8e8cc35acc28783389da4cd5 /data
parent2239527871deef1253ebe885df167726a100f971 (diff)
downloadqmk_firmware-7060cb7b267e78ba693a77a3346c77c2d4209b01.tar.gz
qmk_firmware-7060cb7b267e78ba693a77a3346c77c2d4209b01.zip
Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)
* Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT] * Update stenography documentation * STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT TXBOLT is a better name but BOLT is more consistent with the pre-existing TX Bolt related constants, which all drop the "TX " prefix * Comments * STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all] * Add note on lacking V-USB support * Clear chord at the end of the switch(mode){send_steno_chord} block * Return true if NOEVENT * update_chord_xxx → add_xxx_key_to_chord * Enable the defines for all the protocols if STENO_PROTOCOL = all * Mention how to use `steno_set_mode` * Set the default steno protocol to "all" This is done so that existing keymaps invoking `steno_set_mode` don't all suddenly break * Add data driver equivalents for stenography feature * Document format of serial steno packets (Thanks dnaq) * Add missing comma
Diffstat (limited to 'data')
-rw-r--r--data/mappings/info_rules.json2
-rw-r--r--data/schemas/keyboard.jsonschema11
2 files changed, 13 insertions, 0 deletions
diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json
index 5cdae962a5..279b5ac213 100644
--- a/data/mappings/info_rules.json
+++ b/data/mappings/info_rules.json
@@ -28,6 +28,8 @@
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
+ "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
+ "STENO_PROTOCOL": {"info_key": "stenography.protocol"},
# Items we want flagged in lint
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true},
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 8d9fc4754d..ec5377b3b3 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -361,6 +361,17 @@
}
}
},
+ "stenography": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "protocol": {
+ "type": "string",
+ "enum": ["all", "geminipr", "txbolt"]
+ }
+ }
+ },
"split": {
"type": "object",
"additionalProperties": false,