OK6410 解决Qt移植后触摸屏不能使用、鼠标无法移动问题
来源:互联网 发布:二叉树求节点双亲算法 编辑:程序博客网 时间:2024/06/06 01:33
一直在挂载下开发Qt程序,终于想要把它弄成开机自启动,折腾了一阵子,终于能开机自启动了,心里激动的不得了,试了试触摸屏,心又凉了半截。搞了两天,碰到了各种问题,还是解决了问题。不啰嗦了,直接给出解决步骤。
我最初的问题是:启动的Qtopia可以正常用触摸屏,自己移植的Qt程序触摸屏无法使用,鼠标能正常使用,一碰屏幕鼠标就跑没了。想了一下,既然Qtopia可以使用触摸屏,那tslib绝对是没有问题的才对。于是根据网上大多数的解决办法:进入/bin/复制一份qt4脚本进行修改,将最后的三行去掉,改成自己运行的程序。我的怎么只有两行?估计是文件系统有点不一样,下图可见:
改了以后发现问题更严重了,鼠标箭头卡在中间不能动了,触摸屏和鼠标一个都不能用,我无语了,这是什么原因?
没办法,只能继续找度娘,找了半天,试了半天,发现没一个可靠的,还是不行,想想不然放弃吧,触摸屏不行将就使用鼠标吧。感觉遇到困难的时候越不能放弃,因为这时候离成功很近了。突然想到之前看到一个cat event0,反正之前是没什么想法,但是就觉得这是个突破口,果断试了一下:
1.进入开发板的/dev/input/目录下,发现有好几个event,mouse。
2.一个个试event,运行命令,把event0,event1....都时一下:
cat event0然后在触摸屏上划几下,如果有响应(很多乱码),那么它代表的就是触摸屏了,我的是event2,感觉成功了一大半了。
3.在/bin/目录下复制一个qt4,命名为setqt4env:
cp /bin/qt4 /bin/setqt4env接下来就是修改setqt4env了,将最后两行改成自己需要运行的程序比如我的:
./bin/First -qws
这里有一个非常重要的地方,网上的解决方案就是修改这里了,但是这时候必须要修改setqt4env,必须要根据自己的环境更改。我的Qt程序是用Qt4.4.3编译的,文件系统中的也相对应是采用Qt4.4.3(opt下的Qt4.7.1等都让我给删了,太大了),需要修改配置文件,现在将我改好的配置文件发出来参考:
#!/bin/shexport QTDIR=/opt/Qtopia4.4.3/export QPEDIR=/opt/Qtopia4.4.3export PATH=/opt/Qtopia4.4.3/bin:/sbin:/usr/sbin:/bin:/usr/binexport QT_QWS_FONTDIR=/opt/Qtopia4.4.3/lib/fonts/export QWS_DISPLAY=LinuxFb:mmWidth76:mmHeight44:1export TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_CONFFILE=/usr/local/tslib/etc/ts.confexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_PLUGINDIR=/usr/local/tslib/lib/tsexport TSLIB_ROOT=/usr/local/tslibexport TSLIB_TSDEVICE=/dev/input/event2export TSLIB_TSEVENTTYPE=H3600export QT_PLUGIN_PATH=/opt/Qtopia4.4.3/plugins:/opt/Qtopia4.4.3/qt_plugins/export QWS_MOUSE_PROTO="Tslib:/dev/input/event2"export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/lib:/usr/local/tslib/lib:$LD_LIBRARY_PATHexport PATH=/opt/Qtopia4.4.3/bin:/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/tslib/binif [ -c /dev/input/event2 ]; then echo "touch..." export QWS_MOUSE_PROTO='Tslib:/dev/input/event2' if [ ! -e /etc/pointercal ]; then /bin/calibrate fi if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then rm /etc/pointercal /bin/calibrate fielse echo "mouse..." export QWS_MOUSE_PROTO="MouseMan:/dev/input/mouse1" >/etc/pointercalfiexport QWS_KEYBOARD=TTY:/dev/tty1FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)#export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"case "$FB_SIZE" in800,480)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;480,272)export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1";;*)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;esac#export QWS_DISPLAY=:1./bin/First -qws
</pre><p></p><pre>4.然后就是修改/etc/init.d/rcS文件了,将最后一句启动Qtopia的命令去掉换成:
/bin/setqt4env &
5.最后将Qt程序First放到bin中就可以了。
- OK6410 解决Qt移植后触摸屏不能使用、鼠标无法移动问题
- 基于Linux kernel 3.14版本移植安卓系统后触摸屏无法使用的问题
- Android移植4.0后 触摸屏无法使用解决方案
- Qt移植后触摸屏无法输入(结合自身情况:见评论)
- 解决Tslib移植之后自己编写的QT程序不能使用触屏的问题
- qt程序移植后不能显示文字问题
- VMWARE下Fedora8安装VM TOOLS后解决鼠标滚轮不能使用的问题
- 关于QT移植及触摸屏的问题
- Qt移植对USB鼠标键盘、触摸屏的支持
- Qt移植对USB鼠标键盘、触摸屏的支持
- QT程序移植 触摸屏和鼠标的支持
- 如何解决嵌入式directfb的鼠标无法移动问题_20120507
- QT窗体去掉标题栏后不能移动的问题
- qt 触摸屏无反应 不能使用 tiny6410
- 解决TSLIB无法识别触摸屏的问题
- 解决QT 编译后脱离编译器无法运行的问题
- 解决vim 不能使用鼠标右键复制的问题
- 解决vim 不能使用鼠标右键复制的问题
- 图像滤镜艺术---(Sketch Filter)素描滤镜
- 一个c语言写的文件系统
- Object转为String的几种形式
- 图像滤镜艺术---水彩画滤镜
- Leetcode226 Invert Binary Tree
- OK6410 解决Qt移植后触摸屏不能使用、鼠标无法移动问题
- 2015年9月12日模拟赛总结
- 一种实现单元测试的方法及装置
- [源码]使用startService和boundService两种方法实现播放歌曲DEMO
- Android Support v4、v7、v13 介绍
- 计算器(栈实现)
- mac os x下python安装MySQLdb模块
- POJ 2251 Dungeon Master
- 配置JSDoc用conf.json