BetterJoy 从零到精通:5 步让 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
想象一下:你刚买回心仪已久的 Switch Pro 手柄,兴冲冲插上电脑,结果 Steam 没反应、游戏也没反应,它瞬间变成一块昂贵的"砖头"。别急着退货——问题不在手柄,而在于 Switch 设备说的是任天堂自己的"方言",PC 游戏却只听得懂 XInput(一种让手柄与系统对话的标准协议)。BetterJoy就是充当翻译的桥梁:它能让 Pro 手柄、Joy-Con 和 SNES 手柄被系统识别为标准的 Xbox 360 手柄,在 CEMU、Yuzu、Citra、Dolphin 等模拟器里畅快游玩,甚至把陀螺仪变成鼠标、把冷门按键改成你的专属快捷键。这篇指南将带你走完从"一脸懵"到"玩得溜"的全过程。
为什么你的手柄在 PC 上"装死"?🤔
先把原理讲明白。Switch 手柄通过 HID(人机交互设备,USB/蓝牙设备通用的通信方式)与电脑通信,但它的按键、摇杆、体感数据格式只有任天堂自己知道。而绝大多数 PC 游戏只认 XInput——这是微软定义的标准手柄接口。两者语言不通,自然"装死"。
BetterJoy 做的事其实很朴素:一边读懂 Switch 手柄的数据,一边把它翻译成 XInput 信号交给系统。翻译靠的是它内置的控制器管理核心(核心源码见 BetterJoyForCemu/Joycon.cs 和 BetterJoyForCemu/Program.cs),而让系统"相信"这真是 Xbox 手柄的,是驱动层的 ViGEmBus 虚拟手柄总线。搞定这层翻译后,你会得到三样真东西:
- 全游戏兼容:任何支持手柄的 PC 游戏都能直接识别,不用为每个游戏单独折腾;
- 体感加成:陀螺仪数据既能喂给模拟器做体感瞄准,也能映射成鼠标移动;
- 一拖多管理:Pro 手柄、左右 Joy-Con、SNES 手柄可以同时在线、互不干扰。
Pro 手柄手感扎实,是模拟器玩家的首选搭档
第 1 步:装好驱动,让系统"认识"你的手柄
万事开头难,驱动装对了,后面全是坦途。BetterJoy 需要的核心驱动叫ViGEmBus,它负责在系统里创建虚拟的 Xbox 360 手柄。安装步骤很简单:
- 打开项目里的
BetterJoyForCemu/Drivers/目录; - 按系统位数选择安装包——64 位系统运行
ViGEmBusSetup_x64.msi,32 位系统运行ViGEmBusSetup_x86.msi; - 安装完成后务必重启电脑,让驱动真正生效。
重启之后,双击运行BetterJoyForCemu.exe。这里有个贴心提示:如果你打算使用按键映射功能(后面会讲),请右键"以管理员身份运行",否则模拟键盘按键的权限可能不足。
如果你只是想在模拟器里用手柄,装到这里就够用了;HIDGuardian 那个进阶驱动,我们留到文章最后再聊。
第 2 步:蓝牙还是 USB?两种连接方式一次讲清
手柄到手,怎么连?两种方式各有各的脾气,直接上对比表:
| 对比维度 | 蓝牙连接 | USB 有线连接 |
|---|---|---|
| 首次配对 | 按住手柄顶部小圆钮(Sync)5 秒进入广播模式,再到系统蓝牙设置里配对 | 无需配对,插上即用 |
| 日常连接 | 按下手柄任意按键即可自动重连 | 即插即用 |
| 断开方式 | 长按 Home(或 Capture)键 2 秒 | 直接拔线 |
| 延迟表现 | 略高,适合休闲与日常游戏 | 几乎为零,竞技游戏首选 |
| 注意事项 | 避开 2.4GHz 干扰源(Wi-Fi 路由器、微波炉) | 保持线材接触良好即可 |
贴心提示:首次蓝牙配对成功后,以后再想连上,只需按一下手柄上的任意按钮,BetterJoy 每 2 秒会自动扫描一次新设备(这段逻辑写在 Program.cs 的控制器检测循环里),基本做到"秒连"。
第 3 步:首次体验——打开 BetterJoy 那一刻会发生什么
连接成功后,BetterJoy 主界面会逐个亮起对应的手柄图标,代表它们已被接管。你会发现左右 Joy-Con 会被识别为两个独立的控制器——这不是 bug,而是设计如此:每个 Joy-Con 本来就是一个完整手柄,你可以把它们当成两个小手柄玩双人游戏,也可以一左一右组合成传统握法。
左、右 Joy-Con 各自成军,本地多人联欢就靠它们
此时随便进一款支持手柄的 PC 游戏,按下按键试试——理论上应该已经能操作了。如果没反应,先回到主界面确认手柄图标是否点亮,再检查游戏是否开启了"手柄输入"选项。
深入玩法 1:陀螺仪——从体感瞄准到手柄当鼠标 🎯
这是 BetterJoy 最让人上瘾的功能。陀螺仪(手柄内置的惯性传感器,能感知倾斜和转动)在 Switch 上用来体感瞄准,在 PC 上你可以把它变成:
- 模拟器体感:在 CEMU 里玩《塞尔达传说:旷野之息》时,举弓瞄准靠晃动手柄完成。原理是 BetterJoy 通过内置的 UDP 服务(默认端口 26760,代码见 BetterJoyForCemu/UpdServer.cs)把体感数据推送给 Cemuhook 插件,模拟器再据此模拟 Wii U 手柄的体感输入;
- 鼠标控制:在设置里把陀螺仪模式切到"鼠标",手柄就成了悬空鼠标——挥一挥手柄,电脑光标就跟着动,做 PPT 翻页、3D 建模旋转视角都别有一番风味。
贴心提示:每只手柄都内置了出厂校准数据(代码里叫 SPI 校准信息),BetterJoy 启动时会自动读取并修正漂移。如果你觉得体感方向歪了,可以在界面里重新执行一次校准,具体入口就在主界面的陀螺仪设置区。
深入玩法 2:按键重映射——让冷门键为你打工
Switch 手柄上有几个"隐藏"按键:Joy-Con 内侧的SL/SR键和Capture 截图键,它们平时几乎闲置。BetterJoy 允许你把它们映射成任意键盘按键,等于给手柄免费加装快捷键:
- 把Capture 键映射成 PrintScreen,截图一步到位;
- 把Home 键映射成 Windows 键,手柄也能"一键回到桌面";
- 把SL/SR 键映射成游戏里的常用道具键或翻滚键,操作更顺滑。
操作入口在主界面的按键重映射窗口(实现见 BetterJoyForCemu/Reassign.cs):左键点击要改的按键图标即可进入"按键捕获"状态,按下你想要的键盘按键完成绑定;中键点击可恢复默认。映射设置会持久化保存到程序目录下的settings文件(读写逻辑见 BetterJoyForCemu/Config.cs),重启不丢。
多场景验证:模拟器、Steam 与多人同屏怎么配
同一套手柄,不同场景有不同配法,按需取用:
场景 A:CEMU 模拟器
- 安装 Cemuhook 插件;
- 进入 CEMU 的输入设置,输入源选择XInput;
- 正常分配按键即可。记得把震动强度调到 70%–80%,手感更好。
场景 B:Steam 平台Steam 自己有套手柄方案,容易和 BetterJoy"抢人"。解决办法:进入 Steam 大屏幕模式的控制器设置,取消勾选所有控制器类型,再在具体游戏的属性里选择"禁用 Steam 输入",让游戏直连 BetterJoy 输出的 XInput 信号,干净利落。
场景 C:本地多人用一对 Joy-Con 当两个手柄,再加一个 Pro 手柄,三人同屏开黑毫无压力;如果玩复古游戏,SNES 手柄更是情怀拉满。
SNES 手柄让 2D 老游戏找回当年的手感
避坑速查表:遇到问题先看这里 🛠️
| 症状 | 常见原因 | 解决思路 |
|---|---|---|
| 程序打不开/闪退 | 驱动未装或权限不足 | 重装 ViGEmBus 驱动并重启;右键"以管理员身份运行" |
| 手柄已连但游戏无响应 | 游戏不认 XInput,或输入源选错 | 确认游戏支持手柄;模拟器里把输入源切到 XInput |
| 按键映射不生效 | 非管理员权限运行 | 以管理员身份重启程序 |
| 陀螺仪方向发飘 | 校准数据异常 | 在界面里重新执行陀螺仪校准 |
| Steam 里出现两个手柄 | 原始设备与虚拟设备并存 | 参考场景 B 关闭 Steam 输入;进阶可上 HIDGuardian |
进阶之路:HIDGuardian、校准与动手编译 🚀
玩熟了基础功能,还有三层进阶等着你:
- HIDGuardian 驱动:它能把原始 Switch 手柄设备"藏"起来,只让系统看到虚拟的 Xbox 手柄,彻底杜绝 Steam 双重识别和设备冲突。安装脚本在 BetterJoyForCemu/Drivers/HIDGuardian/,按目录里的说明文档操作即可,卸载也有配套脚本,反悔随时可退;
- 第三方手柄支持:项目还内置了第三方 Switch 兼容手柄的注册机制(BetterJoyForCemu/3rdPartyControllers.cs),如果你手头有非原厂手柄,可以研究一下它的识别逻辑;
- 自己动手编译:BetterJoy 是 C# 开源项目,使用 Visual Studio 打开根目录的
BetterJoy.sln,还原 NuGet 依赖后即可编译。想从命令行构建,先执行nuget restore再运行msbuild,顺手还能看看 Joy-Con 通信的底层实现是怎么写的。
如果你想获取完整源码,可以执行:
git clone https://gitcode.com/gh_mirrors/be/BetterJoy现在,轮到你的手柄发光了 ✨
从"插上没反应"到"万物皆可玩",BetterJoy 帮你省下的不是钱,而是折腾的耐心。它的全部价值可以用一句话概括:让任天堂的出色硬件,在 PC 平台上发挥出本该有的全部潜力。
行动清单很简单:装驱动 → 重启 → 连手柄 → 进游戏。五分钟就能跑通全流程,剩下的时间,尽管去享受游戏本身。记住,配置没有标准答案,多试几次灵敏度、多换几种按键方案,你终会找到属于自己的最佳手感——而 BetterJoy 会一直在那儿,安静地当着那座桥。
希望这篇指南能成为你游戏路上的第一个台阶。现在,拿起手柄,去玩吧!🎮
【免费下载链接】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),仅供参考