HID To VPAD Network Client

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

Mar 30, 2017

HID To VPAD Network Client by Maschell at 7:18 PM (8,524 Views / 15 Likes) 74 replies

  1. Maschell
    OP

    Member Maschell GBAtemp Advanced Fan

    Joined:
    Jun 14, 2008
    Messages:
    798
    Country:
    Germany

    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 at 6:37 PM


  2. xtheman

    Member xtheman GBAtemp's Official Ghost

    Joined:
    Jan 28, 2016
    Messages:
    5,741
    Country:
    Antarctica
    Maschell likes this.
  3. Kerouz

    Member Kerouz GBAtemp Regular

    Joined:
    Aug 26, 2015
    Messages:
    102
    Location:
    In my home
    Country:
    France
    Yes! Thank you so much for this.
     
    Maschell likes this.
  4. ItsKipz

    Member ItsKipz l33t hax0r

    Joined:
    Sep 9, 2016
    Messages:
    1,568
    Location:
    The C: drive
    Country:
    United States
  5. LuisGerdez

    Newcomer LuisGerdez Member

    Joined:
    May 27, 2016
    Messages:
    14
    Country:
    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

    Newcomer beeswax Member

    Joined:
    Aug 3, 2013
    Messages:
    37
    Country:
    United Kingdom
    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

    Newcomer opendata Advanced Member

    Joined:
    Oct 23, 2016
    Messages:
    72
    Country:
    United Kingdom
    It works out of the box with the standard openjdk on archlinux
     
    Maschell likes this.
  8. Felek666

    Member Felek666 redNAND hate machine // Azu-nya~

    Joined:
    Jan 3, 2017
    Messages:
    1,779
    Location:
    Petting my catgirls
    Country:
    Poland
    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

    Member Maschell GBAtemp Advanced Fan

    Joined:
    Jun 14, 2008
    Messages:
    798
    Country:
    Germany
    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

    Newcomer beeswax Member

    Joined:
    Aug 3, 2013
    Messages:
    37
    Country:
    United Kingdom
    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

    Member Felek666 redNAND hate machine // Azu-nya~

    Joined:
    Jan 3, 2017
    Messages:
    1,779
    Location:
    Petting my catgirls
    Country:
    Poland
    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

    Member Maschell GBAtemp Advanced Fan

    Joined:
    Jun 14, 2008
    Messages:
    798
    Country:
    Germany
    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

    Newcomer LuisGerdez Member

    Joined:
    May 27, 2016
    Messages:
    14
    Country:
    Venezuela
    This happens to me :(

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

    Member Master-Killua GBAtemp Regular

    Joined:
    Jan 11, 2016
    Messages:
    145
    Country:
    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

    Member Felek666 redNAND hate machine // Azu-nya~

    Joined:
    Jan 3, 2017
    Messages:
    1,779
    Location:
    Petting my catgirls
    Country:
    Poland
    Install that Visual C++ from @OP, then press connect and every controller connected to PC should appear.
     
  16. AdmiralSpeedy

    Newcomer AdmiralSpeedy Advanced Member

    Joined:
    Apr 4, 2016
    Messages:
    96
    Country:
    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

    Member QuarkTheAwesome Working for Hugs

    Joined:
    Apr 19, 2015
    Messages:
    617
    Location:
    Stuck in the PowerPC
    Country:
    Australia
    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

    Newcomer AdmiralSpeedy Advanced Member

    Joined:
    Apr 4, 2016
    Messages:
    96
    Country:
    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

    Newcomer eckk Newbie

    Joined:
    Mar 3, 2017
    Messages:
    2
    Country:
    Ireland
    What controller are you using? It's acting up for me on Arch.
     
  20. LuisGerdez

    Newcomer LuisGerdez Member

    Joined:
    May 27, 2016
    Messages:
    14
    Country:
    Venezuela
    I already have it installed
    [​IMG]

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

    [​IMG]
    [​IMG]
     

Share This Page