Switch手柄连不上PC?4步装好BetterJoy,让它变身Xbox手柄
【免费下载链接】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 手柄接到电脑上,想在 PC 上补完 Steam 库存。蓝牙秒连,Windows 也提示"设备已就绪",可一进游戏,摇杆推到底,屏幕里的角色纹丝不动——PC 游戏只认 Xbox 手柄那套 XInput 信号,任天堂手柄讲的"方言"它根本听不懂。就在我准备把手柄挂回二手平台时,BetterJoy 出现了。
BetterJoy 是一款免费开源的 Windows 工具,能把 Switch Pro 手柄、左右 Joy-Con 和 Switch 版 SNES 手柄,统一"翻译"成系统能识别的 Xbox 360 手柄(也就是 XInput 设备),从而在 CEMU、Citra、Dolphin、Yuzu 等模拟器和绝大多数 PC 游戏里直接使用。它还支持陀螺仪映射鼠标、自定义 SL/SR/Capture 按键。一句话:手上有任天堂手柄想搬到 PC 上,或者想在模拟器里体验体感瞄准,都可以从它入手。本篇文章全程手把手,照着做就能跑通。
上手路径:从下载到点亮手柄,总共就4步
BetterJoy 的使用逻辑非常直白:装驱动 → 运行程序 → 连手柄 → 看日志。中间没有任何注册、付费、云账号环节。
第0步:拿到程序
把仓库克隆到本地,或者直接下载发行版压缩包,解压即可用:
git clone https://gitcode.com/gh_mirrors/be/BetterJoy第1步:安装 ViGEmBus 驱动(最关键的一步)
BetterJoy 靠一个叫 ViGEmBus 的虚拟手柄驱动,在系统里"伪造"出标准 Xbox 手柄。进入BetterJoyForCemu/Drivers/目录:
- 64 位系统运行
ViGEmBusSetup_x64.msi - 32 位系统运行
ViGEmBusSetup_x86.msi
装完必须重启电脑。这一步跳过的话,程序会直接提示找不到 ViGEmBus,后面全白搭。
第2步:以管理员身份运行 BetterJoyForCemu.exe
普通权限下大部分功能也能用,但按键映射(把手柄按键转成键盘操作)会失效。稳妥做法是右键 → 以管理员身份运行。
第3步:连接手柄
- 蓝牙:按住手柄顶部那个小圆按钮(同步键)约 5 秒,进入广播模式,然后在系统蓝牙设置里正常配对。
- USB:数据线直插,即插即用,无需配对。
- 想断开就按住 Home 键(或 Capture 键)2 秒;想重连,随便按手柄上任意一个键即可。
第4步:看日志确认成功
主界面日志窗口出现类似 "Pro controller connected." 的提示,就说明识别成功了。这时候随便打开一个支持手柄的游戏,摇杆应该已经有反应。
亮点剖析:为什么它比改键工具好用
BetterJoy 的功能远不止"连上就能用",下面三个亮点是最值得花时间研究的。
亮点一:XInput"同声传译",一柄通吃📌
它的核心机制,是通过 ViGEmBus 在系统里创建一个虚拟的 Xbox 360 手柄,再把 Switch 手柄的每个按键、摇杆、扳机实时映射过去。对游戏来说,它和一只原装 Xbox 手柄没有任何区别。所以 Steam、Epic、独立小游戏、十年老游戏……只要游戏认 XInput,它就能无缝接手,不用为每个游戏单独折腾键位方案。
亮点二:陀螺仪不只是体感,还能当鼠标
Switch 手柄内置六轴传感器(加速度计加陀螺仪),BetterJoy 用姿态融合算法把数据还原成空间姿态,再转换成鼠标移动。打开陀螺仪映射设置后,手柄一晃,光标就跟着走。实用场景不少:
- 射击游戏微调准星:体感辅助瞄准,比纯摇杆细腻得多
- 演示汇报:远程翻 PPT、指哪点哪
- 桌面遥控:躺在沙发上用手柄控制电脑
它还支持"按住某键才激活陀螺仪"的开关模式,避免平时拿手柄时误碰光标。更妙的是,BetterJoy 内置了一个 UDP 服务器(默认监听 127.0.0.1:26760),把姿态数据实时推给模拟器插件,这就是后面实战演示里体感射箭的关键。
亮点三:特殊按键重映射 + 多手柄同台
SL、SR、Capture 这三个键在大多数游戏里是"废键",BetterJoy 允许把它们映射成任意键盘键或鼠标操作,默认就把 Capture 映射成了 PrintScreen——想截图,顺手一按。
多手柄场景同样考虑周全:左右 Joy-Con 会被识别成两个独立设备,各自当一只小手柄用;也可以双击把它们组合成一个完整手柄。Pro 手柄、Joy-Con、SNES 手柄可以同时在线互不干扰,本地多人游戏直接开黑。
实战演示:15分钟,在PC上用手柄体感射箭
说一百遍不如做一遍。下面这个例子,是把 Pro 手柄接进 CEMU 模拟器玩《塞尔达传说:荒野之息》,重点是让陀螺仪在拉弓瞄准时真正生效。
前提:前文的第 1~4 步已经跑通,BetterJoy 正在后台运行。
- 装好模拟器与插件:安装 CEMU 模拟器和 Cemuhook 插件(它负责接收 BetterJoy 推来的体感数据)。
- 确认手柄在线:回到 BetterJoy 主界面,确认 Pro 手柄图标已点亮、日志正常。
- 配置输入源:打开 CEMU 的 Input Settings,输入源选择 XInput。
- 分配按键:十字键、ABXY、摇杆、扳机按自己习惯一一对应。
- 接通体感通道:在 Cemuhook 的 GamePad motion source 里选中 BetterJoy 对应的控制器,端口保持默认的 26760。
- 进游戏验证:拉弓瞄准时手腕轻轻一转,视角跟着手走,命中率立刻上一个台阶。顺便把 BetterJoy 里的震动强度调到 70% 左右,打 BOSS 时的手感完全不同。
到这步,你的 Pro 手柄在 PC 上就彻底"复活"了:白天在 Switch 上打怪,晚上在同一块屏幕上用体感射箭,两边都不耽误。
避坑清单:新手最常踩的7个坑
遇到问题先别慌,绝大多数都能在这张表里找到答案:
| 症状 | 可能原因 | 对策 |
|---|---|---|
| 提示找不到 ViGEmBus | 驱动没装,或装完没重启 | 重装对应架构的 ViGEmBus 安装包,重启后再运行 |
| 手柄连上了,游戏没反应 | 游戏只认 XInput 信号 | 确认 BetterJoy 在运行、日志显示已连接,再检查游戏输入设置 |
| 按键映射(键盘模拟)失效 | 权限不足 | 右键以管理员身份运行 BetterJoy |
| 蓝牙搜不到手柄 | 手柄没进入广播模式 | 按住顶部同步键约 5 秒,指示灯快速闪烁后再搜索 |
| Steam 里出现两个手柄 | Steam 和 BetterJoy 同时识别了设备 | 大屏幕模式下取消勾选所有控制器类型,或对单个游戏禁用 Steam 输入 |
| 左右 Joy-Con 被识别成两个 | 设计如此,不是 bug | 需要合体使用时双击手柄图标合并,陀螺仪默认取右手数据 |
| 陀螺仪完全没反应 | 映射开关没开,或 Cemuhook 端口不对 | 检查陀螺仪映射设置,确认 UDP 端口两边都是 26760 |
生态进阶:玩明白之后,还有这几招
到这里,BetterJoy 已经能应付九成场景。想再往深走,下面几条值得一试。
1. Steam 玩家的两行设置
- 大屏幕模式 → 控制器设置 → 常规控制器设置 →取消勾选所有控制器类型,让 Steam 别和 BetterJoy 抢设备。
- 针对单个游戏:右键游戏 → 属性 → 控制器 →禁用 Steam 输入,让游戏直接消费 BetterJoy 输出的 XInput 信号。
2. HIDGuardian:给原始设备"隐身"
如果遇到多手柄被重复识别、游戏只认第一个设备这类问题,可以用Drivers/HIDGuardian/目录里的安装脚本把原始设备藏起来,系统里只留虚拟 Xbox 手柄。注意这是给有经验用户准备的功能——安装前建议先做系统还原点,目录里备好了卸载脚本,随时可回退。
3. 不止 Xbox:还能伪装成 PS4 手柄
BetterJoy 不是只能输出 XInput。把配置里的 ShowAsDS4 设为 true,它还能把 Switch 手柄模拟成 DualShock 4,某些只认 DS4 的串流或输入场景就能派上用场。
4. 第三方手柄也能"入伙"
通过 3rdPartyControllers 界面登记第三方 Switch 兼容手柄的 VID、PID、序列号,非任天堂原装手柄也能被纳入管理。陀螺仪灵敏度、摇杆死区等参数都能在BetterJoyForCemu/App.config里微调,校准数据会存到本地 settings 文件,换机器也能带过去。
5. 想自己动手改代码?
项目是纯 C# 编写,用 Visual Studio 打开BetterJoy.sln,执行nuget restore拉依赖后就能编译。核心文件结构清晰:MainForm.cs是主界面与交互,Joycon.cs负责手柄通信,Program.cs管设备发现与 UDP 服务,Config.cs管配置读写。想加功能、修 bug,都能从这些文件入手。
写在最后:下一步行动
这套流程总结下来就三句话:装驱动、重启、管理员运行;蓝牙和 USB 连接方式随意;想用体感就开映射,想玩模拟器就配 Cemuhook。
现在就可以动手了——把 BetterJoy 克隆下来,按上面的顺序走一遍。第一次亲眼看到手柄在自己电脑上"点亮"的那一刻,你会觉得这十分钟花得非常值。
BetterJoy 的价值不只是"省了一个手柄的钱"。它把任天堂出色的硬件设计接入了 PC 这个更广阔的生态:Pro 手柄的握持手感、Joy-Con 的灵活拆分、SNES 的复古情怀,都能在 Steam 和模拟器里继续发光。如果你用得顺手,不妨把使用中发现的问题反馈给作者,或者干脆提交一段代码——开源项目最好的回报,就是有人认真用过它,并让它变得更好。
【免费下载链接】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),仅供参考