I deployed Toradex Linux Image V2.6 to my Colibri iMX6S board and the touch screen (resistive) was working perfect. I’m switching to boo2qt 5.7. It turns out that the touch screen X axis is inverted. In another word, a touch is detected as if it was on a position opposite to what it is actually pressed along X axis. This is very similar to the issue reported in this thread: Touch screen axes inverted on VF61 - Toradex Community
The difference between my case and that one is that Y axis is on my touch screen is not inverted and the target device is different. I presented my issue there, but did not get a working solution. I thought I should open a new thread here.
Below is a copy of my
env=FB_MULTI_BUFFER=2 env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins env=QT_IM_MODULE=qtvirtualkeyboard env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 env=QT_GSTREAMER_CAMERABIN_VIDEOSRC=mxc_v4l2=imxv4l2videosrc,v4l2src env=QT_QUICK_CONTROLS_STYLE=Flat env=XDG_RUNTIME_DIR=/tmp base=linux platform=colibri-imx6
If I add and comment out some variables to enable
tslib as below following some advise in that thread:
#env=FB_MULTI_BUFFER=2 #env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins env=QT_IM_MODULE=qtvirtualkeyboard #env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 #env=QT_GSTREAMER_CAMERABIN_VIDEOSRC=mxc_v4l2=imxv4l2videosrc,v4l2src env=QT_QUICK_CONTROLS_STYLE=Flat env=XDG_RUNTIME_DIR=/tmp base=linux platform=colibri-imx6 env=QT_QPA_FB_DISABLE_INPUT=1 env=QT_QPA_GENERIC_PLUGINS=tslib env=QT_QPA_EGLFS_TSLIB=1 env=TSLIB_TSDEVICE=/dev/input/touchscreen0 env=TSLIB_CALIBFILE=/etc/pointercal
then X axis is still inverted like before. But one interesting thing I noticed is that the touch handler will respond correctly to double presses. It seems to me that double presses make the x coordinates double inverted ( same as no inversion) then a correct press is detected. I was able to calibrate my touch screen using
ts_calibrate before running my application. But that did not help. My understanding is that
tslib should be used for resistive touch screen instead of
evdev. I tried to add this plugin at command line
./my_application -plugin tslib:/dev/input/touchscreen0.
That did not help either.
Here is my kernel version:
Linux b2qt-colibri-imx6 3.14.52-00011-g9f2723e-dirty #4 SMP Mon Sep 12 13:24:13 MDT 2016 armv7l GNU/Linux
I also contacted QT, who has not been able to help.I appreciate any thoughts or ideas leading me to fix this issue.