How can I use adb to send a longpress key event?
我可以使用类似以下的内容:
1 | adb shell input keyevent 4 |
,这将向我的设备发送一次"后退"按钮。如何发送长按?
谢谢
您可以尝试以下命令:
1 | adb shell input touchscreen swipe 170 187 170 187 2000 |
您在屏幕上的申请位置是
170,187;延迟时间是2000(ms);
长按HOME键:
1 2 3 4 5 | adb shell sendevent /dev/input/event2 1 172 1 adb shell sendevent /dev/input/event2 0 0 0 timeout 1 adb shell sendevent /dev/input/event2 1 172 0 adb shell sendevent /dev/input/event2 0 0 0 |
您可以转到cmd并键入adb shell getevent |找到" event2";长按HOME键查看更多信息。
由于此提交是在Android 4.4中进行的,因此可以使用:
1 | adb shell input keyevent --longpress KEYCODE_L |
另一次提交进一步改善了行为。
当您要删除某些内容或重复某些事件或仅输入大量数字时,可以使用以下代码。它会模仿键盘上的长按:
1 2 3 4 | adb shell input keyevent KEYCODE_FORWARD_DEL KEYCODE_FORWARD_DEL KEYCODE_FORWARD_DEL //delete 3 times adb shell input keyevent KEYCODE_1 KEYCODE_1 KEYCODE_1 //input value '111' |
您可以重复事件或无限制输入内容,就像长按按键一样。这是同一件事。您可以定义自己的长传和时间Now
此链接讨论了类似的问题,但有问题的设备(Nexus One设备)具有菜单/主页/后退/搜索按钮作为触摸屏的一部分,而不是物理键。
这另一个似乎更像是插入物理键输入,但是需要访问* .kl文件供您的设备驱动程序确定设备,类型,键代码,按值和释放值代码针对该特定设备。
但是,两者之间的常见链接似乎是
1 | adb shell sleep n |
,其中n是按下持续时间的长度(以秒为单位)。
希望这可能有用。
好吧,这个开发人员链接显示密钥代码是128,我已经测试过,但是没有预期的结果。
您可以检查此链接和此链接。他们展示了如何找到它。
这可能为时已晚,但肯定会帮助其他人。
请在cmd以下使用以实现长按。
adb shell输入keyevent 5睡眠5