summaryrefslogtreecommitdiff
path: root/src/macros/santana.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/santana.py
Initial commit
Diffstat (limited to 'src/macros/santana.py')
-rw-r--r--src/macros/santana.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/macros/santana.py b/src/macros/santana.py
new file mode 100644
index 0000000..2fd88c3
--- /dev/null
+++ b/src/macros/santana.py
@@ -0,0 +1,47 @@
+# 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
+from adafruit_hid.mouse import Mouse
+
+import skeleton
+from actions import Action
+
+def groovy(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.G])
+
+def log(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.L])
+
+def dql(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.SHIFT, Keycode.F])
+
+def package(macropad, key, pressed):
+ Action().key(pressed, [Keycode.CONTROL, Keycode.P])
+
+def build_application():
+
+ configuration = skeleton.Configuration("Santana")
+ configuration.visible = False
+ configuration.registerKey(0, "groovy", groovy, 0x000500)
+ configuration.registerKey(1, "logs", log, 0x000005)
+
+ configuration.registerKey(3, "dql", dql, 0x050500)
+ configuration.registerKey(4, "package",package, 0x050000)
+ return configuration
+
+configuration = build_application()