Homebrew HID To VPAD Network Client

justinleblanc

New Member
Newbie
Joined
Apr 12, 2017
Messages
2
Trophies
0
Age
34
XP
51
Country
Canada
Which version of HIDtoVPAD/Network Client are you using? Looks like your network client version is outdated but yourusing the newest hid to vpad version

You're absolutely correct. Newest version fixes that issue. I'm still getting intermittent temporary disconnects as well as laggy and unresponsive performance in BotW. However, I'm using my XB1 controller via Bluetooth and both my laptop and my Wii U are connected over WiFi, not Ethernet, so I'm assuming that has something to do with it.
 

GameInCanada

Well-Known Member
Member
Joined
Feb 18, 2017
Messages
160
Trophies
0
Website
www.nintend.news
XP
154
Country
Canada
Anyone know why when i click "connect" the client always freezes. ive tried nightly builds and stable and im on latest version of hidtovpad

Edit Nevermind - i switched to latest nightly client, and latest nightly hidtovpad v.09h working now!


double edit does anyone have a clue how i can get PPjoy + glovepie working on this? i recon i just need hid to vpad network client to see my PPjoy controller as a controller?

anyone know how id create a config file for such a thing?

like VPAD_A = joy 1 button 2 or do i need the byte values
 
Last edited by GameInCanada,

skoruppa

New Member
Newbie
Joined
Oct 9, 2014
Messages
4
Trophies
0
Age
33
Location
Katowice, Poland
Website
skoruppa.jogger.pl
XP
104
Country
Poland
I try to create a bit uncommon configuration but I have problem with understanding https://github.com/Maschell/controller_patcher/wiki/5.d-Controller-|-Adding-new-devices

First of, I'm using Arch Linux and Steam Controller. Using sc-controller ( https://github.com/kozec/sc-controller ), steam controller is visible for system as Xbox Controller on /dev/input/js0. HID to VPAD app sees my controller, I can connect without problem to my Wii U. Unfortunately default config ( https://github.com/Maschell/controller_patcher/wiki/5.e-Controller-|-Configurate-a-XInput-controller ) does not as expected (is almost not working at all). So I figured out that I have to create new config for my pad but I can't get grasp of how to do it.

I tried to test my device with HIDTest-0.1-jar-with-dependencies (because I can't use HID Test on Wii U for network connections) but data displayed with him are not readable for me. For example this is default output
Code:
VID: 52F9 PID 14BE data:  | 000000000000080800080800080800000 |
Button X pressed
Code:
VID: 52F9 PID 14BE data:  | 201000000000080800080800080800000 |
Button Y pressed
Code:
VID: 52F9 PID 14BE data:  | 100000000000080800080800080800000 |
Button B pressed
Code:
VID: 52F9 PID 14BE data:  | 402010000000080800080800080800000 |
And for button A nothing is changed... why? And how I can map other buttons when more than one bit change during button pressing. Is there any other way to read input data in format compatible with HID to VPAD on linux?

Events read from evtest are in way more readable format. Here is example with X, A, B, Y buttons
Code:
Event: time 1492967293.479597, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1492967293.479597, -------------- SYN_REPORT ------------
Event: time 1492967293.571515, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1492967293.571515, -------------- SYN_REPORT ------------
Event: time 1492967294.903641, type 1 (EV_KEY), code 305 (BTN_EAST), value 1
Event: time 1492967294.903641, -------------- SYN_REPORT ------------
Event: time 1492967295.047637, type 1 (EV_KEY), code 305 (BTN_EAST), value 0
Event: time 1492967295.047637, -------------- SYN_REPORT ------------
Event: time 1492967296.279701, type 1 (EV_KEY), code 308 (BTN_WEST), value 1
Event: time 1492967296.279701, -------------- SYN_REPORT ------------
Event: time 1492967296.379683, type 1 (EV_KEY), code 308 (BTN_WEST), value 0
Event: time 1492967296.379683, -------------- SYN_REPORT ------------
Event: time 1492967296.715307, type 1 (EV_KEY), code 307 (BTN_NORTH), value 1
Event: time 1492967296.715307, -------------- SYN_REPORT ------------
Event: time 1492967296.827519, type 1 (EV_KEY), code 307 (BTN_NORTH), value 0
Event: time 1492967296.827519, -------------- SYN_REPORT ------------
Can I user BTN_SOUTH, BTN_EAST etc within my config?

I will really appreciate any kind of help :)

