From 55865d13ad8adc6f4090f7724a7eae04324509b4 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Sat, 25 Feb 2023 17:59:26 -0500 Subject: [PATCH] rules: add Test condition for battery charging --- lib/logitech_receiver/diversion.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/logitech_receiver/diversion.py b/lib/logitech_receiver/diversion.py index 2437e91e..e8fb8e39 100644 --- a/lib/logitech_receiver/diversion.py +++ b/lib/logitech_receiver/diversion.py @@ -364,6 +364,15 @@ def thumb_wheel_down(f, r, d, a): return False +def charging(f, r, d, a): + if (f == _F.BATTERY_STATUS and r == 0 and 1 <= d[2] <= 4) or \ + (f == _F.BATTERY_VOLTAGE and r == 0 and d[2] & (1 << 7)) or \ + (f == _F.UNIFIED_BATTERY and r == 0 and 1 <= d[2] <= 3): + return 1 + else: + return False + + TESTS = { 'crown_right': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] < 128 and d[1], False], 'crown_left': [lambda f, r, d, a: f == _F.CROWN and r == 0 and d[1] >= 128 and 256 - d[1], False], @@ -379,6 +388,7 @@ TESTS = { 'lowres_wheel_down': [lambda f, r, d, a: f == _F.LOWRES_WHEEL and r == 0 and signed(d[0:1]) < 0 and signed(d[0:1]), False], 'hires_wheel_up': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) > 0 and signed(d[1:3]), False], 'hires_wheel_down': [lambda f, r, d, a: f == _F.HIRES_WHEEL and r == 0 and signed(d[1:3]) < 0 and signed(d[1:3]), False], + 'charging': [charging, False], 'False': [lambda f, r, d, a: False, False], 'True': [lambda f, r, d, a: True, False], }