device: fix small bugs uncovered by testing

This commit is contained in:
Peter F. Patel-Schneider 2024-04-01 18:11:59 -04:00
parent 9bb2a1ff5c
commit 269e970aa6
1 changed files with 3 additions and 11 deletions

View File

@ -100,7 +100,7 @@ class Device:
self._tid_map = None # map from transports to product identifiers self._tid_map = None # map from transports to product identifiers
self._persister = None # persister holds settings self._persister = None # persister holds settings
self._led_effects = self._firmware = self._keys = self._remap_keys = self._gestures = None self._led_effects = self._firmware = self._keys = self._remap_keys = self._gestures = None
self._profiles = self._backlight = self._registers = self._settings = None self._profiles = self._backlight = self.registers = self._settings = None
self.notification_flags = None self.notification_flags = None
self.battery_info = None self.battery_info = None
self.link_encrypted = None self.link_encrypted = None
@ -150,6 +150,7 @@ class Device:
if self._kind is None: if self._kind is None:
self._kind = self.descriptor.kind self._kind = self.descriptor.kind
self._protocol = self.descriptor.protocol if self.descriptor.protocol else None self._protocol = self.descriptor.protocol if self.descriptor.protocol else None
self.registers = self.descriptor.registers if self.descriptor.registers else []
if self._protocol is not None: if self._protocol is not None:
self.features = None if self._protocol < 2.0 else hidpp20.FeaturesArray(self) self.features = None if self._protocol < 2.0 else hidpp20.FeaturesArray(self)
@ -197,7 +198,7 @@ class Device:
pass pass
if self.online and self.protocol >= 2.0: if self.online and self.protocol >= 2.0:
self._name = _hidpp20.get_name(self) self._name = _hidpp20.get_name(self)
return self._name or self._codename or ("Unknown device %s" % (self.wpid or self.product_id)) return self._name or self._codename or ("Unknown device %s" % (self.wpid or hex(self.product_id)[2:].upper()))
def get_ids(self): def get_ids(self):
ids = _hidpp20.get_ids(self) ids = _hidpp20.get_ids(self)
@ -304,15 +305,6 @@ class Device:
self._profiles = _hidpp20.get_profiles(self) self._profiles = _hidpp20.get_profiles(self)
return self._profiles return self._profiles
@property
def registers(self):
if not self._registers:
if self.descriptor and self.descriptor.registers:
self._registers = list(self.descriptor.registers)
else:
self._registers = []
return self._registers
@property @property
def settings(self): def settings(self):
if not self._settings: if not self._settings: