我正在使用嵌入式Linux平台上的Qt5进行开发。当我使用Linux帧缓冲运行程序时,触摸屏无法工作。例如:
./myprog -plugin tslib:/dev/input/event0
更多细节:
ts_calibrate
works fine- when I run my program with
./myprog -platform eglfs
, touchscreen works fine my environment:
TSLIB_TSDEVICE=/dev/input/event0 USER=root LD_LIBRARY_PATH=/usr/local/Qt-5.3.2/lib/ TSLIB_TSEVENTTYPE=INPUT OLDPWD=/usr/local/Qt-5.3.2 HOME=/root QTDIR=/ TSLIB_FBDEVICE=/dev/fb0 QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/event1 TSLIB_PLUGINDIR=/usr/lib/ts TSLIB_CONSOLEDEVICE=none LOGNAME=root TERM=vt102 QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=rotate=270 PATH=/sbin:/usr/sbin:/bin:/usr/bin QT_QPA_GENERIC_PLUGINS=evdevmouse:/dev/input/event0 TSLIB_CONFFILE=/etc/ts.conf SHELL=/bin/sh QWS_DISPLAY=powervr QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=0 PWD=/root QWS_MOUSE_PROTO=tslib TSLIB_CALIBFILE=/etc/pointercal
Qt 5.3.2
config.status
:configure -verbose -confirm-license -release -no-xcb -no-pch -icu -tslib -qpa eglfs -no-c++11 -no-cups -no-gtkstyle -make libs -opensource -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtenginio -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtsensors -skip qtserialport -skip qttranslations -skip qttools -skip qtwebkit-examples -skip qtwinextras -skip qtx11extras -xplatform linux-omap3-g++ -qpa eglfs -qpa linuxfb -evdev
QWSTslibMouseHandlerPrivate::readMouseData()
,你会看到关键部分。并且研究调用堆栈。顺便说一下,你没有说明你想要触摸是鼠标点击还是手势。虽然不如手势那么吸引人,但点击要简单得多。 - donjuedo