这段时间一直在做基于EP9315处理器和QT的图形界面,在支持触摸屏的问题上遇到很大麻烦,不过还好,总算解决了。
EP9315和S3C2410的体系结构有很大区别,以前在2410上移植QT+TS几乎没费多少功夫,因为2410的触摸屏驱动是ipad标准的QT2对它有很好的支持。可是EP9315的触摸屏驱动不是标准的,得修改QT2里的qwsmouse_qws.cpp文件添加对EP9315触摸屏驱动的支持,cirrus公司有针对QT2.3.7的补丁,修改tmake/lib/qws/linux-arm-g++目录下的tmake.conf文件在TMAKE_CXXFLAGS变量后面增加一项 -DQT_QWS_CUSTOM,然后打上补丁即可实现对触摸屏的支持,可是运行基于QT2.3.7的应用屏幕抖动的厉害,触摸屏也不是很准确,总之效果很差实在无法在上面做应用。
于是想到了用QT2.3.10+TSLIB来实现应用程序和触摸屏的正常使用。之前跑过cirrus公司网站上发布的cirrus-arm-linux2.02, 跑的是opie界面,触摸屏的支持很到位,效果不错。研究了一下根文件系统里关于TS和QT的相关文件和库得知它使用的正是QT2.3.10+TSLIB0.1.1来实现opie界面触摸屏的支持。
下面是我编译QT2.3.10+TSLIB的过程:
系统:fedora core5
交叉编译环境:2.95.3
用到的软件包:
qt-embedded-2.3.10-free.tar.gz
qt-2.3.10-patch-crus2.02.bz2
qt-x11-2.3.2.tar.bz2
tslib-0.1.1.tar.bz2
tslib-0.1.1-patch-crus2.0.2.bz2
tmake-1.13.tar.bz
阅读(1054) | 评论(0) | 转发(0) |