Android中getevent获取Input事件的用法

getevent 指令用于获取android系统中 input 输入事件,比如获取按键上报信息、获取触摸屏上报信息等。具体的代码目录:/system/core/toolbox/getevent.c。

先看看效果:

Android中getevent获取Input事件的用法_第1张图片

查看getevent -h 获得相关信息:

msm8909w:/ $ getevent -h
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)
    -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

对应的中文解释:
    -t 显示时间
    -n 不换行打印
    -s 显示指定位的开关状态
    -S 显示所有位的开关状态
    -v 根据mask值显示相关信息,执行后会一直显示上报数据
    -d 如果设备可用,显示设备隐藏的描述信息
    -p 显示设备支持的事件类型和编码方式
    -i 显示设备的所有信息和支持的事件
    -l 以文本形式输出事件类型和名称
    -q 静默(清晰冗长的mask)
    -c 打印固定数量的事件并退出
    -r 显示事件上报速率

在设备中输入getevent 可以看到:

Android中getevent获取Input事件的用法_第2张图片

会有默认上传的数据。我们的设备中input/event2是对应的触摸屏的数据。

以上数据的格式为:/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

 

关于input相关的操作:

进入/proc/bus/input/中可以看到有devices与handlers两个节点,如下

Android中getevent获取Input事件的用法_第3张图片

从上面可以看出,TP相关信息,这样可以快速查询。

 

 

 

 

 

你可能感兴趣的:(Android总结)