标题:qt-embedded-2.3.7触摸屏问题
作者:niniuya
日期:2008-09-04 19:40
内容:
近日,在进行qt-embedded-2.3.7的触摸屏调试中,遇到一系列问题,小弟具体步骤如下:
1.在PC机上(red hat9.0的系统)编译了cross-2.95.3交叉编译工具链,tmake-1.11,qt-x11-2.3.2和qt-embedded-2.3.7,在成功将qte的hello程序移植到目标板上,发现不能进行触摸操作,一旦触摸就会出现近乎死机的状态,后来按照实验指导书上的说明,对qte下的qwsmouse_qws.cpp文件进行了修改后,情况仍然没有改观。在查阅了网上的资料后,得知在编译qte时,还需要在目录/src/tools中加入名为qconfig-local.h的文件,并在此文件中加入#define QT_QWS_IPAQ ,#define QT_QWS_IPAQ_RAW和#define QT_NO_QWS_CURSOR的宏定义,并且注销掉#define QT_NO_QWS_MOUSE_AUTO的定义,重新编译好qte后,情况还是没有改观.
2.采取以tslib校准的方式驱动触摸屏,具体设置如下:
tar -jxf tslib.tar.bz2
cd tslib
export CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
export CXX=/usr/local/arm/2.95.3/bin/arm-linux-g++
./autogen.sh
export PATH=/usr/local/arm/2.95.3/bin:$PATH
./configure –host=arm-linux –prefix=$PWD/build
make
make install
编译完后,生成的文件如下:
bin(ts_calibrate,ts_print,ts_test)
etc(ts.conf)
include(tslib.h)
lib(libts-0.0.so.0 libts-0.0.so.0.1.0 libts.la libts.so)
/share/ts/plugins(dejitter.la dejitter.so linear.la linear.so variance.la variance.so)
将相关文件拷贝到qte文件夹下:
cp –a src/.libs/* /usr/local/arm/qt-2.3.7/lib/
cp –a plugins/.libs/*.so /usr/local/arm/qt-2.3.7/lib/
cp –f src/*.h /usr/local/arm/qt-2.3.7/include/
重新编译qte后,通过nfs命令将/usr/local/arm文件夹挂到目标板上
在目标板上设置环境变量:
export QTDIR=/mnt/qt-2.3.7
export LD_LIBRARY_PATH=/mnt/qt-2.3.7/lib:$ LD_LIBRARY_PATH
export QWS_MOUSE_PROTO=TPanel:/dev/h3600_tsraw
进入tslib下的build文件夹,设置环境变量如下:
export V_ROOT=/mnt/tslib/build
export TSLIB_CONSLOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/f ..
#1 [奋斗 09-09 08:47]
我觉得你到你的板子下面的/dev去查一下,你的触摸屏文件到底是什么!
然后写export QWS_MOUSE_PROTO=tslib:/dev/你的实际设备文件
或者写export QWS_MOUSE_PROTO=linuxtp:/dev/你的实际设备文件
应该是可以的
你的鼠标是可以用的吗?
#2 [niniuya 09-09 15:59]
鼠标还没驱动呢- -b,多谢大侠指点,有问题还请大侠不吝赐教