Hacking WiinUPro - Pro Controller to PC Gamepad

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
United States
This project is now on GitHub.
Releases: https://github.com/KeyPuncher/WiinUPro/releases


Old Post's Content:

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.

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



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, , Reason: Toshiba Stack Requirement Lifted

JB2448

New Member
Newbie
Joined
May 27, 2013
Messages
3
Trophies
0
Website
jb2448.info
XP
43
Country
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.)
 

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
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.)


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.
 

JB2448

New Member
Newbie
Joined
May 27, 2013
Messages
3
Trophies
0
Website
jb2448.info
XP
43
Country
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).
 

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
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.
 
  • Like
Reactions: JB2448

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
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).
 

Benze

Member
Newcomer
Joined
Feb 8, 2012
Messages
11
Trophies
0
XP
31
Country
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 :)
 
  • Like
Reactions: KeyPuncher

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
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...
 

Motobug

Well-Known Member
Member
Joined
Apr 13, 2013
Messages
177
Trophies
1
Age
24
XP
248
Country
United States
I've got it mostly working, but it senses my left analog stick as going down-right all the time.
 

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
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.
 
  • Like
Reactions: KeyPuncher

Motobug

Well-Known Member
Member
Joined
Apr 13, 2013
Messages
177
Trophies
1
Age
24
XP
248
Country
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.

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:
 
  • Like
Reactions: KeyPuncher

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
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.


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... :(
 

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
United States
does it work with x360ce? I have no gamepad to test it myself.
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


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...

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



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.

-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!



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... :(

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.

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.
 

Motobug

Well-Known Member
Member
Joined
Apr 13, 2013
Messages
177
Trophies
1
Age
24
XP
248
Country
United States
-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?

Seems to happen at random, though it may be when I press 2 directions (haven't tested that).
 

GolfDude

Well-Known Member
Member
Joined
Feb 2, 2009
Messages
886
Trophies
1
XP
1,837
Country
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
 
  • Like
Reactions: KeyPuncher

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
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
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Psionic Roshambo, Thats pretty cool.