本文转自迅为电子:
http://www.topeetboard.com
到迅为制作的触摸库文件“
/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 ]; thenexport QWS_MOUSE_PROTO='Tslib:/dev/input/event2'#if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; thenif [ -e /etc/pointercal ] ; thenfsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)echo $fsize#if [ -s /etc/pointercal ]; thenif [ $fsize -ge "1" ]; thenecho "/etc/pointercal is exit"elseecho "/etc/pointercal is empty"rm /etc/pointercal/usr/local/tslib/bin/ts_calibratefielseecho "/etc/pointercal not found"/usr/local/tslib/bin/ts_calibratefielseexport QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"#>/etc/pointercalfi#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"
如下图所示,进入最后一行,红 {MOD}框默认会启动 QtE
自带的例程,这里修改为“
./bin/helloworld -qws”,红 {MOD}框中的代码记得注释或者删除。
一周热门 更多>