6

adb shell input keyevent可以模拟某些关键事件。还有修饰键SHIFT_LEFT,例如ALT_RIGHT等。

我想模拟两个键,例如 SHIFT + A,但是

 adb shell input keyevent SHIFT_LEFT; keyevent A

结果只出现在a屏幕上。

4

1 回答 1

5

如果需要 Shift + A 则您必须执行以下操作

Press shift
Press A
Release A
Release shift

这可以通过使用来完成

命令格式:sendevent 设备类型码值

[command]     [device]             [type]    [code]   [value]
sendevent    /dev/input/event0    1          229      1

/dev/input/event0 是将其发送到的设备

[type] 1 对我来说是未知的(可能是设备上物理按钮的代码)

【code】229是模拟器的MENU键

[value] 1 是 keydown 或 press down (对于 keyup 或 up 使用 0 )

我编写了一个批处理文件,用于将事件发送到设备,如下所示:

adb -s emulator-5554 shell sendevent /dev/input/event0 1 229 1
adb -s emulator-5554 shell sendevent /dev/input/event0 1 229 0

参考

于 2013-01-10T14:43:20.023 回答