summaryrefslogtreecommitdiff
path: root/src/macros/3-fkeys.py
blob: c35c50067dfa06f595ba0107f6533702966e1a8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# 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 adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values

import skeleton
from actions import Action

def build_application():
    configuration = skeleton.Configuration("F-Keys")
    configuration.registerKey(
            0,
            "F13",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F13]),
            None)
    configuration.registerKey(
            1,
            "F14",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F14]),
            None)
    configuration.registerKey(
            2,
            "F15",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F15]),
            None)
    configuration.registerKey(
            3,
            "F16",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F16]),
            None)
    configuration.registerKey(
            4,
            "F17",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F17]),
            None)
    configuration.registerKey(
            5,
            "F18",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F18]),
            None)
    configuration.registerKey(
            6,
            "F19",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F19]),
            None)
    configuration.registerKey(
            7,
            "F20",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F20]),
            None)
    configuration.registerKey(
            8,
            "F21",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F21]),
            None)
    configuration.registerKey(
            9,
            "F22",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F22]),
            None)
    configuration.registerKey(
            10,
            "F23",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F23]),
            None)
    configuration.registerKey(
            11,
            "F24",
            lambda macropad, key, pressed: Action().key(pressed, [Keycode.F24]),
            None)
    return configuration

configuration = build_application()