libinput/tools
Peter Hutterer 576f2ed2a7 tools: add a libinput-record tool
This is a tool that does effectively the same job as evemu-record.
evemu has two disadvantages: its API is clunky and hard to extend even for
simple features. And it has a custom file format that requires special
processing but is difficult to extend and hard to write manually. e.g. the
bitmasks require keeping a line number state to know which bit an entry refers
to.

libinput-record records the same data but the output is YAML. That can be
processed easier and extended in the future without breaking the parsing. We
can (in the future) also interleave the evemu output with libinput's debug
output, thus having a single file where the events can be compared and
analysed without the need for replaying.  Likewise, we can easily annotate the
file with parsable bits of information without having to shove all that into a
comment (like version numbers of libinput, kernel, etc).

User-visible differences to evemu-record:
* the output file requires an explicit -o or --output-file argument
* no evemu-describe equivalent, if you just want the description simply cancel
  before any events are sent
* to see key codes, a --show-keycodes flag must be supplied, otherwise all
  'normal' keys end up as KEY_A. This protects against inadvertent information
  leakage
* supports a --multiple option to record multiple devices simultaneously. All
  recordings have the same time offset, it is thus possible to reproduce bugs
  that depend on the interaction of more than one device.

And to answer the question of: why a printf-approach to writing out yaml
instead of a library, it's simply that we want to be able to have real-time
output of the recording.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-03-01 11:50:46 +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 Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +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.c tools: add a libinput-record tool 2018-03-01 11:50:46 +10:00
libinput-record.man tools: add a libinput-record 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