device: allow device descriptors without name and codename
This commit is contained in:
parent
f8a6396cdf
commit
a51bcfb376
|
@ -57,7 +57,6 @@ def _D(
|
|||
interface=None,
|
||||
btid=None,
|
||||
):
|
||||
assert name
|
||||
|
||||
if kind is None:
|
||||
kind = (
|
||||
|
@ -66,13 +65,7 @@ def _D(
|
|||
)
|
||||
assert kind is not None, 'descriptor for %s does not have kind set' % name
|
||||
|
||||
# heuristic: the codename is the last word in the device name
|
||||
if codename is None and ' ' in name:
|
||||
codename = name.split(' ')[-1]
|
||||
assert codename is not None, 'descriptor for %s does not have codename set' % name
|
||||
|
||||
if protocol is not None:
|
||||
|
||||
if wpid:
|
||||
for w in wpid if isinstance(wpid, tuple) else (wpid, ):
|
||||
if protocol > 1.0:
|
||||
|
@ -104,7 +97,8 @@ def _D(
|
|||
assert found is None, 'duplicate btid in device descriptors: %s' % (found, )
|
||||
|
||||
assert codename not in DEVICES, 'duplicate codename in device descriptors: %s' % (DEVICES[codename], )
|
||||
DEVICES[codename] = device_descriptor
|
||||
if codename:
|
||||
DEVICES[codename] = device_descriptor
|
||||
|
||||
if wpid:
|
||||
for w in wpid if isinstance(wpid, tuple) else (wpid, ):
|
||||
|
@ -181,25 +175,27 @@ def get_btid(btid):
|
|||
|
||||
_D('Wireless Keyboard S510', codename='S510', protocol=1.0, wpid='0056', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard EX100', codename='EX100', protocol=1.0, wpid='0065', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard MK300', protocol=1.0, wpid='0068', registers=(_R.battery_status, ))
|
||||
_D('Number Pad N545', protocol=1.0, wpid='2006', registers=(_R.battery_status, ))
|
||||
_D('Wireless Compact Keyboard K340', protocol=1.0, wpid='2007', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard MK700', protocol=1.0, wpid='2008', registers=(_R.battery_status, ), settings=[_ST.RegisterFnSwap])
|
||||
_D('Wireless Wave Keyboard K350', protocol=1.0, wpid='200A', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard MK320', protocol=1.0, wpid='200F', registers=(_R.battery_status, ))
|
||||
_D('Wireless Illuminated Keyboard K800', protocol=1.0, wpid='2010',
|
||||
_D('Wireless Keyboard MK300', codename='MK300', protocol=1.0, wpid='0068', registers=(_R.battery_status, ))
|
||||
_D('Number Pad N545', codename='N545', protocol=1.0, wpid='2006', registers=(_R.battery_status, ))
|
||||
_D('Wireless Compact Keyboard K340', codename='K340', protocol=1.0, wpid='2007', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard MK700', codename='MK700', protocol=1.0, wpid='2008',
|
||||
registers=(_R.battery_status, ), settings=[_ST.RegisterFnSwap])
|
||||
_D('Wireless Wave Keyboard K350', codename='K350', protocol=1.0, wpid='200A', registers=(_R.battery_status, ))
|
||||
_D('Wireless Keyboard MK320', codename='MK320', protocol=1.0, wpid='200F', registers=(_R.battery_status, ))
|
||||
_D('Wireless Illuminated Keyboard K800', codename='K800', protocol=1.0, wpid='2010',
|
||||
registers=(_R.battery_status, _R.three_leds), settings=[_ST.RegisterFnSwap, _ST.RegisterHandDetection])
|
||||
_D('Wireless Keyboard K520', protocol=1.0, wpid='2011', registers=(_R.battery_status, ), settings=[_ST.RegisterFnSwap])
|
||||
_D('Wireless Solar Keyboard K750', protocol=2.0, wpid='4002', settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard K270 (unifying)', protocol=2.0, wpid='4003')
|
||||
_D('Wireless Keyboard K360', protocol=2.0, wpid='4004', settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard K230', protocol=2.0, wpid='400D')
|
||||
_D('Wireless Touch Keyboard K400', protocol=2.0, wpid=('400E', '4024'), settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard MK270', protocol=2.0, wpid='4023', settings=[_ST.FnSwap])
|
||||
_D('Illuminated Living-Room Keyboard K830', protocol=2.0, wpid='4032', settings=[_ST.NewFnSwap])
|
||||
_D('Wireless Keyboard K520', codename='K520', protocol=1.0, wpid='2011',
|
||||
registers=(_R.battery_status, ), settings=[_ST.RegisterFnSwap])
|
||||
_D('Wireless Solar Keyboard K750', codename='K750', protocol=2.0, wpid='4002', settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard K270 (unifying)', codename='K270', protocol=2.0, wpid='4003')
|
||||
_D('Wireless Keyboard K360', codename='K360', protocol=2.0, wpid='4004', settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard K230', codename='K230', protocol=2.0, wpid='400D')
|
||||
_D('Wireless Touch Keyboard K400', codename='K400', protocol=2.0, wpid=('400E', '4024'), settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard MK270', codename='MK270', protocol=2.0, wpid='4023', settings=[_ST.FnSwap])
|
||||
_D('Illuminated Living-Room Keyboard K830', codename='K830', protocol=2.0, wpid='4032', settings=[_ST.NewFnSwap])
|
||||
_D('Wireless Touch Keyboard K400 Plus', codename='K400 Plus', protocol=2.0, wpid='404D')
|
||||
_D('Wireless Multi-Device Keyboard K780', protocol=4.5, wpid='405B', settings=[_ST.NewFnSwap])
|
||||
_D('Wireless Keyboard K375s', protocol=2.0, wpid='4061', settings=[_ST.K375sFnSwap])
|
||||
_D('Wireless Multi-Device Keyboard K780', codename='K780', protocol=4.5, wpid='405B', settings=[_ST.NewFnSwap])
|
||||
_D('Wireless Keyboard K375s', codename='K375s', protocol=2.0, wpid='4061', settings=[_ST.K375sFnSwap])
|
||||
_D('Craft Advanced Keyboard', codename='Craft', protocol=4.5, wpid='4066', btid=0xB350)
|
||||
_D('Wireless Illuminated Keyboard K800 new', codename='K800 new', protocol=4.5, wpid='406E', settings=[_ST.FnSwap])
|
||||
_D('Wireless Keyboard K470', codename='K470', protocol=4.5, wpid='4075', settings=[_ST.FnSwap])
|
||||
|
@ -246,30 +242,32 @@ _D('Performance Mouse MX', codename='Performance MX', protocol=1.0, wpid='101A',
|
|||
settings=[_PerformanceMXDpi, _ST.RegisterSmoothScroll, _ST.RegisterSideScroll])
|
||||
_D('Marathon Mouse M705 (M-R0009)', codename='M705 (M-R0009)', protocol=1.0, wpid='101B',
|
||||
registers=(_R.battery_charge, ), settings=[_ST.RegisterSmoothScroll, _ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M350', protocol=1.0, wpid='101C', registers=(_R.battery_charge, ))
|
||||
_D('Wireless Mouse M350', codename='M350', protocol=1.0, wpid='101C', registers=(_R.battery_charge, ))
|
||||
_D('Wireless Mouse M505', codename='M505/B605', protocol=1.0, wpid='101D',
|
||||
registers=(_R.battery_charge, ), settings=[_ST.RegisterSmoothScroll, _ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M305', protocol=1.0, wpid='101F', registers=(_R.battery_status, ), settings=[_ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M215', protocol=1.0, wpid='1020')
|
||||
_D('Wireless Mouse M305', codename='M305', protocol=1.0, wpid='101F',
|
||||
registers=(_R.battery_status, ), settings=[_ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M215', codename='M215', protocol=1.0, wpid='1020')
|
||||
_D('G700 Gaming Mouse', codename='G700', protocol=1.0, wpid='1023', usbid=0xc06b, interface=1,
|
||||
registers=(_R.battery_status, _R.three_leds,), settings=[_ST.RegisterSmoothScroll, _ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M310', protocol=1.0, wpid='1024', registers=(_R.battery_status, ))
|
||||
_D('Wireless Mouse M510', protocol=1.0, wpid='1025', registers=(_R.battery_status, ), settings=[_ST.RegisterSideScroll])
|
||||
_D('Wireless Mouse M310', codename='M310', protocol=1.0, wpid='1024', registers=(_R.battery_status, ))
|
||||
_D('Wireless Mouse M510', codename='M510', protocol=1.0, wpid='1025',
|
||||
registers=(_R.battery_status, ), settings=[_ST.RegisterSideScroll])
|
||||
_D('Fujitsu Sonic Mouse', codename='Sonic', protocol=1.0, wpid='1029')
|
||||
_D('G700s Gaming Mouse', codename='G700s', protocol=1.0, wpid='102A', usbid=0xc07c, interface=1,
|
||||
registers=(_R.battery_status, _R.three_leds,), settings=[_ST.RegisterSmoothScroll, _ST.RegisterSideScroll])
|
||||
_D('Couch Mouse M515', protocol=2.0, wpid='4007')
|
||||
_D('Wireless Mouse M175', protocol=2.0, wpid='4008')
|
||||
_D('Wireless Mouse M325', protocol=2.0, wpid='400A', settings=[_ST.HiResScroll])
|
||||
_D('Wireless Mouse M525', protocol=2.0, wpid='4013')
|
||||
_D('Wireless Mouse M345', protocol=2.0, wpid='4017')
|
||||
_D('Wireless Mouse M187', protocol=2.0, wpid='4019')
|
||||
_D('Touch Mouse M600', protocol=2.0, wpid='401A')
|
||||
_D('Wireless Mouse M150', protocol=2.0, wpid='4022')
|
||||
_D('Wireless Mouse M185', protocol=2.0, wpid='4038')
|
||||
_D('Couch Mouse M515', codename='M515', protocol=2.0, wpid='4007')
|
||||
_D('Wireless Mouse M175', codename='M175', protocol=2.0, wpid='4008')
|
||||
_D('Wireless Mouse M325', codename='M325', protocol=2.0, wpid='400A', settings=[_ST.HiResScroll])
|
||||
_D('Wireless Mouse M525', codename='M525', protocol=2.0, wpid='4013')
|
||||
_D('Wireless Mouse M345', codename='M345', protocol=2.0, wpid='4017')
|
||||
_D('Wireless Mouse M187', codename='M187', protocol=2.0, wpid='4019')
|
||||
_D('Touch Mouse M600', codename='M600', protocol=2.0, wpid='401A')
|
||||
_D('Wireless Mouse M150', codename='M150', protocol=2.0, wpid='4022')
|
||||
_D('Wireless Mouse M185', codename='M185', protocol=2.0, wpid='4038')
|
||||
_D('Wireless Mouse MX Master', codename='MX Master', protocol=4.5, wpid='4041', btid=0xb012)
|
||||
_D('Anywhere Mouse MX 2', codename='Anywhere MX 2', protocol=4.5, wpid='404A', settings=[_ST.HiresSmoothInvert])
|
||||
_D('Wireless Mouse M510', protocol=2.0, wpid='4051', codename='M510v2')
|
||||
_D('Wireless Mouse M510', codename='M510v2', protocol=2.0, wpid='4051')
|
||||
_D('Wireless Mouse M185 new', codename='M185n', protocol=4.5, wpid='4054')
|
||||
_D('Wireless Mouse M185/M235/M310', codename='M185/M235/M310', protocol=4.5, wpid='4055')
|
||||
_D('Wireless Mouse MX Master 2S', codename='MX Master 2S', protocol=4.5, wpid='4069', btid=0xb019,
|
||||
|
@ -278,7 +276,7 @@ _D('Multi Device Silent Mouse M585/M590', codename='M585/M590', protocol=4.5, wp
|
|||
_D('Marathon Mouse M705 (M-R0073)', codename='M705 (M-R0073)', protocol=4.5, wpid='406D',
|
||||
settings=[_ST.HiresSmoothInvert, _ST.PointerSpeed])
|
||||
_D('MX Vertical Wireless Mouse', codename='MX Vertical', protocol=4.5, wpid='407B', btid=0xb020, usbid=0xc08a)
|
||||
_D('Wireless Mouse Pebble M350', protocol=2.0, wpid='4080', codename='Pebble')
|
||||
_D('Wireless Mouse Pebble M350', codename='Pebble', protocol=2.0, wpid='4080')
|
||||
_D('MX Master 3 Wireless Mouse', codename='MX Master 3', protocol=4.5, wpid='4082', btid=0xb023)
|
||||
_D('PRO X Wireless', kind='mouse', codename='PRO X', wpid='4093', usbid=0xc094)
|
||||
|
||||
|
@ -296,7 +294,7 @@ _D('G502 Lightspeed Gaming Mouse', codename='G502 Lightspeed', usbid=0xc08d)
|
|||
_D('MX518 Gaming Mouse', codename='MX518', usbid=0xc08e, interface=1)
|
||||
_D('G703 Hero Gaming Mouse', codename='G703 Hero', usbid=0xc090)
|
||||
_D('G903 Hero Gaming Mouse', codename='G903 Hero', usbid=0xc091)
|
||||
_D('G102 Lightsync Mouse', codename='G102', usbid=0xc092, interface=1)
|
||||
_D(None, kind=_DK.mouse, usbid=0xc092, interface=1) # two mice share this ID
|
||||
_D('M500S Mouse', codename='M500S', usbid=0xc093, interface=1)
|
||||
# _D('G600 Gaming Mouse', codename='G600 Gaming', usbid=0xc24a, interface=1) # not an HID++ device
|
||||
_D('G502 Proteus Spectrum Optical Mouse', codename='G502 Proteus Spectrum', usbid=0xc332, interface=1)
|
||||
|
@ -304,12 +302,12 @@ _D('Logitech PRO Gaming Keyboard', codename='PRO Gaming Keyboard', usbid=0xc339,
|
|||
|
||||
# Trackballs
|
||||
|
||||
_D('Wireless Trackball M570')
|
||||
_D('Wireless Trackball M570', codename='M570')
|
||||
|
||||
# Touchpads
|
||||
|
||||
_D('Wireless Touchpad', codename='Wireless Touch', protocol=2.0, wpid='4011')
|
||||
_D('Wireless Rechargeable Touchpad T650', protocol=2.0, wpid='4101')
|
||||
_D('Wireless Rechargeable Touchpad T650', codename='T650', protocol=2.0, wpid='4101')
|
||||
|
||||
# Headset
|
||||
|
||||
|
|
Loading…
Reference in New Issue