Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
BetterJoy v7.0
本软件让任天堂Switch Pro手柄、Joy-cons以及Switch的SNES控制器能通过Cemu搭配Cemuhook、Citra、Dolphin、Yuzu和系统范围内支持的通用XInput设备使用。
它还允许您利用陀螺仪控制鼠标,并将特殊按钮(SL、SR、Capture)重新映射为您选择的键绑定。
如有人愿意捐赠(无论出于何种原因),可在此处捐赠。
个人感言
感谢使用我的软件并给予的所有建设性反馈。我早些时候开始这个项目,从那时起学到了更多编程和软件开发的知识。我投入到这个项目的时间有限,但我会尽力在出现时修复漏洞。对于这方面的耐心,也一并致谢!
这是一段奇妙的旅程,GitHub上已有近59万次官方下载,夜间版本可能还有更多。我认为这个项目是我迄今为止获得的两个软件工作机会的背后推手,因此我对此感到非常自豪。
截图

下载
访问发布页面!
使用方法
- 安装驱动程序
- 阅读README文件(它们有存在的理由!)
- 运行Drivers/ViGEmBus_Setup_1.16.116.exe
- 重启计算机
- 运行BetterJoyForCemu.exe
- 如果键盘/鼠标按键映射不起作用,请以管理员身份运行
- 连接您的控制器。
- 启动Cemu并确认CemuHook已选中控制器。
- 若使用Joy-cons,CemuHook会检测到两个控制器—每个都能提供所有按钮,但选择一个只是偏好于哪只手用于陀螺仪控制。
- 进入输入设置,选择XInput作为源,并正常分配按钮。
- 如果因某种原因不想这样做,只需设置一个输入配置文件,控制器选择“Wii U Gamepad”,并在GamePad运动源下启用“也用于按钮/轴”。自版本3起,这一点不再需要
- 如需振动,将振动调至70-80%。
- 自从版本3开始,您可以像正常使用Xbox控制器一样在PC上使用Pro控制器和Joy-cons—试试与Steam配合使用吧!
更多信息
查看维基! 在那里,您能找到变更日志、应用程序设置描述、常见问题解答和问题页面,以及如何使BetterJoy更好地与Steam兼容的信息。
控制器的连接与断开
蓝牙模式
- 按住顶部的小按钮(同步)5秒钟,这会使控制器进入广播模式。
- 在蓝牙设置中查找并正常配对。
- 断开控制器,请按住主页按钮(或捕捉按钮)2秒(或按下同步按钮)。要重新连接,只需在控制器上按任意按钮。
USB模式
- 将控制器插入电脑。
断开连接[Windows 10]
- 进入“蓝牙和其他设备设置”
- 在第一个类别“鼠标、键盘和笔”下,应找到Pro控制器。
- 点击它,会出现一个“移除”按钮。
- 点击“移除”按钮
构建
Visual Studio(集成开发环境IDE)
- 如果尚未安装,请通过官方指南安装Visual Studio Community 2019。选择**.NET桌面开发**工作负载。
- 通过Git获取代码项目或使用“下载ZIP”按钮。
- 打开Visual Studio Community并打开解决方案文件(BetterJoy.sln)。
- 通过工具> NuGet包管理器>包管理器设置打开NuGet管理器。
- 应有一个关于“恢复你的包”的警告,点击恢复按钮。
- 现在可以运行和构建BetterJoy了。
Visual Studio Build Tools(命令行界面CLI)
- 通过官方网站链接下载Visual Studio Build Tools。
- 按照官方指南安装NuGet,遵循nuget.exe部分。确保能在你喜欢的终端运行
nuget命令。 - 通过Git或使用“下载ZIP”按钮获取代码项目。
- 打开一个终端(CMD、PowerShell等),进入源代码目录。
- 运行
nuget restore来还原NuGet依赖项。 - 现在使用MSBuild构建应用:
CONFIGURATION可用值为Release和Debug;PLATFORM可用值为x86和x64(绝大多数情况下选择后者)。msbuild .\BetterJoy.sln -p:Configuration=CONFIGURATION -p:Platform=PLATFORM -t:Rebuild - 您已完成构建。请参阅下一节了解二进制文件位置。
二进制文件位置
构建后的二进制文件位于
BetterJoyForCemu\bin\PLATFORM\CONFIGURATION
其中PLATFORM和CONFIGURATION是构建时提供的参数。
致谢
特别感谢rajkosto不厌其烦地回复我17封邮件,快速回答我的问题。UDP服务器大部分借鉴了他的ScpToolkit仓库。
还要感谢mfosse给我指明方向,以及Looking-Glass,没有他们我不可能理解这一切。(坦白说,Joycon代码是他编写的)
非常感谢viigem的ViGEm项目!向epigramx,即WiimoteHook的创作者,表示歉意和感激,他给了我驱动器的想法,并允许我继续使用他的安装批处理脚本,尽管我是未经许可就使用的。感谢MTCKC提供灵感和批处理文件。
最后,感谢dekuNukem分享的文档,特别是SPI校准数据和IMU传感器笔记!
向所有的代码贡献者表达巨大的感谢!
图标(修改版):“Switch Pro Controller”,“Switch Detachable Controller Left”,“Switch Detachable Controller Right”图标由Chad Remsing从Noun Project创作。Super Nintendo Controller图标由Mark Davis从Noun Project创作;图标由Amy Alexander修改。
项目介绍
允许Nintendo Switch Pro控制器、Joycons以及SNES控制器与CEMU、Citra、Dolphin、Yuzu兼容,并可作为通用XInput设备使用。【此简介由AI生成】