鼠标
有多种鼠标输入模式可用:
--mouse=sdk
(默认)--mouse=uhid
(或-M
):使用设备上的 UHID 内核模块模拟物理 HID 鼠标--mouse=aoa
:使用 AOAv2 协议模拟物理 HID 鼠标--mouse=disabled
SDK 鼠标
在此模式下(--mouse=sdk
,或者如果省略参数),鼠标输入事件以绝对坐标注入到 Android API 层。
请注意,在某些设备上,要使这种鼠标模式正常工作,需要在开发者选项中启用额外的选项。请参见先决条件。
鼠标悬停
默认情况下,鼠标悬停(没有点击的鼠标移动)事件会转发到设备。可以通过以下命令禁用:
scrcpy --no-mouse-hover
物理鼠标模拟
有两种模式允许在设备上模拟物理 HID 鼠标。
在这些模式下,计算机鼠标将被“捕获”:鼠标指针从计算机消失,在 Android 设备上出现。
特殊的捕获键,无论是 Alt 还是 Super,都会切换(禁用或启用)鼠标捕获。使用其中一个键将控制权交回计算机。
UHID
此模式使用设备上的 UHID 内核模块模拟物理 HID 鼠标。
要启用 UHID 鼠标,请使用:
scrcpy --mouse=uhid
scrcpy -M # 简洁版本
AOA
此模式使用 AOAv2 协议模拟物理 HID 鼠标。
要启用 AOA 鼠标,请使用:
scrcpy --mouse=aoa
与其它模式不同,它直接在 USB 层工作(因此只能通过 USB 工作)。
它不使用 scrcpy 服务器,也不需要 adb
(USB 调试)。因此,即使禁用了 USB 调试(见 OTG),也可以控制设备(但不能镜像)。
注意:在 Windows 上,它可能只能在 OTG 模式 下工作,而不能在镜像模式下工作(如果一个 USB 设备已经被另一个进程如 adb 守护程序 打开,则不可能打开该 USB 设备)。
鼠标绑定
默认情况下,SDK 鼠标: - 右击触发 BACK(或 POWER 开关) - 中击触发 HOME - 第四击触发 APP_SWITCH - 第五击展开通知面板
次要点击可以通过按 Shift 键转发到设备(例如,Shift+右击向设备注入右键点击)。
在 AOA 和 UHID 鼠标模式下,默认绑定是相反的:所有点击默认被转发,按下 Shift 可以访问快捷方式(由于光标在设备端处理,因此在这些模式下,默认转发所有鼠标按钮更有意义)。
可以使用 --mouse-bind=xxxx:xxxx
配置任何鼠标模式的快捷方式。参数必须是两个序列(由 :
分隔)的恰好 4 个字符,每个二次点击一个:
.---- Shift + 右键点击
SECONDARY |.--- Shift + 中键点击
BINDINGS ||.-- Shift + 第四点击
|||.- Shift + 第五点击
||||
vvvv
--mouse-bind=xxxx:xxxx
^^^^
||||
PRIMARY ||| `- 第五点击
BINDINGS || `-- 第四点击
| `--- 中键点击
`---- 右键点击
每个字符必须是以下之一:
+
: 将点击转发到设备-
: 忽略点击b
: 触发快捷方式 BACK(或如果屏幕关闭则开启电源)h
: 触发快捷方式 HOMEs
: 触发快捷方式 APP_SWITCHn
: 触发快捷方式 "展开通知面板"
例如:
scrcpy --mouse-bind=bhsn:++++ # SDK 鼠标的默认模式
scrcpy --mouse-bind=++++:bhsn # AOA 和 UHID 的默认模式
scrcpy --mouse-bind=++bh:++sn # 转发右键和中键点击,
# 使用第 4 个和第 5 个用于 BACK 和 HOME,
# 使用 Shift+第 4 个和 Shift+第 5 个用于 APP_SWITCH
# 并展开通知面板
第二个绑定序列可以省略。在这种情况下,它与第一序列相同:
scrcpy --mouse-bind=bhsn
scrcpy --mouse-bind=bhsn:bhsn # 等效