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,

Dial911

Member
Newcomer
Joined
Apr 2, 2024
Messages
5
Trophies
0
Age
19
XP
17
Country
United States
It’s not workingggggg 😭
The thing pops up in Tesla now but it doesn’t connect!! Inputs work on my laptop and I’ve put in my switch IP correctly (check 5 times before starting the input pc) but the switch doesn’t detect anything
I’ve rebooted and retried it all 3 times since I used your file
 
Last edited by Dial911,

PeeJay Bonobo

Well-Known Member
Member
Joined
May 10, 2014
Messages
119
Trophies
1
Age
37
Location
Jamaica, New York
Website
steamcommunity.com
XP
2,089
Country
United States
I'd have to say that kenesu-h's fork of the sys-hidplus client is a godsend. It lets me press buttons on my 8BitDo controller connected to PC despite the client window not being focused on. And I don't have to restart constantly on 18.0.1 (I'm surprised for a plugin last updated in 2021, it still works on the latest System Menu that was dropped in 2024).

EDIT: spoke too soon
 
Last edited by PeeJay Bonobo,

KaedesPiano

Active Member
Newcomer
Joined
Mar 21, 2022
Messages
37
Trophies
0
Location
US
XP
286
Country
United States
I'd have to say that kenesu-h's fork of the sys-hidplus client is a godsend. It lets me press buttons on my 8BitDo controller connected to PC despite the client window not being focused on. And I don't have to restart constantly on 18.0.1 (I'm surprised for a plugin last updated in 2021, it still works on the latest System Menu that was dropped in 2024).

EDIT: spoke too soon
It's broken on the latest firmware?
 

PeeJay Bonobo

Well-Known Member
Member
Joined
May 10, 2014
Messages
119
Trophies
1
Age
37
Location
Jamaica, New York
Website
steamcommunity.com
XP
2,089
Country
United States
It's broken on the latest firmware?
It's not the plugin that's broken, it's the client-rs client that's broken. After some time, I still have to focus on the sys-hidplus-client-rs window for it to work. This is bad if I want to use Parsec to stream my Switch screen.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • S @ salazarcosplay:
    and be able to fight other players
  • S @ salazarcosplay:
    and co op
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, kind of like mugen or rivals of aether?
  • S @ salazarcosplay:
    and also ahve the option to play as a human
  • S @ salazarcosplay:
    or set it up that when you get injured past a certain point they have to replace your human parts with cybernetics
  • Xdqwerty @ Xdqwerty:
    i have a placeholder enemy sprite i made
  • S @ salazarcosplay:
    or have it that you don't know you are a cyborg, robot, and you find out and have a existential crisis
  • S @ salazarcosplay:
    or have it start in the virtual world and you are an ai that gained sentience
  • Xdqwerty @ Xdqwerty:
    btw gonna wash my face in a bit, my eyes feel tired
  • S @ salazarcosplay:
    and you convince your owner to help you break out of the virtual world to real world
  • BigOnYa @ BigOnYa:
    Eyes - "yawn"
    +1
  • S @ salazarcosplay:
    you bleack in to goverment computer systems to get cyborg schematics so you can get a robot body constructed
  • Xdqwerty @ Xdqwerty:
    btw @BigOnYa the health bar doesnt decrease when i take damage (and yes i put the "at the beggining of the scene change value of greenflatbar: set to Protagonistcopmode.Health::Health())
  • S @ salazarcosplay:
    i the protagonist
  • S @ salazarcosplay:
    human, robot, cyborg
  • S @ salazarcosplay:
    human with cyborg enhancements
  • S @ salazarcosplay:
    or like terminatior
  • S @ salazarcosplay:
    with living tissue
  • BigOnYa @ BigOnYa:
    @Xdqwerty there is health behaviour you can add to your character, then to use a health bar is lil more complicated, google n watch a few tutorial video on it, be too hard to explain here.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, the character has the health behavior
  • BigOnYa @ BigOnYa:
    I know you have to create a health and health max variable. Then there is a calculation you use in code to subtract width size of the health bar. Google few vids.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, the "greenflatbar" is one of the preset health bars btw
    Xdqwerty @ Xdqwerty: @BigOnYa, the "greenflatbar" is one of the preset health bars btw