HID To VPAD Network Client

Discussion in 'Wii U - Homebrew' started by Maschell, Mar 30, 2017.

  1. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    860
    1,225
    Jun 14, 2008
    Gambia, The

    HID To VPAD Network Client v0.4
    Use your controller on your WiiU over the network

    What is the "HID To VPAD Network Client"?

    The HID To VPAD Network Client is an extension to "HID to VPAD" which allows you to use controllers connected to your PC on your WiiU.
    This way, you can use your XInput (XBox 360, Xbox One) HID-Bluetooth (Switch Pro Controller) with HID to VPAD. It requires a Computer in the same network as your WiiU and running the whole time. You'll get the best result when you use Ethernet instead of Wi-fi.

    Features

    • Allows you to use even more controllers with HID to VPAD
    • Plattform-independent. Should work on Unix,Windows and OSX
    • Use for example Xbox Controllers, the new DS4 or the Switch Pro Controller on your WiiU. (need configs)
    • Rumble support for XInput Controller
    Screenshot

    [​IMG]

    Usage

    NOTES:
    - The Network client requires HID to VPAD to be running.
    - A guide how to use HID to VPAD can be found here.
    - You need to have the configuration files on the SD Card for the controller you want to use. Common ones can be found
    here

    • Start the Application via double-click or from the CMD using "java -jar HIDToVPADNetworkClient-0.4.jar".
    • Now all you need to do is entering the IP of your WiiU (You can see it in HID to VPAD) and press connect.
    • In the list on the left side you should see all your conneted and supported controllers. To activate them, simply check the checkbox.
    • In the default setting, every controller will be activated automatically. If you want to disable this "feature" use the checkbox on the bottom right corner.
    • Once the client is connected and the controller is activated, you can use it on your WiiU, please follow the steps in the Hid to VPAD thread for more information.
    • If HID to VPAD finds no valid configuration on the SD Card, the network client will show an error.
    Download

    Stable: Download!
    Nightly builds: Download!
    Issue Tracker: Here!
    Source: Here!

    Requirements

    General:
    Windows:
    To be able to use XInput devices, you might need the Visual C++ Redistributable Packages for Visual Studio 2015.
    On most windows computer this should be already installed.

    Unix:
    none?

    OSX:
    none

    Questions?

    If you have any questions, found any bugs, have any issues: feel free to ask.

    Credits

    @Maschell
    @QuarkTheAwesome

    Used libraries

    Lombok - https://projectlombok.org/index.html
    purejavahidapi - https://github.com/nyholku/purejavahidapi
    JXInput - https://github.com/StrikerX3/JXInput
     
    Last edited by Maschell, Apr 27, 2017


  2. xtheman

    xtheman GBAtemp Guru

    Member
    5,837
    5,235
    Jan 28, 2016
    Maschell likes this.
  3. Kerouz

    Kerouz GBAtemp Regular

    Member
    102
    42
    Aug 26, 2015
    France
    In my home
    Yes! Thank you so much for this.
     
    Maschell likes this.
  4. ItsKipz

    ItsKipz l33t hax0r

    Member
    1,585
    872
    Sep 9, 2016
    United States
    The C: drive
    yay
     
  5. LuisGerdez

    LuisGerdez Member

    Newcomer
    14
    3
    May 27, 2016
    Venezuela
    Excellent job, thank you very much.

    I do not recognize in the list of devices my control of xbox 360, use windows 8 u.u
     
  6. beeswax

    beeswax Member

    Newcomer
    37
    20
    Aug 3, 2013
    Oh wow Maschell, you really did it this time. I'm playing Zelda with my Xbox One Elite controller. Wirelessly. I'm in heaven! There are a load more coffees coming your way :)

    A slight niggle with the network client on my Win10 x64 machine - whenever it's running my mouse is very difficult to control, the pointer leaps around the screen quite a bit. Other than that, fantastic. I've not used the GUI version of HID2VPAD before either - the background music, the live representation of the controller showing detected inputs. Sublime.
     
  7. opendata

    opendata Advanced Member

    Newcomer
    72
    56
    Oct 23, 2016
    It works out of the box with the standard openjdk on archlinux
     
    Maschell likes this.
  8. Felek666

    Felek666 Typical CBHC user

    Member
    2,655
    2,207
    Jan 3, 2017
    Poland
    reddit.com/r/satania/
    Had to change PCs because my old one didn't want to install Java [Grr...]
    Works alright but Xbox One controller dead zones are weird?
     
  9. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    860
    1,225
    Jun 14, 2008
    Gambia, The
    Thanks for the feedback (and coffee ;)) I REALLY appreciate it.
    Yeah the problem with the mouse is known. Everytime it tries to detect new HID-Devices, everything lags a bit. We could add a button to disable the auto-detection though

    btw: When I tested Zelda, it didn't work (too much lag) but cool that it's actually working!

    What do you mean by weird? I actually used the ones from the 360 controller, maybe it has different values.
    You can adjust the deadzones, just change this file and place it on the sd card.
    https://github.com/Maschell/controller_patcher_configs/blob/master/xinput.ini
     
    Last edited by Maschell, Mar 30, 2017
    CandraSoftware and Felek666 like this.
  10. beeswax

    beeswax Member

    Newcomer
    37
    20
    Aug 3, 2013
    That's strange then, I'm pretty sensitive to input lag and if there's any there, I can't detect it. My PC is connected to the router by gigabit ethernet and the WiiU is obviously wireless but is within 10ft of the router (Asus RT-AC66U).

    I have a pretty good PC, would a very quick CPU (5820k @ 4.4GHz) explain the better performance I'm seeing? Or maybe a very solid wireless connection to the WiiU?

    edit: no deadzone problems here either, in fact they're very good. I can do slow, precise slow walking with only slight movement but at the same time, don't get any movement when I just roll the stick gently around in its "loose" area.
     
    Last edited by beeswax, Mar 30, 2017
  11. Felek666

    Felek666 Typical CBHC user

    Member
    2,655
    2,207
    Jan 3, 2017
    Poland
    reddit.com/r/satania/
    Zelda works fine for me. Although i experience random input lags but that's all.

    — Posts automatically merged - Please don't double post! —

    I need to get used to it.
     
  12. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    860
    1,225
    Jun 14, 2008
    Gambia, The
    No, the problem is actual the Game/WiiU.
    The Network client runs in an extra Thread an processes the data. From my experience, the game is using too much ressources, and the network thread has a too low priority. When I tried to change the priority to a higher one, I got crashes.
    So then the game is nearly lagging, the inputs should lag too. USB should be fine though.
    Maybe I can tweak this a bit somewhere in the future
     
  13. LuisGerdez

    LuisGerdez Member

    Newcomer
    14
    3
    May 27, 2016
    Venezuela
    This happens to me :(

    [​IMG]
    [​IMG]
     
  14. Master-Killua

    Master-Killua GBAtemp Regular

    Member
    168
    51
    Jan 11, 2016
    Peru
    Hello. I tried with my Xbox one controller, and in the app, the buttons works. But when I press the "+" button and go to the wii u menu, I can only use the "X" button (for change to TV mode), Then I loaded Mii Maker (HBL) and the buttons still working but in the wii u doesn't :/. Is there any solution?
    EDIT: Never mind, it was my fault. I was using the wii u mode and wasn't watching my TV lol. Thanks for this amazing work! Hope we could use it without the client soon :3
    EDIT 2: Weird. I was playing Zelda BotW. Exit to Wii U menu, and after 2 minutes, the wii u freezed and a "beeeeeeeeeeeeeeeeeeeep" sound appeared :/
     
    Last edited by Master-Killua, Mar 31, 2017
  15. Felek666

    Felek666 Typical CBHC user

    Member
    2,655
    2,207
    Jan 3, 2017
    Poland
    reddit.com/r/satania/
    Install that Visual C++ from @OP, then press connect and every controller connected to PC should appear.
     
  16. AdmiralSpeedy

    AdmiralSpeedy Advanced Member

    Newcomer
    97
    20
    Apr 4, 2016
    Canada
    I can't seem to get the configs to update. I'm using the server and Xbox One controller and the program works great, but the default xinput configuration has the buttons setup swapped, like on the Pro Controller, so Y and X are swapped and B and A are swapped. I turned my console off completely, plugged the SD card into my PC, opened the xinput config file and swapped the values for Y and X and B and A, double checked that it was saved, restarted the server, the console, my controller and ran the homebrew, connected the controller and the buttons didn't change their order at all.
     
  17. QuarkTheAwesome

    QuarkTheAwesome Working for Hugs

    Member
    708
    1,689
    Apr 19, 2015
    Stuck in the PowerPC
    What's the VID/PID in your xinput config? You can't get those identifiers over XInput, so they get hardcoded to 7331:1337.
     
  18. AdmiralSpeedy

    AdmiralSpeedy Advanced Member

    Newcomer
    97
    20
    Apr 4, 2016
    Canada
    Here is the entire file. All I did was open it and swap the values for A, B, X and Y.
    Code:
    [vid=0x7331,pid=0x1337]
    VPAD_BUTTON_A = 0x07,0x01
    VPAD_BUTTON_B = 0x07,0x02
    VPAD_BUTTON_X = 0x07,0x04
    VPAD_BUTTON_Y = 0x07,0x08
    
    VPAD_BUTTON_PLUS = 0x06,0x02
    VPAD_BUTTON_MINUS = 0x06,0x01
    VPAD_BUTTON_HOME = 0x06,0x80
    
    VPAD_BUTTON_L = 0x06,0x04
    VPAD_BUTTON_R = 0x06,0x08
    
    VPAD_BUTTON_STICK_L = 0x06,0x10
    VPAD_BUTTON_STICK_R = 0x06,0x20
    
    //The "value" is a deadzone in this case
    VPAD_BUTTON_ZL = 0x04,0x80
    VPAD_BUTTON_ZR = 0x05,0x80
    
    
    DPAD_MODE = DPAD_NORMAL
    DPad_MASK = 0xF0
    VPAD_BUTTON_UP = 0x07,0x20
    VPAD_BUTTON_DOWN = 0x07,0x80
    VPAD_BUTTON_LEFT = 0x07,0x10
    VPAD_BUTTON_RIGHT  = 0x07,0x40
    
    VPAD_L_STICK_X = 0x00,0x80
    VPAD_L_STICK_X_MINMAX = 0x00,0xFF
    VPAD_L_STICK_X_DEADZONE = 0x10
    
    VPAD_L_STICK_Y = 0x01,0x80
    VPAD_L_STICK_Y_MINMAX = 0x00,0xFF
    VPAD_L_STICK_Y_DEADZONE = 0x10
    
    VPAD_R_STICK_X = 0x02,0x80
    VPAD_R_STICK_X_MINMAX = 0x00,0xFF
    VPAD_R_STICK_X_DEADZONE = 0x10
    
    VPAD_R_STICK_Y = 0x03,0x80
    VPAD_R_STICK_Y_MINMAX = 0x00,0xFF
    VPAD_R_STICK_Y_DEADZONE = 0x10
    
     
  19. eckk

    eckk Newbie

    Newcomer
    2
    0
    Mar 3, 2017
    What controller are you using? It's acting up for me on Arch.
     
  20. LuisGerdez

    LuisGerdez Member

    Newcomer
    14
    3
    May 27, 2016
    Venezuela
    I already have it installed
    [​IMG]

    — Posts automatically merged - Please don't double post! —

    [​IMG]
    [​IMG]