用adb shell模拟ALT,SHIFT等两个关键事件

Mah*_*oni 5 android adb

通过adb shell input keyevent某些关键事件可以模拟。也有修饰键,例如SHIFT_LEFTALT_RIGHT等等。

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

 adb shell input keyevent SHIFT_LEFT; keyevent A
Run Code Online (Sandbox Code Playgroud)

结果只能在a屏幕上简单显示。

Nim*_*ary 6

如果需要Shift + A,则必须执行以下顺序

Press shift
Press A
Release A
Release shift
Run Code Online (Sandbox Code Playgroud)

这可以通过使用

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

[command]     [device]             [type]    [code]   [value]
sendevent    /dev/input/event0    1          229      1
Run Code Online (Sandbox Code Playgroud)

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

[类型] 1对我来说是未知的(也许是设备上物理按钮的代码)

[code] 229是模拟器的MENU按钮

[值] 1为向下或向下按下(向上或向下使用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
Run Code Online (Sandbox Code Playgroud)

参考