From 37e303163cbee34d9e98642bcfd8f3f78645fb23 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Thu, 14 Sep 2023 20:15:29 -0400 Subject: [PATCH] device: allow return device 00 for BT device ff --- lib/logitech_receiver/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/logitech_receiver/base.py b/lib/logitech_receiver/base.py index 6bae3422..84f7fb05 100644 --- a/lib/logitech_receiver/base.py +++ b/lib/logitech_receiver/base.py @@ -439,7 +439,7 @@ def request(handle, devnumber, request_id, *params, no_reply=False, return_error if reply: report_id, reply_devnumber, reply_data = reply - if reply_devnumber == devnumber: + if reply_devnumber == devnumber or reply_devnumber == devnumber ^ 0xff: # BT device returning 0x00 if report_id == HIDPP_SHORT_MESSAGE_ID and reply_data[:1] == b'\x8F' and reply_data[1:3] == request_data[:2 ]: error = ord(reply_data[3:4]) @@ -524,7 +524,7 @@ def ping(handle, devnumber, long_message=False): reply = _read(handle, _PING_TIMEOUT) if reply: report_id, reply_devnumber, reply_data = reply - if reply_devnumber == devnumber: + if reply_devnumber == devnumber or reply_devnumber == devnumber ^ 0xff: # BT device returning 0x00 if reply_data[:2] == request_data[:2] and reply_data[4:5] == request_data[-1:]: # HID++ 2.0+ device, currently connected return ord(reply_data[2:3]) + ord(reply_data[3:4]) / 10.0