@@ -32,7 +32,7 @@ class __Device(TypedDict, total=False):
32
32
33
33
class _Device (__Device ):
34
34
id : str
35
- device_class : str
35
+ instance : str
36
36
name : str
37
37
hidraw : str
38
38
events : list [str ]
@@ -132,8 +132,8 @@ def __init__(self, device: _Device, filter: HIDMessageFilter,
132
132
self .loop = loop
133
133
self .filter = filter
134
134
self .device_registry = device_registry
135
- self .device_id = device ["id " ]
136
- self .device_class = device ["device_class " ]
135
+ self .device_id = device ["instance " ]
136
+ self .device_class = device ["id " ]
137
137
self .name = device ["name" ]
138
138
self .hidraw = device ["hidraw" ]
139
139
self .events = device ["events" ]
@@ -311,11 +311,11 @@ def _filter(d: evdev.InputDevice) -> bool:
311
311
break
312
312
events .extend (input_events )
313
313
314
- device_class = device .split ("." )[0 ]
315
- devs .append ({"id" : device , "device_class " : device_class ,
314
+ device_id = device .split ("." )[0 ]
315
+ devs .append ({"id" : device_id , "instance " : device ,
316
316
"name" : name , "hidraw" : hidraw , "events" : events ,
317
317
"compatibility_mode" : compatibility_mode })
318
- devs_dict [device ] = device_class
318
+ devs_dict [device ] = device_id
319
319
if compatibility_mode : devs_in_compatibility_mode .append (device )
320
320
except Exception as exc :
321
321
print ("Error while loading HID device: " , device , ", Error: " , exc ,", Skipping." )
@@ -332,17 +332,17 @@ def _filter(d: evdev.InputDevice) -> bool:
332
332
del hid_device
333
333
334
334
for dev_dict in devs :
335
- if dev_dict ["id " ] not in self .capturing_devices and self .__is_configured_capturing_device (dev_dict ["id" ]) and dev_dict ["id " ] not in devs_in_compatibility_mode :
335
+ if dev_dict ["instance " ] not in self .capturing_devices and self .__is_configured_capturing_device (dev_dict ["id" ]) and dev_dict ["instance " ] not in devs_in_compatibility_mode :
336
336
#create capturing device
337
- self .capturing_devices [dev_dict ["id " ]] = HIDDevice (dev_dict , self .__get_configured_device_filter (dev_dict ["id" ]), self .loop , self )
337
+ self .capturing_devices [dev_dict ["instance " ]] = HIDDevice (dev_dict , self .__get_configured_device_filter (dev_dict ["id" ]), self .loop , self )
338
338
339
339
recreate_sdp = False
340
340
# Refresh or create config details for currently connected devices.
341
341
for hid_dev in self .capturing_devices .values ():
342
- dev_config = self .devices_config .get (hid_dev .device_id )
342
+ dev_config = self .devices_config .get (hid_dev .device_class )
343
343
if not dev_config :
344
344
dev_config = {}
345
- self .devices_config [hid_dev .device_id ] = dev_config
345
+ self .devices_config [hid_dev .device_class ] = dev_config
346
346
recreate_sdp = True
347
347
348
348
dev_config ["descriptor" ] = hid_dev .descriptor
@@ -373,7 +373,7 @@ def _filter(d: evdev.InputDevice) -> bool:
373
373
374
374
# Update the mapped IDs based on latest information.
375
375
for hid_dev in self .capturing_devices .values ():
376
- config_ids = self .devices_config [hid_dev .device_id ]["mapped_ids" ]
376
+ config_ids = self .devices_config [hid_dev .device_class ]["mapped_ids" ]
377
377
hid_dev .mapped_ids = {k : v .to_bytes (1 , "big" ) for k ,v in config_ids .items ()}
378
378
self .devices = devs
379
379
@@ -389,8 +389,9 @@ def set_device_filter(self, device_id: str, filter_id: str) -> None:
389
389
self .devices_config [device_id ][FILTER_ELEMENT ] = filter_id
390
390
self .__save_config ()
391
391
filter = self .__get_configured_device_filter (device_id )
392
- if dev := self .capturing_devices .get (device_id ):
393
- dev .set_device_filter (filter )
392
+ for dev in self .capturing_devices :
393
+ if self .capturing_devices [dev ].device_class == device_id :
394
+ self .capturing_devices [dev ].set_device_filter (filter )
394
395
395
396
def set_compatibility_device (self , device_path : str , compatibility_state : bool ) -> None :
396
397
if DEVICES_CONFIG_COMPATIBILITY_DEVICE_KEY not in self .devices_config :
0 commit comments