打印
[嵌入式linux]

QT4.6.3触摸屏可以移动鼠标但无法产生鼠标点击信号

[复制链接]
3131|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gameboy12615|  楼主 | 2010-8-29 12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我用的是arm-linux-4.4.1版本的交叉编译器,QT版本是4.6.3,移植步骤大致跟天嵌QT4.5版的差不多,arm版的移植步骤如下:
1.编译tslib1.4,安装在/opt/tslib下
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=/opt/tslib



2.编译qt-embedded-arm,安装在 /opt/QT/qt-embedded-4.6.3-arm下
./configure -embedded arm -xplatform qws/linux-arm-g++ -qt-kbd-tty -qt-mouse-tslib -qt-mouse-pc -qt-gfx-linuxfb -no-gfx-qvfb -no-gfx-vnc -no-glib -release -shared -no-qt3support -no-xmlpatterns -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -no-nis -no-cups -no-iconv -no-dbus -no-openssl -little-endian -qt-freetype -depths all -prefix /opt/QT/qt-embedded-4.6.3-arm -I /opt/tslib/include -L /opt/tslib/lib



3.将tslib/lib下所有文件复制到qt-embedded-4.6.3-arm/lib下(不复制的话则第4步编译程序时找不到某些库)。

4.用arm版本的qmake编译程序测试无问题。(此时删掉/opt/tslib目录发现依然可以编译,似乎编译只依赖于qt-embedded-4.6.3-arm/lib下的库)

5.将qt-embedded-4.6.3-arm下的lib和plugins文件夹复制到开发板文件系统的/opt/QT/qt-embedded-4.6.3-arm下(保持开发板目录结构与PC机一致)。然后删除.so以外的文件并只保留需要的字体。

6.复制tslib/etc/ts.conf文件到开发板文件系统的/etc下,去掉第二行前的#号
# Uncomment if you wish to use the linux input layer event interface
module_raw input



7.在/etc/profile中添加如下内容:
# QT
QTDIR=/opt/QT/qt-embedded-4.6.3-arm
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
export TSLIB_PLUGINDIR=$QTDIR/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal

export set QWS_FONTDIR=$QTDIR/lib/fonts
export set QWS_MOUSE_PROTO="TSLIB:/dev/event0"
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"


8.将自己的QT测试程序和ts_calibrate复制到开发板文件系统的/home/usr目录下,最后将文件系统制作成bin文件烧入开发版中。

9.cd /home/usr,先运行ts_calibrate校准触摸屏,然后运行自己的QT测试程序。发现程序可以运行,点击触摸屏可以控制鼠标移动,但鼠标却无法点击QT界面上的任何按钮,点击拖拽均无反应。看来触摸屏的点击信号没有跟鼠标的点击信号联系起来,仅仅只将触摸点的位置信息传给了鼠标。不知问题出在哪里。。。求指教。。。

PS:在移植之前有移植过触摸屏驱动(否则不可能使用触摸屏),驱动程序用的是天嵌手册中提到的tq2440_ts.c

相关帖子

沙发
gameboy12615|  楼主 | 2010-8-30 16:28 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

0

粉丝