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 (DSU / Cemuhook protocol) that sends gyro and accelerometer data to Cemu, Dolphin, and other DSU clients. 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 wired, stable connection that avoids wireless interference, suited for fast-paced emulation or traditional 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?
BetterJoy v7.1 runs on 64-bit Windows 10 and Windows 11. You do not normally need administrator rights — run BetterJoyForCemu.exe as administrator only if your keyboard or mouse button mappings do not work.
Can I use standard 3rd-party non-original Switch Pro controllers?
Yes. Since v7.0, BetterJoy can add third-party Pro controllers and Joy-Cons through the Add Controllers button in its interface. Support is not perfect, and gyro accuracy and connection stability can vary between controller models.
Why do my game buttons register twice when launching Steam?
This happens because both BetterJoy (presenting a virtual Xbox controller) and Steam Input are reading the same physical controller at the same time. To fix the double input, disable the XInput emulation option in BetterJoy’s settings, or let Steam handle the controller on its own.
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 | Steam Input |
|---|---|---|---|
| Primary Target | Nintendo Controllers | PlayStation controllers | All System-wide Gamepads |
| Motion UDP Server | Yes (Native DSU / Cemuhook) | Yes (Requires Config) | No DSU server (Steam only) |
| Joy-Con Split Mode | Yes (one-click UI toggle) | Partial (Complex Mapping) | Yes (paired or single Joy-Con) |
| UI Complexity | Simple, single-purpose window | Advanced profile system | Built into the Steam client |
| System Footprint | Small single application | Standard desktop application | Requires the Steam client running |
| Best Used For | Standalone Emulators & Joy-Cons | Mixed PS4/Switch Setups | Playing Standard Steam Games |
Summary Verdict:
Steam Input covers Switch Pro controllers and Joy-Cons (paired or single) for games launched through Steam, but it provides no DSU motion server for standalone emulators. DS4Windows, continued by community maintainers after the original project ended, targets PlayStation controllers first and also offers a UDP motion server. BetterJoy is purpose-built for Nintendo controllers: it splits or joins Joy-Cons with a single click and serves gyro data over UDP to emulators such as Cemu and Dolphin.
BetterJoy on GitHub, by the Numbers
BetterJoy is an open-source project by Davidobot, developed in public on GitHub. The project’s public figures, checked in October 2026:
