From d7dd9393ff0b616df75bdf557407319d7645d965 Mon Sep 17 00:00:00 2001 From: Daniel Pavel Date: Sat, 4 May 2013 17:19:48 +0200 Subject: [PATCH] minor clean-ups --- lib/hidapi/udev.py | 3 +++ lib/logitech/unifying_receiver/base.py | 2 +- lib/logitech/unifying_receiver/receiver.py | 2 +- lib/solaar/cli.py | 4 ++-- tools/monitor.py | 23 ++++++++++++++++++++++ 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 tools/monitor.py diff --git a/lib/hidapi/udev.py b/lib/hidapi/udev.py index f991eb1c..1ad26889 100644 --- a/lib/hidapi/udev.py +++ b/lib/hidapi/udev.py @@ -59,6 +59,7 @@ def exit(): def _match(action, device, vendor_id=None, product_id=None, interface_number=None, driver=None): usb_device = device.find_parent('usb', 'usb_device') + # print (action, device, "usb:", usb_device) if not usb_device: return @@ -70,6 +71,7 @@ def _match(action, device, vendor_id=None, product_id=None, interface_number=Non if action == 'add': hid_device = device.find_parent('hid') + # print (action, device, "hid:", usb_device) if not hid_device: return hid_driver_name = hid_device['DRIVER'] @@ -77,6 +79,7 @@ def _match(action, device, vendor_id=None, product_id=None, interface_number=Non return intf_device = device.find_parent('usb', 'usb_interface') + # print (action, device, "usb_interface:", usb_device) if interface_number is None: usb_interface = None if intf_device is None else intf_device.attributes.asint('bInterfaceNumber') else: diff --git a/lib/logitech/unifying_receiver/base.py b/lib/logitech/unifying_receiver/base.py index 5193c74b..a9d29b20 100644 --- a/lib/logitech/unifying_receiver/base.py +++ b/lib/logitech/unifying_receiver/base.py @@ -61,7 +61,7 @@ class DeviceUnreachable(_KwException): # vendor_id, product_id, interface number, driver DEVICE_UNIFYING_RECEIVER = (0x046d, 0xc52b, 2, 'logitech-djreceiver') DEVICE_UNIFYING_RECEIVER_2 = (0x046d, 0xc532, 2, 'logitech-djreceiver') -#DEVICE_NANO_RECEIVER = (0x046d, 0xc526, 1, 'generic-usb') +DEVICE_NANO_RECEIVER = (0x046d, 0xc526, 1, 'generic-usb') def receivers(): diff --git a/lib/logitech/unifying_receiver/receiver.py b/lib/logitech/unifying_receiver/receiver.py index bbd4d910..3394e009 100644 --- a/lib/logitech/unifying_receiver/receiver.py +++ b/lib/logitech/unifying_receiver/receiver.py @@ -214,7 +214,7 @@ class Receiver(object): serial_reply = self.request(0x83B5, 0x03) assert serial_reply self._serial = _strhex(serial_reply[1:5]) - self.max_devices = ord(serial_reply[6:7][0:1]) + self.max_devices = ord(serial_reply[6:7]) if self.max_devices == 1: self.name = 'Nano Receiver' diff --git a/lib/solaar/cli.py b/lib/solaar/cli.py index e7366a57..161257cf 100644 --- a/lib/solaar/cli.py +++ b/lib/solaar/cli.py @@ -87,7 +87,7 @@ def _print_receiver(receiver, verbose=False): for f in receiver.firmware: print (" %-11s: %s" % (f.kind, f.version)) - print (" Has", paired_count, "paired device(s).") + print (" Has", paired_count, "paired device(s) out of a maximum of", receiver.max_devices) notification_flags = receiver.request(0x8100) if notification_flags: @@ -97,7 +97,7 @@ def _print_receiver(receiver, verbose=False): notification_names = hidpp10.NOTIFICATION_FLAG.flag_names(notification_flags) print (" Enabled notifications: 0x%06X = %s." % (notification_flags, ', '.join(notification_names))) else: - print (" All notifications disabled.") + print (" All notifications disabled") if paired_count > 0: activity = receiver.request(0x83B3) diff --git a/tools/monitor.py b/tools/monitor.py new file mode 100644 index 00000000..a838020b --- /dev/null +++ b/tools/monitor.py @@ -0,0 +1,23 @@ +# +# +# +from __future__ import absolute_import, division, print_function, unicode_literals + +import sys +sys.path += (sys.path[0] + '/../lib',) + +import hidapi +from logitech.unifying_receiver.base import DEVICE_UNIFYING_RECEIVER +from logitech.unifying_receiver.base import DEVICE_UNIFYING_RECEIVER_2 +from logitech.unifying_receiver.base import DEVICE_NANO_RECEIVER + + +def print_event(action, device): + print ("~~~~ device [%s] %s" % (action, device)) + + +hidapi.monitor(print_event, + DEVICE_UNIFYING_RECEIVER, + DEVICE_UNIFYING_RECEIVER_2, + DEVICE_NANO_RECEIVER + )