教程按键映射

QtScrcpy按键映射教程

QtScrcpy可将键盘鼠标操作映射为手机触摸,用键鼠畅玩安卓手游。内置和平精英、抖音等脚本,也支持完全自定义。

Quick Start

快速上手

使用QtScrcpy内置脚本,只需四步即可启用按键映射。

1

选择脚本

点击「刷新脚本」,从下拉列表中选择需要的映射脚本(如和平精英、抖音)。

2

连接设备

连接手机并点击「启动服务」,开始投屏。

3

点击「应用」

应用所选映射脚本。

4

按 ~ 键切换

~键(数字键1左边)切换到自定义映射模式,再按一次切回普通模式。

使用STEER_WHEEL键驾驶载具时,需将移动模式设置为「单摇杆模式」。
Script Guide

脚本编写规则

QtScrcpy按键映射脚本采用JSON格式,参考自带脚本即可快速上手。

脚本格式

映射文件为JSON格式,需放置到keymap目录下才能被QtScrcpy识别。文件可参考自带的按键映射文件写法。

按键代码

键映射中的按键代码使用Qt枚举表示,可参考Qt官方文档中的按键名称。

坐标定义方式

·

相对坐标

所有坐标均使用相对位置表示,屏幕宽、高均表示为1,以屏幕左上角为原点。

·

换算示例

1920×1080的屏幕中,坐标(0.5, 0.5)对应像素坐标(1920,1080) × (0.5,0.5) = (960,540)

·

调试技巧

鼠标左键点击时,控制台会输出当前pos值,可直接使用;开启手机开发者选项中的「显示触摸位置」可观察触点坐标。

Top-level

顶层映射类型

QtScrcpy按键映射脚本包含以下三个顶层配置项。

① switchKey —— 映射切换键

默认是普通映射(正常模式),需用此键在普通映射与自定义映射之间切换。

② mouseMoveMap —— 鼠标移动映射

鼠标移动被映射为:以startPos为起点、鼠标移动方向为手指拖动方向的操作。开启后鼠标会隐藏并限制移动范围,常用于FPS手游中调整角色视野(转视角)。

字段含义约束
startPos手指拖动起始点-
speedRatio手指拖动的鼠标灵敏度必须 ≥ 0.00225,值越大灵敏度越低;Y轴按2.25比例
speedRatioX鼠标X轴灵敏度必须 ≥ 0.001
speedRatioY鼠标Y轴灵敏度必须 ≥ 0.001
smallEyes触发「小眼睛」的按钮按下后以smallEyes.pos为起点、鼠标移动方向映射为手指拖动

③ keyMapNodes —— 通用按键映射

JSON数组,所有通用按键映射放在此数组中,将键盘按键映射为普通手指点击,每个元素需指定type

Node Types

keyMapNodes节点类型

QtScrcpy提供五种操作映射类型,可组合实现点击、拖拽和方向控制。

KMT_CLICK · 普通点击

按键按下模拟手指按下,按键抬起模拟手指抬起。

keyposswitchMap

switchMap:点击此键后是否释放鼠标操作(参考和平精英M键效果)。

KMT_CLICK_TWICE · 双击

按键按下模拟手指「按下再抬起」,按键抬起再模拟一次「按下再抬起」。

keypos

KMT_CLICK_MULTI · 多次点击

按一次键模拟触摸多个位置,依据clickNodes数组。

delaypos

delay:模拟触摸前延迟的毫秒数。

KMT_DRAG · 拖拽

按键按下模拟手指按下并拖动一段距离,按键抬起模拟手指抬起。

keystartPosendPosdragSpeedstartDelay

dragSpeed:拖动速度(0-1,默认1.0,值越大越快);startDelay:可选,初始触摸后开始拖动前的等待毫秒数。

KMT_STEER_WHEEL · 方向盘映射

专用于FPS游戏移动角色的方向盘映射,需要4个按键配合。

centerPosleftKeyrightKeyUpKeydownKeyleftOffsetrightOffsetupOffsetdownOffset

centerPos:方向盘中心点;各Offset为按下方向键后相对中心点的偏移距离。

Tools

可视化编辑工具

不想手写JSON?使用图形化工具轻松创建映射。

QuickAssistant

作者官方出品:界面化编辑按键映射脚本,键鼠流畅玩安卓手游,支持手机屏幕截图与录制。

了解详情 →

ScrcpyKeyMapper(开源)

免费开源的Web GUI工具:可视化创建、实时测试、导入导出JSON映射。

可在网上搜索「ScrcpyKeyMapper」获取该工具。

开始你的键鼠手游之旅

下载QtScrcpy,连接手机,选择脚本,即刻开战。