Skip to content

快速开始

你需要准备

物品用途
微雪 RP2350-USB-C 开发板目标板,自带双 USB-C 口(也可使用 RP2350 开发板自行焊接)
USB 数据线 ×1–2原生口连主机;PIO-USB 口接键鼠
UF2 固件文件群文件获取(点击加群
Android 手机目标平台(本项目仅适配 Android)

可选:

物品用途
USB 键盘 / 鼠标PIO 切换为 Host 模式后,通过 USB Hub 接 PIO-USB-C 口
CH334 USB 2.0 HubPIO Host 模式下扩展 USB 接口 (其他型号拓展坞不保证可用)
杜邦线(可选)通过 GPIO8(D+)/ GPIO9(D−)外接第二个 USB 键鼠设备(需自行焊接)

🛒 不想动手?群友定制 RP2350A 键鼠映射板:把上述接口集成到一块自制板子上——键鼠主机口、GPIO8 扩展 USB 主机口,MAKCU 串口也板载了 USB 转串口(连电脑免焊接、免 USB-TTL 适配器)。固件刷写方式与微雪板完全一致。 👉 【闲鱼】自制RP2350A键鼠映射硬件板

第一步:刷入固件

  1. 按住板子上的 BOOTSEL 按钮(白色小按钮)
  2. 保持按住,用 USB 线将 原生 Type-C 口 连接到电脑
  3. 松开 BOOTSEL → 电脑出现名为 RPI-RP2 的 U 盘
  4. pico-hid-mapper.uf2 拖拽/复制 到 U 盘
  5. 板子自动重启,固件生效 ✅

此操作只需一次。后续固件升级同样重复此步骤即可覆盖。

第二步:连接设备

板子有两个 USB-C 口,各司其职:

         ┌─────────────────────────────────────┐
         │           RP2350-USB-C              │
         │    RST ○                 ○ CC1      │
   手机 ─│   原生 USB-C           PIO-USB-C    │─ 上位机
         │   BOOT ○                 ○ CC2      │
         └─────────────────────────────────────┘
  1. 原生 Type-C 口(靠近 RST、BOOT 按钮)用 USB 线连接 手机
  2. 部分设备可能会提示插入了 DS5 手柄,USB网卡(CDC)自动识别
  3. PIO-USB Type-C 口(靠近 CC1、CC2 电阻)默认 Device 模式,连接上位机。如需直连键鼠,在 Web UI 切换为 Host 模式后,使用 CH334 USB 2.0 Hub 连接键鼠

第三步:安装 vPointer(可选 / 强烈推荐)

vPointer 是配套的 Android 应用,提供两个核心功能:

  • 虚拟光标 — 在手机屏幕上显示鼠标光标,通过 TCP/UDP 接收 Pico 发送的光标坐标
  • 端口转发 — 将 Pico 的 Web 配置面板(192.168.73.1:80)转发到手机本地端口,浏览器即可访问

网络限制:Pico 的 usb0 以太网只能单向发起到手机的连接,手机无法主动连接 Pico。如果手机需要通过 usb0 访问 Pico,需要断开 Wi-Fi 和移动数据,让所有流量走 usb0 网卡。vPointer 的端口转发功能可解决此问题——它会自动将 Socket 绑定到 usb0 网卡,无需手动断网。

安装后打开 vPointer,切换到「端口转发」Tab,点击启动。之后可以通过以下方式访问 Pico 配置面板:

  • 手机浏览器 — 打开 http://127.0.0.1:8000
  • 同局域网设备 — 打开 http://<手机IP>:8000(手机需保持 Wi-Fi 连接)

第四步:配置映射

Web UI 打开后:

  1. 上传游戏截图 — 作为映射参考背景,方便精确定位触屏坐标
  2. 编辑按键映射 — 按住键盘上的某个键,然后点击屏幕对应位置即可放置触摸点。支持滚轮缩放、拖拽调整
  3. 确认无误后点击「更新」保存到 Pico

💡 快捷切换槽位:Pico 最多支持 9 个配置槽位,按 Left Alt + F1~F9 可在槽位间快速切换,无需打开 Web UI。

详细说明,见:映射配置说明

第五步:使用上位机控制 / 直连键鼠

PIO 口支持两种控制方式:

  1. 上位机控制(默认 Device 模式) — 上位机打开 WebHID 工具(Chrome / Edge),连接 Pico 后通过 WebHID 发送键鼠报文
  2. 直连键鼠(Host 模式) — 在 Web UI 中将 PIO 口切换为 Host 模式,通过 CH334 USB 2.0 Hub 连接键盘/鼠标到 PIO-USB-C 口。支持普通键盘、鼠标以及 NKRO 全键无冲键盘

第六步:开始使用

  • ✅ 固件已刷入
  • ✅ 设备已连接
  • ✅ 配置已上传

一切就绪后:

  1. 移动鼠标 → 手机屏幕上出现 虚拟光标(vPointer)
  2. 按下 ` 键(ESC 下方,KEY_GRAVE)→ 切换至映射模式,键鼠操作开始生效

状态指示灯

板载 RGB LED 指示设备状态(亮度由固件 FR_DEBUG_LED_BRIGHT 配置):

阶段颜色含义
开机洋红正在检测恢复出厂 strap
开机未检测到恢复出厂 strap(正常)
开机绿检测到 strap,正在擦除配置
开机配置擦除完成
运行绿已连接安卓设备
运行熄灭未连接安卓设备

恢复出厂 strap:上电时短接 GPIO29 与 3V3。

故障恢复:恢复出厂设置

如果配置异常导致设备无法正常启动,或想清空所有设置回到出厂默认,可通过以下任一方式恢复出厂设置:

方式操作适用场景
Web UIPICO 配置 → 危险操作 → 恢复出厂设置设备能正常启动、能访问 Web UI
GPIO strap上电时短接 GPIO29 与 3V3,再连接电源供电设备无法启动 / 无法访问 Web UI

⚠️ 恢复出厂设置会清除全部数据,包括所有按键映射、PIO 模式、屏幕方向、手柄/轮盘参数、授权激活码与 Lua 脚本,设备重启回到出厂默认,且不可撤销。若设备已激活,恢复后需要重新激活。

进阶

  • 了解 HIDAPI,可自行编码实现自定义上位机控制设备
  • 学习 Lua 脚本 编写自定义宏,实现压枪、连招、一键丢弃等高级功能
  • 通过 WebSocket APIHIDAPI 向 Lua 发送自定义指令,实现外部程序联动
  • 使用 MAKCU 串口控制,通过 USB-TTL 连接 GPIO2/3 串口,用文本或 V2 二进制协议远程控制键鼠(配合 makcu-py-lib 上位机库)

常见问题

问题解决
设备未识别换一根 USB 2.0 数据线
无法访问 192.168.73.1检查手机是否识别到 USB网卡,确保 vPointer 端口转发已启动
root 设备插网卡后整机断网见下文 root 设备:插网卡后整机断网
键鼠按下无反应PIO 口默认 Device 模式,需在 Web UI 切换为 Host 模式,并通过 CH334 USB 2.0 Hub 连接键鼠
配置上传失败检查 JSON 格式是否正确;查看 WebSocket 日志
配置损坏导致设备异常/无法启动上电时短接 GPIO29 与 3V3(开机自动清除全部配置),或连接 Web UI 后执行恢复出厂设置

root 设备:插网卡后整机断网

现象:root 过的平板/手机插上 USB 网卡后整机断网,WiFi 已连接却不被使用,也不弹"登录到网络"提示;拔掉网卡即恢复。

原因:设备上的 root 广告拦截/代理类模块(内置 Clash 的去广告模块、AdGuard、加速器等)劫持了全机 DNS 和流量,替 USB 网卡"完成"了系统的联网检测,使其被误判为可上网并获得最高优先级;而实际它没有外网,拦截模块的上游又绑定了这块网卡,形成死循环导致断网。此问题与固件无关,未 root 设备不受影响。

解决(任选其一):

  1. 使用 USB 网卡期间停用该模块(Magisk 模块开关或 killall clash),拔插一次网卡即可恢复;
  2. 需要常驻:关闭模块的 fake-ip DNS 模式,并将 192.168.73.0/24 加入 DIRECT 绕行名单;
  3. 自查:root shell 执行 ps -A | grep -iE "clash|adguard|proxy",有输出即中招。