adb shell sendevent调试input事件
1,adb shell sendevent使用说明
C:\Users\luoqingyan>adb shell sendevent --help
usage: sendevent DEVICE TYPE CODE VALUE
Sends a Linux input event.
2,adb shell sendevent调试技巧
KEY_VOLUMEUP的down和up事件:
$ getevent
/dev/input/event2: 0001 0073 00000000 // 十六进制
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0001 0073 00000001
/dev/input/event2: 0000 0000 00000000
即:
$ getevent -l
/dev/input/event2: EV_KEY KEY_VOLUMEUP UP
/dev/input/event2: EV_SYN SYN_REPORT 00000000
/dev/input/event2: EV_KEY KEY_VOLUMEUP DOWN
/dev/input/event2: EV_SYN SYN_REPORT 00000000
KEY_VOLUMEUP调试命令:
adb shell sendevent /dev/input/event2 1 115 0 // 十进制 DOWN 事件
adb shell sendevent /dev/input/event2 0 0 0 // SYNC 上报 DOWN 事件
adb shell sendevent /dev/input/event2 1 115 1 // UP 事件
adb shell sendevent /dev/input/event2 0 0 0 // SYNC 上报 UP 事件
KEY_VOLUMEDOWN的down和up事件:
$ getevent
/dev/input/event2: 0001 0072 00000001
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0001 0072 00000000
/dev/input/event2: 0000 0000 00000000
即:
$ getevent -l
/dev/input/event2: EV_KEY KEY_VOLUMEDOWN DOWN
/dev/input/event2: EV_SYN SYN_REPORT 00000000
/dev/input/event2: EV_KEY KEY_VOLUMEDOWN UP
/dev/input/event2: EV_SYN SYN_REPORT 00000000
KEY_VOLUMEDOWN调试命令:
adb shell sendevent /dev/input/event2 1 114 0 // 十进制 DOWN 事件
adb shell sendevent /dev/input/event2 0 0 0 // SYNC 上报 DOWN 事件
adb shell sendevent /dev/input/event2 1 114 1 // UP 事件
adb shell sendevent /dev/input/event2 0 0 0 // SYNC 上报 UP 事件
$ getevent //能得知哪个/dev/input/eventXXX发出的按键事件
3,adb shell sendevent使用实例
一定要先有Down事件,才能有Up事件
$ adb shell
$ su
// dev/input/event0 对应的是电源键Power事件event // 一定要找准event
// KEY_POWER,Power键 Down事件
# sendevent /dev/input/event0 1 116 1 && sendevent /dev/input/event0 0 0 0
// KEY_POWER,Power键 Up事件
# sendevent /dev/input/event0 1 116 0 && sendevent /dev/input/event0 0 0 0
// /dev/input/event2 对应的是音量键Volume事件event // 一定要找准event
// KEY_VOLUMEUP,音量+键 Down事件
# sendevent /dev/input/event2 1 115 1 && sendevent /dev/input/event2 0 0 0
// KEY_VOLUMEUP,音量+键 Up事件
# sendevent /dev/input/event2 1 115 0 && sendevent /dev/input/event2 0 0 0
// KEY_VOLUMEDOWN,音量-键 Down事件
# sendevent /dev/input/event2 1 114 1 && sendevent /dev/input/event2 0 0 0
// KEY_VOLUMEDOWN,音量-键 Up事件
# sendevent /dev/input/event2 1 114 0 && sendevent /dev/input/event2 0 0 0
4,adb shell sendevent模拟滑动事件也是同上的方法
/dev/input/event6: EV_ABS ABS_MT_TRACKING_ID 0000056d
/dev/input/event6: EV_KEY BTN_TOUCH DOWN
/dev/input/event6: EV_KEY BTN_TOOL_FINGER DOWN
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002f2
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004f9
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000d
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MINOR 00000002
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000e
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000f
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002ef
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004f8
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002e8
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000e
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MINOR 00000003
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002e1
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004f7
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000a
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002d7
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 00000009
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002c9
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MINOR 00000002
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002ba
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000e
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 000002ad
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004f8
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 0000029c
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004f9
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 00000008
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 00000288
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004fb
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 00000274
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004fd
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 0000000e
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_POSITION_X 00000261
/dev/input/event6: EV_ABS ABS_MT_POSITION_Y 000004fe
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 00000009
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 00000007
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_TOUCH_MAJOR 00000009
/dev/input/event6: EV_SYN SYN_REPORT 00000000
/dev/input/event6: EV_ABS ABS_MT_TRACKING_ID ffffffff
/dev/input/event6: EV_KEY BTN_TOUCH UP
/dev/input/event6: EV_KEY BTN_TOOL_FINGER UP
/dev/input/event6: EV_SYN SYN_REPORT 00000000