Scrcpy 键盘控制

提供多种键盘输入模式:

--keyboard=sdk (default)

--keyboard=uhid (or -K): simulates a physical HID keyboard using the UHID

kernel module on the device

--keyboard=aoa: simulates a physical HID keyboard using the AOAv2 protocol

--keyboard=disabled

默认使用 sdk,但如果你经常使用 scrcpy,建议使用uhid,并在设备上一次性配置好键盘布局。

SDK 键盘Section titled “SDK 键盘”

在该模式下(--keyboard=sdk,或省略该参数时),键盘输入事件在 Android API 层注入。它几乎适用于所有场景,但仅支持 ASCII 及少量其它字符。

注意:在部分设备上,需要在开发者选项中启用额外设置该键盘模式才可用。参见前置条件。

下面的附加参数(仅适用于 --keyboard=sdk)可用于自定义行为。

文本注入偏好Section titled “文本注入偏好”

在输入文本时会产生两类事件:

键盘事件:表示按键按下或抬起;

文本事件:表示一段文本已被输入。

默认情况下,数字和“特殊字符”通过文本事件插入,而字母通过按键事件注入,以便在游戏中按键行为符合预期(典型如 WASD)。

但这可能会导致问题。如果遇到此类问题,可以将字母也作为文本注入(或直接切换到 UHID):

Terminal windowscrcpy --prefer-text

(但这会影响游戏中的键盘行为)

相反,你也可以强制始终注入原始按键事件:

Terminal windowscrcpy --raw-key-events

重复按键Section titled “重复按键”

默认情况下,长按按键会生成重复的按键事件。在某些游戏中,这些事件并无意义,还可能引发性能问题。

为避免转发重复按键事件:

Terminal windowscrcpy --no-key-repeat

物理键盘模拟Section titled “物理键盘模拟”

提供两种模式在设备上模拟物理 HID 键盘。

为正常工作,需在设备上一次性将键盘布局配置为与电脑一致。

可通过以下方式打开配置页面:

在使用 uhid 或 aoa 时,从 scrcpy 窗口按下 MOD+k(见快捷键)

在设备上,进入 设置 → 系统 → 语言和输入法 → 物理设备

在电脑终端执行 adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

在该页面也可以开启或关闭屏幕键盘。

UHIDSection titled “UHID”

该模式使用设备上的 UHID 内核模块模拟物理 HID 键盘。

启用 UHID 键盘:

Terminal windowscrcpy --keyboard=uhidscrcpy -K # short version

在配置好键盘布局后(见上文),这是镜像场景下使用键盘的最佳模式:

支持所有字符与输入法(不同于 --keyboard=sdk)

可禁用屏幕键盘(不同于 --keyboard=sdk)

支持 TCP/IP(无线)(不同于 --keyboard=aoa)

在 Windows 上无相关问题(不同于 --keyboard=aoa)

缺点是老版本 Android 可能因权限错误无法使用。

AOASection titled “AOA”

该模式使用 AOAv2 协议模拟物理 HID 键盘。

启用 AOA 键盘:

Terminal windowscrcpy --keyboard=aoa

与其他模式不同,它直接在 USB 层工作(因此仅支持 USB 连接)。

它不使用 scrcpy 服务端,也不需要 adb(USB 调试)。因此,即使关闭 USB 调试也可以控制设备(但无法镜像),见OTG。

注意:在 Windows 上,它可能只能在OTG 模式下工作,无法在镜像时使用(当 USB 设备已被其他进程如 adb daemon 打开时无法再次打开)。

Copyright © 2088 一键全脑游戏活动站 - 脑力挑战专属福利 All Rights Reserved.
友情链接