shell - 谁能完整解释这个命令 adb shell sendevent [device] [type] [code] [value]?

标签 shell adb

任何人都可以完整解释以下命令:

adb shell sendevent [device] [type] [code] [value]

我正在尝试使用发送事件命令编写触摸事件脚本。

最佳答案

首先,您需要找出手机或平板电脑上触摸屏设备的名称。您可以在 adb shell session 中使用此命令:

getevent -pl 2>&1 | sed -n '/^add/{h}/ABS_MT_TOUCH/{x;s/[^/]*//p}'

假设输入设备名称为 /dev/input/event0 并且您想要模拟坐标 x=300、y=400 处的快速点击:

sendevent /dev/input/event0 3 53 300
sendevent /dev/input/event0 3 54 400
sendevent /dev/input/event0 3 48 5
sendevent /dev/input/event0 3 58 50
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0

在相同坐标处的长触摸(假设1秒长)将是:

sendevent /dev/input/event0 3 53 300
sendevent /dev/input/event0 3 54 400
sendevent /dev/input/event0 3 48 5
sendevent /dev/input/event0 3 58 50
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0
sleep 1
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0

有关这些命令的含义和具体用途的解释,请阅读 Emulating touchscreen interaction with sendevent in Android .

关于shell - 谁能完整解释这个命令 adb shell sendevent [device] [type] [code] [value]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17259809/

相关文章:

linux - Linux 中的最后一个命令

linux - 在 Linux 中以特定时间间隔调用函数

Android "adb install"什么都不做

android - shell/批处理脚本将命令定向到 adb shell

android - ADB over Wi-Fi 在一台 PC 上速度极慢,但在另一台 PC 上非常好

linux - 如何在shell脚本中获取函数内部的脚本名称?

java - 使用 Java 获取 awk 返回值

shell - 为什么 tar 命令标记为 'legacy' ?

android - Adb 设备在 OS X 10.8.2 上找不到 Android 设备

android - 是否可以查看 Android 设备的整个 logcat(即不附加到特定进程)?