1.Getevent工具使用及参数说明
当用户触摸屏幕或者按下按键时,首先触发的是硬件驱动,硬件驱动会将事件写入设备节点(/dev/input),这便是内核的原始输入事件,getevent指令的作用便是读取内核中的原始输入事件。
1.1 getevent指令的使用
首先adb shell进入机器后,输入 getevent -h
130|1:/ $ getevent -h
Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device]
-t: show time stamps //添加按键发生的时间戳信息
-n: don't print newlines //不要打印换行符
-s: print switch states for given bits
-S: print all switch states //打印所有开关状态
-v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32, props=64)//打印硬件的基本信息
-d: show HID descriptor, if available
-p: show possible events (errs, dev, name, pos. events) //显示所有的事件,如果是按键,则会显示所有key,如果是触摸屏,则会显示绝对坐标系的值
-i: show all device info and possible events
-l: label event types and names in plain text //用纯文本标记事件类型和名称
-q: quiet (clear verbosity mask)//去除所有设备信息和节点信息,只有按键信息
-c: print given number of events then exit //打印给定数量的事件,然后退出
-r: print rate events are received
1.1.1 getevent
不带任何参数显示如下:
130|:/ $ getevent
add device 11: /dev/input/event1 //设备节点
name: "pmic_pwrkey" //设备名称 手机上的power电源按键
/dev/input/event1: 0001 0074 00000001 //按键按下信息
/dev/input/event1: 0000 0000 00000000 /同步事件信息
/dev/input/event1: 0001 0074 00000000 //按键抬起信息
/dev/input/event1: 0000 0000 00000000 /同步事件信息
1.1.2 getevent -t
携带事件发生的时间戳
add device 11: /dev/input/event1 //设备节点
name: "pmic_pwrkey" //设备名称 手机上的power电源按键
[ 63641.462544] /dev/input/event1: 0001 0074 00000001 //按键按下信息
[ 63641.462544] /dev/input/event1: 0000 0000 00000000 //同步事件信息
[ 63641.547853] /dev/input/event1: 0001 0074 00000000 //按键抬起信息
[ 63641.547853] /dev/input/event1: 0000 0000 00000000 //同步事件信息
1.1.3 getevent -n
没有换行符
/dev/input/event1: 0001 0074 00000001/dev/input/event1: 0000 0000 00000000/dev/input/event1: 0001 0074 00000000/dev/input/event1: 0000 0000 00000000
1.1.4 getevent -v
显示硬件的一些供应商等信息
add device 11: /dev/input/event1
bus: 0000
vendor 0000
product 0000
version 0000
name: "pmic_pwrkey"
location: "pmic_pwrkey/input0"
id: ""
version: 1.0.1
1.1.5 getevent -p
add device 4: /dev/input/event8
name: "touchpanel"// 触摸屏
events:
KEY (0001): 003e 008e 0145 014a
ABS (0003): 0000 : value 0, min 0, max 19840, fuzz 0, flat 0, resolution 0
0001 : value 0, min 0, max 44352, fuzz 0, flat 0, resolution 0
0018 : value 0, min 0, max 0, fuzz 0, flat 0, resolution 0
0021 : value 924, min 0, max 0, fuzz 0, flat 0, resolution 0
0022 : value 148, min 0, max 0, fuzz 0, flat 0, resolution 0
0023 : value 117, min 0, max 0, fuzz 0, flat 0, resolution 0
002f : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0
0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0031 : value 0, mi