android 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 多点触摸协议 》

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值