From f30342644aea46deffe9373796a9c25fa521bc48 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 19 Feb 2021 13:31:56 +1000 Subject: tools/replay: search for the first event with a timestamp When running with --with-libinput, the first event is the DEVICE_ADDED event for our device. Those events do not have a timestamp. We have to find the first event in the recording with a timestamp instead. Signed-off-by: Peter Hutterer --- tools/libinput-replay | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/tools/libinput-replay b/tools/libinput-replay index b3710c9e..3ecb77a7 100755 --- a/tools/libinput-replay +++ b/tools/libinput-replay @@ -209,20 +209,17 @@ def replay(device, verbose): def first_timestamp(device): - try: - events = fetch(device, "events") - if events is None: - raise YamlException("No events from this device") - - evdev = fetch(events[0], "evdev") - (sec, usec, *_) = evdev[0] - - return sec + usec / 1.0e6 - - except YamlException: - import math + events = fetch(device, "events") + for e in events or []: + try: + evdev = fetch(e, "evdev") + (sec, usec, *_) = evdev[0] + return sec + usec / 1.0e6 + except YamlException: + pass - return math.inf + import math + return math.inf def wrap(func, *args): -- cgit v1.2.1