HID To VPAD Network Client

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

  1. justinleblanc

    justinleblanc Newbie

    Newcomer
    2
    0
    Apr 12, 2017
    Canada
    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.
     


  2. yasushi

    yasushi Newbie

    Newcomer
    8
    1
    Mar 31, 2017
    v0.3-nightly-70b5da2

    No lists of controllers were indicated any more.
    A PC and DUALSHOCK3 are connected in USB.
     
  3. Olavgosain03

    Olavgosain03 Newbie

    Newcomer
    4
    0
    Apr 10, 2017
    Norway
    feel dumb for asking but how doo i install the file
     
  4. lordelan

    lordelan GBAtemp Maniac

    Member
    1,419
    391
    Jan 4, 2015
    Gambia, The
    Which file? A specific controller config or the actual app itself?
     
  5. BeRnYGP

    BeRnYGP GBAtemp Regular

    Member
    131
    13
    Jul 1, 2015
    Mexico
    With this, I can use a DS3 over Wi-Fi? (I dont have bluetooth adapter)
     
  6. GameInCanada

    GameInCanada Advanced Member

    Newcomer
    91
    43
    Feb 18, 2017
    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, Apr 22, 2017
  7. skoruppa

    skoruppa Newbie

    Newcomer
    4
    1
    Oct 9, 2014
    Poland
    Katowice, 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 | 
     

    Attached Files:

    Last edited by skoruppa, Apr 23, 2017
    iVcU likes this.
  8. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    @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
     
    skoruppa likes this.
  9. skoruppa

    skoruppa Newbie

    Newcomer
    4
    1
    Oct 9, 2014
    Poland
    Katowice, Poland
    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, Apr 23, 2017
  10. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    Nice to hear this! I put it into the controller patcher config repo!
     
  11. QuarkTheAwesome

    QuarkTheAwesome Working for Hugs

    Member
    706
    1,687
    Apr 19, 2015
    Stuck in the PowerPC
    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.
     
  12. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    HIDTest is displaying the data that will be sent to the WiiU (aka the result of pollLatestData()).
     
    QuarkTheAwesome likes this.
  13. Giodude

    Giodude Ruler of Italy

    Member
    3,172
    859
    May 17, 2015
    United States
    New York
    im trying to use both joycons for this. I have joytokey set up, how could i use this with a keyboard?
     
  14. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    iVcU and lordelan like this.
  15. Felek666

    Felek666 Typical CBHC user

    Member
    2,627
    2,153
    Jan 3, 2017
    Poland
    reddit.com/r/satania/
    @Maschell
    Would it be possible to create Java-less launcher?
    Java installation just crashes on my laptop and my PC is in another room.
     
  16. komabear

    komabear Member

    Newcomer
    10
    2
    Mar 4, 2017
    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!
     
  17. baldman

    baldman Newbie

    Newcomer
    3
    0
    Apr 8, 2017
    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, May 2, 2017
  18. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    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, May 3, 2017
    komabear likes this.
  19. HaloEffect17

    HaloEffect17 Splatoon Fan

    Member
    989
    954
    Jul 1, 2015
    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, May 13, 2017
  20. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    859
    1,224
    Jun 14, 2008
    Gambia, The
    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, May 13, 2017
    HaloEffect17 likes this.