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?

+3


source to share


1 answer


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

.

+4


source







All Articles