主题
映射配置说明
本章节介绍 Web 配置面板(映射配置页)的全部功能与配置项。页面左侧为手机截图底图与映射控件,右侧(可拖动)为配置面板;所有修改先在页面内存中生效,点击「更新」后才写入 Pico 的当前槽位。
配置文件
配置文件为 JSON 格式,默认配置示例如下:
json
{
"SCREEN": {
"SIZE": [3040, 1904, 3040, 1904]
},
"MOUSE": {
"SWITCH_KEYS": ["KEY_GRAVE"],
"RANGE": 0.05,
"EDGE_RESET_ENABLE": true,
"POS": [0.5936192468619247, 0.42093023255813955],
"SPEED": [0.3, 0.3]
},
"WHEEL": {
"POS": [0.15010460251046026, 0.6802325581395349],
"RANGE": 0.06,
"SHIFT_RANGE": 0.14,
"RAND_RANGE": 0,
"SHIFT_RANGE_ENABLE": true,
"SHIFT_RANGE_SWITCH_ENABLE": true,
"SHIFT_RANGE_SWITCH_KEEP_ENABLE": false,
"WASD": ["KEY_W", "KEY_A", "KEY_S", "KEY_D"]
},
"KEY_MAPS": {
"BTN_LEFT": {
"TYPE": "AUTO_FIRE",
"POS": [0.0653765690376569, 0.1325581395348837, 0.053],
"INTERVAL": [18, 20]
},
"BTN_RIGHT": {
"TYPE": "PRESS",
"POS": [0.9513598326359832, 0.10465116279069768, 0.038]
}
},
"IMG": ""
}字段说明
| 字段 | 含义 |
|---|---|
SCREEN.SIZE | 屏幕宽度、屏幕高度、外接显示器宽度、外接显示器高度。 |
MOUSE.SWITCH_KEYS | 用于切换映射开关的按键,最多可设置四个。 |
MOUSE.RANGE | 开始映射时,鼠标在该半径范围内随机选择坐标作为视角映射起点。 |
MOUSE.POS | 鼠标视角映射的起始坐标,按屏幕宽度比例计算。 |
MOUSE.SPEED | 鼠标 X、Y 轴的灵敏度缩放比例。 |
MOUSE.EDGE_RESET_ENABLE | 视角拖动超出屏幕边界、重置回起始位置时的触点释放方式:true 交替释放(新旧触点短暂并存,模拟双手交替滑动),false 单点释放。 |
WHEEL.POS | WASD 映射轮盘的中心位置。 |
WHEEL.RANGE | WASD 轮盘半径。 |
WHEEL.SHIFT_RANGE | 疾跑状态下的 WASD 轮盘半径。 |
WHEEL.RAND_RANGE | 轮盘触点初始位置的随机半径(按屏幕宽度比例),0 表示不随机。 |
WHEEL.SHIFT_RANGE_ENABLE | 是否启用 Shift 疾跑模式。 |
WHEEL.SHIFT_RANGE_SWITCH_ENABLE | 疾跑切换方式:true 表示点击开启、再点击关闭;false 表示按住开启、松开关闭。 |
WHEEL.SHIFT_RANGE_SWITCH_KEEP_ENABLE | 仅疾跑切换方式有效:true 表示松开 WASD 后保持疾跑状态(下次按下仍以疾跑半径起步);false 表示松开 WASD 自动取消疾跑。 |
WHEEL.WASD | 用于兼容旧配置,已废弃。 |
IMG | 截图的 base64 字符串。存储到 PICO 时会丢失,前端导出 JSON 时会保留。 |
KEY_MAPS | 按键映射字典。 |
说明:所有浮点类型坐标均按屏幕宽度比例计算,实际坐标值为
浮点值 × screenWidth。
基本操作
上传截图
- 在游戏界面截图(分辨率为手机实际分辨率)。
- 点击「📷 上传截图」选择图片。截图加载后会自动把屏幕尺寸设置为截图的实际宽高,并进入全屏方便编辑。
截图只是编辑底图,用于精确定位触屏坐标,不会保存到 Pico(
IMG字段在写入槽位时丢弃)。重新打开页面时,若槽位配置无截图会生成纯蓝占位背景,重新上传即可。
放置按键映射
- 键盘按键:按下键盘上的某个键(页面顶部会提示"点击屏幕映射 xxx"),然后点击截图上的目标位置,即在该处放置此按键的触摸点(默认类型为「同步按下释放」)。
- 鼠标按键 / 滚轮:点击面板中的「左键 / 中键 / 右键 / 前进 / 后退 / 滚轮上 / 滚轮下」按钮,再点击截图放置。滚轮按键固定使用「单次点击」类型。
- 放置后可拖动调整位置;触摸点处于选中状态时滚动滚轮调整作用半径(每次点击的落点在半径内随机,模拟真人操作)。
- 点击触摸点会弹出编辑面板:可修改按键名、类型与各项参数,面板内还有「屏幕取点」按钮(点击后直接在截图上点选新坐标);按住面板顶部标题栏可拖动面板位置,点击面板外或 ✕ 关闭。
- 下方的按键列表卡片与弹出面板内容一致,也可在此修改或删除映射。
受浏览器限制的按键
部分按键在浏览器里无法捕获或映射不准确,例如 ESC、CapsLock。可先用其他键创建,再在按键配置下拉框中二次选择目标按键;或将键盘单独接在 Pico 的 Host 口上——此时由 Pico 读取按键事件并经 WebSocket 转发到前端,可映射全部按键。
按键类型
每个按键映射可选择以下类型(与页面类型下拉一致):
| 类型 | 参数 | 说明 |
|---|---|---|
| 同步按下释放 | 坐标 | 按键按下时触摸点按下,按键松开时触摸点释放。 |
| 切换按下释放 | 坐标 | 按键第一次按下时按下触摸点并保持,再次按下时释放;按键松开无响应。适合开关型操作(如开镜/收镜、开关面板)。 |
| 快捷轮盘 | 坐标、松开后关闭映射 | 按下时按下对应位置的触摸点,此时鼠标可以控制此触摸点,松开后释放。可用于轮盘选择物品、小眼睛观察等场景。 「松开后关闭映射」开关:开启后,松开该按键会关闭整个映射、切回虚拟光标(与切换热键关闭映射的效果一致)。 |
| 光标智能切换 | 两个触点、三个开关 | 具有两个触摸点和三个开关: • 释放光标方式:「按键按下释放光标,抬起继续映射」(按住-松开绑定)或「按键点击释放光标,再点击继续映射」(两次点击绑定); • 释放光标:触发时是否退出映射、切换为光标模式; • 点击行为:「执行点击并释放光标」(依次点击两个触点)或「仅释放光标」。 可用于打开/关闭地图和背包、临时释放光标等场景。触点 0/1 均可通过「重设」在截图上重新点选。 |
| 单次点击 | 点击时间 (ms) | 仅响应按键按下,在指定位置按下触摸点,经过设置的延迟后释放。 |
| 连发 | 点击时长、间隔 (ms) | 按住按键期间,按照设置的点击时长与间隔,反复执行触摸按下与松开。 |
| 滑动 | 间隔 (ms)、关键点列表 | 按下时触摸点按照设置的关键点,依据设定的延迟依次滑动,并在终点停留;按键松开则释放触摸点。通过「添加关键点」在截图上逐个点选。 |
| 多点触摸 | 触摸点列表 | 按下时依次按下设置的触摸点,按键松开时依次释放。通过「添加触摸点」逐个点选。 |
切换类型时会尽量保留已设置的坐标:多点类型转单点取第一个触点,单点转多点以原位置作为第一个触点。
屏幕与视角
屏幕尺寸 / 外接屏幕
- 屏幕尺寸:手机实际分辨率。上传截图后自动填充,一般无需手改。
- 外接屏幕:安卓设备外接显示器(或采集卡)时的显示器分辨率,详见下文外接显示器。
视角(鼠标控制)
| 配置项 | 说明 |
|---|---|
| 视角灵敏度(横向 / 纵向) | 鼠标移动转成视角滑动的缩放比例,MOUSE.SPEED。 |
| 视角中心位置 | 开始映射时视角触点的落点,MOUSE.POS。可在截图上直接拖动视角图标调整。 |
| 随机范围 | 开始映射时在中心附近随机取点的半径(像素),MOUSE.RANGE。可在截图上滚轮调整,或拖动视角图标外圈。 |
| 交替释放 / 单点释放 | 视角拖出屏幕边界、重置回起始位置时的触点释放方式(MOUSE.EDGE_RESET_ENABLE)。交替释放更接近真人双手交替滑动,单点释放则直接抬起再按。 |
WASD 轮盘
轮盘用于把 WASD(或手柄左摇杆)映射为游戏虚拟摇杆:
| 配置项 | 说明 |
|---|---|
| 中心位置 / 半径 | 轮盘触点的中心与移动半径。可在截图上拖动轮盘、滚轮调整半径。 |
| 启用 shift 轮盘 | 是否启用疾跑外环(WHEEL.SHIFT_RANGE_ENABLE)。 |
| shift 长按 / 切换模式 | 疾跑触发方式(WHEEL.SHIFT_RANGE_SWITCH_ENABLE):关闭为长按 Shift 疾跑、松开恢复;开启为点击切换疾跑状态。 |
| 松开 WASD 保持 / 重置疾跑 | 仅切换模式下显示(WHEEL.SHIFT_RANGE_SWITCH_KEEP_ENABLE):松开 WASD 后保持疾跑状态,或回到走路半径。 |
| 初始位置随机范围 | 每次开启映射时,轮盘触点从配置中心附近随机位置开始(半透明圆显示范围,WHEEL.RAND_RANGE);0 表示固定中心。 |
打开「⚙️ 参数配置」中的「随机轮盘」开关(默认开启)时,轮盘按神经网络轨迹 + 随机抖动移动,行为更拟人;关闭后进入直连模式:无轨迹与随机,按下方向键触点直接移动到对应方向位置。轨迹细节(精细度、速度、抖动等)在「🖲️ 轮盘参数」弹窗中调整。
映射切换按键
- 切换键用于在映射模式与虚拟光标模式间开关映射(默认
`键)。 - 点击「添加映射切换键」后按下一个键盘按键即可添加(也支持 Pico Host 口直连键盘的按键事件);重复添加会提示已存在。点击已添加的按键名可删除。最多 4 个。
- 槽位热键
Left Alt + F1~F9与切换键独立:Alt 系列切槽位,切换键开关映射。
槽位管理
点击「🗂️ 选择槽位」打开配置槽位管理,共 9 个槽位(编号 0–8,热键 F1 = 槽 0):
- 编辑此配置 / 在此槽位新建配置:把该槽位内容加载到编辑器(编辑中标记)。
- 使用此配置:将设备切换为使用该槽位(使用中标记)。
- 设为默认:设备重启后默认使用的槽位(默认标记)。
- 删除:清空该槽位。
- 未激活设备只能使用槽位 0,槽位 1–8 显示锁定,激活后可用。
底部「更新」按钮把当前编辑器内容写入当前选中的槽位(需先用槽位弹窗选择,否则会提示);它只写入不切换,「使用此配置」才改变设备正在运行的配置。「导出」按钮把当前配置(含截图)下载为 JSON 文件。
参数配置弹窗
「⚙️ 参数配置」中的设置独立于映射 JSON,保存在设备存储中,点「保存」后立即生效,「恢复默认」还原全部默认值:
| 配置项 | 说明 |
|---|---|
| ESDF 方向键 | 开启后使用 ESDF 作为方向键(替代默认 WASD)驱动轮盘。 |
| 随机轮盘 | 开启:WASD 轮盘走神经网络轨迹 + 随机抖动(拟人化,默认)。关闭:直连模式,按下直接落位到方向半径处,无中间轨迹、无随机。 |
| 疾跑键 | 触发疾跑的按键,默认不修改(Shift)。点击按钮后按下任意键盘按键选择,Esc 取消,「重置」恢复 Shift。 |
| 光标显示位置 | 虚拟光标由隐藏切换为显示时强制移动到此坐标(屏幕像素)。0,0 = 不重置(保持当前位置)。可点击「在屏幕点选」直接在截图上选位置。 |
| 鼠标速度 | 鼠标移动速度倍率,0 = 不调整(默认),1.0 = 原始速度。 |
轮盘参数弹窗
「🖲️ 轮盘参数」调整随机轮盘的轨迹手感(直连模式下不生效),同样支持「恢复默认 / 刷新 / 保存」:
| 参数 | 默认值 | 说明 |
|---|---|---|
| 轨迹精细度 | 3 | 航点间线性插值点数,越大轨迹越顺滑。 |
| 响应密度 | 8000 μs | MOVE 发送周期(回报率),越大事件数越少。 |
| 移动速度 | 1000 μs | 每航点耗时,决定整段移动快慢。 |
| 转向灵敏度 | 25 px | 方向改变时目标移动超过此值才重规划轨迹。 |
| 游走活跃度 | 1000 ms | 长按同方向时微漂移重新随机的时间间隔。 |
| 长按平滑度 | 160000 μs | 轨迹结束后长按发送 MOVE 的节拍。 |
| 游走幅度 | 20° | 微漂移扇形半角,越大游走范围越宽。 |
| 抖动大小 | 0.04 | 方向向量噪声比例,影响目标落点偏差。 |
| 疾跑乱晃 | 3.0× | 疾跑时半径额外抖动倍数,越大落点越飘忽。 |
手柄参数弹窗
「🎮 手柄参数」配置手柄摇杆映射(连接手柄后生效):
| 配置项 | 说明 |
|---|---|
| 左摇杆 / 右摇杆死区 | 摇杆未推过死区不产生输入(比例 0–1,默认 0.062)。 |
| 回报率 | 鼠标移动事件的发送频率上限(125–1000 Hz,默认 500)。 |
| 视角灵敏度 | 右摇杆控制视角时的移动速度系数(正数)。 |
| 鼠标灵敏度 | 右摇杆映射鼠标指针时的移动速度系数(正数)。 |
| 视角映射曲线 / 鼠标映射曲线 | 摇杆输入 → 输出速度的响应曲线,可在图上添加/拖动/删除中间点(最多 6 个),微调小幅度推杆与推到底的手感。 |
PICO 系统配置弹窗
「🖥️ PICO配置」为设备级设置:
| 配置项 | 说明 |
|---|---|
| 链路延迟统计 | 显示"收到鼠标点击 → vmouse 触摸事件发送完成"的 min / avg / max 延迟与样本数。 |
| 授权激活 | 显示设备序列号与激活状态;未激活时输入作者签发的 128 位十六进制激活码并点击「激活」。序列号全零表示 OTP 未编程,无法激活。 |
| PIO 工作模式 | Device 模式连接 PC 接收上位机控制(默认);Host 模式经扩展坞连接键鼠。切换后自动保存并重启生效。Host 模式需要激活设备。 |
| 屏幕旋转方向 | 0° / 90° / 180° / 270° / 自动(跟随上位机 vmouse 上报的方向),立即生效。外接显示器场景一般手动设为 0°。 |
| USB 描述符配置 | 自定义原生 USB 口的 VID / PID / Manufacturer / Product / Serial Number(VID/PID 为 4 位十六进制,字符串最长 32 个 ASCII 字符),重启后生效。「恢复默认值」回到出厂标识(伪装 Sony DualSense 手柄)。 |
| 危险操作 — 恢复出厂设置 | 清除全部按键映射、PIO 模式、屏幕方向、手柄/轮盘参数、授权激活码与 Lua 脚本,重启回到出厂默认,不可撤销。详见快速开始中的「故障恢复:恢复出厂设置」。 |
| 重启 / 重启到烧录模式 | 底部按钮:普通重启;或重启到 BOOTSEL 烧录模式(无需拔插设备即可刷固件)。 |
外接显示器
当安卓设备外接显示器(或采集卡)时外接 USB 触摸屏将绑定到外接显示器,会导致以下问题:
- 按键位置错乱
- 屏幕旋转方向失效
针对屏幕旋转方向错乱,需要在PICO 系统配置-屏幕旋转方向中将旋转方向手动设置为 0。
分辨率设置分为以下三种情况:
直接镜像
安卓画面等比例显示在外接显示器上,左右或上下可能出现黑边。此时截图分辨率应使用安卓原生屏幕截图分辨率,外接显示器分辨率设置为外接显示器的实际分辨率。wm size后镜像(推荐)
使用wm size指令将安卓原生屏幕分辨率设置为与外接显示器分辨率相同后再镜像。此时使用wm size修改分辨率后的截图创建设置,外接显示器分辨率无需修改,保持与截图相同。扩展显示
安卓设备与外接显示器独立显示画面,互不干扰。此时使用外接显示器上的游戏画面截图创建设置,外接显示器分辨率无需修改,保持与截图相同。