67 lines
1.5 KiB
Python
67 lines
1.5 KiB
Python
#
|
|
#
|
|
#
|
|
|
|
from collections import namedtuple
|
|
|
|
_DeviceDescriptor = namedtuple('_DeviceDescriptor',
|
|
['name', 'kind', 'codename', 'settings'])
|
|
|
|
DEVICES = {}
|
|
|
|
def _D(name, codename=None, kind=None):
|
|
if kind is None:
|
|
kind = ('mouse' if 'Mouse' in name
|
|
else 'keyboard' if 'Keyboard' in name
|
|
else 'touchpad' if 'Touchpad' in name
|
|
else 'trackball' if 'Trackball' in name
|
|
else None)
|
|
assert kind is not None
|
|
|
|
if codename is None:
|
|
codename = name.split(' ')[-1]
|
|
assert codename is not None
|
|
|
|
DEVICES[codename] = _DeviceDescriptor(name, kind, codename, None)
|
|
|
|
|
|
_D('Wireless Mouse M315')
|
|
_D('Wireless Mouse M325')
|
|
_D('Wireless Mouse M505')
|
|
_D('Wireless Mouse M510')
|
|
_D('Couch Mouse M515')
|
|
_D('Wireless Mouse M525')
|
|
_D('Wireless Trackball M570')
|
|
_D('Touch Mouse M600')
|
|
_D('Marathon Mouse M705')
|
|
_D('Wireless Keyboard K270')
|
|
_D('Wireless Keyboard K350')
|
|
_D('Wireless Keyboard K360')
|
|
_D('Wireless Touch Keyboard K400')
|
|
_D('Wireless Solar Keyboard K750')
|
|
_D('Wireless Illuminated Keyboard K800')
|
|
_D('Zone Touch Mouse T400')
|
|
_D('Wireless Rechargeable Touchpad T650')
|
|
_D('Logitech Cube', kind='mouse')
|
|
_D('Anywhere Mouse MX', codename='Anywhere MX')
|
|
_D('Performance Mouse MX', codename='Performance MX')
|
|
# DPI=(0x64, {0x80: 100,
|
|
# 0x81: 200,
|
|
# 0x82: 300,
|
|
# 0x83: 400,
|
|
# 0x84: 500,
|
|
# 0x85: 600,
|
|
# 0x86: 800,
|
|
# 0x87: 900,
|
|
# 0x88: 1000,
|
|
# 0x89: 1100,
|
|
# 0x8A: 1200,
|
|
# 0x8B: 1300,
|
|
# 0x8C: 1400,
|
|
# 0x8D: 1500}),
|
|
# Leds=(0x51, {}),
|
|
|
|
del _D
|
|
del _DeviceDescriptor
|
|
del namedtuple
|