当前位置: 代码迷 >> QT开发 >> QT不响应触摸屏,该如何处理
  详细解决方案

QT不响应触摸屏,该如何处理

热度:74   发布时间:2016-04-25 04:40:29.0
QT不响应触摸屏
各位帮忙一下,我移植了QT4.5.3,到arm linux2.6.24,先安装了 tslib1.4,一切正常,tslib1.4可以运行ts_calibration ts_test,都正常,可是运行./hello -qws ,触摸屏就响应不了,贴上我环境变量:
QT库配置:
用armv4t-crosstool-linux-gnueabi-gcc 4.1.1 编译的QT库4.5.3
./configure -prefix /QT/qt-embedded-4.5.3-arm -debug-and-release -qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake demos -nomake docs -no-cups -iconv -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -no-dbus -qt-sql-sqlite -qt-kbd-qvfb -qt-kbd-tty -qt-mouse-pc -no-glib -plugin-mouse-tslib -I /usr/tslib-1.4/include -L /usr/tslib-1.4/lib -D__ARM_ARCH_5TEJ__

tslib 1.4校准运行环境:
export TSLIB_ROOT=/usr/tslib-1.4
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/usr/tslib-1.4/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/tslib-1.4/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
export QWS_SIZE=640x480
export LD_LIBRARY_PATH=/usr/tslib-1.4/lib:$LD_LIBRARY_PATH
export QWS_MOUSE_PROTO="Tslib:/dev/input/event0"
export TSLIB_CONSOLEDEVICE=none
export TSLIB_TSEVENTTYYPE=H3600i

QT程序运行环境:
export QTDIR=/qt-embedded-4.5.3-arm
export QTEDIR=$QTDIR
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0

./hello -qws 
点屏幕后一点反映也没有。

一直怀疑这个有问题,export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
改成,export QWS_MOUSE_PROTO=LinuxTp:/dev/input/event0 后,点一下触屏,光标就跳走,还算有点反映。
但有QT配置是 -plugin-mouse-tslib ,用的是tslib驱动。
如果改成 export QWS_MOUSE_PROTO= ,放空,光标会随触摸变化而变化,但位置不对,校准后也没有。

各位,到底是什么问题??????



------解决方案--------------------
如果你用export QWS_MOUSE_PROTO="Tslib:/dev/input/event0"有问题那么很可能是触摸屏驱动的问题
------解决方案--------------------
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.8.1-arm
export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.8.1-arm
export TSLIB_ROOT=/usr/local/tslib
export PATH=$QTDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_SIZE=320x240
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
------解决方案--------------------
把/dev下地pointerca删掉,重启在运行一遍ts_calibrate就可以了。
  相关解决方案