From 08ce0142bad40f22d05d33fdef8a7c8907154e96 Mon Sep 17 00:00:00 2001 From: Zach White Date: Mon, 22 Nov 2021 11:11:35 -0800 Subject: 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 * escape backslash characters * format * flake8 * Update quantum/quantum_keycodes.h Co-authored-by: Nick Brassel --- keyboards/handwired/pytest/macro/.noci | 0 keyboards/handwired/pytest/macro/info.json | 10 ++++++++++ .../handwired/pytest/macro/keymaps/default/keymap.json | 15 +++++++++++++++ keyboards/handwired/pytest/macro/readme.md | 0 keyboards/handwired/pytest/macro/rules.mk | 1 + 5 files changed, 26 insertions(+) create mode 100644 keyboards/handwired/pytest/macro/.noci create mode 100644 keyboards/handwired/pytest/macro/info.json create mode 100644 keyboards/handwired/pytest/macro/keymaps/default/keymap.json create mode 100644 keyboards/handwired/pytest/macro/readme.md create mode 100644 keyboards/handwired/pytest/macro/rules.mk (limited to 'keyboards/handwired') diff --git a/keyboards/handwired/pytest/macro/.noci b/keyboards/handwired/pytest/macro/.noci new file mode 100644 index 0000000000..e69de29bb2 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 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 -- cgit v1.2.3