libinput/tools
Peter Hutterer 6e4c83636a tools: libinput-record: add support for printing libinput events
Collect libinput events together with the evdev events and print them to the
log. This makes it possible to debug the full behavior of a user's machine
rather than having to replay it with potential different race conditions/side
effects.

Example event output:
  - evdev:
    - [  2, 314443,   4,   4,    57] # EV_MSC / MSC_SCAN               57
    - [  2, 314443,   1,  57,     1] # EV_KEY / KEY_SPACE               1
    - [  2, 314443,   0,   0,     0] # ------------ SYN_REPORT (0) ---------- +87ms
    libinput:
    - {time: 2.314443, type: KEYBOARD_KEY, key: 57, state: pressed}
  - evdev:
    - [  2, 377203,   4,   4,    57] # EV_MSC / MSC_SCAN               57
    - [  2, 377203,   1,  57,     0] # EV_KEY / KEY_SPACE               0
    - [  2, 377203,   0,   0,     0] # ------------ SYN_REPORT (0) ---------- +63ms
    libinput:
    - {time: 2.377203, type: KEYBOARD_KEY, key: 57, state: released}

Note that the only way to know that events are within the same frame is to
check the timestamp. libinput keeps those intact which means we can tell that
if we just had an evdev frame with timestamp T and get a pointer motion with
timestamp T, that frame caused the motion event.

So far, only key, pointer and touch events are printed. We also
hardcode-enable tapping where available until we have options to enable this
on the commandline just because that's useful to have.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-03-19 14:24:15 +10:00
..
install-compat-scripts.sh meson: Fix bindir usage in install script 2018-02-16 16:57:30 +10:00
libinput-debug-events.c tools: libinput-debug-events stop variable needs volatile 2018-03-15 08:06:54 +10:00
libinput-debug-events.compat tools: switch the libinput tool to be an exec-ing tool 2017-06-02 12:21:35 +10:00
libinput-debug-events.man man: add --enable-middlebutton to debug-events man page 2017-11-15 13:33:11 +10:00
libinput-debug-gui.c Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
libinput-debug-gui.man tools: tidy up the libinput man pages again 2017-07-03 15:04:11 +10:00
libinput-list-devices.c tools: Show gesture/switch capabilities in list-devices output 2017-11-06 08:44:52 +10:00
libinput-list-devices.compat tools: switch the libinput tool to be an exec-ing tool 2017-06-02 12:21:35 +10:00
libinput-list-devices.man tools: add the libinput version to the man pages 2017-07-03 11:09:03 +10:00
libinput-measure-touch-size tools: fix inverse up/down threshold handling in measure touch-size 2018-02-27 15:17:39 +10:00
libinput-measure-touch-size.man tools: fix missing words in man page 2017-11-09 13:51:35 +10:00
libinput-measure-touchpad-pressure tools: print the device in all measure tools 2017-11-30 14:26:43 +10:00
libinput-measure-touchpad-pressure.man tools: add a tool to measure touch pressure 2017-07-03 15:58:58 +10:00
libinput-measure-touchpad-tap libinput-measure-touchpad-tap: use /usr/bin/env to invoke python3 2018-02-20 11:11:08 +10:00
libinput-measure-touchpad-tap.man tools: fix typo in man page 2017-11-16 13:13:28 +10:00
libinput-measure-trackpoint-range tools: print out the device used for measuring the trackpoint range 2017-11-29 14:16:03 +10:00
libinput-measure-trackpoint-range.man tools: add a command to analyze trackpoints 2017-07-20 11:53:01 +10:00
libinput-measure.c tools: fix option parsing in libinput measure 2018-02-26 13:53:40 +10:00
libinput-measure.man tools: add a command to analyze trackpoints 2017-07-20 11:53:01 +10:00
libinput-record-verify-yaml.py tools: libinput-record: add support for printing libinput events 2018-03-19 14:24:15 +10:00
libinput-record.c tools: libinput-record: add support for printing libinput events 2018-03-19 14:24:15 +10:00
libinput-record.man tools: libinput-record: add support for printing libinput events 2018-03-19 14:24:15 +10:00
libinput-replay tools: libinput-record: add support for printing libinput events 2018-03-19 14:24:15 +10:00
libinput-replay.man tools: add a libinput-replay tool 2018-03-01 11:50:46 +10:00
libinput-tool.c tools: fix invocation of subtools 2017-06-26 18:44:00 +10:00
libinput.man tools: add a libinput-record tool 2018-03-01 11:50:46 +10:00
make-ptraccel-graphs.sh doc: update the touchpad pointer acceleration svg 2016-12-21 10:55:57 +10:00
ptraccel-debug.c touchpad: Enable timestamp smoothing support for bluetooth touchpads 2017-08-01 16:42:19 +01:00
publish-doc tools: update the publish-doc tool to use ninja 2017-06-13 12:28:37 +10:00
shared.c Silence coverity warning about uninitialized entry 2018-02-16 16:57:30 +10:00
shared.h tools: add --disable-sendevents option to the debug-events/debug-gui tools 2017-09-18 17:00:57 +10:00