QtScrcpy手机屏幕投屏到电脑,键盘鼠标玩手游
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一个免费的投屏控制工具:把安卓屏幕实时镜像到电脑,让你直接用键盘鼠标操作手机。不需要 root,手机上也无需安装任何东西,Windows、macOS、Linux 都能用。如果你想在屏幕上玩手游、或同时盯多台设备,它是最直接的方案。
把程序拿下来,让画面出现
两种获取方式
不想编译的话,直接用官方编译好的程序:在项目发布区搜 "QtScrcpy",按你的系统下载对应安装包即可。想自己构建的话,先克隆仓库(编译需要 Qt 5.12 以上环境):
git clone https://gitcode.com/GitHub_Trending/qt/QtScrcpy新手建议直接用现成的,能省掉整个环境配置环节。
手机上先开 USB 调试
设置 → 关于手机 → 连点"版本号"7 次,解锁开发者选项,进去打开"USB 调试"。这个开关不开,电脑就看不到手机,后面所有步骤都白搭。
用 USB 连上
数据线接好,在软件里点"刷新设备列表",选中你的设备,点"启动服务"。第一帧画面一般 1 秒内出现。如果刷新后列表是空的,别在这里耗时间,直接跳到下一节对照排查。
不想插线:无线连接
先在 USB 模式下把服务启动一次,然后按顺序点:"获取设备 IP" → "启动 adbd" → "无线连接"。再刷新一次列表,会出现一个 IP 地址开头的设备,选它启动服务即可。adbd 启动后 USB 线可以拔掉,之后一直走无线(手机重启后需要重新走一遍)。
出问题时按这个顺序修
排查思路固定:先看现象,再判断原因,最后才动手改设置,不要乱试参数。动手前瞄一眼软件控制台的报错,很多情况一句话就能定性。常见情况如下,更多案例见 docs/FAQ.md。
| 现象 | 原因 | 处理 |
|---|---|---|
| 刷新后没有设备 | 驱动没装好或未授权 | 先用任意手机助手软件连一次;确认已开 USB 调试并在手机上点了"允许" |
| 有画面,但点不动 | 模拟点击权限没给 | USB 调试的安全设置里打开"允许模拟点击"(小米等机型常见) |
| 能控制,但看不到画面 | 显卡不支持当前解码渲染方式 | 把 config/config.ini 里UseDesktopOpenGL改成 1 或 2 |
| 报错 adb 版本不匹配 | 电脑里跑着不同版本的 adb | 任务管理器结束所有 adb 进程;或在 config.ini 里用AdbPath指定 adb |
| Could not open video stream | 分辨率设得过高,设备编不动 | 启动配置里换一个较低的最大分辨率 |
| 游戏里上下车后映射失效 | 游戏切换界面导致触摸点失效 | 连续按两次~键重新应用映射 |
| 画面文字发虚 | Windows 对窗口做了 DPI 缩放 | 右键 exe → 兼容性 → 高 DPI 设置 → 选"应用程序";或把窗口拉大 |
改完任何一项,记得停止服务再重新启动,设置才会生效。
让键盘接管手机按钮
默认控制方式
不配任何脚本也能用:鼠标左键就是触摸,右键是"返回",右键双击是电源键,滚轮滑动屏幕,Ctrl 组合键触发主页、音量等系统按键。日常刷手机,这样就够了。
应用键鼠映射的 4 步
keymap/ 目录自带了几个现成的映射脚本,比如和平精英、抖音。应用它:
- 把 JSON 文件放进 keymap/ 目录;
- 点"刷新脚本"让它被发现;
- 连接设备后,在列表里选中该脚本;
- 点"应用脚本",再按
~键进入映射模式,再按一次切回普通控制。
射击游戏的键位参考
自带的和平精英映射可以直接用,键位分工如下:
| 按键 | 操作 | 对应触摸位置 |
|---|---|---|
| W A S D | 移动(方向盘) | 屏幕左下摇杆区 |
| 鼠标左键 | 开枪 | 右下开火键 |
| 鼠标右键 | 开镜 | 右侧开镜键 |
| 空格 | 跳跃 | 右下跳跃键 |
| R | 换弹 | 右下换弹键 |
| C / Z | 蹲下 / 趴下 | 右下蹲趴键 |
| M | 打开地图 | 右上角(同时释放鼠标,可直接操作地图) |
| 1 / 2 | 切换武器 | 底部武器栏 |
进载具前把游戏内的载具设置改成"单摇杆模式",WASD 方向盘才能正常控制车辆。
怎么取准坐标
连接设备后,把鼠标移到按钮上点一下,控制台会打印当前坐标,直接照抄这个值。也可以在手机开发者选项里打开"显示指针位置",看屏幕上显示的坐标。
自己写映射文件
映射文件是 JSON,坐标用 0 到 1 的相对值,左上角为原点。最小示例,只保留必要字段:
{ "switchKey": "Key_QuoteLeft", // 映射开关键,默认 ~ "keyMapNodes": [ { "type": "KMT_CLICK", "key": "Key_Space", "pos": { "x": 0.5, "y": 0.8 } } // 模拟点击的位置 ] }除了KMT_CLICK(点击),还支持KMT_DRAG(拖拽)、KMT_STEER_WHEEL(方向盘)等类型,完整字段说明在 docs/KeyMapDes_zh.md。写完放进 keymap/ 目录,刷新脚本就能选到。
把画面调顺,把速度调快
四个旋钮,按效果排序:
- 降低比特率:在"启动配置"里设置,2~8 Mbps 玩大多数游戏足够。
- 降低最大分辨率:低于手机原生分辨率,画面更顺,代价是细节变少。
- 改用 USB:无线延迟普遍高于 USB,且受 WiFi 环境影响大。
- 跳过过期帧:config.ini 里
RenderExpiredFrames=0就是默认行为,牺牲一点流畅换更低延迟。
只想录屏不想看窗口时,勾选"仅后台录制",软件只录不显示;再勾"自动息屏",投屏后自动关手机屏幕省电。
不止一台手机
多台手机插上来,点"刷新设备列表"会全部列出,逐个启动服务,每台对应一个窗口。之后你可以:
- 每个窗口单独操作,互不干扰;
- 批量操作:同一份键鼠输入同步到所有设备,适合多账号挂机、批量测试。
窗口多了容易乱,用"窗口置顶"把当前关注的那台保持在最前。另外,把 apk 拖进投屏窗口就能直接安装,把文件拖进窗口就发送到手机,不用敲命令行。
常用按键和配置速查
最常用的三个:Ctrl+F 全屏、Ctrl+G 窗口 1:1、Ctrl+W 去黑边(左键双击黑边也行)。完整清单:
| 功能 | Windows | macOS |
|---|---|---|
| 切换全屏 | Ctrl+F | Cmd+F |
| 窗口 1:1 | Ctrl+G | Cmd+G |
| 去除黑边 | Ctrl+W | Cmd+W |
| 主页键 | Ctrl+H | Ctrl+H |
| 返回键 | Ctrl+B | Cmd+B |
| 切换应用 | Ctrl+S | Cmd+S |
| 音量加 / 减 | Ctrl+↑ / ↓ | Cmd+↑ / ↓ |
| 电源键 | Ctrl+P | Cmd+P |
| 关屏(保持投屏) | Ctrl+O | Cmd+O |
| 手机复制到电脑剪贴板 | Ctrl+C | Cmd+C |
| 电脑剪贴板注入手机 | Ctrl+Shift+V | Cmd+Shift+V |
粘贴注意区分:Ctrl+V 是把剪贴板文字逐字当输入发送(不支持非英文),Ctrl+Shift+V 是整个剪贴板一次性注入,粘长文本用后者。
常调的配置都在 config/config.ini:
| 参数 | 默认 | 说明 |
|---|---|---|
| UseDesktopOpenGL | -1 | 解码方式:-1 自动,0 软解,1 dx 硬解,2 opengl 硬解 |
| RenderExpiredFrames | 0 | 0 跳过过期帧(更低延迟),1 渲染过期帧 |
| MaxFps | 0 | 帧率上限,0 为不限制(需 Android 10+) |
| AdbPath | 空 | adb 冲突时指定具体 adb 路径 |
改完统一"停止服务 + 启动服务"生效。switchKey可以换成不跟游戏冲突的键,避免误触切换映射。
接下来照这个清单走:
- 手机打开 USB 调试,下载现成程序接上电脑;
- 刷新列表、启动服务,确认鼠标能点动手机;
- 选一个自带映射脚本应用,按
~实际试一下; - 卡住了就回到"出问题时按这个顺序修"对照处理;
- 嫌卡先降比特率和分辨率,再查配置表。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考