BetterJoy 免费让 Switch 手柄变身 PC 通用游戏手柄5 分钟配好 XInput 与陀螺仪【免费下载链接】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当你在 PC 上打游戏时Switch Pro 手柄静静躺在抽屉里吃灰——不是因为它不好用而是它认生Windows 不认识它Steam 嫌它碍事模拟器更是拿它没辙。BetterJoy正是为了解决这个尴尬诞生的免费开源工具它能把任天堂 Switch Pro 手柄、Joy-Con 和 SNES 手柄翻译成 Windows 认识的 Xbox 360 手柄XInput 协议让它们直接用于 CEMU、Citra、Dolphin、Yuzu 等模拟器也能在 Steam 和大多数 PC 游戏里即插即用。这篇文章就带你从零跑通这套 Switch 控制器 PC 适配流程顺便把陀螺仪、按键重映射这些隐藏玩法一并挖出来。一个反直觉的问题为什么原生的反而用不了先说说你可能踩过的坑。Switch 手柄用的是 HID 协议和任天堂私有的按钮布局Windows 系统层面只能识别到有一台输入设备却不知道它该当游戏手柄用。所以你在游戏里经常遇到三种情况手柄连上了但按键全乱、Steam 同时认出了原始设备和虚拟设备导致双重输入、模拟器干脆搜不到任何控制器。BetterJoy 的解决思路很聪明它不修改手柄固件而是由程序持续读取手柄的 HID 数据再通过ViGEmBus 虚拟手柄驱动把它们伪装成标准的 Xbox 360 手柄。对游戏来说你用的就是一个普普通通的 XInput 手柄一切兼容性问题就地消失。4 步跑通最小可用流程今天就能开玩别被上面的原理吓到实际操作只需要 4 步全程大约 5 分钟安装虚拟手柄驱动。在项目目录的BetterJoyForCemu/Drivers/下按你的系统架构运行ViGEmBusSetup_x64.msi64 位或ViGEmBusSetup_x86.msi32 位装完务必重启电脑。运行主程序。启动BetterJoyForCemu.exe建议右键以管理员身份运行——后面按键重映射功能需要管理员权限。连接手柄。蓝牙模式按住手柄顶部的小圆点同步键 5 秒进入广播模式然后在 Windows 蓝牙设置里配对有线模式直接用 USB-C 线插上即可。进入模拟器设置。以 CEMU 为例在输入设置里把输入源选为 XInput正常分配按键即可。如果要用陀螺仪记得安装 Cemuhook 插件。至此你的 Switch 手柄已经在 PC 上复活了。打开任意一个支持手柄的游戏试试手感是不是有种失而复得的快乐它凭什么值得用三个高频疑问一次说清Q1和 Steam 自带的手柄支持冲突吗Steam 大屏幕模式里也内置了 Switch 手柄支持但它的方案会和 BetterJoy 打架。解决方法是进入 Steam 大屏幕 → 控制器设置 → 常规控制器设置把所有的控制器类型勾选全部取消让 Steam 老实当旁观者个别游戏再右键 → 属性 → 控制器选择禁用 Steam 输入游戏就会直接使用 BetterJoy 提供的 XInput 信号。Q2一次能带几个手柄BetterJoy 支持多控制器同时管理。Pro 手柄 两只 Joy-Con 可以同时在线每个 Joy-Con 都会被识别为独立控制器适合本地多人游戏左右 Joy-Con 也能合并成一只完整手柄或者双击图标拆开、改为竖握操作。Q3非 Switch 原装手柄行不行程序默认识别任天堂官方的 Pro、Joy-Con、SNES 设备但通过3rdPartyControllers可以登记第三方兼容手柄的 VID/PID让它们也走相同的适配流程。进阶玩法把体感玩出花如果说上面的部分只是能用接下来才叫好用。陀螺仪 → 鼠标生产力工具隐藏款BetterJoy 最让人惊喜的能力是把手柄陀螺仪映射为鼠标指针控制。程序内部用 MadgwickAHRS 融合算法处理 IMU 数据把手柄的旋转动作实时换算成光标位移。这意味着你可以躺着用手柄操控 PPT、翻网页甚至在 3D 建模软件里做视角旋转。具体的灵敏度参数集中在BetterJoyForCemu/App.config中比如GyroMouseSensitivityX/Y控制移动速度UseFilteredIMU决定用滤波后的平滑数据还是更灵敏的原始数据。进阶用户还可以把陀螺仪映射到摇杆GyroToJoyOrMouse配合GyroHoldToggle实现按住才激活体感的瞄准模式射击游戏里微调准星非常实用。按键重映射SL、SR、Capture 一个都不浪费默认设置里Capture 键被映射为 PrintScreen截图但你可以完全自定义。程序会生成一个settings配置文件记录capture、home、sl_l、sr_l等特殊按键的绑定值。你可以把 Home 键设成 Windows 键、把 SL/SR 设成游戏里的快捷物品键甚至把摇杆按下设为鼠标归中。震动与模拟器体感配置到位的细节控震动把EnableRumble保持true低/高频频率LowFreqRumble、HighFreqRumble默认 40/120想要更强震动可以调到 160/320。模拟器侧建议把震动强度拉到 70%–80%。体感数据转发BetterJoy 内置 UDP 服务器默认端口 26760通过 Cemuhook 的 DSUS 协议把陀螺仪数据转发给模拟器这就是《塞尔达传说荒野之息》里弓箭体感瞄准的实现原理。局域网玩家还能把IP改成0.0.0.0让其他电脑共享体感数据。避坑现场四个高频翻车点及解法装完驱动还是提示找不到 ViGEmBus。多半是没重启。另外检查防病毒软件有没有拦截驱动安装必要时以管理员身份重新安装驱动和程序。Joy-Con 被识别成两个控制器。这不是故障是正常设计每个 Joy-Con 都是独立设备模拟器里选哪个只决定你更想用哪只手做陀螺仪控制。要合并成完整手柄在程序界面上把两个 Joy-Con 的图标接起来即可。Steam 里出现双重识别、游戏内方向键错乱。检查是否取消了 Steam 的控制器勾选如果还不行可以启用UseHIDG配合HIDGuardian 驱动位于BetterJoyForCemu/Drivers/HIDGuardian/它能把原始手柄设备对系统隐藏只让虚拟 XInput 设备现身从根源上杜绝冲突。陀螺仪飘得离谱或干脆不动。先在AllowCalibration设为true的情况下点一次校准按钮获取陀螺仪校准数据再检查灵敏度数值是否合理——原始 IMU 数据下灵敏度要按约 15 倍系数下调默认 1200 对应滤波数据原始数据约 80 即可。关键信息速查表收藏这一张就够了需求做法对应配置/文件虚拟手柄驱动运行 ViGEmBus MSI 并重启BetterJoyForCemu/Drivers/蓝牙配对按住同步键 5 秒后系统配对手柄顶部小圆点模拟器体感安装 Cemuhook勾选 DSUS 服务器端口 26760陀螺仪当鼠标设置 GyroToJoyOrMouse 为 mouseApp.config自定义特殊按键编辑 settings 文件capture、sl_l等字段多手柄防冲突启用 HIDGuardian 驱动UseHIDGtrue震动增强调高低频频率LowFreqRumble160下一步从能用到顺手如果你希望深入折腾源码位于BetterJoyForCemu/目录核心逻辑集中在Program.cs控制器枚举与 XInput 接入、Joycon.cs手柄通信与 IMU 解析、Config.cs配置持久化三个文件里项目基于 C# 和 .NET Framework 开发用 Visual Studio 打开BetterJoy.sln即可编译调试。遇到问题想在社区求助时附上程序日志把DebugType调到 1 可输出详细信息会大大加快别人帮你排查的速度。现在轮到你动手了拿到项目文件装上驱动重启电脑把手柄连上然后打开你最喜欢的游戏——这一次Switch 手柄终于听你的话了。如果在使用中发现了有意思的配置组合或者踩到了本文没覆盖的坑欢迎分享出来让更多人少走弯路。【免费下载链接】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),仅供参考