This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

how to use tslib for touch input in qt

I have an issue with my resistive touch screen.

QT  said for some resistive, single-touch touch screens it may be necessary to fall back to using tslib instead of relying on the Linux multi-touch protocol and the event device

I have built qt with tslib support.

I have set the following environments according to doc.qt.io/.../embedded-linux.html

export QT_QPA_PLATFORM=eglfs
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=rotate=180
export QT_LOGGING_RULES=qt.qpa.input=true
export QT_QPA_EGLFS_TSLIB=1

and I started a qt application called fingerpaint, but the application failed to receive touch input.

here's the log.

root@diva:~# /usr/share/qt5/examples/touch/fingerpaint/fingerpaint
qt.qpa.input: evdevkeyboard: Using device discovery
qt.qpa.input: udev device discovery for type QFlags(0x8)
qt.qpa.input: Found matching devices ()
qt.qpa.input: evdevmouse: Using device discovery
qt.qpa.input: udev device discovery for type QFlags(0x1|0x2)
qt.qpa.input: Found matching devices ()
qt.qpa.input: Initializing tslib plugin "TsLib" ""
qt.qpa.input: tslib device is "/dev/input/touchscreen0"
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
No such plugin for spec "Auto"

if I set  QT_QPA_EGLFS_TSLIB=0, the application receive touch input, but the qt use the evdevtouch instead of tslib.


root@diva:~# /usr/share/qt5/examples/touch/fingerpaint/fingerpaint
qt.qpa.input: evdevkeyboard: Using device discovery
qt.qpa.input: udev device discovery for type QFlags(0x8)
qt.qpa.input: Found matching devices ()
qt.qpa.input: evdevmouse: Using device discovery
qt.qpa.input: udev device discovery for type QFlags(0x1|0x2)
qt.qpa.input: Found matching devices ()
qt.qpa.input: evdevtouch: Using device discovery
qt.qpa.input: udev device discovery for type QFlags(0x2|0x4)
qt.qpa.input: Found matching devices ("/dev/input/event0")
qt.qpa.input: Adding device at "/dev/input/event0"
qt.qpa.input: evdevtouch: Using device /dev/input/event0
qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type A (single)
qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 4095
qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 4095
qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 4095
qt.qpa.input: evdevtouch: /dev/input/event0: device name: ti-tsc
qt.qpa.input: evdevtouch: found ti-tsc, overriding: min X: 165 max X: 4016 min Y: 220 max Y: 3907
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
No such plugin for spec "Auto"
^Croot@diva:~#

I'm using tisdk 02.00.02.11 on am335x board.

Thanks,

Oussama