Android(安卓)getevent命令分析Input事件
16lz
2021-01-24
getevent命令使用格式:(adb shell,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
其中,getevent -p 和 getevent -i 都可显示所有注册的Input设备和相关信息,-i的信息更为详细。
getevent -p:
add device 3: /dev/input/event5 name: "hwmdata" events: REL (0002): 0001 0002 input props: add device 4: /dev/input/event3 name: "ACCDET" events: KEY (0001): 0072 0073 00a4 0246 input props: add device 5: /dev/input/event2 name: "GSENSOR" events: KEY (0001): 00fd input props:
getevent -i:
add device 3: /dev/input/event5 bus: 0000 vendor 0000 product 0000 version 0000 name: "hwmdata" location: "" id: "" version: 1.0.1 events: REL (0002): 0001 0002 input props: add device 4: /dev/input/event3 bus: 0019 vendor 0000 product 0000 version 0000 name: "ACCDET" location: "" id: "" version: 1.0.1 events: KEY (0001): 0072 0073 00a4 0246 input props: add device 5: /dev/input/event2 bus: 0019 vendor 0000 product 0000 version 0000 name: "GSENSOR" location: "" id: "" version: 1.0.1 events: KEY (0001): 00fd input props:
getevent 设备节点,显示该设备event事件的相关信息,如getevent /dev/input/event4:(power键事件)格式type code value
0001 0074 000000010000 0000 000000000001 0074 000000000000 0000 00000000其中,type定义如下:/* * Event types */ #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 #define EV_FF_STATUS 0x17 #define EV_MAX 0x1f #define EV_CNT (EV_MAX+1)常用的是EV_KEY, EV_REL, EV_ABS, EV_SYN分别对应按键, 相对坐标, 绝对坐标, 同步事件。EV_SYN则表示一组完整事件完成上报,需要处理。EV_SYN的code定义事件分发的类型,其对应的code如下:/* * Synchronization events. */ #define SYN_REPORT 0 #define SYN_CONFIG 1 #define SYN_MT_REPORT 2 #define SYN_DROPPED 3
getvent -l 设备节点,更能清晰显示出event事件的信息,即getevent -l /dev/input/event4:
EV_KEY KEY_POWER DOWNEV_SYN SYN_REPORT 00000000EV_KEY KEY_POWER UPEV_SYN SYN_REPORT 00000000上面的信息可知,该事件为点击power键事件。
getevent -r 设备节点,可以显示event上报速率,即getvent -r /dev/input/event4:
0001 0074 000000010000 0000 00000000 rate 00001 0074 000000000000 0000 00000000 rate 5
更多相关文章
- S5PV210 Android(安卓)fimc驱动分析 - fimc_capture.c
- 重学Android——View的事件分发
- android基础学习
- Android(安卓)Annotations快速开发框架入门
- Android(安卓)ListView中有Button,ItemClick事件失效
- Android下Xml解析技术(四)、pull生成Xml文件
- 【Android】音效配置文件 audio_effects.conf
- android camera开发笔记