sys-hidplus: a brand new sysmodule that allows you to emulate gamepads over the network for Parsec

sys_hidplus.png

(v1.1 + New Client released!)
sys-hidplus: a brand new sysmodule that allows you to emulate controllers over the network


sys-hidplus is a sysmodule that allows you to emulate up to 3 controllers (and probably more in the future) over the network from a PC to a Nintendo Switch.
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!

unknown.png

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)

Requirements:
Instructions:
(This tutorial has yet to be updated for v1.1, please be patient!)
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
Code:
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
Code:
python3 input_pc.py {SWITCH IP}
replacing {SWITCH IP} with the IP address of your Switch (You can check it by going to Settings > Internet on your system) (Note: if using "python3" gives an error/prints an empty line, try using "py" instead. If that also gives issues, try reinstalling python making sure "add to paths" is enabled. If not even that works, try using the python3 path instead of using "python3" or "py".

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!​
Links:
Special Thanks to:
  • jakibaki - base and inspiration for this sysmodule (hid-mitm), a lot of the code comes from it
  • cathery - helping me with my dumb questions and issues
  • ReSwitched Discord Server - help in the support channels
  • Everyone using this sysmodule - thanks a lot!
 
Last edited by nachuz,

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,380
Country
Netherlands
That's the emulated controller. Look at the reference pic from nachuz in the release post. (Pg. 1)
Right. So pink usually probably will be P1?! but can be different... How will you know if the game doesn't show a colour for the colour of controller... I mean some games prob wont show this? eventhough smash does..
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
Right. So pink usually probably will be P1?! but can be different... How will you know if the game doesn't show a colour for the colour of controller... I mean some games prob wont show this? eventhough smash does..
Ah yeah, all emulated controllers would be all pink controllers, i think? Also, the pink controller will show at the controller menu in the home menu. The P1 thing, if you connect your real controllers, and then connect your emulated controller, the latter will be p2, but still show as a pink controller so, technically, as you connect controllers in a chronological order, it won't change their color icons. At least that's what i think.
 
  • Like
Reactions: Chrisssj2

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,380
Country
Netherlands
Ah yeah, all emulated controllers would be all pink controllers, i think? Also, the pink controller will show at the controller menu in the home menu. The P1 thing, if you connect your real controllers, and then connect your emulated controller, the latter will be p2, but still show as a pink controller so, technically, as you connect controllers in a chronological order, it won't change their color icons. At least that's what i think.
So P2 usually then since you use hardware P1. What is the point that an emulated controller is disconnected? When one exits a game or... When one exits a parsec session?
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
So P2 usually then since you use hardware P1. What is the point that an emulated controller is disconnected? When one exits a game or... When one exits a parsec session?
The latter, yeah. But the former, it's the opposite. When you join some singleplayer game that has co op options, like uh, mario kart?, it'll disconnect all controllers except the p1 controller. The p1 controller, either hardware or emulated, would stay.
 
Last edited by SansSans,

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,380
Country
Netherlands
The latter, yeah. But the former, it's the opposite. When you join some singleplayer game that has co op options, like uh, mario kart?, it'll disconnect all controllers except the p1 controller. The p1 controller, either hardware or emulated, would stay.
So basically moral of the story is. If you've played a co-op game. and about to start a new one, time to refresh Sys-hidplus via the OSD with tesla before opening a new one.
 
  • Like
Reactions: SansSans

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
So basically moral of the story is. If you've played a co-op game. and about to start a new one, time to refresh Sys-hidplus via the OSD with tesla before opening a new one.
Yep, and i can't wait to get this running and updated cuz i just updated my switch and the sysmodule doesn't work anymore.
 

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,380
Country
Netherlands
Yep, and i can't wait to get this running and updated cuz i just updated my switch and the sysmodule doesn't work anymore.
Any further updates to this would be very nice. Im using SX though so im not exactly on the fence just yet. But I can imagine you would be for such an awesome plugin! Thankfully it seems we won't have to choose between playing new games or using this function for this homebrew.

When you do OSD refresh thing. you just keep the PY script running or also re-run that?
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
Any further updates to this would be very nice. Im using SX though so im not exactly on the fence just yet. But I can imagine you would be for such an awesome plugin! Thankfully it seems we won't have to choose between playing new games or using this function for this homebrew.

When you do OSD refresh thing. you just keep the PY script running or also re-run that?
Technically yes, but usually, you have to re-run the command again if the script says "gamepad disconnected", if either the controller from pc disconnects, or your switch's wifi or ip disconnects or changed.
 
  • Like
Reactions: Chrisssj2
D

Deleted User

Guest
I am using a Dualshock 4 on PC with a mayflash magic NS adapter (which ironically the adapter works on switch but I need the dualshock 4 for PC more) When I use Chiaki which is remoteplay for PS4 to PC I can hit PS button and exit a game, but PS button does not work using this to exit a game on switch. If I use the mayflash magic ns on Switch the dualshock 4 does work as a exit button so I'm not sure the problem or is this an issue for all controllers or just mine with my setup.
 
D

Deleted User

Guest
I'm confused it seems PC doesn't recognize the xbox middle circle button which is probably why this app doesn't recognize my dualshock 4's PS button because mayflash should make them the same. So wouldn't that mean everyone has that problem where they can't exit games? But I don't see anyone else talking about it in this thread.

I had a mayflash adapter hooked up to Switch with a dualshock 3, the joycons wireless and a dualshock 4 on PC using this and none of the 3 could exit single plaer only games I had to hook up the joycons to the Switch to exit. I guess if the switch is not docked it's a non issue but the battery doesn't last forever.

Other than not being able to exit games though it's working great.
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
This program works so well that it has single handedly held my system hostage of any updating, even ams, and will continue to do so. So kudos and thank you, @nachuz. Also goes without saying that I really hope it hasn't been abandoned.
wait, does it work on the latest update of switch and atmosphere? specifically FW 12.0.2 / AMS 0.19.3
 

SaiyaTrunX

Member
Newcomer
Joined
May 28, 2007
Messages
13
Trophies
0
XP
1,064
Country
Gambia, The
This is kind of a dumb question, but since this is possible from windows to N switch, does anyone know about a similar project to map gamepad input from windows pc to windows pc in a local network? It most probably exists and I simply cant figure the right search terms to google it.
 

Conbag

New Member
Newbie
Joined
Feb 15, 2021
Messages
2
Trophies
0
Age
31
XP
95
Country
United Kingdom
This is kind of a dumb question, but since this is possible from windows to N switch, does anyone know about a similar project to map gamepad input from windows pc to windows pc in a local network? It most probably exists and I simply cant figure the right search terms to google it.

Try Googling "USB over IP"
 
D

Deleted User

Guest
This is kind of a dumb question, but since this is possible from windows to N switch, does anyone know about a similar project to map gamepad input from windows pc to windows pc in a local network? It most probably exists and I simply cant figure the right search terms to google it.

I'm not sure if this is exactly what you're looking for but you can mirror your PC to another PC and use a gamepad with an app called Parsec. But if you're wanting one controller to work on two PCs then I really don't know.
 

RednaxelaNnamtra

Well-Known Member
Member
Joined
Dec 8, 2011
Messages
1,208
Trophies
1
XP
3,335
Country
Germany
It does not work on 12.0.x yet, as i know. You can have AMS 0.19.3 but the FW version must be 11.0.x or less, please correct me if I'm wrong
At least not with the current release binary, but its relatively easy to get it to work by compiling the master branch yourself with the latest libnx.
I think besides that I just needed to remove the hidKeysDown call from the main methode, but I also did some experimenting to reduce the used memory, so I'm not 100% sure if that was all I changed.
 
Last edited by RednaxelaNnamtra,
  • Like
Reactions: JohnSnakeX

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: Sup