Skip to content

Commit c48a331

Browse files
committed
Create objects when needed.
1 parent 54d0055 commit c48a331

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

adafruit_macropad.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,10 @@ def _keys_and_pixels(order=None):
161161
self._sine_wave_sample = None
162162

163163
# Define HID:
164-
self._keyboard = Keyboard(usb_hid.devices)
165-
# This will need to be updated if we add more keyboard layouts. Currently there is only US.
166-
self._keyboard_layout = KeyboardLayoutUS(self._keyboard)
167-
self._consumer_control = ConsumerControl(usb_hid.devices)
168-
self._mouse = Mouse(usb_hid.devices)
164+
self._keyboard = None
165+
self._keyboard_layout = None
166+
self._consumer_control = None
167+
self._mouse = None
169168

170169
# Define MIDI:
171170
self._midi = adafruit_midi.MIDI(
@@ -380,6 +379,8 @@ def keyboard(self):
380379
if macropad.encoder_switch:
381380
macropad.keyboard.send(macropad.Keycode.A)
382381
"""
382+
if self._keyboard is None:
383+
self._keyboard = Keyboard(usb_hid.devices)
383384
return self._keyboard
384385

385386
@property
@@ -402,6 +403,10 @@ def keyboard_layout(self):
402403
if macropad.encoder_switch:
403404
macropad.keyboard_layout.write("Hello World")
404405
"""
406+
if self._keyboard is None:
407+
self._keyboard = Keyboard(usb_hid.devices)
408+
# This will need to be updated if we add more keyboard layouts. Currently there is only US.
409+
self._keyboard_layout = KeyboardLayoutUS(self._keyboard)
405410
return self._keyboard_layout
406411

407412
@property
@@ -421,6 +426,8 @@ def consumer_control(self):
421426
if macropad.encoder_switch:
422427
macropad.consumer_control.send(macropad.ConsumerControlCode.VOLUME_DECREMENT)
423428
"""
429+
if self._consumer_control is None:
430+
self._consumer_control = ConsumerControl(usb_hid.devices)
424431
return self._consumer_control
425432

426433
@property
@@ -441,6 +448,8 @@ def mouse(self):
441448
if macropad.encoder_switch:
442449
macropad.mouse.click(macropad.Mouse.LEFT_BUTTON)
443450
"""
451+
if self._mouse is None:
452+
self._mouse = Mouse(usb_hid.devices)
444453
return self._mouse
445454

446455
@property

0 commit comments

Comments
 (0)