QtScrcpy 安卓投屏与键鼠映射指南:手机秒变大屏
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
手游团战中,右手拇指同时压着开火和开镜,左手还要兼顾移动和蹲下,再多一个技能键就够不上了;6.7 英寸小屏上压枪瞄人更像绣花。把手机画面投到电脑大屏、用键鼠按端游的精度操作,就是 QtScrcpy 要解决的问题——开源的安卓投屏与键鼠控制工具,实时镜像画面、支持自定义键鼠映射,无需 Root。
它是什么:安卓投屏 + 键鼠控制一步到位
QtScrcpy 是基于 Qt 框架的安卓设备实时显示与控制软件:通过 USB 或 WiFi 连接手机,把屏幕镜像到桌面窗口,同时支持鼠标键盘实时控制,全程不需要 Root 权限。
Windows 主界面:左侧是连接与启动设置,右侧是手机画面的实时投屏窗口。
界面刻意做减法:主窗口只保留手机画面和一个控制面板,刷新设备、启动服务、屏幕录制、键鼠脚本应用都在这一个窗口里完成,没有多余入口。
性能参数与平台兼容一览
先给硬指标,方便对照自己的设备(具体数值以官方文档为准):
| 项目 | 指标 | | -- | -- | | 投屏延迟 | 35~70 ms | | 帧率 | 30~60 fps | | 分辨率 | 最高 1920×1080 及以上 | | 启动速度 | 1 秒内看到第一帧 | | 桌面平台 | Windows / macOS / Linux | | 设备要求 | Android 5.0(API 21)以上,免 Root |
技术路线上它基于 scrcpy 重构:C++ 实现、FFmpeg 解码、OpenGL 直接渲染视频,并用 Qt 信号槽机制做异步处理,低延迟和高帧率主要来自这条链路。
Linux 平台下的 QtScrcpy 投屏界面,功能与 Windows、macOS 一致。
键鼠映射原理解析:相对坐标 JSON
键鼠映射是 QtScrcpy 区别于普通投屏工具的地方,靠keymap/目录里的一组 JSON 脚本实现。思路很简单:屏幕宽高各记为 1,每个按键写成"键位 + 相对坐标",(0.5, 0.5) 就是屏幕中心。同一份脚本因此适配不同分辨率的手机,不用逐机调整。
脚本支持普通点击、双击、多次点击、拖拽、方向盘五种动作类型,FPS 游戏还有 mouseMoveMap 把鼠标移动映射成视角拖动,speedRatioX / speedRatioY 可单独调横纵灵敏度。完整字段说明在 docs/KeyMapDes_zh.md,照着抄一份就能上手。
和平精英映射生效中:WASD 控制移动,左键开火、右键开镜。
端到端实战:从 USB 投屏到启用键鼠映射
获取程序并开启 USB 调试
可直接下载预编译版;想自己编译(需要 Qt 5.12+)则克隆源码:
git clone https://gitcode.com/GitHub_Trending/qt/QtScrcpy手机侧:在"设置 → 关于手机"连点 7 次版本号开启开发者模式,打开"USB 调试",再用数据线连上电脑。
三步完成连接与投屏
在主界面点击"刷新设备列表",确认出现设备序列号后点"启动服务",1 秒内即可看到第一帧。鼠标可直接操作画面;Ctrl+F 全屏、Ctrl+H 主页、Ctrl+B 返回、Ctrl+S 切换应用等快捷键都可用。WiFi 无线连接的步骤在 README 里有详细说明,适合不想拉线的场景。
启用键鼠映射
在keymap/目录里挑选一份脚本(和平精英、抖音、第五人格自带),点"刷新脚本"再点"应用脚本",之后按~键进入映射模式,再按一次~回到普通鼠标控制。想自定义键位时,可以照现有脚本写一份同结构 JSON:
{ "switchKey": "Key_QuoteLeft", "keyMapNodes": [ { "type": "KMT_CLICK", "key": "Key_W", "pos": { "x": 0.16, "y": 0.75 } } ] }获取精确点击坐标
开发者选项里打开"显示指针位置",点一下目标按钮读出坐标;更省事的方式是直接在投屏窗口里左键点那个位置,控制台会输出相对坐标 pos,照抄进脚本即可。
左键点击画面,控制台输出相对坐标 pos,可直接写入映射脚本。
🎮 进阶场景:多设备组控、低延迟调优与自定义键位
多设备组控
游戏多开或批量测试时,接入多台手机并勾选"批量操作",所有设备同步执行同一套键鼠输入,一次按键广播到每个画面。
组控演示:多个投屏窗口同时执行相同操作。
性能敏感场景
想压延迟:优先 USB 而非 WiFi,把"最大尺寸"降到 720p 左右,不用录屏时把比特率调低。长时间挂机可以勾选"自动息屏",息屏后投屏照常进行,手机更省电。
自定义键位
给其他游戏做键位:先用"显示指针位置"逐个读出技能按钮坐标,照抄和平精英模板改 key 和 pos;玩载具类游戏建议在游戏设置里切到单摇杆模式,方向盘映射更稳。
🔍 QtScrcpy 常见问题排障手册
- 现象:刷新设备列表后看不到设备。原因:USB 调试未开或电脑里多个 adb 版本冲突(报 server version doesn't match)。处理:开启 USB 调试后重新插拔;冲突时到任务管理器结束旧的 adb 进程,或在 config.ini 里把 AdbPath 指向当前使用的 adb。
- 现象:能看到画面但无法控制。原因:部分手机(小米等)需要额外授权模拟点击。处理:在开发者选项"USB 调试(安全设置)"里打开"允许模拟点击"。
- 现象:能控制但看不到画面,控制台报 shader 错误。原因:显卡不支持当前视频渲染方式。处理:把 config.ini 里的解码方式改成 1 或 2 再试。
- 现象:启动服务报 Could not open video stream。原因:分辨率或比特率设得过高,超出设备能力。处理:调低"最大尺寸"后重新启动服务。
- 现象:和平精英上下车后映射失效。原因:游戏上车会创建新界面,原触摸点失效。处理:连续按两次
~键恢复映射。
📦 延伸资源与下一步
入门需要的资源入口都在这几个地方:keymap/目录有多款游戏模板可参考,docs/KeyMapDes_zh.md 讲清映射脚本的每个字段,docs/FAQ.md 收录了上面这些问题的详细排查,docs/DEVELOP.md 面向想读源码、自己编译的开发者。
现在就可以下载一份预编译版,先把 USB 投屏跑通,再启用内置的和平精英脚本试一次键鼠映射——最顺手的键位,永远是自己按习惯调出来的那一份。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考