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,

JackTYM

Member
Newcomer
Joined
Jan 24, 2021
Messages
8
Trophies
0
Age
46
XP
58
Country
United States
I tried this and nothing new pops up for me in the tesla overlay. Could you please check if the toolbox is right?
It is strange I have sysmodelus, reverseNX-RT, statusmonitor, sys-clk, sys-ftpd-ovl but no syshidplus.
I assume having more then 5 entries there should be no problem.

Yeah, inside the sysmodules tab will have it, sorry forgot to mention that!
 

JackTYM

Member
Newcomer
Joined
Jan 24, 2021
Messages
8
Trophies
0
Age
46
XP
58
Country
United States
Hmm.
Just checked. It is not there either..
Just to make sure 100% format is correct, you can take the toolbox.json from sys-ftpd-light (Folder name ~42000000000000000E) And then change the information (like name to sys-hidplus and tid to the folder name of sys-hidplus) and if that doesn’t work then it is a Tesla problem which i’m not sure about.
 

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,384
Country
Netherlands
Hmm.

Just to make sure 100% format is correct, you can take the toolbox.json from sys-ftpd-light (Folder name ~42000000000000000E) And then change the information (like name to sys-hidplus and tid to the folder name of sys-hidplus) and if that doesn’t work then it is a Tesla problem which i’m not sure about.
I had already done your suggestion with sysclk i just changed changed the tid and title of a copy of that json.

I posted the json in this thread on page 5... Could you please compare it with your own? or post your own json just to be 100% sure?
 

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,384
Country
Netherlands
I had borntohonk made a newer version of OVLsysmodules and change path to SXOS\titles.
Now it does show up in sysmodules and you can turn it on and off with SX OS!
 

Attachments

  • sxos titles borntohonk ovlSysmodules SX OS.rar
    156.5 KB · Views: 196
Last edited by Chrisssj2,

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,375
Trophies
0
XP
2,763
Country
Colombia
Hello @nachuz . Thank you for your tool, I have been looking for it for a long time because I had already seen it, but until now I had not found it useful.

My question is, can other Software other than Parsec be used to detect remote controls with your tool? I have a problem with Parsec and my card is not supported.

I have seen some software, such as RdpGamepad and USB Network Gate, but I am not sure if they only work in a local area or also really "remotely" from anywhere in the world.

Any suggestion is appreciated
 

ottemo

Member
Newcomer
Joined
May 12, 2019
Messages
15
Trophies
0
Age
44
XP
296
Country
Germany
Hey, I just found this Project:
https://github.com/fossephate/switch-controller
It seems to be a micro controller that you connect with USB to switch. It emulates than a switch gamepad. And it can be remote controlled by a pc.
So basicly it should be the same as this project but it's a hardware controller and should be able to be used on any switch not only hacked one's.
I didn't have tested it
 

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,375
Trophies
0
XP
2,763
Country
Colombia
Hey, I just found this Project:
https://github.com/fossephate/switch-controller
It seems to be a micro controller that you connect with USB to switch. It emulates than a switch gamepad. And it can be remote controlled by a pc.
So basicly it should be the same as this project but it's a hardware controller and should be able to be used on any switch not only hacked one's.
I didn't have tested it
It works. Basically it is a DIY project like the TouchPad that replaces the Stick analog.

You need an Arduino Mini, a Wifi or Bluethoot receiver and the sketch is that github to do the process.


But believe me. There are more sophisticated and feasible ways to do a party-Control. Among them thanks to something called HID Profile for Bluethoot. It is a matter of doing some DIY.
 

ottemo

Member
Newcomer
Joined
May 12, 2019
Messages
15
Trophies
0
Age
44
XP
296
Country
Germany
It works. Basically it is a DIY project like the TouchPad that replaces the Stick analog.

You need an Arduino Mini, a Wifi or Bluethoot receiver and the sketch is that github to do the process.


But believe me. There are more sophisticated and feasible ways to do a party-Control. Among them thanks to something called HID Profile for Bluethoot. It is a matter of doing some DIY.

Nice, i found this which looks very cool:
https://github.com/Brikwerk/nxbt

