BetterJoyForCemu: Use Nintendo Switch Controllers on PC with Gyro Support
Connect your Nintendo Switch Pro Controller, Joy-Cons, or original SNES gamepads to Windows 10 and Windows 11. Convert input signals to generic XInput or DualShock 4 emulation seamlessly for standard PC games and emulators.
What is BetterJoy (BetterJoyForCemu)?
BetterJoy (originally known as BetterJoyForCemu) is a dedicated Windows driver mapping utility designed to bridge the gap between Nintendo Switch inputs and PC game environments. It translates the proprietary input data from Nintendo controllers into standardized virtual signals that your computer can natively understand.
By utilizing third-party driver emulation, the software wraps your controller outputs into system-wide XInput (Xbox controller emulation) or DualShock 4 (PS4 controller emulation). This allows users to enjoy precise hardware compatibility, accurate rumble feedback, and complete mapping customization across standard Windows games, PC platforms like Steam, and prominent emulation software.
Program Specifications
| Developer | Davidobot (Official GitHub Project) |
|---|---|
| Latest Stable Release | Version 7.1 – Hotfix |
| License Type | MIT License (100% Free & Open Source) |
| Primary Languages | C# (95.4%), HTML, JavaScript, Batchfile |
| Supported OS | Windows 10, Windows 11 (x64 / x86 Architecture) |
| Core Dependencies | ViGEmBus (Virtual Gamepad Emulation Bus Driver) |
Key Features of BetterJoy
Explore the advanced functional layouts built into the software that allow Nintendo input hardware to act seamlessly on Windows.
Broad Controller Compatibility
Full native translation for Nintendo Switch Pro Controllers, individual or paired Joy-Cons, and official Switch SNES复刻 gamepads. It also features experimental support for specific 3rd-party non-original controllers.
Motion Server & Gyro-to-Mouse
Features a built-in UDP motion server compatible with Cemuhook, Citra, Dolphin, Yuzu, and Ryujinx. It also permits mapping your controller’s gyro input directly to your Windows mouse cursor for motion aiming.
Flexible Joy-Con Layouts
Easily join left and right Joy-Cons into a single cohesive virtual gamepad, or use them independently in vertical mode as two individual inputs. Toggle modes instantly by clicking the icons in the user interface.
Special Button Remapping
Remap unique buttons such as Capture, SL, SR, or the Home button to any custom keyboard keybindings of your choice. Swap structural layout choices natively between standard Nintendo layouts (A/B, X/Y swap features).
DS4 Emulation & XInput Choice
Choose whether to emulate a standard Microsoft Xbox controller (via generic XInput system) or a Sony DualShock 4 controller. Perfect configuration flexibility for ecosystems like Steam, PC game passes, and independent game wrappers.
Visual Status Notifications
Keep track of your hardware battery health in real-time. BetterJoy displays a low-battery notification and alters the background color of the active controller graphics inside the GUI window to keep you notified.
Supported Connection Modes
📡 Wireless Bluetooth Mode
Ideal for untethered gameplay and split Joy-Con usage. BetterJoy continuously scans for active Bluetooth broadcasts to automatically capture and map incoming device streams.
- Hold down the small Sync button on top of your controller for 5 seconds until lights flash.
- Pair the hardware natively inside the default Windows Bluetooth settings panel.
- Disconnect anytime by holding down the Home or Capture button for 2 seconds.
🔌 Wired USB Connection Mode
Provides a zero-latency stable interface suited for fast-paced emulation or traditional competitive PC titles.
- Connect the input gamepad directly via a standard USB Type-C data cable into your computer hub.
- Windows will register the raw controller interface instantly.
- Launch the main executable to immediately begin the background driver translation process.
System Pre-requisites
Before deploying the mapper on your system environment, confirm that your workstation has installed the essential underlying runtime architectures.
- ViGEmBus Driver: The Virtual Gamepad Emulation Bus must be installed prior to running the utility to handle standard virtual XInput injection.
- Microsoft .NET Runtime: Appropriate version frameworks must be active on Windows to authorize core application dependencies to load without crashing.
BetterJoy Common Errors & Troubleshooting
Are you encountering configuration hurdles? Review these verified solutions to clear structural runtime bottlenecks and connectivity issues.
⚠️ Issue 1: Switch Controller Connected via Bluetooth but Not Detected by App
This symptom occurs when Windows establishes a generic peripheral pairing but fails to open the communication interface for driver mapping.
⚠️ Issue 2: Severe Input Lag, Jittering, or Ghost Commands over Bluetooth
High-pitched rumble loops or unoptimized internal polling intervals can congest the local wireless signal bandwidth.
BetterJoyForCemu.exe.config settings file using a text editor. Locate the rumble setting option and adjust the amplitude downward to approximately 70-80% to alleviate motor transmission latency. If the problem persists, use a dedicated external USB Bluetooth 4.0/5.0 adapter rather than low-tier integrated motherboard antennas.
⚠️ Issue 3: Executable Closes Instantly Upon Opening or Missing Driver Errors
This behavior stems directly from a missing or corrupted system bus architecture handler needed to map the virtual XInput target profiles.
How to Configure Gyro & Motion Server for Emulators
One of the most powerful underlying features of BetterJoy is its built-in UDP Motion Server. This architectural component broadcasts raw hardware gyroscopic and accelerometer tracking data over a localized network protocol, enabling complex motion controls inside standalone emulator systems.
Step 1: Initialize the Background Mapping Utility
Ensure your controller handles are paired and calibrated securely via Bluetooth or USB. Boot up the main BetterJoyForCemu.exe executable. Keep the application GUI window active or minimized to the system tray; closing it terminates the translation protocol.
Step 2: Note the Local Network IP & Port Parameters
By default choice, the software automatically hosts the integrated motion tracking stream over the local host address loopback 127.0.0.1 running on port structural target 26760. These specifications coordinate directly with Cemuhook configurations.
Step 3: Map Motion Clients inside Cemu, Dolphin, or Ryujinx
Navigate directly into your target emulator’s Input Configuration panel. Under the input API dropdown, toggle the source structure choice to XInput for fundamental buttons and stick tracking layout. Next, locate the Motion Source or DSU Client preferences, key in the IP address (127.0.0.1:26760), and check the active device slot to map full hardware gyro functionalities natively.
Steam Integration Layout Tip
If you are launching conventional games directly through the Steam Client deck, you can switch off XInput emulation inside the BetterJoy configurations UI panel and exclusively run the background motion server. This setup avoids button duplication issues when Steam’s built-in peripheral handler tries to read the same physical controller simultaneously.
Frequently Asked Questions (FAQ)
Find quick, accurate answers to the most common inquiries regarding BetterJoy infrastructure setups.
Is BetterJoy safe to download and use on Windows?
Yes, it is completely safe. BetterJoy is a 100% transparent, open-source project hosted publicly on GitHub under the permissive MIT License. However, because it installs virtual system-level bus drivers (ViGEmBus) to intercept hardware inputs, Windows Defender or automated anti-virus wrappers may occasionally flag it as a false positive. Always source your files from verified clean packages.
Does BetterJoy support standard Windows 11 systems?
Yes, despite development transition cycles, the stable release version 7.1 functions reliably on both 64-bit Windows 10 and Windows 11 configurations. Ensure you execute the core executable program launcher with full Administrative rights to guarantee successful custom keyboard/mouse macro mapping deployment.
Can I use standard 3rd-party non-original Switch Pro controllers?
BetterJoy features basic architectural code configurations designed to add non-original or third-party alternative Pro pads via the integrated user interface setup window. However, because third-party hardware manufacturers alter internal bluetooth MAC identifiers and polling setups, gyroscopic accuracy and general connectivity stability may vary between hardware model clones.
Why do my game buttons register twice when launching Steam?
This happens because both BetterJoy (simulating a virtual Xbox controller) and Steam’s native peripheral wrapper are reading the same raw controller hardware at the same time. To fix this double input issue, you can simply disable the XInput emulation option inside BetterJoy’s UI settings panel, or configure Steam to completely ignore the raw unmapped Nintendo controller input.
BetterJoy vs Competitors: Which Mapper Should You Choose?
How does BetterJoy stack up against alternative Windows gamepad input mapping frameworks? Review our comprehensive objective comparison.
| Feature / Metric | BetterJoy v7.1 | DS4Windows (Newer) | Steam Input |
|---|---|---|---|
| Primary Target | Nintendo Controllers | PlayStation & Generic | All System-wide Gamepads |
| Motion UDP Server | Yes (Native DSU / Cemuhook) | Yes (Requires Config) | No (Steam Ecosystem Only) |
| Joy-Con Split Mode | Yes (Perfect UI Toggle) | Partial (Complex Mapping) | Yes |
| UI Complexity | Minimal / Lightweight | Highly Advanced Profile Node | Integrated Overlay Dashboard |
| System Footprint | Extremely Low Memory | Moderate Runtime Resource | High (Requires Background Steam) |
| Best Used For | Standalone Emulators & Joy-Cons | Mixed PS4/Switch Setups | Playing Standard Steam Games |
Summary Verdict:
While Steam Input is exceptional for launched PC titles within its native client wrapper, it lacks the independent UDP framework necessary to pass low-level gyro information directly to alternative emulator clients. Similarly, although modern iterations of DS4Windows have integrated basic Switch Pro controller data capture, BetterJoy remains the most streamlined, lightweight tool specifically engineered to split or join individual physical Joy-Cons with single-click simplicity.
What the Gaming Community Says
Read real feedback from emulator enthusiasts and PC gamers who rely on BetterJoy for their hardware mapping setups.
“Flawless motion controls! I spent hours trying to configure my Switch Pro controller gyro natively for Cemu and Ryujinx with no luck. Found BetterJoy, installed the ViGEmBus driver, and the UDP motion server picked it up instantly. Absolute lifesaver for Breath of the Wild aiming.”
“Most utilities make mapping separate Joy-Cons an absolute nightmare on Windows 11. BetterJoy lets me join or split them vertically into single inputs with a simple click on the UI icon. It’s incredibly lightweight and doesn’t hog system memory in the background.”
“I love that this tool is completely open-source under the MIT license. No bloatware, no weird tracking scripts, and no payload wrappers. Windows Defender gave me a false positive during setup, but checking the public repository code set my mind at ease. Highly recommend.”