EDIT: Noticed that data presented by HIDTest is just trimmed at beginning (i can see full length when I'm moving analog stciks). That is why I see no difference when pressing A button. Can I request fix for that? Maybe It is fixed in newest builds but latest HIDTest-0.1-nightly-jar-with-dependencies.jar does not show any data
Example:
Code:
 VID: 52F9 PID 14BE data: 00000000000000008080007EE40080800000 |
 

Attachments

  • hid_to_vpad.png
    hid_to_vpad.png
    4 KB · Views: 345
Last edited by skoruppa,
  • Like
Reactions: iVcU

skoruppa

New Member
Newbie
Joined
Oct 9, 2014
Messages
4
Trophies
0
Age
33
Location
Katowice, Poland
Website
skoruppa.jogger.pl
XP
104
Country
Poland
@QuarkTheAwesome did the Linux /dev/input/js0, probably he knows whats going on.
The XInput default mapping is only valid under Windows, but he created a config file for the Linux Xbox Controller, maybe it's working?
https://puu.sh/tHYS4/d73791d987.ini
I forgot to put this into the repo
THANK YOU! This config was almost perfect, and most of all, thanks to it I understood how configuration works :) Only thing I had to change was VPAD_BUTTON_STICK_L and VPAD_BUTTON_STICK_R

Code:
[vid=0x045E,pid=0x028E]
//Linux: Steam Controller through sc-controller as xbox controller ( ͡° ͜ʖ ͡°)
VPAD_BUTTON_A = 0x00,0x02
VPAD_BUTTON_B = 0x00,0x01
VPAD_BUTTON_X = 0x00,0x08
VPAD_BUTTON_Y = 0x00,0x04

VPAD_BUTTON_PLUS = 0x00,0x80
VPAD_BUTTON_MINUS = 0x00,0x40
//VPAD_BUTTON_HOME = 0x01,0x01

VPAD_BUTTON_L = 0x00,0x10
VPAD_BUTTON_R = 0x00,0x20

VPAD_BUTTON_STICK_L = 0x02,0x80
VPAD_BUTTON_STICK_R = 0x03,0x80

//The "value" is a deadzone in this case
VPAD_BUTTON_ZR = 0xD,0xE0
VPAD_BUTTON_ZL = 0xA,0xE0


DPAD_MODE = DPAD_Absolute_2Values
VPAD_BUTTON_DPAD_ABS_UP = 0xF,0x00
VPAD_BUTTON_DPAD_ABS_DOWN = 0xF,0xFF
VPAD_BUTTON_DPAD_ABS_LEFT = 0xE,0x00
VPAD_BUTTON_DPAD_ABS_RIGHT = 0xE,0xFF

VPAD_L_STICK_X = 0x08,0x80
VPAD_L_STICK_X_MINMAX = 0x00,0xFF
VPAD_L_STICK_X_DEADZONE = 0x20

VPAD_L_STICK_Y = 0x09,0x80
VPAD_L_STICK_Y_MINMAX = 0x00,0xFF
VPAD_L_STICK_Y_DEADZONE = 0x20
VPAD_L_STICK_Y_INVERT = True

VPAD_R_STICK_X = 0x0B,0x80
VPAD_R_STICK_X_MINMAX = 0x00,0xFF
VPAD_R_STICK_X_DEADZONE = 0x20

