多点触摸与单点触摸接口主要区别【转】
转自: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
};
多点触摸与单点触摸接口主要区别【转】相关推荐
- 5.触摸touch,单点触摸,多点触摸,触摸优先和触摸事件的吞噬
1 触摸 Coco2dx默认只有CCLayer及其派生类才有触摸的功能. 2 单点触摸 打开触摸开关和触摸方式 setTouchEnabled(true); setTouchMode(kCCTo ...
- Android游戏开发之单点触摸与多点触摸
Android游戏开发之单点触摸与多点触摸的响应方式 游戏开发中的触摸事件 在游戏开发中监听屏幕触摸事件须要在View中重写父类onTouchEvent方法,在重写的方法中拦截用户触摸屏幕的一些信息, ...
- android开发之单点触摸
相对于多点触摸,单点触摸还是很简单的. 新建一个工程,先看看布局文件: <RelativeLayout xmlns:android="http://schemas.android.co ...
- Unity判断手势的滑动方向,单点触摸和多点触摸,并获取刚触摸以及触摸结束事的坐标
Unity判断手势触摸的类型 ,判断手势的滑动方向,并获取刚触摸以及触摸结束事的坐标 本章咱们一起来看下unity对有触摸手势做出的响应 单点触摸 Input.touchCount==1 移动触摸 I ...
- Android App接管手势处理TouchEvnet中单点触摸和多点触控的讲解及实战(附源码 超简单实用)
运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.单点触摸 dispatchTouchEvent onInterceptTouchEvent onTouchEvent三个方法的输入参数都是手势 ...
- ios触摸超出_iOS触摸事件处理
在开发过程中,大家或多或少的都会碰到令人头疼的手势冲突问题,正好前两天碰到一个类似的bug,于是借着这个机会了解了iOS中的事件传递与处理的相关内容,整理出来方便以后查阅. iPhone的成功,很大的 ...
- cocos2dX 事件之触摸事件和触摸事件集合
今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 现在的手机游戏交互基本上都是通过触摸交互的, 所以大家明白这节的重要性了吧, 本节篇幅比较大, 所以我就不扯闲话了 先来看看常用函数: ...
- IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...
- IM开发基础知识补课(一):正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...
最新文章
- Qt探秘——谈ui文件的用法
- java tcp client断开重连_ESP8266_12 ESP8266客户端模式下的TCP通信
- 为什么德国人工作这么慢,但效率却很高?
- 【浏览器】缩放是缩放CSS像素(缩放比例为1时,一个CSS像素等于一个屏幕像素)
- 基于 EntityFramework 生成 Repository 模式代码
- java spi技术,Java SPI机制
- Docker容器的单进程模型
- c语言动态双端栈的原理,数据结构(C语言版)例题(第三章:栈和队列)
- 推荐一款接口 API 设计神器!
- python井字棋如何判断输赢_井字棋判断输赢的两种方法
- XJOI1131换零钱
- vueX的mutation/action个人学习总结
- android 7.1 开机速度优化记录
- 从零开始的nrf52832蓝牙开发(2)--蓝牙模板解析
- 解决树莓派 Error -110 whilst initializing SD card的一种方法
- 2020.9.8:Spring cloud :install时报错
- c语言斗兽棋源代码,智能斗兽棋-智能斗兽棋下载-医源世界
- 首发国产软硬件完美兼容STM32F407系列功能简介
- Mariadb指定数据库进行主备,无法恢复数据异常总结
- 烽火2640路由器命令行手册-11-IP语音配置命令