summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-graphics/wayland/weston-init.bbappend19
-rwxr-xr-xrecipes-graphics/wayland/weston-init/toradex-save-touchscreen-calibration.sh11
2 files changed, 30 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 0000000..7a385c0
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1,19 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://toradex-save-touchscreen-calibration.sh"
+
+PACKAGECONFIG[touchscreen-calibration] = ",,"
+PACKAGECONFIG:append:tdx = " touchscreen-calibration"
+
+INI_UNCOMMENT_ASSIGNMENTS:append:tdx = " \
+ \\[libinput\\] \
+ enable_tap=true \
+"
+
+do_install:append:tdx() {
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'touchscreen-calibration', 'yes', 'no', d)}" = "yes" ]; then
+ sed -i -e "/^\[libinput\]/a calibration_helper=${bindir}/toradex-save-touchscreen-calibration" ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i -e "/^\[libinput\]/a touchscreen_calibrator=true" ${D}${sysconfdir}/xdg/weston/weston.ini
+ install -Dm0755 ${WORKDIR}/toradex-save-touchscreen-calibration.sh ${D}${bindir}/toradex-save-touchscreen-calibration
+ fi
+}
diff --git a/recipes-graphics/wayland/weston-init/toradex-save-touchscreen-calibration.sh b/recipes-graphics/wayland/weston-init/toradex-save-touchscreen-calibration.sh
new file mode 100755
index 0000000..e2871fc
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/toradex-save-touchscreen-calibration.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ "$#" -ne 7 ]; then
+ echo "This script is to be called by weston with new touch calibration data, it requires 7 parameters."
+ exit 1
+fi
+
+echo 'ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}=''"'"$2 $3 $4 $5 $6 $7"'"' > /etc/udev/rules.d/libinput.rules
+
+# Make udev process the new rule by triggering a "change" event:
+udevadm trigger "$1"