BetterJoy:10 分钟把 Switch 手柄接到 PC,从配对到体感一次说清
【免费下载链接】BetterJoyAllows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput项目地址: https://gitcode.com/gh_mirrors/be/BetterJoy
BetterJoy 是一款开源工具,把 Switch Pro 手柄、Joy-Con 和 SNES 手柄实时翻译成 Windows 认识的 Xbox 360 虚拟手柄。装好驱动约 10 分钟,手柄就能在模拟器与 Steam 里正常按键、震动、用体感。
为什么 Windows 不认 Switch 手柄
Switch 手柄走的是任天堂私有协议,Windows 只听 XInput(≈Windows 原生就认的通用手柄语言)和 DirectInput(≈较老的一套输入接口)。两边接口对不上,好比英标插头硬插国标插座——外形相近、针脚错位。BetterJoy 在中间做转接:先读懂手柄,再向系统报上一个 Xbox 360 虚拟手柄。
常见症状:
- 蓝牙能配对,游戏里却看不到手柄
- 按键、摇杆能动,体感和 HD 震动没反应
- 同时插两个手柄就互相抢
开工前准备
系统要求:
- Windows 7 SP1 及以上,Win10 / Win11 最稳
- 已装 .NET Framework 4.6.1 或更高
- 无线连接需蓝牙适配器
- 装驱动要用管理员权限
获取程序:直接下 Release 预编译包最省事;想自己编译再拉源码。
git clone https://gitcode.com/gh_mirrors/be/BetterJoy装 ViGEmBus 驱动(这步让 Windows 能"看见"那个虚拟 Xbox 手柄):
- 进 驱动目录
- 64 位系统装
ViGEmBusSetup_x64.msi,32 位装ViGEmBusSetup_x86.msi - 管理员身份运行,装完重启一次电脑
按手柄类型接入
接入 Switch Pro 手柄
- 蓝牙:顶部 SYNC 小键按住 5 秒,灯快闪后进广播;在系统蓝牙设置里搜到 "Pro Controller" 配对
- USB:用 USB-C 线直插,最稳,打游戏推荐
- 成功判据:主界面四个槽位之一出现 Pro 图标,点旁边
Locate,手柄会震一下确认
Joy-Con 单独配对(左右各一)
- 单柄模式:按住 Joy-Con 侧边 SYNC 键进配对,左右各配一次
- 成对模式:两柄拼在一起唤醒,系统会识别为一个手柄
- 想竖着单手握:在 BetterJoy 里点左 / 右图标即可拆开
- 成功判据:拆开时左、右各占一个槽位;拼合时合并占一个
其他经典手柄(SNES 等)
- SNES 手柄:仅支持 USB,插上即用
- 第三方手柄:主界面点
Add Controllers添加,可套用默认校准 - 成功判据:对应槽位出现手柄图标
接上之后怎么用
启动与状态识别:
- 运行
BetterJoyForCemu.exe;如果键盘 / 鼠标映射不生效,改用管理员身份运行 - 槽位图标:🟢 已连接、灰色为空闲、🔴 连接异常
- 拿不准是哪只手柄,就点对应槽位的
Locate让它震一下
CEMU / Steam 按键映射:CEMU 里输入源选 XInput 后正常分配即可;Steam 会直接把它当通用 Xbox 手柄,能在 Steam 输入里自定义。映射关系如下:
| 你在手柄上按的键 | 系统收到的键(Xbox 360 虚拟手柄) | 说明 |
|---|---|---|
| A 键 | B | 多数游戏当"确定 / 跳跃" |
| B 键 | A | 当"取消" |
| X 键 | Y | 道具 / 特殊动作 |
| Y 键 | X | 攻击 |
| L / R 肩键 | LB / RB | 同位对应 |
| 摇杆按下(L3 / R3) | 摇杆键 | 可兼作体感激活键 |
BetterJoy 默认按 Switch 布局输出;若某游戏只认 Xbox 习惯,可在App.config把SwapAB、SwapXY设为true让键位对齐 Xbox。
进阶玩法
陀螺仪体感:
- 在
App.config把GyroToJoyOrMouse设为mouse或joy,决定体感去控制鼠标还是摇杆 - 按 stick 键可把鼠标拉回屏幕中心
- 要更准:把
AllowCalibration设为true,主界面会出现Calibrate按钮;手柄平放后点一次完成校准
常用灵敏度参考(都在App.config,改完重启生效):
| 参数 | 默认值 | 作用 | 建议范围 |
|---|---|---|---|
| GyroMouseSensitivityX | 1200 | 体感转鼠标横轴 | 800–1500 |
| GyroMouseSensitivityY | 800 | 体感转鼠标纵轴 | 500–1000 |
| GyroStickSensitivityX | 40.0 | 体感转摇杆横轴 | 30–50 |
| GyroStickSensitivityY | 10.0 | 体感转摇杆纵轴 | 8–20 |
| UseFilteredIMU | true | 用滤波后的陀螺仪 | 关成 false 更跟手但偏抖 |
关掉UseFilteredIMU用原始值时,上面数值要再除以约 15 才相当。
多手柄冲突:
- 主界面默认提供 4 个槽位
- Pro 手柄加两只 Joy-Con 混用、或要在 Steam 大屏里认出手柄时,装 HIDGuardian,并把
UseHIDG设为true后重启 - 具体说明见 驱动说明
出问题先查这里
| 症状 | 常见原因 | 处理 |
|---|---|---|
| 装完毫无反应 | 驱动没装对或没重启 | 重装 ViGEmBus,重启 |
| 按键 / 映射错乱 | 旧配置残留 | 删程序目录下settings文件再重开 |
| 体感没反应 | 未开GyroToJoyOrMouse或没校准 | 设对参数并做Calibrate |
| 震动异常 | 权限不足 | 管理员运行,确认EnableRumble为 true |
| 多手柄互相抢 | HID 设备冲突 | 装 HIDGuardian 并设UseHIDG=true |
诊断入口:主界面底部的 console 框会滚动打印设备与错误信息;需要更细的排查,把App.config的DebugType调高(1=全部、2=通信、4=IMU)再重启看输出。配置出问题时删掉settings文件即可回到默认。
装好 ViGEmBus、跑起 BetterJoy,Switch 手柄就能当 Xbox 手柄用。细节更多,去项目仓库的 README 与 wiki 看,遇到问题直接找社区问。
【免费下载链接】BetterJoyAllows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput项目地址: https://gitcode.com/gh_mirrors/be/BetterJoy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考