Drop the path-based API, switch to fd-based one instead

Let the backend manage the fd, we just hook onto it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Convert two comments to doxygen

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
tools: don't buffer the output from touchpad-monitor

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
tools: make the touchpad-monitor output easier to read

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add support for software right-button click

This adds another state machine per-touch to detect what software-emulated
button we need to trigger when the touchpad physically clicks.

The touchpad is divided into three areas: left, right and "area". The buttons
are always configured as horizontal bar, divided into left/right. Anything
outside is "area" and defaults to a left button click.

If a finger is in the right button area when a click happens, a right click is
generated instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: add some config tests for softbuttons

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: add tptest_click helper function

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: add some basic button tests

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Merge branch 'clickpad-softbuttons'