告别 Switch 手柄吃灰:BetterJoy 让 Pro 手柄、Joy-Con 在 PC 上满血复活
告别 Switch 手柄吃灰BetterJoy 让 Pro 手柄、Joy-Con 在 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 里翻了个底朝天也找不到它打开模拟器更是毫无反应最后只能让它继续吃灰。BetterJoy 就是专治这个问题的开源工具——它能让 Switch Pro 手柄、Joy-Con 和 SNES 手柄在 Windows 上以标准 XInput 手柄的身份工作Cemu、Citra、Dolphin、Yuzu 等模拟器全兼容还能把体感变成鼠标、把特殊按键改成任意快捷键。今天这篇我们就从手柄为啥不认账讲起一步步把它彻底用起来。那个抓狂的周末为什么 Switch 手柄在 PC 上不认账先还原一下最典型的崩溃现场你按住手柄顶部的 Sync 键进入配对Windows 蓝牙里也显示连接成功了可打开游戏控制器设置里空空如也。原因其实不复杂。Windows 生态的 PC 游戏默认认的是XInputXbox 手柄的通信标准而 Switch 手柄用的是任天堂私有的 HID 协议。两边各说各话系统虽然看得到你的手柄游戏却听不懂它在说什么。这就好比你把一个只说日语的人带进了只说英语的会议室——人到了话不通。明白了这层隔阂你就知道接下来的思路了需要一位翻译官把 Switch 手柄的每一下按键、每一帧摇杆数据实时翻译成 PC 游戏听得懂的 XInput 信号。BetterJoy 的解法一个翻译官打通全部设备BetterJoy 干的就是翻译这件事。它在底层通过hidapi.dll直接读取手柄的原始 HID 数据再由Controller/目录下的输出模块OutputControllerXbox360.cs、OutputControllerDualShock4.cs把数据转换成虚拟的 Xbox 360 或 DualShock 4 手柄通过驱动注入系统。对你来说唯一的感觉就是插上手柄电脑就当它是个 Xbox 手柄Steam、模拟器、原生 Windows 游戏全都直接认。它还不只做按键翻译几个隐藏能力很加分体感当鼠标通过MadgwickAHRS.cs的传感器融合算法把陀螺仪角度换算成鼠标移动射击游戏里微调准星非常顺手特殊按键重映射Capture、Home、SL/SR、摇杆按下这些键可以自由绑成键盘键、鼠标键甚至另一个手柄按键模拟器体感通道内置的 UDP 服务器UpdServer.cs实现了 Cemuhook 的 DSU 协议给 Cemu 这类模拟器直接喂体感数据。让手柄亮起来的 3 个步骤装驱动、连手柄、开软件上手远没有想象中复杂三步就能走完。第一步装核心驱动 ViGEmBus。它是虚拟手柄的地基没有它翻译信号就送不出去。驱动文件都在项目目录的BetterJoyForCemu/Drivers/下按系统位数二选一64 位系统装ViGEmBusSetup_x64.msi32 位系统装ViGEmBusSetup_x86.msi。装完务必重启电脑这一步省不得不然系统不会加载新的驱动层。第二步连接手柄。蓝牙或 USB 二选一蓝牙按住手柄顶部的小圆钮Sync 键约 5 秒指示灯快速闪烁进入广播模式然后在 Windows 蓝牙设置里正常配对即可USB用数据线直连电脑系统会自动识别为 HID 设备延迟更低适合长时间游玩。第三步运行 BetterJoyForCemu.exe。主界面上会出现对应的手柄图标彩色表示连接成功灰色表示未识别。如果按键映射不生效记得右键以管理员身份运行——按键注入键盘时需要这个权限。小提示想开机自启、减少扫描延迟settings文件里有StartInTray、ProgressiveScan等开关改起来很简单后面细说。Pro、Joy-Con、SNES 三种手柄分别适合什么样的游戏BetterJoy 对三类 Switch 手柄的支持各有侧重选对选手体验会差很多。手柄类型适合场景特点Pro 手柄3A 大作、动作冒险、FPS完整双摇杆肩键布局握持舒适续航长Joy-Con双人同屏、体感、复古小游戏可单可双可组合灵活度最高SNES 手柄2D 平台跳跃、格斗、怀旧游戏十字键精准情怀拉满Joy-Con 是最有意思的两只可以分别作为独立控制器双人本地游戏直接省一副手柄钱插上握把又组合成完整手柄。如果你用两只 Joy-Con 连 CemuCemuhook 会检测到两个控制器选哪个只是决定体感优先用哪只手。而 SNES 手柄就是给怀旧党准备的——玩超级马里奥、街霸这类十字键游戏那种原汁原味的手感是其他手柄给不了的。把 Switch 手柄榨干的 3 个隐藏技能会用只是开始下面这 3 个技能才是老玩家口中的完全体。技能一陀螺仪当鼠标。在Reassign.cs的映射窗口里把active_gyro绑定一个按键默认是摇杆按下按住它倾斜手柄鼠标就会跟着动。FPS 里做压枪微调、策略游戏里转视角都比摇杆跟手得多。觉得飘或抖就去校准数据里调整死区。技能二特殊按键一键重映射。这是我最推荐你折腾的功能。打开重映射窗口针对capture、home、sl_l、sl_r、sr_l、sr_r、shake这些键按下想绑定的键盘键或鼠标键即可生效。比如把 Capture 绑成 F12 截图、把 SR 绑成技能快捷键配置会存进settings文件类似这样capture key_44 sl_l key_31 sr_r mse_2技能三非官方手柄也能认。如果你用的是第三方复刻的 Switch 手柄可以打开3rdPartyControllers窗口手动录入它的 VID/PID 并指定类型Pro / 左 Joy-Con / 右 Joy-Con之后就能当官方手柄一样用——这个功能对预算有限的朋友非常实用。新手最容易踩的 3 个坑以及避坑的正确姿势讲点过来人的经验避开这 3 个坑能帮你省下大量折腾时间。装完驱动没重启。这是问得最多的一个问题症状是手柄连接成功但游戏里没反应。驱动装完一定重启一次别偷懒。键位映射不生效。九成是因为没以管理员身份运行。BetterJoy 向系统注入键盘事件需要管理员权限普通权限下映射会失灵。Steam 大屏幕模式下手柄被抢。如果同时接了 Pro 手柄和两只 Joy-ConSteam 可能把多个手柄识别成一堆设备。这时可以安装Drivers/下的 HIDGuardian以管理员身份运行安装脚本把不想暴露的设备隐藏起来让 Steam 只认到需要的那个。注意HIDGuardian 是可选组件日常单手柄使用完全用不到不用一上来就装。下一步动手装一次顺便看看源码怎么跑起来的这篇文章讲到的所有功能都来自一个完全开源的仓库。如果你也好奇翻译官内部是怎么工作的可以用下面的命令把源码拉下来在 Visual Studio 里打开BetterJoy.sln就能编译运行git clone https://gitcode.com/gh_mirrors/be/BetterJoy代码结构很清晰Controller/是输入输出处理MadgwickAHRS.cs是体感算法UpdServer.cs是模拟器通信随便翻一翻都能学到不少手柄通信的知识。从手柄不认账到满血复活BetterJoy 用一套轻量方案解决了困扰无数玩家的兼容难题。下一次再看到你的 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考