sys-hidplus: emulate PC controllers on Switch via a network

sys-hidplus: emulate PC controllers on Switch via a network

sys-hidplus: a brand new sysmodule that allows you to emulate controllers (throttles) on your network.
The objective of this is to allow services such as Parsec to be usable on the Switch without having to buy $100 worth of accessories to emulate a single controller.
Currrently, the sysmodule still has some bugs, but it's usable and, most importantly, playable and enjoyable.
You can check more details on the github repository and any kind of feedback is welcomed!

If anything here sounds familiar, is because I'm the same developer a hid-mitm-plus, a unstable fork of hid-mitm with the same objective, but it has been rewritten from scratch due to the crashes and bad performance.
So, yeah, this not a fork or an update, this is, in fact, a brand new sysmodule with newly written code and functionality too (such as experimental joy-con emulation)!
(just in case, development of hid-mitm-plus has ceased and won't be coming back, use this instead)​


  •     Atmosphere (ReiNX and SX OS are untested)
  •     sys-hidplus (
  •     Python 3
  •     10.0.0+ FW Version
  •     If you want to use a streaming service such as Parsec, you'll need either:
  •     a) A capture card such as Elgato HD60 S or Pro; or
  •     b) SysDVR

First, copy the contents of the "nswitch" folder in the build zip file to the Switch microSD card. Make sure to use Atmosphere because this sysmodule isn't tested with other CFWs.

After that, make sure you have Python3 installed and open cmd on the location of the extracted "pc" folder from the build zip file and execute

py -3 -m pip install inputs

(you'll have to do this step only once). Once inputs is installed, you can then connect to your switch by using

python3 {SWITCH IP}
replacing {SWITCH IP} with the IP address of your Switch (You can check it by going to Settings > Internet on your system).

If you did all the steps fine, your switch should now detect your controller as a Kirby colored Pro Controller (or a JoyCon, more details below).

You can modify the behaviour of the controller emulation on the python file by changing the conType values. If you set it to 0, you'll be able to disconnect the controller (useful if the Switch disconnects the controller for some reason). If you set it to 1, you'll be able to emulate a Pro Controller. If you set it to 2 or 3, you'll be able to use the experimental sideways joycon emulation, it has some issues but in some games such as Clubhouse Games, it'll be playable.

If for some reason you enter to the "Change Grip/Order" menu or when entering a game your controller is disconnected on the Switch, modify the python script, set the conType value of the disconnected controller to 0, execute the python script once, change the value back to 1 (or 2/3) and the controller will be functional again!​


Special Thanks to:
-jakibaki - base and inspiration for this sysmodule (hid-mitm), a lot of the code comes from it

-ReSwitched Discord Server - help in the support channels

-Everyone using this sysmodule - thanks a lot!

Post a Comment