receiver: use only product records to determine whether receivers can unpair
This commit is contained in:
parent
5ed4c05db8
commit
a1aa584b7e
|
@ -56,7 +56,8 @@ _unifying_receiver = lambda product_id: {
|
||||||
'usb_interface': 2,
|
'usb_interface': 2,
|
||||||
'hid_driver': _DRIVER, # noqa: F821
|
'hid_driver': _DRIVER, # noqa: F821
|
||||||
'name': _('Unifying Receiver'),
|
'name': _('Unifying Receiver'),
|
||||||
'receiver_kind': 'unifying'
|
'receiver_kind': 'unifying',
|
||||||
|
'may_unpair': True
|
||||||
}
|
}
|
||||||
|
|
||||||
_nano_receiver = lambda product_id: {
|
_nano_receiver = lambda product_id: {
|
||||||
|
@ -112,7 +113,8 @@ _lenovo_receiver = lambda product_id: {
|
||||||
'usb_interface': 1,
|
'usb_interface': 1,
|
||||||
'hid_driver': _DRIVER, # noqa: F821
|
'hid_driver': _DRIVER, # noqa: F821
|
||||||
'name': _('Nano Receiver'),
|
'name': _('Nano Receiver'),
|
||||||
'receiver_kind': 'nano'
|
'receiver_kind': 'nano',
|
||||||
|
'may_unpair': False
|
||||||
}
|
}
|
||||||
|
|
||||||
_lightspeed_receiver = lambda product_id: {
|
_lightspeed_receiver = lambda product_id: {
|
||||||
|
@ -120,7 +122,8 @@ _lightspeed_receiver = lambda product_id: {
|
||||||
'product_id': product_id,
|
'product_id': product_id,
|
||||||
'usb_interface': 2,
|
'usb_interface': 2,
|
||||||
'hid_driver': _DRIVER, # noqa: F821
|
'hid_driver': _DRIVER, # noqa: F821
|
||||||
'name': _('Lightspeed Receiver')
|
'name': _('Lightspeed Receiver'),
|
||||||
|
'may_unpair': False
|
||||||
}
|
}
|
||||||
|
|
||||||
_ex100_receiver = lambda product_id: {
|
_ex100_receiver = lambda product_id: {
|
||||||
|
|
|
@ -76,12 +76,7 @@ class Receiver:
|
||||||
self.last_id = ord(serial_reply[7:8])
|
self.last_id = ord(serial_reply[7:8])
|
||||||
if self.max_devices <= 0 or self.max_devices > 6:
|
if self.max_devices <= 0 or self.max_devices > 6:
|
||||||
self.max_devices = product_info.get('max_devices', 1)
|
self.max_devices = product_info.get('max_devices', 1)
|
||||||
# TODO _properly_ figure out which receivers do and which don't support unpairing
|
self.may_unpair = product_info.get('may_unpair', False)
|
||||||
# This code supposes that receivers that don't unpair support a pairing request for device index 0
|
|
||||||
if 'unpair' in product_info:
|
|
||||||
self.may_unpair = product_info['unpair']
|
|
||||||
else:
|
|
||||||
self.may_unpair = self.write_register(_R.receiver_pairing) is None
|
|
||||||
else: # handle receivers that don't have a serial number specially (i.e., c534 and Bolt receivers)
|
else: # handle receivers that don't have a serial number specially (i.e., c534 and Bolt receivers)
|
||||||
self.serial = None
|
self.serial = None
|
||||||
self.max_devices = product_info.get('max_devices', 1)
|
self.max_devices = product_info.get('max_devices', 1)
|
||||||
|
|
Loading…
Reference in New Issue