summaryrefslogtreecommitdiff
path: root/src/macros/zim.py
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2023-05-22 08:40:47 +0200
committerSébastien Dailly <sebastien@dailly.me>2023-05-22 08:40:47 +0200
commit597b007333d8ec0d9cfd29e6941fcbe57379108a (patch)
tree0cf87e1ac487e7deb91acf7f2bec70bd4dd06703 /src/macros/zim.py
Initial commit
Diffstat (limited to 'src/macros/zim.py')
-rw-r--r--src/macros/zim.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/macros/zim.py b/src/macros/zim.py
new file mode 100644
index 0000000..fa93c4a
--- /dev/null
+++ b/src/macros/zim.py
@@ -0,0 +1,53 @@
+# SPDX-FileCopyrightText: 2021 Phillip Burgess for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+
+# MACROPAD Hotkeys example: Mouse control
+
+# The syntax for Mouse macros is highly peculiar, in order to maintain
+# backward compatibility with the original keycode-only macro files.
+# The third item for each macro is a list in brackets, and each value within
+# is normally an integer (Keycode), float (delay) or string (typed literally).
+# Consumer Control codes were added as list-within-list, and then mouse
+# further complicates this by adding dicts-within-list. Each mouse-related
+# dict can have any mix of keys 'buttons' w/integer mask of button values
+# (positive to press, negative to release), 'x' w/horizontal motion,
+# 'y' w/vertical and 'wheel' with scrollwheel motion.
+
+# To reference Mouse constants, import Mouse like so...
+from keycode_win_frnb import Keycode # Use the french bepo layout
+
+import skeleton
+from actions import Action
+
+def t1(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.SHIFT, Keycode.ONE])
+
+def t2(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.SHIFT, Keycode.TWO])
+
+def t3(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.SHIFT, Keycode.THREE])
+
+def none(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.SHIFT, Keycode.NINE])
+
+def link(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.L])
+
+def build_application():
+
+ configuration = skeleton.Configuration("Zim")
+ configuration.visible = False
+ configuration.registerKey(0, "T1", t1, 0x000500)
+ configuration.registerKey(3, "T2", t2, 0x000200)
+ configuration.registerKey(6, "T3", t3, 0x000100)
+ configuration.registerKey(9, "None", none, 0x000000)
+
+ configuration.registerKey(2, "Link", link, 0x020002)
+
+
+ return configuration
+
+configuration = build_application()
+