Homebrew HID To VPAD Network Client

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,028
Trophies
1
XP
3,548
Country
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

49a99fb4c2.png

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,

LuisGerdez

Well-Known Member
Newcomer
Joined
May 27, 2016
Messages
65
Trophies
0
Age
21
XP
145
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
 

beeswax

Active Member
Newcomer
Joined
Aug 3, 2013
Messages
41
Trophies
0
XP
641
Country
United States
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.
 
D

Deleted User

Guest
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?
 

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,028
Trophies
1
XP
3,548
Country
Gambia, The
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.
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!

Works alright but Xbox One controller dead zones are weird?
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,

beeswax

Active Member
Newcomer
Joined
Aug 3, 2013
Messages
41
Trophies
0
XP
641
Country
United States
btw: When I tested Zelda, it didn't work (too much lag) but cool that it's actually working!
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,
D

Deleted User

Guest
btw: When I tested Zelda, it didn't work (too much lag) but cool that it's actually working!
Zelda works fine for me. Although i experience random input lags but that's all.

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

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.
I need to get used to it.
 

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,028
Trophies
1
XP
3,548
Country
Gambia, The
That's strange then, I'm pretty sensitive to input lag and if there's any there, I can't detect it.
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
 

Master-Killua

Well-Known Member
Member
Joined
Jan 11, 2016
Messages
194
Trophies
0
XP
251
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,

AdmiralSpeedy

Well-Known Member
Member
Joined
Apr 4, 2016
Messages
139
Trophies
0
Age
26
XP
148
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.
 

QuarkTheAwesome

Working for Hugs
Member
Joined
Apr 19, 2015
Messages
966
Trophies
1
Location
Stuck in the PowerPC
XP
3,272
Country
Australia
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.
What's the VID/PID in your xinput config? You can't get those identifiers over XInput, so they get hardcoded to 7331:1337.
 

AdmiralSpeedy

Well-Known Member
Member
Joined
Apr 4, 2016
Messages
139
Trophies
0
Age
26
XP
148
Country
Canada
What's the VID/PID in your xinput config? You can't get those identifiers over XInput, so they get hardcoded to 7331:1337.

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
 

LuisGerdez

Well-Known Member
Newcomer
Joined
May 27, 2016
Messages
65
Trophies
0
Age
21
XP
145
Country
Venezuela
Install that Visual C++ from @OP, then press connect and every controller connected to PC should appear.
I already have it installed
090d95437a84d1e7785bf548e7c25f44.gif


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

Install that Visual C++ from @OP, then press connect and every controller connected to PC should appear.
a43ca6e2585b3f641f6d6f81bf31ba49.gif

91fa9f38f6ffbb256f28a0858a825d6c.gif
 
  • Like
Reactions: Zombro
General chit-chat
Help Users
  • No one is chatting at the moment.
    mthrnite @ mthrnite: they just don't make em like they used to