From 5ed4c05db88024745a916e508de9e08f6e463543 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Wed, 14 Sep 2022 09:39:05 -0400 Subject: [PATCH] device: add conditional delay to apply all to get around race with Linux driver --- lib/logitech_receiver/settings.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/logitech_receiver/settings.py b/lib/logitech_receiver/settings.py index 4d02f878..53d928bf 100644 --- a/lib/logitech_receiver/settings.py +++ b/lib/logitech_receiver/settings.py @@ -22,6 +22,7 @@ from logging import DEBUG as _DEBUG from logging import WARNING as _WARNING from logging import getLogger from struct import unpack as _unpack +from time import sleep as _sleep from . import hidpp20 as _hidpp20 from .common import NamedInt as _NamedInt @@ -1489,6 +1490,8 @@ class RawXYProcessing: def apply_all_settings(device): + if device.features and _hidpp20.FEATURE.HIRES_WHEEL in device.features: + _sleep(0.2) # delay to try to get out of race condition with Linux HID++ driver persister = getattr(device, 'persister', None) sensitives = persister.get('_sensitive', {}) if persister else {} for s in device.settings: