将多个相同的keyevent发送到adb shell?

时间:2014-06-05 20:51:27

标签: android adb

如何将多个密钥事件发送到同一密钥的adb shell?例如,您可以发出一个'删除'关键事件(#67)是这样的:

adb shell input keyevent 67

但是有这样的事情(注意:这不会起作用)?

adb shell input keyevent 67 67

2 个答案:

答案 0 :(得分:7)

尝试使用

adb shell "input keyevent 67 && input keyevent 67"

如果您需要编写大型脚本,还可以尝试this approach

答案 1 :(得分:0)

如果您担心速度,我建议使用 sendevent 命令发送事件。我发现它明显更快,特别是在模拟水龙头时。

示例

sendevent /dev/input/event18 1 67 1 // send key down event 67
sendevent /dev/input/event18 0 0 0  // end of report
sendevent /dev/input/event18 1 67 0 // send key up event 67
sendevent /dev/input/event18 0 0 0  // end of report

<强>语法

sendevent <device> <type> <code> <value>

注意

这是在较低级别发送事件,这可以提供很多控制,也可以灵活地通过发送您感兴趣的确切事件来提高效率。在我看来,一个很大的缺点就是你'我必须自己确定设备(可能通过使用 getevent 命令并手动计算出来)设备 / dev / input / event18 只是我使用的一个例子我的手机,这不是一成不变的。

对于有效参数的引用,您可以看到头文件。 https://android.googlesource.com/platform/external/kernel-headers/+/8bc979c0f7b0b30b579b38712a091e7d2037c77e/original/uapi/linux/input.h