1221|0

47

帖子

6

TA的资源

一粒金砂(中级)

楼主
 

嵌入式开发板QtE必备知识-- qt4文件的移植和修改(鼠标触摸以及字体) [复制链接]



到迅为制作的触摸库文件/usr/local/tslib”,迅为已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能。
用户在前面运行 helloworld的时候,会发现触摸和鼠标似乎无法使用,但是在 qt4 中却
能使用触摸和鼠标。
如何将 qt4 的触摸功能移植到应用程序 helloworld中。
如下图,打开etc/init.d/rcS”文件,将最后一行修改为“/bin/qt4_shell &”,这样
在开机之后系统会运行 qt4.shell 程序。修改完成之后,保存退出。






然后使用命令#cp -r bin/qt4 bin/qt4.shell”将“bin/qt4”文件拷贝生成
bin/qt4.shell”文件,如下图所示。






然后打开bin/qt4.shell”文件,如下图所示。
代码export TSLIB_ROOT=/usr/local/tslib”等调用了触摸和鼠标驱动。
代码export QTDIR=/opt/qt-4.7.1/”调用了 QtE 的库。
如下图所示,这一段关于鼠标的驱动已经被注释掉了。





将上图中与触摸鼠标相关代码修改为下面的代码。
if [! -c /dev/input/event2 ]; then
export QWS_MOUSE_PROTO='Tslib:/dev/input/event2'
#if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
if [ -e /etc/pointercal ] ; then
fsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)
echo $fsize
#if [ -s /etc/pointercal ]; then
if [ $fsize -ge "1" ]; then
echo "/etc/pointercal is exit"
else
echo "/etc/pointercal is empty"
rm /etc/pointercal
/usr/local/tslib/bin/ts_calibrate
fi
else
echo "/etc/pointercal not found"
/usr/local/tslib/bin/ts_calibrate
fi
else
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
#>/etc/pointercal
fi
#export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
#/usr/local/tslib/bin/ts_calibrate

上面代码第一行,有“!”则支持鼠标;触摸应该不能正常使用。
如果去掉“!”则支持触摸。需要先校准,使用上面这段代码只用校准一次即可,不用每
次都校验。
另外如果用户在第一次校准的时候,没有依次点击“十字框”,则触摸文件可能有问题,
那么可以参考 7.3.3 小节,删除掉“/etc/point*”文件,重启开发板再次校准。
修改这段代码之后,最好删除一下/etc/point*”文件。例如,如果用户刚开始使用的
是触摸,然后改成鼠标控制,因为已经存在/etc/point*”文件,所以会让人感觉鼠标可以
使用,触摸能够使用但是有问题,这个时候删除/etc/point*”文件重启即可。
如下图所示,接着找到控制字体的参数。





如上图,将下面三行删除,避免字体太大导致显示不正常。
*)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
如下图所示,进入最后一行,红色框默认会启动 QtE 自带的例程,这里修改为
./bin/helloworld -qws”,红色框中的代码记得注释或者删除。




此帖出自信息发布论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
ADI &文晔 探索季第一站,邀您在活动帖跟帖,ADI资深工程师将与您一道寻求解决之道! ...
春晚,最出圈当属穿着棉马甲跳秧歌的机器人”秧Bot”。
转手绢、飞手绢、变换队形,精准度和稳定性甚至超越人类,这背后少不了电机控制技术。

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表