Update code.py
This commit is contained in:
parent
7424e83989
commit
c157dcde0c
1 changed files with 51 additions and 40 deletions
|
|
@ -11,6 +11,7 @@ key sequences.
|
|||
import os
|
||||
import displayio
|
||||
import terminalio
|
||||
import time
|
||||
from adafruit_display_shapes.rect import Rect
|
||||
from adafruit_display_text import label
|
||||
from adafruit_macropad import MacroPad
|
||||
|
|
@ -48,51 +49,50 @@ class App:
|
|||
|
||||
|
||||
# INITIALIZATION -----------------------
|
||||
if True:
|
||||
macropad = MacroPad()
|
||||
macropad.display.auto_refresh = False
|
||||
macropad.pixels.auto_write = False
|
||||
|
||||
macropad = MacroPad()
|
||||
macropad.display.auto_refresh = False
|
||||
macropad.pixels.auto_write = False
|
||||
# Set up displayio group with all the labels
|
||||
group = displayio.Group()
|
||||
for key_index in range(12):
|
||||
x = key_index % 3
|
||||
y = key_index // 3
|
||||
group.append(label.Label(terminalio.FONT, text='', color=0xFFFFFF,
|
||||
anchored_position=((macropad.display.width - 1) * x / 2,
|
||||
macropad.display.height - 1 -
|
||||
(3 - y) * 12),
|
||||
anchor_point=(x / 2, 1.0)))
|
||||
group.append(Rect(0, 0, macropad.display.width, 12, fill=0xFFFFFF))
|
||||
group.append(label.Label(terminalio.FONT, text='', color=0x000000,
|
||||
anchored_position=(macropad.display.width//2, -2),
|
||||
anchor_point=(0.5, 0.0)))
|
||||
macropad.display.show(group)
|
||||
|
||||
# Set up displayio group with all the labels
|
||||
group = displayio.Group()
|
||||
for key_index in range(12):
|
||||
x = key_index % 3
|
||||
y = key_index // 3
|
||||
group.append(label.Label(terminalio.FONT, text='', color=0xFFFFFF,
|
||||
anchored_position=((macropad.display.width - 1) * x / 2,
|
||||
macropad.display.height - 1 -
|
||||
(3 - y) * 12),
|
||||
anchor_point=(x / 2, 1.0)))
|
||||
group.append(Rect(0, 0, macropad.display.width, 12, fill=0xFFFFFF))
|
||||
group.append(label.Label(terminalio.FONT, text='', color=0x000000,
|
||||
anchored_position=(macropad.display.width//2, -2),
|
||||
anchor_point=(0.5, 0.0)))
|
||||
macropad.display.show(group)
|
||||
# Load all the macro key setups from .py files in MACRO_FOLDER
|
||||
apps = []
|
||||
files = os.listdir(MACRO_FOLDER)
|
||||
files.sort()
|
||||
for filename in files:
|
||||
if filename.endswith('.py'):
|
||||
try:
|
||||
module = __import__(MACRO_FOLDER + '/' + filename[:-3])
|
||||
apps.append(App(module.app))
|
||||
except (SyntaxError, ImportError, AttributeError, KeyError, NameError,
|
||||
IndexError, TypeError) as err:
|
||||
pass
|
||||
|
||||
# Load all the macro key setups from .py files in MACRO_FOLDER
|
||||
apps = []
|
||||
files = os.listdir(MACRO_FOLDER)
|
||||
files.sort()
|
||||
for filename in files:
|
||||
if filename.endswith('.py'):
|
||||
try:
|
||||
module = __import__(MACRO_FOLDER + '/' + filename[:-3])
|
||||
apps.append(App(module.app))
|
||||
except (SyntaxError, ImportError, AttributeError, KeyError, NameError,
|
||||
IndexError, TypeError) as err:
|
||||
if not apps:
|
||||
group[13].text = 'NO MACRO FILES FOUND'
|
||||
macropad.display.refresh()
|
||||
while True:
|
||||
pass
|
||||
|
||||
if not apps:
|
||||
group[13].text = 'NO MACRO FILES FOUND'
|
||||
macropad.display.refresh()
|
||||
while True:
|
||||
pass
|
||||
|
||||
last_position = None
|
||||
last_encoder_switch = macropad.encoder_switch_debounced.pressed
|
||||
app_index = 0
|
||||
apps[app_index].switch()
|
||||
|
||||
last_position = None
|
||||
last_encoder_switch = macropad.encoder_switch_debounced.pressed
|
||||
app_index = 0
|
||||
apps[app_index].switch()
|
||||
|
||||
# MAIN LOOP ----------------------------
|
||||
|
||||
|
|
@ -128,6 +128,15 @@ while True:
|
|||
|
||||
sequence = apps[app_index].macros[key_number][2]
|
||||
if pressed:
|
||||
# the sequence is arbitrary-length
|
||||
# each item in the sequence is either
|
||||
# an integer (e.g., Keycode.KEYPAD_MINUS),
|
||||
# a floating point value (e.g., 0.20)
|
||||
# or a string.
|
||||
# Positive Integers ==> key pressed
|
||||
# Negative Integers ==> key released
|
||||
# Float ==> sleep in seconds
|
||||
# String ==> each key in string pressed & released
|
||||
if key_number < 12: # No pixel for encoder button
|
||||
macropad.pixels[key_number] = 0xFFFFFF
|
||||
macropad.pixels.show()
|
||||
|
|
@ -137,6 +146,8 @@ while True:
|
|||
macropad.keyboard.press(item)
|
||||
else:
|
||||
macropad.keyboard.release(-item)
|
||||
elif isinstance(item, float):
|
||||
time.sleep(item)
|
||||
else:
|
||||
macropad.keyboard_layout.write(item)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Reference in a new issue