A Nintedo Switch sysmodule for third-party controller support. No man-in-the-middle required!
[Switch FW 5.0.0+]
This sysmodule aims to provide complete functionality for most popular game controllers not supported by Nintendo Switch. At the current moment, only USB connection is supported.
This app is missing a lot of features. For more information, see the issues page.
⚠ I can't support your generic 3rd party HID controller yet. It is a limitation of the firmware and I'm looking to work around it.
⚠ If you get the error 2003-0008 (0x1003), you're running too many sysmodules. Disable other memory demanding sysmodules like sys-ftpd or ldn_mitm.
Grab the latest zip from the releases page. Extract it in your SD card and boot/reboot your switch.
sys-con comes with a config folder located at
sdmc:/config/sys-con/. It contains options for adjusting stick/trigger deadzone, as well as remapping inputs. For more information, see
example.ini in the same folder. All changes to the files will be updated in real time.
Docked USB Support
[5.0.0-7.0.0] FW Version Support
Xbox 360 Controller Support
Xbox One X/S Controller Support
Dualshock 3 Support
Undocked USB SupportWorks with a USB-C OTG adapter. Some knock-off brands may not support OTG.
Xbox 360 Wireless adapter
Dualshock 4 Support
- Xbox One Wireless adapter
- Rumble Support
- Bluetooth Support
- Motion Controls Support
- Config application
Building (For developers)
The sysmodule uses the latest release of libnx, grabbed from pacman.
After opening a console inside the project folder, you can type
make sysmodule -j8 to build a sysmodule nsp file, or
make applet -j8 to build an applet nro file. If no option is provided, it picks sysmodule.
If you wish to see added support for more controllers in the future, consider funding my project on Ko-fi!