鼠标

有多种鼠标输入模式可用:

  • --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: 触发快捷方式 HOME
  • s: 触发快捷方式 APP_SWITCH
  • n: 触发快捷方式 "展开通知面板"

例如:

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  # 等效