Skip to content
Nintendo Switch sysmodule to allow support for third-party controllers
C++ C Makefile
Branch: master
Clone or download


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.

Progress roadmap

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!

You can’t perform that action at this time.