Android getevent用法实例详解
Androidgetevent用法实例详解
最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。
翻阅了几篇博文,才发现有一个getevent,就是指这样的命令.
首先需要说明的是getevent命令后面可以带上具体的input设备,列如getevent/dev/iput/event0,这样可以过滤掉一些不用显示的input的设备.
我在之前的使用中,还是有些找不到点子,也是一步一步使用起来的。
首先看-p选项,-p选项用于输出input设备相关的一些信息,列如,getevent-p/dev/input/event0:
adddevice1:/dev/input/event0: name:“radio_key” events: KEY(0001):0043004400570058 inputprops:
那么-i选项,同-p选项差不多,只是显示的信息更丰富,getevent-i/dev/input/event0:
adddevice1:/dev/input/event0 bus:0000 vendor0000 product0000 version0000 name:“radio_key” location:“” id:“” version:1.0.1 events: KEY(0001):0043004400570058 inputprops:
对于-p或-i选项呢,可以帮助我们判断input设备是否已经注册成功.
再来看-l选项,我们首先不加-l选项来看看,输入getevent/dev/input/event7命令,注event7是触摸屏的input设备:
0001014a00000001 00030030000000ff 0003003500000262 0003003600000546 0003003900000011 0000000200000000 0000000000000000 0001014a00000000 0000000200000000 0000000000000000
看到了吗,得到的是这样一组信息,只看数字的话,也不知道具体的含义,那么如果加上-l选项呢,getevent-l/dev/input/event7:
EV_KEYBTN_TOUCHDOWN EV_ABSABS_MT_TOUCH_MAJOR000000ff EV_ABSABS_MT_POSITION_X00000262 EV_ABSABS_MT_POSITION_Y00000546 EV_ABSABS_MT_TRACKING_ID00000011 EV_SYNSYN_MT_REPORT00000000 EV_SYNSYN_REPORT00000000 EV_KEYBTN_TOUCHUP EV_SYNSYN_MT_REPORT00000000 EV_SYNSYN_REPORT00000000
我们看,这样就容易明白多了,格式是eventtype、eventcode、eventvalue,至于这些所代表的含义可以参考input设备相关的东西。
来看-r选项,-r选项可以输出输入报告的速率,例如getevent-r/dev/input/event7:
0000000000000000rate83 000300300000004d 000300350000024e 0003003600000364 0003003900000000 0000000200000000 0000000000000000rate83 000300300000004c 000300350000024f 0003003600000364 0003003900000000 0000000200000000 0000000000000000rate83
使用这个选项可以帮助我们检测输入报告的速率是否满足我们的要求,例如检测tp报点速率。
关于getevent命令选项大概就介绍这几个,其他的用法可以参考上面的getevent命令用法,另外,这些命令选项都是可以组合使用的,例如getevent-lr/dev/input/event7。
我是在检测设备按键时,觉得物理键指令无法找到,才发现这些命令。
与getevent相对应的是sendevent命令,但是sendevent命令输入稍显复杂,可以使用另外一个命令input来代替。例如,输入inputkeyeventKEYCODE_POWER表示按下一次power按键。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!