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
3727PATH = "path"
3828MAC = "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+
4651class 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