Skip to content

Commit 6896322

Browse files
committed
Defer USB device init
1 parent c438fe1 commit 6896322

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

src/bluetooth_2_usb/relay.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,9 @@
2020

2121

2222
_logger = get_logger()
23-
24-
usb_hid.enable(
25-
[
26-
Device.MOUSE,
27-
Device.KEYBOARD,
28-
Device.CONSUMER_CONTROL,
29-
]
30-
)
31-
_logger.debug(f"Available USB devices: {usb_hid.devices}")
32-
33-
_keyboard_gadget = Keyboard(usb_hid.devices)
34-
_mouse_gadget = Mouse(usb_hid.devices)
35-
_consumer_gadget = ConsumerControl(usb_hid.devices)
23+
_keyboard_gadget: Keyboard = None
24+
_mouse_gadget: Mouse = None
25+
_consumer_gadget: ConsumerControl = None
3626

3727
PATH = "path"
3828
MAC = "MAC"
@@ -43,6 +33,21 @@ def list_readable_devices() -> list[InputDevice]:
4333
return [InputDevice(path) for path in list_devices()]
4434

4535

36+
def init_usb_devices() -> None:
37+
usb_hid.enable(
38+
[
39+
Device.MOUSE,
40+
Device.KEYBOARD,
41+
Device.CONSUMER_CONTROL,
42+
]
43+
)
44+
_logger.debug(f"Available USB devices: {usb_hid.devices}")
45+
global _keyboard_gadget, _mouse_gadget, _consumer_gadget
46+
_keyboard_gadget = Keyboard(usb_hid.devices)
47+
_mouse_gadget = Mouse(usb_hid.devices)
48+
_consumer_gadget = ConsumerControl(usb_hid.devices)
49+
50+
4651
class DeviceIdentifier:
4752
def __init__(self, device_identifier: str) -> None:
4853
self._value = device_identifier
@@ -166,6 +171,7 @@ class RelayController:
166171
def __init__(
167172
self, device_identifiers: list[str] = None, auto_discover: bool = False
168173
) -> None:
174+
init_usb_devices()
169175
if not device_identifiers:
170176
device_identifiers = []
171177
self._device_ids = [DeviceIdentifier(id) for id in device_identifiers]

0 commit comments

Comments
 (0)