summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <lfrb@collabora.com>2017-11-29 16:38:44 -0500
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2018-05-30 14:46:24 +0300
commitb79dead1dded6744d251da5357e14c83b91cef32 (patch)
tree4f17090e4d0408694a4e8ac5ead2f9ba1b73e434 /Makefile.am
parent5a1b0cf0e76d01478dbfb76009d8e986fbe83e4b (diff)
downloadweston-b79dead1dded6744d251da5357e14c83b91cef32.tar.gz
clients: add a new touchscreen calibrator
The new calibrator uses weston_touch_calibration protocol extension and provides the following features: - chooses the physical touch device to be calibrated by DEVPATH or by the output/head name; device enumeration provided - the compositor ensures the calibrator window is shown in the correct position and size - no matter how wrong the old calibration is, the touch events will always arrive in the application - the calibration is complete, not incremental; the received touch events are guaranteed to be unmodified - computes a libinput style calibration matrix directly, not the WL_CALIBRATION format - supports multiple touch devices: calibrate one device at a time, and show user feedback on touching a wrong device instead of recording bad data - uses four touch point samples: three to compute the calibration, and one to verify the calibration is roughly correct - consistent exit codes - upload the new calibration into the server after successful and verified calibration Due to using special touchscreen calibration protocol extension, this application cannot be tested without touch input from the compositor. Practically all of the above mentioned are unlike how the old calibrator client worked. Co-developed by Louis-Francis and Pekka. v2: - improve help() text - rename wrong_touch_handler() to invalid_touch_handler() - improve debug prints by adding sample number - reorganize code into sample funcs vs. touch funcs - add a state machine to properly process touch and related events Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by: Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am14
1 files changed, 14 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 5260bd8a..664eb2eb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -546,6 +546,7 @@ demo_clients = \
weston-fullscreen \
weston-stacking \
weston-calibrator \
+ weston-touch-calibrator \
weston-scaler
if INSTALL_DEMO_CLIENTS
@@ -785,6 +786,17 @@ weston_calibrator_SOURCES = \
weston_calibrator_LDADD = libtoytoolkit.la
weston_calibrator_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
+weston_touch_calibrator_SOURCES = \
+ clients/touch-calibrator.c \
+ shared/helpers.h \
+ shared/matrix.c \
+ shared/matrix.h
+nodist_weston_touch_calibrator_SOURCES = \
+ protocol/weston-touch-calibration-protocol.c \
+ protocol/weston-touch-calibration-client-protocol.h
+weston_touch_calibrator_LDADD = libtoytoolkit.la
+weston_touch_calibrator_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
+
if BUILD_SUBSURFACES_CLIENT
demo_clients += weston-subsurfaces
weston_subsurfaces_SOURCES = \
@@ -872,6 +884,8 @@ endif
BUILT_SOURCES += \
protocol/weston-screenshooter-protocol.c \
protocol/weston-screenshooter-client-protocol.h \
+ protocol/weston-touch-calibration-protocol.c \
+ protocol/weston-touch-calibration-client-protocol.h \
protocol/text-cursor-position-client-protocol.h \
protocol/text-cursor-position-protocol.c \
protocol/text-input-unstable-v1-protocol.c \