WiinUPro - Pro Controller to PC Gamepad

Discussion in 'Wii U - Hacking & Backup Loaders' started by KeyPuncher, May 27, 2013.

  1. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States
    Website: http://www.wiinupro.com

    2/28/2016: Toshiba Stack No Longer Required
    8/3/2015: And On Windows 10
    1/18/2015: XInput IS HERE

    The goal of this program was to get full use out of the Wii U Pro controller's analog sticks.
    Info on setting up 8-directional Dpad & Help with Xbox 360 Controller Emulation: Video

    Note: I'm not planning on updating this beta program, instead I'm working on the final release and then will release the source code for Beta 7. Also, if the Toshiba Bluetooth stack starts to fail to keep the connection to the Wii U Pro Controller, sync it to a Wii U.

    Beta 7.1 is released and available at http://wiinupro.com/downloads
    It fixes the issue with saving profiles for Classic Controllers.


    32-Bit

    64-Bit
    Current Features:


    • Connects multiple Wii U Pro Controllers
    • Connects to Wiimote to use the Classic Controller, CCP, and Nunchuck
    • Maps controller input to a virtual joystick (if available)
    • Dead zones for analog sticks
    • Analog Stick Calibrations
    • Active Angle adjustment for Analog sticks
    • Keyboard mapping
    • Mouse Button Mapping
    • Mouse Movement Mapping
    • Mouse Wheel Mapping
    • Shift Button Assignments
    • Turbo Assignments
    • Save Input Assignments
    • Save Connection settings
    Planned Features:
    • Multiple button mapping (e.g. A button presses Z key and X key at once)
    • Xbox 360 Controller Emulation (If Direct Integration is Possible)
    SETUP (Windows 7)
    Currently you need vJoy installed to make use of the virtual joystick functions, which will put Windows 7 into test mode since it has an unsigned driver. I will be looking for a replacement that makes setup easier.


    SETUP (Windows 8)
    Non needed for the latest WiinUSoft w/ Hotfix and all future releases.
    But for completeness..
    Instructions posted by pwncloud on Reddit
    http://www.reddit.com/r/wiiu/comments/1hzppk/wii_u_pro_controller_as_gamepad_on_windows_8_with/


    I've been wanting to connect the Pro controller to the PC ever since I picked mine up when they came out but was unaware that it would only work with the Toshiba bluetooth stack. But with thanks to TeHaxor69's program I was made aware how to properly connect the controller to Windows and with some research, I was able to modify the WiimoteLib written by Brain Peek to add Wii U Pro controller connectivity.
    Original Debut video
     
    Last edited by KeyPuncher, Feb 28, 2016 - Reason: Toshiba Stack Requirement Lifted


  2. JB2448

    JB2448 Newbie

    Newcomer
    3
    1
    May 27, 2013
    United States
    Is there any way you can make it so that the WiinUPro application can utilize something other than Toshiba Bluetooth Stack for the Wii U Pro Controller, or are we stuck with the damn thing?
    (Sorry if this comes off as totally incorrect; I just can't get Toshiba Bluetooth Stack to work for the life of me using a Rocketfish Micro Bluetooth USB Adapter.)
     
  3. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States

    At the moment, it looks like we will be stuck with having to use the Toshiba Stack for the Pro controller and Wiimote with MotionPlus inside.
    I assume you've already tried adding your device to "tosrfusb.inf". It is possible to connect the Pro controller to the Microsoft Stack, but getting a stream from the device seems to not be possible. With 32Feet.Net the controller disconnects and with the WiimotLib it fails to stream. It's a shame really.
     
  4. JB2448

    JB2448 Newbie

    Newcomer
    3
    1
    May 27, 2013
    United States
    I have not tried adding the adapter to tosrfusb.inf, as I have no idea how to actually do that properly (I know what and where the file is, but I just don't know how to actually add a new device into it without potentially screwing it up).
     
  5. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States
    Okay, I'll see if I can find you the exact instructions on how to do it.
    But for me, there are three changes I made in the file, these are the two steps I remember:

    1. Get you Dongle's ID
    - Right click Computer
    - Click Manage
    - Select Device Manager
    - Right click your bluetooth device under Bluetooth
    - Select Properties
    - In the Details tab, select the Hardware Ids Property
    - copy something like USB\VID_XXXX&PID_XXX (if there are two, no the one with &REV

    2. Edit tosrfusb.inf
    - under the section [Standard] add %TosrfUsb.DeviceDesc153%=TosrfUsb_Device, USB\VID_XXXX&PID_XXXX to the bottom of the group, if you are in notepad++ or something with numbered lines, it's around line 222. Make 153 into whatever the next sequential number is, and change the Xs into whatever id you got from step 1
    - under the section [standard.NTamd64] add the same thing %TosrfUsb.DeviceDesc153%=TosrfUsb_Device, USB\VID_XXXX&PID_XXXX (about line 376)
    - at the very end of the document (about 582) add TosrfUsb.DeviceDesc153 = "[your dongle name here]" so you might put TosrfUsb.DeviceDesc153 = " Rocketfish Micro Bluetooth USB Adapter"

    I also remember something about this step needing to be done while the drivers for the Toshiba stack are installing. You wait for it to create the file (I think when it asks you to insert your device), then you edit it with your info.
     
    JB2448 likes this.
  6. JB2448

    JB2448 Newbie

    Newcomer
    3
    1
    May 27, 2013
    United States
    That did it! Thank you very much for your help, and I'll be sure to give you feedback when you release a beta for this application!
     
    KeyPuncher likes this.
  7. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States
    Glad that helped.

    First Beta is up. There is a readme, but I will provide more details later in the week (and hopefully and update).
     
  8. Benze

    Benze Member

    Newcomer
    11
    2
    Feb 8, 2012
    Gambia, The
    Thanks, works great! I hope you manage to get rid of the vJoy/Windows Testing mode somehow. I can finally play with the analog sticks on my computer :)
     
    KeyPuncher likes this.
  9. gohan123

    gohan123 Advanced Member

    Newcomer
    89
    20
    Dec 26, 2012
    Gambia, The
    does it work with x360ce? I have no gamepad to test it myself.
     
  10. Heimdallr

    Heimdallr Advanced Member

    Newcomer
    80
    18
    Mar 14, 2010
    United States
    It's not working for me. :(

    I've got vJoy installed and my controller connected via the Toshiba bluetooth stack, but when I try to run WiinUPro I get an error saying "Error reading data from Wiimote...is it connected?"

    My bluetooth version is v8.00.03(T). I don't see anything faulty when looking through the device manager.

    Edit: Nevermind, I fixed it. I had two other wiimote connections in my bluetooth settings that I use for Dolphin, and they were interfering with WiinUPro. It worked after I deleted those. Though this means I'll have to constantly delete and create connections whenever I want to use Dolphin or the Wii U Pro Controller...
     
  11. Speedster

    Speedster Hack ALL THE THINGS

    Member
    176
    45
    Apr 13, 2013
    United States
    I've got it mostly working, but it senses my left analog stick as going down-right all the time.
     
  12. Heimdallr

    Heimdallr Advanced Member

    Newcomer
    80
    18
    Mar 14, 2010
    United States
    @Speedster, did you try calibrating it in the Settings tab of vJoy's device in Joy.cpl? It showed that my left analog was frozen top-left at first, but it worked after calibration.

    Anyway, I'm not sure if it's a bug in WiinUPro or an issue between the program and PCSX2, but I noticed that while playing a game, the DPad randomly stops receiving input. It makes platforming a bit difficult xD

    I haven't noticed any other problems so far. I'm so glad the Wii U Pro Controller's analog sticks can now be recognized on PC.
     
    KeyPuncher likes this.
  13. Speedster

    Speedster Hack ALL THE THINGS

    Member
    176
    45
    Apr 13, 2013
    United States
    Thanks, got it working now!

    Just some suggestions for the next version, KP:
    -Like Heimdallr mentioned, the D-Pad drops out sometimes (which gets really annoying sometimes).
    -Make it work as a 360 controller. Sonic Generations suffers from the infinite quick-step glitch without it.
    -Drop vJoy (like you've mentioned already).

    But even with the few issues, it's still really good for a first beta. Might just replace my 360 controller.

    EDIT: Video showing it in action:
     
    KeyPuncher likes this.
  14. Heimdallr

    Heimdallr Advanced Member

    Newcomer
    80
    18
    Mar 14, 2010
    United States

    Np, glad you got it worked out.

    If KP does drop vJoy in this project, I hope he doesn't go the PPJoy route. PPJoy no longer works for me after installing vJoy for some reason... :(
     
  15. Heimdallr

    Heimdallr Advanced Member

    Newcomer
    80
    18
    Mar 14, 2010
    United States

    It works for me: http://i.imgur.com/gUsD1TS.png

    About the Dpad issue, it seems to mess up if I hold multiple directions at the same time, like Left/Right + Up/Down. Basically it'll only detect one of the 4 primary directions at a time I think.
     
  16. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States
    When using the 360 controller emulator? No, currently only works with one Wii U Pro Controller. Although their library will help with new features for the program.
    Edit: I may have misunderstood your question. But Heimdallr has provided an answer


    This should be fixed once I add support for multiple devices. I want this to be as stress free to use as possible.



    -When the D-pad input drops is it while you are still holding the direction on the D-pad or when you go to press it it doesn't do anything?
    -I had 360 controller emulation written down as one of the features I wanted to have but was unsure of it's possibility so I left it out so I wouldn't get anyone's hopes up. But with taking a quick look at x360ce again after gohan123 mentioned it, I think it will provide me with what I need to add it in. So I'll add that onto the planned feature list.
    Thanks for the feedback, I whipped the first beta up over the weekend so it's still quite rough and I can't wait to polish it!



    I read something about vJoy interfering with PPJoy on vJoy's forums. If I do end up using PPJoy then I will for sure post a video on how to fix this (assuming I find a fix).
    For the Dpad, I may just rethink about setting it a POV and go with just button emulation instead, that should provide better results.



    Also, Beta 1 is untested on a 32-bit operating system, so I am unsure if joystick inputs will work with it (seems unlikely since vJoy has separate libraries for x86 and x64), so if anyone tests it on a 32-bit OS let me know what happens. Thanks.
     
  17. Speedster

    Speedster Hack ALL THE THINGS

    Member
    176
    45
    Apr 13, 2013
    United States
    Seems to happen at random, though it may be when I press 2 directions (haven't tested that).
     
  18. GolfDude

    GolfDude GBAtemp Advanced Fan

    Member
    804
    52
    Feb 2, 2009
    United States
    awesome work so far.. i actually used it on my project64 emulator, analogs, the sticks, everything controls great, only issue i ran into were the R buttons getting mapped the same as UP for some reason, and L buttons getting mapped as the controller "A" on a controller
     
    KeyPuncher likes this.
  19. KeyPuncher
    OP

    KeyPuncher GBAtemp Regular

    Member
    167
    124
    May 27, 2013
    United States
    Just added the 2nd beta.
    New assignments have been added and the D-Pad is now mapped to joy buttons to avoid the issue of it cutting out using POV, this was because the POV could only be set to one direction at a time.

    Still uses vJoy for the time being and still can't save the custom mappings just yet, and you still cannot have other wiimotes connected or it produces a "Device not Ready" error.
    Saving you mappings and the error message should be in the next beta.

    Enjoy
     
  20. Speedster

    Speedster Hack ALL THE THINGS

    Member
    176
    45
    Apr 13, 2013
    United States
    Beta 2 link is giving me a 403 error for some reason.

    EDIT: D-Pad works like a charm.