热门内容

公众号"MAKE1"

获取行业最新资讯

请扫码添加

专业客服企业微信

getevent获得的数据代表的意思

简介

getevent获得的数据代表的意思

1、连接上USB进入ADB shell :adb shell

2、通过getevent获得输入事件:getevent

数据格式如下:

/dev/input/event0: "事件类型" "参数位定义" "值"

 

事件类型:输入事件的类型:

#define EV_SYN 0x00

#define EV_KEY 0x01

#define EV_REL 0x02

#define EV_ABS 0x03

#define EV_MSC 0x04

#define EV_SW 0x05

#define EV_LED 0x11

#define EV_SND 0x12

#define EV_REP 0x14

#define EV_FF 0x15

#define EV_PWR 0x16

 

参数位定义:由事件类型决定,比如事件类型是 EV_ABS,参数位定义宏 ABS_MT_POSITION_X表示的是EV_ABS的x坐标。

 

值:表示参数位定义 的值。如上面事件类型是 EV_ABS,参数位定义宏 ABS_MT_POSITION_X,则此“值”就表示绝对坐标的x坐标值。

 

下面是几个列子:

/dev/input/event0: 0003 0035 00000115 意思:事件类型是 EV_ABS,参数位定义宏 是ABS_MT_POSITION_X,绝对坐标值x等于0x115; 对应Linux函 数input_report_abs(data->input_dev, ABS_MT_POSITION_X,0x115);

 

/dev/input/event0: 0003 0036 000001fc 意思:事件类型是 EV_ABS,参数位定义宏 是ABS_MT_POSITION_Y,绝对坐标值x等于0x1fc

 

/dev/input/event0: 0003 0039 ffffffff 意思:事件类型是 EV_ABS,参数位定义宏 是ABS_MT_TRACKING_ID,值等于0xffffffff;这里表示没有设置ABS_MT_TRACKING_ID

 

/dev/input/event0: 0003 0030 0000007f 意思:事件类型是EV_ABS,参数位定义宏 是ABS_MT_TOUCH_MAJOR,值等于0x7f;对应Linux函数input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR,0x7f);

 

/dev/input/event0: 0000 0000 00000000 意思:事件类型是 EV_SYN ,对应Linux函数input_sync(data->input_dev);

 

/dev/input/event0: 0001 014a 00000001 意思:事件类型是 EV_KEY,参数位定义宏 是BTN_TOUCH,值等于0x01; 对应Linux函数 input_report_key(data->input_dev, BTN_TOUCH,1);

 

PS:参数位定义具体参看input.h 和笔记中的 《Linux与Android 多点触摸协议 》

8
 条评论
相关内容推荐