QtScrcpy完整指南:5分钟接通手机,用键鼠操控任意手游
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
深夜排位,敌人已经贴脸,你的拇指却还压在虚拟摇杆上——手指操控手游,天花板就这么高。QtScrcpy 把这个问题拆掉了:手机连上电脑后,它实时投屏,并用键盘鼠标接管全部操作,移动和瞄准从此可以同时进行。这篇指南帮你今天就能连上开玩。
先认清QtScrcpy:一张表看全能力版图
QtScrcpy 是一款纯 C++ + Qt 开源的安卓投屏控制软件:不需要 root,也不往手机里装任何 App,画面经 USB 或 WiFi 推到电脑,键鼠输入反向注入手机。它和原版 scrcpy 最大的区别,是支持自定义按键映射和多点触控,界面用 Qt 重写,可定制性高很多。
| 能力 | 它能做到什么 |
|---|---|
| 投屏 + 控制 | USB / WiFi 双连接,30~60fps,延迟 35~70ms,约 1 秒出首帧 |
| 键鼠控制 | 电脑键盘鼠标直接操作手机,支持多点触控 |
| 自定义按键映射 | 一份 JSON 脚本把任意按键映射为屏幕触摸,scrcpy 没有这个功能 |
| 多设备组控 | 同时连接多台设备,一套键鼠同步驱动 |
| 录制与截图 | mp4 录屏,可"仅后台录制"不出画面窗口 |
| 拖拽安装 / 传文件 | apk 拖进窗口即安装,普通文件拖进窗口即传到手机 |
| 三平台 | Windows / macOS / Linux |
5分钟跑起来:今天就能上手的最少步骤
前提条件:
- 手机:Android 5.0+(API 21),开启 USB 调试(设置 → 关于手机 → 连点"版本号"7 次 → 开发者选项 → USB 调试)
- 电脑:Windows / macOS / Linux 均可,用官方预编译包(已内置 ADB);想自己编译需 Qt 5.12+,源码可从
https://gitcode.com/GitHub_Trending/qt/QtScrcpy克隆 - 连接:USB 线,或手机与电脑同一 WiFi
接线四步:
- USB 插好手机,点"刷新设备列表"——列表里出现设备序列号就算成功(若一直为空,先用任意手机助手连一次让系统装好驱动)
- 点"启动服务",约 1 秒出画面。动一下鼠标、按几个键,屏幕跟着动,即验证通过
- 想无线化(手机和电脑同一局域网):依次点"获取设备 IP → 启动 adbd → 无线连接",再刷新,选中 IP 开头的设备,启动服务——之后拔掉 USB 也能一直连着
- 打开"启动配置"可调比特率、最大尺寸、录制路径;"窗口置顶""自动息屏"等选项都在这一栏
拆核心:虚拟手指是怎么落到屏幕上的
整个按键映射就是 keymap/ 目录下的一份 JSON 文件,读懂 4 个机制就能改出自己的配置:
1. 坐标全是相对值。整块屏幕的宽高都记为 1,比如(0.5, 0.5)落在 1920×1080 屏幕上就是像素 (960, 540)。好处:同一份文件在任意分辨率手机上都不跑位。
2. switchKey 是总开关。默认是~(数字键 1 左边)。按一下进入映射模式——所有键变成虚拟按钮;再按一下退回普通控制模式。
3. mouseMoveMap 把鼠标变成"一根手指"。你移动鼠标,它就在startPos处模拟一次手指拖动,FPS 游戏靠它转视角。两个关键参数:
speedRatioX/speedRatioY:X/Y 轴灵敏度比,数值越大灵敏度越低(最小 0.001),Y 轴默认按 2.25 的比率平移smallEyes:按指定键(和平精英配置里是 Alt)后,拖动起点换成一个精细瞄准点,开镜压枪专用
4. keyMapNodes 有 5 种触发动作,一个键对应哪一种:
| 类型 | 效果 | 典型用途 |
|---|---|---|
| KMT_CLICK | 按下=手指按下,抬起=抬起(最常用) | 跳跃、蹲、开火等点按按钮 |
| KMT_CLICK_TWICE | 按一次键=快速点两下 | 左/右探头这种要快的手感 |
| KMT_CLICK_MULTI | 按一次=按 delay 顺序连点多个位置 | 自动连招、连打 |
| KMT_DRAG | 按下=从 startPos 拖到 endPos | 刷视频、拉开抽屉;dragSpeed 0~1 控制速度 |
| KMT_STEER_WHEEL | 4 键组成方向盘(WASD + centerPos + 四向 offset) | 角色八向移动 |
还有一个易被忽略的字段:switchMap: true表示点下该键后释放鼠标(鼠标指针还给你),专门用于 M 地图、Tab 背包这类需要用鼠标翻菜单的界面。
坐标怎么取?映射开启后,鼠标左键点一下,控制台立刻打印 pos(形如"pos": {"x": 0.753, "y": 0.462}),照抄即可;也可在开发者选项里勾"显示指针位置"核对。编写规则全文在 docs/KeyMapDes_zh.md。
抄作业:3个内置场景,打开就能用
仓库自带的映射文件不用手写,选一个、应用、按~即可。效果如下:
场景一:和平精英(gameforpeace.json)
| 按键 | 操作 | 取值 | 要点 |
|---|---|---|---|
| WASD | 移动(方向盘) | centerPos (0.16, 0.75) | 游戏内载具设置改"单摇杆模式",否则方向盘失步 |
| 鼠标左键 | 开火 | pos (0.86, 0.72) | 对应右下开火键 |
| 鼠标右键 | 开镜 | pos (0.96, 0.52) | 配合 Alt 小眼睛细调 |
| Q / E | 左/右探头 | CLICK_TWICE,(0.12/0.20, 0.35) | 按一次连点两下 |
| 空格 / C / Z | 跳 / 蹲 / 趴 | (0.96,0.70) / (0.86,0.92) / (0.95,0.90) | 右下角三个状态键 |
| R、F/G/H | 换弹、拾取1~3 | (0.795,0.93)、(0.70, 0.34~0.54) | 拾取键纵向排布,好记 |
| M / Tab | 地图 / 背包 | switchMap: true | 释放鼠标后可正常翻看 |
| Shift / Alt | 车加速 / 小眼睛 | (0.80,0.80) / 拖动起点 (0.80,0.31) | Alt 是开镜压枪的核心 |
场景二:第五人格(identityv.json,切换键换成了鼠标右键)
| 按键 | 操作 | 取值 | 要点 |
|---|---|---|---|
| WASD | 移动 | centerPos (0.16, 0.70) | 四向 offset 各 0.1 |
| 左键 / 空格 | 动作 | 同一点 (0.907, 0.842) | 两键共用一个点位 |
| Ctrl / C | 蹲 / 走翻越 | (0.8125,0.912) / (0.815,0.761) | |
| Q / E / Tab / R | 特质 / 技能2 / 底牌 / 发言 | (0.949,0.458)、(0.945,0.619)、(0.885,0.488)、(0.950,0.308) | 右侧技能区一列 |
| 1 / 2 / 3 | 小丑零件拖拽 | KMT_DRAG | 用拖拽模拟长按旋转 |
| ← / → | 挣扎左 / 挣扎右 | (0.267,0.55) / (0.736,0.55) | 被挂时的方向判定 |
| Alt | 小镜头 | 拖动起点 (0.801,0.244) | 细调视角 |
场景三:刷抖音(tiktok.json)——最轻量的映射,适合验证整套流程是否生效:
| 按键 | 操作 | 取值 | 要点 |
|---|---|---|---|
| 空格 | 暂停/继续 | pos (0.5, 0.5) | 屏幕中心单击 |
| ↑ / ↓ | 上滑 / 下滑 | DRAG (0.5,0.7)→(0.5,0.3) 等 | 一条视频的距离 |
| ← / → | 左滑 / 右滑 | DRAG,y=0.5 横拖 | |
~ | 进出映射模式 | switchKey | 退出后恢复手动滑动 |
自定义映射四步走:把 JSON 放进 keymap/ 目录 → 点"刷新脚本" → 选中它 → 手机启动服务后点"应用脚本" → 按~生效。
一台电脑带多台手机:组控
设备多(云手机、多开矩阵、批量验收)时,QtScrcpy 支持同时连接多台设备,一套键鼠输入同步分发到所有投屏窗口,操作哪台就点哪台,也可以整体齐步走。实现代码在 QtScrcpy/groupcontroller/:
调优与排障手册
参数怎么调(只动这几个,别乱碰):
- 灵敏度:先调
speedRatioY(垂直转镜),再调 X。数值越大越钝,细压枪就逐步加大 Y,直到"瞄人不冲过头"为止 - 拖拽速度:KMT_DRAG 的
dragSpeed范围 0~1,远距离大滑固定 1.0,小幅滑动可降到 0.5 - 清晰度 vs 流畅度:WiFi 投屏卡顿时,"启动配置"里调低比特率和最大尺寸;USB 一般不用动
出了毛病怎么办(症状 → 排查点 → 解法):
| 症状 | 排查点 | 解法 |
|---|---|---|
| 映射不生效、按键像失灵 | 没按~进映射模式;或设备断连 | 按一下~;上下车后失效可连按两次 ~重新注入 |
| 画面正常但无法控制 | 小米等机型没给模拟点击权限 | 开发者选项 → USB 调试 → 安全设置,打开"模拟点击/触摸" |
| 报错 adb server version 不匹配 | 电脑上多个 adb 版本互相冲突 | 任务管理器结束所有 adb 进程再重连;或在 config.ini 里指定 AdbPath |
| Could not open video stream | 分辨率/码率超出设备编码能力 | 启动配置里选更低的分辨率与比特率 |
| 画面发虚、文字发毛 | Windows 高 DPI 缩放;或窗口远小于设备分辨率 | 程序属性 → 兼容性 → 高 DPI 缩放改为"应用程序";放大视频窗口 |
| 刷新后列表没有设备 | 系统没装手机驱动 | 用任意手机助手连接一次装驱动,再回 QtScrcpy 刷新 |
| 能控制但黑屏无画面 | 显卡不支持当前渲染方式(shader program is not linked) | config.ini 里把解码方式改成 1 或 2 |
| 输入不了中文 | 非系统限制,是手机端缺输入法 | 手机装搜狗/QQ 输入法即可 |
更多问题见 docs/FAQ.md。
最好的键位,是你自己磨出来的
一份通用映射只能把你送到 70 分,剩下 30 分在你对坐标和灵敏度那 20 分钟的反复校准里。打开你玩得最熟的那个游戏的 JSON,把坐标一个个对准、把 speedRatio 调到手指的肌肉记忆——明天你会发现,手游用手玩真的回不去了。现在就启动 QtScrcpy,插上手机,按~,你的第一根"虚拟手指"已经落在屏幕上了。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考