天天看点

qt多点触控

最近,触屏的事情又来了。USB接口的电阻屏比较简单,按照之前的文章就可以了。需要注意的是校准的问题。

下载地址http://pan.baidu.com/s/1c0nXqX6

而现在,电容触摸屏一直都没什么进展。昨天,在网上找资料,看到了这个。http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html,这篇文章说是从国外网站找到的,无奈的天朝,google都不让用。这篇文章是英文的,不过看着应该没什么大问题。关于触屏的驱动这块,跟它说得不太一样。像现在用的电容屏,只是在内核中配置了hid-multitouch的支持,就可以使用了。并没有找触摸屏对应的驱动,或者应该说这就是所要的驱动了。tslib的东西就不说了,我的文章也有,网上更是一大堆。

要说的是后面的部分。liblo-0.28、mtdev-1.1.5、mtdev2tuio-master、qTUIO-master这几个文件的编译。其实按照连接里面的内容就可以了,只是我在弄的时候有点问题。前两个都是直接./configure ........就直接过去了。而mtdev2tuio-master需要修改一下Makefile文件,因为是用在开发板上,要把里面的CC和LD行修改为自己使用的编译器。   

qt多点触控

在LD里面一定要加-lm,因为用到了math.h文件的东西。不然编译不过去。

之后把INCLUDE行需要修改为:

qt多点触控

当然需要对应自己的安装位置。连接里面说得,把前两个编译后的结果,放到环境变量对应的bin文件夹下就可以了。

之后编译qTUIO这个文件。使用自己的qmake,然后make,会发现usleep有错误,未定义。所以修改3rdparty/tuio/TuioServer.h。在#ifndef WIN32下面增加#include <unistd.h>在编译就ok了。

qt多点触控

qTUIO里面还有例程,用来测试是否能够使用多点的。pinchzoom是测试放大缩小的,knobs是测试旋转的。其他的我没用。

把qTUIO的lib里面的文件,复制到开发板里面,建议就直接复制到qt的lib目录里面,就不需要修改路径信息了。然后把mtdev2tuio复制到开发板,运行./mtdev2tuio /dev/input/event2 & event2这一项,需要根据自己的触摸屏是那个节点,调整。然后再运行pinchzoom,两个手指进行放大缩小的操作,就可以看到相应的变化了。

暂时问题算是解决了。这是好的一点。不好的一点是,又增加了一个需要后台运行的mtdev2tuio这个东西。其实我觉得Qt自己本身就应该可以支持的。只是不知道怎么做。以后在找找吧。

继续阅读