adb shell sendevent调试input事件

本文详细介绍如何使用adbshellsendevent命令来调试Android设备上的输入事件,包括按键和滑动操作。通过具体实例,如音量键和电源键的调试,以及模拟滑动事件的方法,帮助读者掌握这一调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值