libinput/tools
Peter Hutterer 31658a34ff tools/record: fix broken autorestart for timeouts >=5s
The autorestart feature used the epoll timeout for detecting when no
events happend. This conflicts with our wall clock timerfd (to print the
current time every 5s) which is hooked into the same epoll. Any
autorestart timeout >=5s would get that timerfd fired which is
interpreted as events and thus prevents the autorestart from closing the
file.

Fix this by removing the timerfd and instead print the wall clock
time whenever we get events and it's past a delta. This means we can
also drop the hacks to remember if we did have events since the last
timer to avoid spamming empty logs with "Current time: ..." lines.

Closes #1291

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1479>
2026-05-20 13:53:59 +10:00
..
libinput-analyze-buttons.man tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-analyze-buttons.py tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-analyze-per-slot-delta.man tools/per-slot-delta: optionally show the distance to the original point 2025-01-09 02:12:10 +00:00
libinput-analyze-per-slot-delta.py tools: per-slot-delta initialize the pressure thresholds to zero 2025-06-24 02:57:31 +00:00
libinput-analyze-recording.man tools: add a tool to print a libinput recording as a table 2021-02-23 13:46:00 +10:00
libinput-analyze-recording.py pre-commit: bump to latest ruff-format 2025-07-09 00:13:00 +00:00
libinput-analyze-touch-down-state.man tools: add a tool to analyze the finger count from a recording 2021-01-29 08:06:53 +10:00
libinput-analyze-touch-down-state.py tools: add a tool to analyze the finger count from a recording 2021-01-29 08:06:53 +10:00
libinput-analyze.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-analyze.man tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-debug-events.c Add a public plugin system to libinput 2025-08-01 15:38:39 +10:00
libinput-debug-events.man Fix various typos 2026-03-24 05:09:07 +00:00
libinput-debug-gui.c tools: always open with O_CLOEXEC 2026-04-22 04:53:14 +00:00
libinput-debug-gui.man Fix various typos 2026-03-24 05:09:07 +00:00
libinput-debug-tablet-pad.c tools: another close() -> xclose change 2026-05-12 15:12:44 +10:00
libinput-debug-tablet-pad.man tools: add a debug-tablet-pad tool 2025-07-28 23:40:33 +00:00
libinput-debug-tablet.c tools/debug-tablet: don't leak the udev_device on open() failure 2026-05-12 15:12:44 +10:00
libinput-debug-tablet.man tools: add a tablet debugging tool 2019-11-19 09:56:14 +10:00
libinput-list-devices.c Add a public plugin system to libinput 2025-08-01 15:38:39 +10:00
libinput-list-devices.man tools/list-devices: reword the man page a bit 2025-02-17 07:59:05 +00:00
libinput-list-kernel-devices.man tools: add a --hid toggle to libinput-list-kernel-devices 2022-12-08 10:08:44 +10:00
libinput-list-kernel-devices.py tools: add a --hid toggle to libinput-list-kernel-devices 2022-12-08 10:08:44 +10:00
libinput-measure-fuzz.man touchpad: add a tool to measure the touchpad fuzz 2018-05-15 13:51:33 +10:00
libinput-measure-fuzz.py Use python black for all pyhon file formatting 2021-01-28 21:02:45 +00:00
libinput-measure-touch-size.man tools: touch-size: update to use the device quirks 2018-06-21 11:48:41 +10:00
libinput-measure-touch-size.py tools: only warn once about our lack of support for multiple fingers 2024-12-18 08:49:34 +00:00
libinput-measure-touchpad-pressure.man Fix links to point to the current doc pages 2025-05-16 05:45:51 +00:00
libinput-measure-touchpad-pressure.py tools: make the touchpad-pressure thresholds interactive 2026-01-09 02:21:13 +00:00
libinput-measure-touchpad-size.man Remove trailing whitespaces in the tree 2022-11-25 10:08:20 +10:00
libinput-measure-touchpad-size.py Use python black for all pyhon file formatting 2021-01-28 21:02:45 +00:00
libinput-measure-touchpad-tap.man treewide: fix typos 2020-12-16 22:08:23 +01:00
libinput-measure-touchpad-tap.py pre-commit: bump to latest ruff-format 2025-07-09 00:13:00 +00:00
libinput-measure.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-measure.man tools: add a measure touchpad-size tool 2020-03-30 15:14:45 +10:00
libinput-quirks.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-quirks.man tools: rename list-quirks to the more generic "quirks list" 2018-07-03 15:16:59 +10:00
libinput-record-verify-yaml.py pre-commit: drop black, use ruff-format instead 2024-10-29 13:48:31 +10:00
libinput-record.c tools/record: fix broken autorestart for timeouts >=5s 2026-05-20 13:53:59 +10:00
libinput-record.man Fix various typos 2026-03-24 05:09:07 +00:00
libinput-replay.man Fix various typos 2026-03-24 05:09:07 +00:00
libinput-replay.py tools/replay: rmdir, not unlink for directories 2025-10-20 02:01:23 +00:00
libinput-test.c meson.build: change from config.set10() and #if to config.set() and #ifdef 2025-07-28 12:04:09 +10:00
libinput-test.man Fix various typos 2026-03-24 05:09:07 +00:00
libinput-tool.c meson.build: change from config.set10() and #if to config.set() and #ifdef 2025-07-28 12:04:09 +10:00
libinput.man man: hide debug-gui from the libinput.man page if disabled 2023-06-09 13:00:08 +10:00
make-ptraccel-graphs.sh tools: make-ptraccel-graphs: drop an unnecessary outfile 2018-07-11 16:04:59 +10:00
ptraccel-debug.c tools/ptraccel-debug: replace atoi() with safe_atoi() 2026-04-22 04:53:13 +00:00
razer-quirks-lister.py tools: add a tool to update our Razer quirks for internal keyboards 2023-04-11 14:48:41 +10:00
shared.c tools: use save_atod instead of atof() 2026-04-22 04:53:13 +00:00
shared.h Add a public plugin system to libinput 2025-08-01 15:38:39 +10:00
test_tool_option_parsing.py tools/record: default to libinput-recording.yml with --autorestart 2026-05-20 13:53:59 +10:00