summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2021-11-22 11:11:35 -0800
committerGitHub <noreply@github.com>2021-11-22 11:11:35 -0800
commit08ce0142bad40f22d05d33fdef8a7c8907154e96 (patch)
tree5b5da4650a76ec902a550e2719b79ffc2a73d74d /keyboards
parent8181b155dbfd07561200b30b52a4046f2da92248 (diff)
downloadqmk_firmware-08ce0142bad40f22d05d33fdef8a7c8907154e96.tar.gz
qmk_firmware-08ce0142bad40f22d05d33fdef8a7c8907154e96.zip
Macros in JSON keymaps (#14374)
* macros in json keymaps * add advanced macro support to json * add a note about escaping macro strings * add simple examples * format json * add support for language specific keymap extras * switch to dictionaries instead of inline text for macros * use SS_TAP on the innermost tap keycode * add the new macro format to the schema * document the macro limit * add the json keyword for syntax highlighting * fix format that vscode screwed up * Update feature_macros.md * add tests for macros * change ding to beep * add json support for SENDSTRING_BELL * update doc based on feedback from sigprof * document host_layout * remove unused var * improve carriage return handling * support tab characters as well * Update docs/feature_macros.md Co-authored-by: Nick Brassel <nick@tzarc.org> * escape backslash characters * format * flake8 * Update quantum/quantum_keycodes.h Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/handwired/pytest/macro/.noci0
-rw-r--r--keyboards/handwired/pytest/macro/info.json10
-rw-r--r--keyboards/handwired/pytest/macro/keymaps/default/keymap.json15
-rw-r--r--keyboards/handwired/pytest/macro/readme.md0
-rw-r--r--keyboards/handwired/pytest/macro/rules.mk1
5 files changed, 26 insertions, 0 deletions
diff --git a/keyboards/handwired/pytest/macro/.noci b/keyboards/handwired/pytest/macro/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/pytest/macro/.noci
diff --git a/keyboards/handwired/pytest/macro/info.json b/keyboards/handwired/pytest/macro/info.json
new file mode 100644
index 0000000000..ed052a14a3
--- /dev/null
+++ b/keyboards/handwired/pytest/macro/info.json
@@ -0,0 +1,10 @@
+{
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT_custom": {
+ "layout": [
+ { "label": "KC_Q", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/pytest/macro/keymaps/default/keymap.json b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json
new file mode 100644
index 0000000000..f319d862d8
--- /dev/null
+++ b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json
@@ -0,0 +1,15 @@
+{
+ "keyboard": "handwired/pytest/basic",
+ "keymap": "default_json",
+ "layout": "LAYOUT_ortho_1x1",
+ "layers": [["MACRO_0"]],
+ "macros": [
+ [
+ "Hello, World!",
+ {"action":"tap", "keycodes":["ENTER"]}
+ ]
+ ],
+ "author": "qmk",
+ "notes": "This file is a keymap.json file for handwired/pytest/basic",
+ "version": 1
+}
diff --git a/keyboards/handwired/pytest/macro/readme.md b/keyboards/handwired/pytest/macro/readme.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/pytest/macro/readme.md
diff --git a/keyboards/handwired/pytest/macro/rules.mk b/keyboards/handwired/pytest/macro/rules.mk
new file mode 100644
index 0000000000..6b42774dbf
--- /dev/null
+++ b/keyboards/handwired/pytest/macro/rules.mk
@@ -0,0 +1 @@
+MCU = atmega32u4