VPAD_R_STICK_Y = 0x0C,0x80
VPAD_R_STICK_Y_MINMAX = 0x00,0xFF
VPAD_R_STICK_Y_DEADZONE = 0x20
VPAD_R_STICK_Y_INVERT = True
 
Last edited by skoruppa,
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,900
Country
Australia
I try to create a bit uncommon configuration but I have problem with understanding https://github.com/Maschell/controller_patcher/wiki/5.d-Controller-|-Adding-new-devices

First of, I'm using Arch Linux and Steam Controller. Using sc-controller ( https://github.com/kozec/sc-controller ), steam controller is visible for system as Xbox Controller on /dev/input/js0. HID to VPAD app sees my controller, I can connect without problem to my Wii U. Unfortunately default config ( https://github.com/Maschell/controller_patcher/wiki/5.e-Controller-|-Configurate-a-XInput-controller ) does not as expected (is almost not working at all). So I figured out that I have to create new config for my pad but I can't get grasp of how to do it.

I tried to test my device with HIDTest-0.1-jar-with-dependencies (because I can't use HID Test on Wii U for network connections) but data displayed with him are not readable for me. For example this is default output
Code:
VID: 52F9 PID 14BE data:  | 000000000000080800080800080800000 |
Button X pressed
Code:
VID: 52F9 PID 14BE data:  | 201000000000080800080800080800000 |
Button Y pressed
Code:
VID: 52F9 PID 14BE data:  | 100000000000080800080800080800000 |
Button B pressed
Code:
VID: 52F9 PID 14BE data:  | 402010000000080800080800080800000 |
And for button A nothing is changed... why? And how I can map other buttons when more than one bit change during button pressing. Is there any other way to read input data in format compatible with HID to VPAD on linux?

Events read from evtest are in way more readable format. Here is example with X, A, B, Y buttons
Code:
Event: time 1492967293.479597, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1492967293.479597, -------------- SYN_REPORT ------------
Event: time 1492967293.571515, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1492967293.571515, -------------- SYN_REPORT ------------
Event: time 1492967294.903641, type 1 (EV_KEY), code 305 (BTN_EAST), value 1
Event: time 1492967294.903641, -------------- SYN_REPORT ------------
Event: time 1492967295.047637, type 1 (EV_KEY), code 305 (BTN_EAST), value 0
Event: time 1492967295.047637, -------------- SYN_REPORT ------------
Event: time 1492967296.279701, type 1 (EV_KEY), code 308 (BTN_WEST), value 1
Event: time 1492967296.279701, -------------- SYN_REPORT ------------
Event: time 1492967296.379683, type 1 (EV_KEY), code 308 (BTN_WEST), value 0
Event: time 1492967296.379683, -------------- SYN_REPORT ------------
Event: time 1492967296.715307, type 1 (EV_KEY), code 307 (BTN_NORTH), value 1
Event: time 1492967296.715307, -------------- SYN_REPORT ------------
Event: time 1492967296.827519, type 1 (EV_KEY), code 307 (BTN_NORTH), value 0
Event: time 1492967296.827519, -------------- SYN_REPORT ------------
Can I user BTN_SOUTH, BTN_EAST etc within my config?

I will really appreciate any kind of help :)