I have a question regarding sysmodules. Do they generally run on SXOS? I use SXOS for a very long time but have Never tried any sysmodules
 

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,375
Trophies
0
XP
2,763
Country
Colombia
Nice, i found this which looks very cool:
https://github.com/Brikwerk/nxbt
Perfect. If you can get it to work with a software like RdpGamepad and broadcast on WebRTC, you will have what you need to share with others without the need for Parsec.
https://github.com/microsoft/RdpGamepad

EDIT: When there is a problem ... I see that the software you shared is still not supported for Windows, and the one I shared only has support for Windows.

--------------------- MERGED ---------------------------

I have a question regarding sysmodules. Do they generally run on SXOS? I use SXOS for a very long time but have Never tried any sysmodules
SXOS does not support sys-module that I know of. This is a feature of Atmosphere, and I don't know how much of the stolen code they were taking from it.
 
Last edited by Imancol,

ottemo

Member
Newcomer
Joined
May 12, 2019
Messages
15
Trophies
0
Age
44
XP
296
Country
Germany
EDIT: When there is a problem ... I see that the software you shared is still not supported for Windows, and the one I shared only has support for Windows.
Yes but NXBT has a build in webinterface That can be controlled with a gamepad. So you could run it in a VM or on another linux pc. Than just start a webbrowser on a windows pc and use the Tools you mentioned

--------------------- MERGED ---------------------------

SXOS does not support sys-module that I know of. This is a feature of Atmosphere, and I don't know how much of the stolen code they were taking from it.
Ok, thanks for the Info :-)
 

Chrisssj2

Well-Known Member
Member
Joined
Feb 12, 2008
Messages
2,704
Trophies
1
XP
4,384
Country
Netherlands
Nice, i found this which looks very cool:
https://github.com/Brikwerk/nxbt

I have a question regarding sysmodules. Do they generally run on SXOS? I use SXOS for a very long time but have Never tried any sysmodules
I have sys clk, reverseNX RT, syshidplus, sysdvr, sys-ftpd. SaltyNX. status monitor with tesla menu ovl's etc.
So from what I can see most seem to work with SX OS.
 
  • Like
Reactions: ottemo

luipancake

New Member
Newbie
Joined
Apr 15, 2021
Messages
1
Trophies
0
Age
23
XP
58
Country
United States
How do I fix my switch no longer connecting to controllers natively like a 3rd paty pro controller or ds4 with mission control?
 

nachuz

Well-Known Member
OP
Member
Joined
May 21, 2017
Messages
636
Trophies
0
XP
2,113
Country
Chile
Hello, this is not working anymore on AMS 0.19.X I'll be waiting for the fix when you have the time again and great job!
Thanks for the report!
The sysmodule doesn't support due to 12.0 changes. As soon as libnx is updated to adapt to these changes, I'll update this sysmodule to work with the latest Switch version (alongside some unreleased changes I made to it such as 4 player support instead of just 3). Please be patient :)
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
Thanks for the report!
The sysmodule doesn't support due to 12.0 changes. As soon as libnx is updated to adapt to these changes, I'll update this sysmodule to work with the latest Switch version (alongside some unreleased changes I made to it such as 4 player support instead of just 3). Please be patient :)
Are the problems relate to like, no response from the python command prompt to the switch? if not, would you list them? Also, what is Libnx, i cannot find a definite answer.
 

SansSans

Member
Newcomer
Joined
Jan 18, 2021
Messages
20
Trophies
0
Age
20
XP
518
Country
Japan
Alright I'll teach you guys haha. After installing Tesla, you can use "L + D-Pad Down + Click Right Joystick" And that's there you can toggle things, at first, it will not show up in that menu. You will need to plug your SD Card into your pc and navigate to "X:\atmosphere\contents\4200000000001312" That should be your sys-hidplus path. Once there, create a new text document called "toolbox.json". If it does not confirm you to change the extension, go to "File > Change folder and search options > View" And uncheck Hide extensions for known file types. Then you can change the extension to .json. Once you have the "toolbox.json" file, open it up and paste the following:

"
{
"name" : "sys-hidplus",
"tid" : "4200000000001312",
"requires_reboot": false
}
"

Once that is done, save the file and plug back into your switch. There should be a sys-hidplus option in your Tesla overlay now!
This actually worked for real. This fixes the "Restart everytime it disconnects" problem. Actually a great solution!
 

Site & Scene News

Popular threads in this forum

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