WEB开发网
开发学院手机开发Android 开发 Android多点触摸的实现 阅读

Android多点触摸的实现

 2010-09-10 00:51:00 来源:WEB开发网   
核心提示:第一章 摘要在Linux 内核支持的基础上, Android 在其 2.0 源码中加入多点触摸功能,Android多点触摸的实现,由此触摸屏在 Android 的 frameworks 被完全分为 2 种实现途径:单点触摸屏的单点方式,多点触摸屏的单点和多点方式

第一章 摘要

在Linux 内核支持的基础上, Android 在其 2.0 源码中加入多点触摸功能。由此触摸屏在 Android 的 frameworks 被完全分为 2 种实现途径:单点触摸屏的单点方式,多点触摸屏的单点和多点方式。

第二章 软件位

在Linux 的 input.h 中,多点触摸功能依赖于以下几个主要的软件位:

……………………… ..

#define SYN_REPORT 0

#define SYN_CONFIG 1

#define SYN_MT_REPORT 2

……………………… ...

#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 */

…………………………

Android 中对应的软件位定义在 RawInputEvent.java 中 :

………………… ..

public class RawInputEvent {

……………… .

public static final int CLASS_TOUCHSCREEN_MT = 0x00000010;

……………… ..

public static final int ABS_MT_TOUCH_MAJOR = 0x30;

public static final int ABS_MT_TOUCH_MINOR = 0x31;

public static final int ABS_MT_WIDTH_MAJOR = 0x32;

public static final int ABS_MT_WIDTH_MINOR = 0x33;

public static final int ABS_MT_ORIENTATION = 0x34;

public static final int ABS_MT_POSITION_X = 0x35;

public static final int ABS_MT_POSITION_Y = 0x36;

public static final int ABS_MT_TOOL_TYPE = 0x37;

public static final int ABS_MT_BLOB_ID = 0x38;

1 2 3 4 5 6  下一页

Tags:Android 多点 触摸

编辑录入:coldstar [复制链接] [打 印]
赞助商链接