1. sys_hidplus.png

    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!

    [​IMG]

    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:
    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!
     
  2. Discussion (71 replies)

  3. Chrisssj2

    Chrisssj2 GBAtemp Addict
    Member

    Joined:
    Feb 12, 2008
    Messages:
    2,127
    Country:
    Netherlands
    Glad to see you are back! gonna test it out first thing tomorrow. Sleep now.
     
  4. fvig2001

    fvig2001 GBAtemp Fan
    Member

    Joined:
    Aug 21, 2006
    Messages:
    448
    Country:
    Philippines
    How bad's the lag? I've tried GimX + Capture Card (Elgato HD60s) + Moonlight and Mario has too much lag.
     
    Scott_pilgrim and StrayGuitarist like this.
  5. Silent_Gunner

    Silent_Gunner Lost Wanderer Who Sees No Evil
    Member

    Joined:
    Feb 16, 2017
    Messages:
    2,029
    Country:
    United States
    If my session with an older brother (who lives not too far from where I am) on PC was any indication, it was just like being in the room with the person, the very occasional lag and lack of in-person trash talk notwithstanding.

    Still, I'm a little confused; it allows us to stream the games from the Switch, or stream to the other person's Switch? Or stream the game/"desktop" from my PC to the Switch? I'm excited because Parsec has worked awesomely for myself as the host, but how it works here is going to depend on however its implemented. Also, I'm going to have to resort to using Horizon again for homebrew (which I was going to have to do anyways as not even battery performance on external battery packs with mounts to the Switch seem to be capable of keeping the Switch charge going up, only slowing its descent.)
     
    Last edited by Silent_Gunner, Oct 29, 2020
  6. x65943

    x65943 Dr. Rabbi Prince X, Sr., Ed. D.
    Global Moderator

    Joined:
    Jun 23, 2014
    Messages:
    4,560
    Country:
    United States
    whoa, very nice work! Gonna try this asap
     
    Scott_pilgrim likes this.
  7. nachuz

    OP nachuz GBAtemp Advanced Fan
    Member

    Joined:
    May 21, 2017
    Messages:
    613
    Country:
    Chile
    The sysmodule allows you to pass the inputs from an Xbox controller to a Nintendo Switch using wi-fi/ethernet
    I have tested playing with 2 other friends through Parsec that live near me and we played Smash without a lot of input lag (around the same input lag you would have when playing Smash Online with a good connection)
     
  8. Reploid

    Reploid GBAtemp Advanced Maniac
    Member

    Joined:
    Jan 20, 2010
    Messages:
    1,870
    Country:
    Serbia, Republic of
    I don't get it. Someone who live really far would be able to a game with you by sending input over internet? How he'll get the picture?
     
  9. nachuz

    OP nachuz GBAtemp Advanced Fan
    Member

    Joined:
    May 21, 2017
    Messages:
    613
    Country:
    Chile
    Just like it says on the thread, the point of this sysmodule is to emulate inputs and make you able to use Parsec alongside a capture card or SysDVR
     
    StrayGuitarist likes this.
  10. Reploid

    Reploid GBAtemp Advanced Maniac
    Member

    Joined:
    Jan 20, 2010
    Messages:
    1,870
    Country:
    Serbia, Republic of
    Oh, capture card and such, now I get it.
     
    nachuz likes this.
  11. Silent_Gunner

    Silent_Gunner Lost Wanderer Who Sees No Evil
    Member

    Joined:
    Feb 16, 2017
    Messages:
    2,029
    Country:
    United States
    I see. So, by either using a capture card or this sysmodule in conjunction with sysDVR, one can host their games from their Switch to other people's PCs, phones, or whatever else (other hacked Switches) running Parsec. That about sum it up?

    I'm sort of trying to make things crystal clear for those trying to gauge the possibilities of this sysmodule, because while the above scenario is cool, one could theoretically take their own Switch games, rip 'em, put it on PC, fire up Yuzu, and stream the game to others' PC's. And to just be able to stream those games from the Switch to the PC which will then stream those games to others in the Parsec lobbies is fine, but an idea I had was to maybe try to use this solution to, say, stream me playing the PC version of, say, Crysis 3 at max settings onto my Switch.

    I know, "why not just use Steam Link?," but Parsec, compared to all of the other streaming services I've used so far, has had the best performance out of the one time I tried the Moonlight solution for Horizon, and Steam Link itself which really seems to only be for if you're in the same house as your PC, and as long as the game doesn't require a M/KB, then it should be playable on the Switch itself since all of the standard buttons are there.
     
  12. Shadowfied

    Shadowfied GBAtemp Addict
    Member

    Joined:
    Dec 6, 2014
    Messages:
    2,385
    Country:
    Thank you so much!! Been waiting for this. Can't wait to try it out!
     
  13. Cubuss

    Cubuss GBAtemp Fan
    Member

    Joined:
    Aug 4, 2017
    Messages:
    496
    Country:
    Netherlands
    Its possible to use SysDVR with parsec?
     
  14. Manito

    Manito GBAtemp Fan
    Member

    Joined:
    Dec 15, 2014
    Messages:
    323
    Country:
    United States
    This is incredible! This past week me and my friends were trying to see how we could pull something like this off. I was gonna install a VM to use Linux to emulate JoyCon and go through a whole process and then I see this comes out! I tested it with my girlfriend and it works really well! One thing that it conflicts with though, is jam1garner's Minecraft Skin Selector mod for Smash. When I installed sys-hidplus and selected Steve in the character select screen, the mod menu came up but then the whole switch froze and softlocked. Not sure why they're conflicting with each other but thought I'd share that and maybe you can see if you can replicate the issue yourself? I also have "MissionControl" and "syscon" sysmodules installed(which also deal with controller inputs). Aside from the issue with the Minecraft Smash mod, this is really awesome and I'm excited to see how progress goes!
     
  15. zxr750j

    zxr750j GBAtemp Fan
    Member

    Joined:
    Sep 29, 2003
    Messages:
    418
    Country:
    Netherlands
    I'm gonna make time to check this out, awesome!
     
  16. AkumaNoYami

    AkumaNoYami Advanced Member
    Newcomer

    Joined:
    Mar 1, 2016
    Messages:
    59
    Country:
    Gambia, The
    upload_2020-10-29_19-48-55.png nothing happening make i something wrong?
     
  17. Chrisssj2

    Chrisssj2 GBAtemp Addict
    Member

    Joined:
    Feb 12, 2008
    Messages:
    2,127
    Country:
    Netherlands
    For some reason I had to go to "C:\Users\Chris\AppData\Local\Programs\Python\Python37-32" and rename python.exe to python3.exe or I would get "python3' is not recognized as an internal or external command, operable program or batch file."

    After that I ran the command, but it says:
    welcome!
    No gamepads found

    Did I do anything wrong?
     
  18. AkumaNoYami

    AkumaNoYami Advanced Member
    Newcomer

    Joined:
    Mar 1, 2016
    Messages:
    59
    Country:
    Gambia, The
    you are a genious :D i copy the python folder to my input_pc file
    rename the python.exe to python 3 and it works (No gamepad found)

    > now i send my desktop over parsec to my girlfriend pc > connect a controler to the pc
    and it works :D
     
    zxr750j and Chrisssj2 like this.
  19. Chrisssj2

    Chrisssj2 GBAtemp Addict
    Member

    Joined:
    Feb 12, 2008
    Messages:
    2,127
    Country:
    Netherlands
    Glad to hear. But you say it also said for you "no gamepad found"? But then you follow up by saying it works for you? You mean you need to connect something like an xbox controller to pc first?

    EDIT:
    Yes you are right! You are a genius too!
    Though it looks a bit strange... it shows 7 controllers.. when I hookup my DS4 controller via DS4windows.

    Like in this pic.
    http://prntscr.com/v9mcpj

    I can now use my DS4 controller to controll my switch. Guess I now just let someone come in via parsec on my desktop, and join in on my switch stream.
     
    Last edited by Chrisssj2, Oct 29, 2020
  20. Manito

    Manito GBAtemp Fan
    Member

    Joined:
    Dec 15, 2014
    Messages:
    323
    Country:
    United States
    I was able to use this last night with no issues but now, after entering "python3 input_pc.py {Switch IP}"
    , nothing shows up in the command prompt. No "0 gamepads", nothing. It just creates a new blank line. What could be causing this?
     
  21. Intronaut

    Intronaut A star maker
    Member

    Joined:
    Nov 18, 2014
    Messages:
    772
    Country:
    Chile
    Amazing work! I was able to connect my Wii U gamepad to my switch and it works fine. Despite small bugs, I was able to play Smash without noticeable lag. Thank you. I uploaded a video to show the performance:


    I might try it with a new 3ds later

    Pd: viva chile hermano!
     
    Scott_pilgrim and nachuz like this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - sysmodule, gamepads, hidplus