From 5657c1ac99b5c25914a9017caf6988719edae6f0 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Wed, 11 Jan 2023 06:48:16 -0500 Subject: [PATCH] device: put initial ping of direct-connected devices inside listener thread --- lib/logitech_receiver/listener.py | 4 ++++ lib/solaar/listener.py | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/logitech_receiver/listener.py b/lib/logitech_receiver/listener.py index b42de2a2..de0a2f68 100644 --- a/lib/logitech_receiver/listener.py +++ b/lib/logitech_receiver/listener.py @@ -168,6 +168,10 @@ class EventsListener(_threading.Thread): # idle reads for multiple receivers # idle_reads = _IDLE_READS + (ihandle % 5) * 2 + if self.receiver.isDevice: # ping (wired or BT) devices to see if they are really online + if self.receiver.ping(): + self.receiver.status.changed(True, reason='initialization') + while self._active: if self._queued_notifications.empty(): try: diff --git a/lib/solaar/listener.py b/lib/solaar/listener.py index 9d8de33d..ead74257 100644 --- a/lib/solaar/listener.py +++ b/lib/solaar/listener.py @@ -85,9 +85,6 @@ class ReceiverListener(_listener.EventsListener): assert status_changed_callback self.status_changed_callback = status_changed_callback _status.attach_to(receiver, self._status_changed) - if receiver.isDevice: # ping (wired) devices to see if they are really online - if receiver.ping(): - receiver.status.changed(True, reason='initialization') def has_started(self): if _log.isEnabledFor(_INFO):