EDIT: Noticed that data presented by HIDTest is just trimmed at beginning (i can see full length when I'm moving analog stciks). That is why I see no difference when pressing A button. Can I request fix for that? Maybe It is fixed in newest builds but latest HIDTest-0.1-nightly-jar-with-dependencies.jar does not show any data
Example:
Code:
 VID: 52F9 PID 14BE data: 00000000000000008080007EE40080800000 |

The Linux controller driver formats the data internally since the API doesn't actually provide one big data packet. This means that you'll get basically the same config across all Linux controllers, but it might get weird when trying to cross-reference against HIDTest (@Maschell?). Don't get me started on the analog sticks. You don't want to know.
 

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,634
Country
Germany
The Linux controller driver formats the data internally since the API doesn't actually provide one big data packet. This means that you'll get basically the same config across all Linux controllers, but it might get weird when trying to cross-reference against HIDTest (@Maschell?). Don't get me started on the analog sticks. You don't want to know.
HIDTest is displaying the data that will be sent to the WiiU (aka the result of pollLatestData()).
 
  • Like
Reactions: QuarkTheAwesome
D

Deleted User

Guest
@Maschell
Would it be possible to create Java-less launcher?
Java installation just crashes on my laptop and my PC is in another room.
 

komabear

Well-Known Member
Member
Joined
Mar 4, 2017
Messages
113
Trophies
0
XP
1,464
Country
Bulgaria
First let me just say that this is great! I've been using it with my Xbox One controller and it works perfectly, but today I noticed that only 1 controller works, even if I have 2 connected to the PC. The client shows them both, but when I try pressing a button to assign it on the Wii U HIDtoVPAD app, nothing happens... am I missing somethings? Thanks!
 

baldman

Member
Newcomer
Joined
Apr 8, 2017
Messages
10
Trophies
0
Age
35
XP
177
Country
I´m having the same problem...I have a Windows 10 x64 Updated PC with lastest Java updated and vcredist installed...I uninstalled both java and vcredist x86 and x64, reboot PC and installed everything another time.
My problem is not solved. I tried with every nightly build and with the stable build: It doesn´t detect my controllers: I tried with Xbox 360 USB controller and with Xbox One S controller by bluetooth and also with the USB cable.
I prefer to use the xbox one S controller by bluetooth, but i've tested if the problem was the bluetooth connection (my PC recongnised both controllers and i can play PC Games with it)

It says that I need to install vcredist (visual c++) for make xinput work, but i´ve done it several times...
 
Last edited by baldman,

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,634
Country
Germany
First let me just say that this is great! I've been using it with my Xbox One controller and it works perfectly, but today I noticed that only 1 controller works, even if I have 2 connected to the PC. The client shows them both, but when I try pressing a button to assign it on the Wii U HIDtoVPAD app, nothing happens... am I missing somethings? Thanks!
Thanks for reporting, I made a little mistake in HIDtoVPAD. It's fixed in the newest nightly:
https://github.com/Maschell/hid_to_vpad/releases/tag/HIDtoVPAD-v0.9i-nightly-641af79

You can also download it directly via the AppStore
http://wiiubru.com/appstore/#/app/hidtovpad_nightly

@baldman I don't have the Xbox One S Controller, so I can't test it. Did you try to install the official drivers for the Xbox Controller?
 
Last edited by Maschell,
  • Like
Reactions: komabear

HaloEffect17

Hiya!
Member
Joined
Jul 1, 2015
Messages
1,319
Trophies
1
XP
2,701
Country
Canada
Is there a reason why my Xbox One controller is not even seen by the network client? I am using an original Xbox One controller, not the S version that connects via Bluetooth, so I connected it to my PC via a microUSB cable. I've added the configs already to my SD card in the right location, but the client still doesn't pick it up and allow me to check a box for the controller. Both the Wii U and my PC are on the same WiFi network, and the client successfully connects to the Wii U when I press 'connect'. I've also made sure in options that it scans for Xinput devices and pressed 'scan for controllers' numerous times.

Does anyone know what is going on here? Thanks.

Edit: I have installed the latest Xbox One controller drivers when plugged in via MicroUSB via Device Manager. Windows picks it up as a generic controller in the bluetooth menu, but an Xbox controller in Device Manager under Xbox Peripherals.
 
Last edited by HaloEffect17,

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,634
Country
Germany
Is there a reason why my Xbox One controller is not even seen by the network client?
Could you try version 0.2 or 0.3 of the network client? Some people report that this version work (even though 0.3 and 0.4 didn't change anything about the xinput code)
Did you try restarting your computer?
 
Last edited by Maschell,
  • Like
Reactions: HaloEffect17

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Sicklyboy @ Sicklyboy: oh shit where??? :ph34r: :ph34r: :ph34r: