scrcpy-mask/README-zh.md
2024-05-22 17:11:36 +08:00

5.5 KiB
Raw Blame History

Scrcpy-mask

为了实现电脑控制安卓设备,本人使用 Tarui + Vue 3 + Rust 开发了一款跨平台桌面客户端。该客户端能够提供可视化的鼠标和键盘按键映射配置。通过按键映射实现了实现类似安卓模拟器的多点触控操作,具有毫秒级响应速度。该工具可广泛用于电脑控制安卓设备玩手游等等,提供流畅的触控体验。

本人对 Scrcpy 项目的开发者表示深深的敬意和感谢。Scrcpy 是一个强大而高效的开源工具,极大地方便了对 Android 设备的控制。本项目的实现基于 Scrcpy 的优秀架构,进行了鼠标键盘控制的优化和调整。

**本项目不提供投屏功能,不提供投屏功能,不提供投屏功能!**本项目仅实现了 Scrcpy 的控制协议。

原因是投屏会存在延迟和模糊问题,本项目另辟蹊径,直接放弃投屏,而使用透明的蒙版显示窗口背后的内容(可以使用 AVD 、手机厂商提供的低延迟投屏等),从根本上杜绝了 Scrcpy 的投屏体验差的问题。

除此之外,为了更好的支持 Scrcpy Mask 与安卓设备交互,本人对 scrcpy-server 进行了一些修改,在此扩展出了一个分支项目 scrcpy-mask-server

特性

  • 有线、无线连接安卓设备
  • 启动并连接 Scrcpy 服务端
  • 实现 Scrcpy 控制协议
  • 鼠标和键盘按键映射
  • 可视化编辑按键映射配置
  • 按键映射配置的导入与导出
  • 更新检查
  • 在按键映射和按键输入之间切换
  • 国际化
  • 手柄按键映射
  • 更好的宏
  • 通过 WebSocket 提供外部控制,见外部控制
  • 帮助文档

视频演示

实现原理

截图

  • 设备控制

  • 可视化编辑按键映射配置

  • 游戏控制

基本使用

  1. releases 中安装适合你系统平台的软件包
  2. 确认你的安卓设备类型
    1. 对于手机或平板电脑等物理设备
      1. 你需要自己解决投屏的问题。推荐使用设备品牌的官方投屏方式,这样一般延迟最小。
      2. 通过 USB 或无线方式在设备上启用 ADB 调试,然后将其连接到电脑。
    2. 对于模拟器,不仅不需要投屏,而且模拟器通常默认启用 ADB 有线调试。所以几乎不用操作就能获得最好的体验。
  3. 启动软件并导航到设备页面。
    1. 在可用的设备中查找你的设备(如果未找到,请自行搜索如何为安装设备启用 ADB 调试)。
    2. 右击设备并选择“控制此设备”。
  4. 导航到设置页面->蒙版设置,将蒙版的宽度和高度设置为设备屏幕尺寸相同的比例,确保蒙版大小合适。
  5. 导航到蒙版页面,你可以在其中看到一个完全透明的蒙版区域。接下来,调整并移动模拟器窗口或投屏窗口,让其内容区域与透明蒙版区域完全对齐。
  6. 导航到键映射页面,切换或编辑键映射配置。
  7. 返回到蒙版界面,开始使用吧!

关于宏

目前宏的结构仅仅是一个 JSON 对象,功能有限,仅仅是作为过渡使用的。请勿投入太多时间来编写宏,因为宏的编写规范随时可能因版本更新而变动

宏的示例可见 hotkey.tsasync function execMacro 函数注释。

比如 key-input-mode 宏,可以从按键映射模式切换到按键输入模式,常用于文本输入。示例如下:

[{ "args": [], "type": "key-input-mode" }]

贡献

如果你对这个项目感兴趣,欢迎提 PR 或 Issue。但我的时间和精力有限所以可能无法全部及时处理。

Star History Chart