51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
#
|
|
#
|
|
#
|
|
|
|
STATUS = type('STATUS', (),
|
|
dict(
|
|
UI_NOTIFY=0x01,
|
|
UI_POPUP=0x02,
|
|
UNKNOWN=-0xFFFF,
|
|
UNPAIRED=-0x1000,
|
|
UNAVAILABLE=-1,
|
|
BOOTING=0,
|
|
CONNECTED=1,
|
|
))
|
|
|
|
STATUS_NAME = {
|
|
STATUS.UNKNOWN: '...',
|
|
STATUS.UNPAIRED: 'unpaired',
|
|
STATUS.UNAVAILABLE: 'inactive',
|
|
STATUS.BOOTING: 'initializing',
|
|
STATUS.CONNECTED: 'connected',
|
|
}
|
|
|
|
|
|
# device properties that may be reported
|
|
PROPS = type('PROPS', (),
|
|
dict(
|
|
BATTERY_LEVEL='battery_level',
|
|
BATTERY_STATUS='battery_status',
|
|
LIGHT_LEVEL='light_level',
|
|
UI_FLAGS='ui_flags',
|
|
))
|
|
|
|
# when the receiver reports a device that is not connected
|
|
# (and thus cannot be queried), guess the name and type
|
|
# based on this table
|
|
NAMES = {
|
|
'M315': ('Wireless Mouse M315', 'mouse'),
|
|
'M325': ('Wireless Mouse M325', 'mouse'),
|
|
'M510': ('Wireless Mouse M510', 'mouse'),
|
|
'M515': ('Couch Mouse M515', 'mouse'),
|
|
'M525': ('Wireless Mouse M525', 'mouse'),
|
|
'M570': ('Wireless Trackball M570', 'trackball'),
|
|
'K270': ('Wireless Keyboard K270', 'keyboard'),
|
|
'K350': ('Wireless Keyboard K350', 'keyboard'),
|
|
'K750': ('Wireless Solar Keyboard K750', 'keyboard'),
|
|
'K800': ('Wireless Illuminated Keyboard K800', 'keyboard'),
|
|
'T650': ('Wireless Rechargeable Touchpad T650', 'touchpad'),
|
|
'Performance MX': ('Performance Mouse MX', 'mouse'),
|
|
}
|