Qt 5.3.2 + TSlib: wrong touch coordinates
I am currently working on an embedded Linux device (built from Yocto) on top of an i.MX6 system. I am using Qt 5.3.2 (platform eglfs
) and I am using TSLIB
to handle my touch screen.
I can successfully calibrate my touchscreen with ts_calibrate
and then I test it with ts_test
and everything is fine: the crosshair pointer on the screen follows my finger exactly.
At this point, I am starting my own Qt application, which is actually a QML based application. Touching works (I mean I can click on buttons on my screen using my finger), but I have strange behavior ... If I touch the top of the touch buttons on the bottom of the touchscreen, ... It's like touch coordinates, incorrectly converted by Qt application ...
This is not a common problem: if I touch the bottom of the touchscreen then buttons (right) are pressed. But if I touch the top (top) of the touchscreen, the buttons at the bottom of the screen are pressed again).
What's going on here? Any ideas?
source to share
Okay, I found a solution myself: because of it, it EVDEV
worked simultaneously with TSLIB
. My application works fine if I disabled EVDEV
by setting an environment variable QT_QPA_EGLFS_DISABLE_INPUT=1
and then started my application by explicitly specifying -plugin=tslib
on the command line.
The actual disable EVDEV
mouse detection is lost and the mouse pointer is always displayed on the screen of my touch application. Anyway, I could easily get rid of it by setting a different environment variable QT_QPA_EGLFS_HIDECURSOR=1
.
source to share