From fcfc7cd6fcf875fc04c53d8ebac8cf34f098c66d Mon Sep 17 00:00:00 2001 From: Daniel Pavel Date: Thu, 18 Jul 2013 20:38:05 +0200 Subject: [PATCH] a few more asserts in descriptors just testing stuff... --- lib/logitech_receiver/descriptors.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/logitech_receiver/descriptors.py b/lib/logitech_receiver/descriptors.py index e91ac12e..503ec9e6 100644 --- a/lib/logitech_receiver/descriptors.py +++ b/lib/logitech_receiver/descriptors.py @@ -61,6 +61,16 @@ def _D(name, codename=None, kind=None, wpid=None, protocol=None, registers=None, assert registers is None assert settings is None or all(s._rw.kind == 2 for s in settings) + if wpid: + for w in wpid if isinstance(wpid, tuple) else (wpid, ): + if protocol > 1.0: + assert w[0:1] == '4', name + ' has protocol ' + protocol + ', wpid ' + w + else: + if w[0:1] == '1': + assert kind == _hidpp10.DEVICE_KIND.mouse, name + ' has protocol ' + protocol + ', wpid ' + w + elif w[0:1] == '2': + assert kind == _hidpp10.DEVICE_KIND.keyboard, name + ' has protocol ' + protocol + ', wpid ' + w + device_descriptor = _DeviceDescriptor(name=name, kind=kind, wpid=wpid, codename=codename, protocol=protocol, registers=registers, settings=settings)