Linux/Android 多点触摸支持

来源:互联网 发布:软件测试基本过程 编辑:程序博客网 时间:2024/05/02 02:21

在内核2.6.30开始,添加了对多点触摸的支持。在ENAC(http://lii-enac.fr/en/architecture/linux-input/)中给出来多点触摸的例子,支持Ubuntu10.10、Fedora14、Android。而且还直接支持win7的HID多点协议,加载相关驱动后,只需VID/PID对应上,那么支持WIN7多点的,在LINUX中也可实现多点触摸了。

整个处理过程就是:touch screen-->drivers-->input subsystem-->evdev-->user space。由于touchscreen的不同,要使Linux支持多点触摸,还是要搭配或开发驱动。在驱动层中主要是把数据接收下来,然后根据多点触摸协议,上传到input 子系统。

下面是多点触摸协议:

 

//一帧数据发送完成,发送一个同步信号

 

input_sync(input);

 

具体的协议说明,可参照source code中的文档(Documentation/input/multi-touch-protocol.txt)。

如果想在低版本,需移植多点部分的协议进去,主要是input.h和input.c文件。可参照ENAC上的说明或者http://blog.csdn.net/tjd0227/archive/2010/06/13/5669620.aspx。