转自:http://blog.csdn.net/eleven_yy/article/details/7723079

上发单点触摸事件

input_report_key(input,ABS_MT_TRACKING_ID,0);

input_report_key(input, BTN_TOUCH, 1);

input_report_abs(input, ABS_MT_POSITION_X, ts->tc.x1);

input_report_abs(input, ABS_MT_POSITION_Y, ts->tc.y1);

input_sync(input);

上发多点触摸事件

input_report_key(input,ABS_MT_TRACKING_ID,0); // ABS_MT_TRACKING_ID 用来区分是第几指上报上来的坐标

input_report_key(input, BTN_TOUCH, 1);

input_report_abs(input, ABS_MT_POSITION_X, ts->tc.x1);

input_report_abs(input, ABS_MT_POSITION_Y, ts->tc.y1);

input_mt_sync(input);

input_report_key(input,ABS_MT_TRACKING_ID,1);

input_report_key(input, BTN_TOUCH, 1);

input_report_abs(input, ABS_MT_POSITION_X, ts->tc.x2);

input_report_abs(input, ABS_MT_POSITION_Y, ts->tc.y2);

input_mt_sync(input);

input_sync(input);

在 2.36.28/29 的 input 模块 中增加多点触摸的接口

增加多点触摸的命令定义:

linuxsrc/include/input.h

#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */

#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */

#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */

#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */

#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */

#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */

#define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */

#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */

#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */

#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */

#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */

/*

* MT_TOOL types

*/

#define MT_TOOL_FINGER 0

#define MT_TOOL_PEN 1

在同一文件中增加相应的处理函数:

static inline void input_mt_sync(struct input_dev *dev)

{

input_event(dev, EV_SYN, SYN_MT_REPORT, 0);

}

在linuxsrc/driver/input/input.c 中增加定义

/*

* EV_ABS events which should not be cached are listed here.

*/

static unsigned int input_abs_bypass_init_data[] __initdata = {

ABS_MT_TOUCH_MAJOR,

ABS_MT_TOUCH_MINOR,

ABS_MT_WIDTH_MAJOR,

ABS_MT_WIDTH_MINOR,

ABS_MT_ORIENTATION,

ABS_MT_POSITION_X,

ABS_MT_POSITION_Y,

ABS_MT_TOOL_TYPE,

ABS_MT_BLOB_ID,

ABS_MT_TRACKING_ID,

ABS_MT_PRESSURE,

0

};

【作者】张昺华
【出处】http://www.cnblogs.com/sky-heaven/
【博客园】 http://www.cnblogs.com/sky-heaven/
【新浪博客】 http://blog.sina.com.cn/u/2049150530
【知乎】 http://www.zhihu.com/people/zhang-bing-hua
【我的作品---旋转倒立摆】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2
【我的作品---自平衡自动循迹车】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

多点触摸与单点触摸接口主要区别【转】相关推荐

  1. 5.触摸touch,单点触摸,多点触摸,触摸优先和触摸事件的吞噬

     1 触摸 Coco2dx默认只有CCLayer及其派生类才有触摸的功能. 2 单点触摸 打开触摸开关和触摸方式 setTouchEnabled(true); setTouchMode(kCCTo ...

  2. Android游戏开发之单点触摸与多点触摸

    Android游戏开发之单点触摸与多点触摸的响应方式 游戏开发中的触摸事件 在游戏开发中监听屏幕触摸事件须要在View中重写父类onTouchEvent方法,在重写的方法中拦截用户触摸屏幕的一些信息, ...

  3. android开发之单点触摸

    相对于多点触摸,单点触摸还是很简单的. 新建一个工程,先看看布局文件: <RelativeLayout xmlns:android="http://schemas.android.co ...

  4. Unity判断手势的滑动方向,单点触摸和多点触摸,并获取刚触摸以及触摸结束事的坐标

    Unity判断手势触摸的类型 ,判断手势的滑动方向,并获取刚触摸以及触摸结束事的坐标 本章咱们一起来看下unity对有触摸手势做出的响应 单点触摸 Input.touchCount==1 移动触摸 I ...

  5. Android App接管手势处理TouchEvnet中单点触摸和多点触控的讲解及实战(附源码 超简单实用)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.单点触摸 dispatchTouchEvent onInterceptTouchEvent onTouchEvent三个方法的输入参数都是手势 ...

  6. ios触摸超出_iOS触摸事件处理

    在开发过程中,大家或多或少的都会碰到令人头疼的手势冲突问题,正好前两天碰到一个类似的bug,于是借着这个机会了解了iOS中的事件传递与处理的相关内容,整理出来方便以后查阅. iPhone的成功,很大的 ...

  7. cocos2dX 事件之触摸事件和触摸事件集合

    今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 现在的手机游戏交互基本上都是通过触摸交互的, 所以大家明白这节的重要性了吧, 本节篇幅比较大, 所以我就不扯闲话了 先来看看常用函数: ...

  8. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...

  9. IM开发基础知识补课(一):正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...

最新文章

  1. Qt探秘——谈ui文件的用法
  2. java tcp client断开重连_ESP8266_12 ESP8266客户端模式下的TCP通信
  3. 为什么德国人工作这么慢,但效率却很高?
  4. 【浏览器】缩放是缩放CSS像素(缩放比例为1时,一个CSS像素等于一个屏幕像素)
  5. 基于 EntityFramework 生成 Repository 模式代码
  6. java spi技术,Java SPI机制
  7. Docker容器的单进程模型
  8. c语言动态双端栈的原理,数据结构(C语言版)例题(第三章:栈和队列)
  9. 推荐一款接口 API 设计神器!
  10. python井字棋如何判断输赢_井字棋判断输赢的两种方法
  11. XJOI1131换零钱
  12. vueX的mutation/action个人学习总结
  13. android 7.1 开机速度优化记录
  14. 从零开始的nrf52832蓝牙开发(2)--蓝牙模板解析
  15. 解决树莓派 Error -110 whilst initializing SD card的一种方法
  16. 2020.9.8:Spring cloud :install时报错
  17. c语言斗兽棋源代码,智能斗兽棋-智能斗兽棋下载-医源世界
  18. 首发国产软硬件完美兼容STM32F407系列功能简介
  19. Mariadb指定数据库进行主备,无法恢复数据异常总结
  20. 烽火2640路由器命令行手册-11-IP语音配置命令

热门文章

  1. 如何将Eclipse 的JavaWeb工程部署到Tomcat的webapps目录下
  2. Windows Phone7 手机越狱教程
  3. 随机字符串,随机密码生成器
  4. Java线程安全策略
  5. DM 源码阅读系列文章(四)dump/load 全量同步的实现
  6. php课程 4-16 数组自定义函数(php数组-桶)
  7. 数据解析1:XML解析(1)
  8. 32muduo_net库源码分析(八)
  9. python数据格式化后导入数据库_MySQL导入格式化数据
  10. c++头文件被c语言调用需要注意什么_嵌入式C语言之模块化编程