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
Hi Everyone, today is my 23rd birthday and exactly two months from when I first shared the first Beta of WiinUPro.

So Now, what should be the final beta before release, Beta 7 is now available!
This adds support for the Classic Controller, Classic Controller Pro, and the Wiimote + Nunchuck.
There are also many other new features, so check the Change Log in the Readme file for a complete list.

The release of WiinUPro will have a complete overhaul of the user interface to make it more user friendly, more visually appealing, and all around better.
Once the release is released, the source code for Beta 7 will be available. Please report any bugs you find in this beta and it's the last call for new features until the release is released!

Enjoy!
 

TheMantyke

Member
Newcomer
Joined
Jul 6, 2009
Messages
5
Trophies
0
XP
94
Country
United States
Edit: I got it working!! :D

In case someone else is ever in the same boat as me:

Open Toshiba bluetooth settings. Pair your controller by pressing the Sync button.

Let it connect, don't press the sync button again.

Now the controller will disconnect really fast (the green connection icon will disappear).

Right click the controller in Toshiba, click connect while mashing front buttons on your controller. The LEDs should be blinking blue, and the connection icon should stay. :D

Edit: I should note that the LEDs will stop blinking after its been paired, until you've set up WiinUPro, if I recall correctly.

It seems you have a bit more company with this issue. This method works for me up until the very last bit where the connection should stay. I can get the blue lights to flash while mashing the face buttons, but I soon get an error message stating:

"Waiting for the connection from the remote HID device. If the device has been reset, check that it is working, then try to connect again."

Clicking past this error will show the controller disconnected from the toshiba program, although if I keep mashing the buttons, the controller will still flash blue. Note: I'm not pressing the synch button during any of this. Anything I'm missing here? Any ideas on how to fix this?
 

sivart0

New Member
Newbie
Joined
Jul 16, 2013
Messages
4
Trophies
0
Age
35
XP
106
Country
United States
Finally, I can use my Classic Controllers without GlovePIE! :D
Ran into a couple bugs though. When saving a profile with POV Hats set, sometimes you get an error. If it does save without breaking, it doesn't save the POV, instead mapping those buttons to the default keys on Classic Controller Pro and Nunchuck, or POV 0 (U/D/L/R) on a normal Classic Controller. Also, remapping the Dpad button on CCP to anything is reset to Up,Down,Left, and Right (doesn't do it on regular Classic Controller).
 
  • Like
Reactions: KeyPuncher

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
United States
Edit: Happy birthday KeyPuncher :D

I've run into a problem. Whenever I try to run WiinUPro Beta 6 or 7 with my wiimote connected, it immediately stops working.

Code:
Description:
  Stopped working
 
Problem signature:
  Problem Event Name:    CLR20r3
  Problem Signature 01:    wiinupro.exe
  Problem Signature 02:    1.0.0.0
  Problem Signature 03:    51f320e1
  Problem Signature 04:    WiimoteLib
  Problem Signature 05:    1.8.0.0
  Problem Signature 06:    51ef19de
  Problem Signature 07:    28
  Problem Signature 08:    19c
  Problem Signature 09:    WiimoteLib.WiimoteException
  OS Version:    6.1.7601.2.1.0.256.1
  Locale ID:    1033

I've tried using both my Skyward Sword wiimote with MotionPlus and a first-generation wiimote. My Toshiba Bluetooth stack version is 8.00.03(T).
 
  • Like
Reactions: KeyPuncher

tehspeleengpolise

Well-Known Member
Newcomer
Joined
Jul 21, 2013
Messages
52
Trophies
0
Age
25
XP
90
Country
Hi Everyone, today is my 23rd birthday and exactly two months from when I first shared the first Beta of WiinUPro.
So Now, what should be the final beta before release, Beta 7 is now available!
Awesome! Happy birthday!

This adds support for the Classic Controller, Classic Controller Pro, and the Wiimote + Nunchuck.
There are also many other new features, so check the Change Log in the Readme file for a complete list.
Nice!

A couple of questions: How will the LEDs work with multiple controllers? They will just not show player number at all, right? If so, why does the first window (where you connect the controllers and select the vjoysticks to use) mention "WiiU Pro Contoller (LED1)"?

EDIT: the LED is only used to determine the number (1-4) of the individual wiimotes and wupcs during connection, to be able to select the correct joystick for each, right? If so, individual LED numbers for wupcs and wiimotes (i.e. having both WM1 and WUPC1) would probably be better, since you're unlikely to mix the wupcs and wms up. =P

EDIT 2: Wait, does it use binary? Seems so, since after connecting my WUPC it showed up as LED3 and had it's first two leds on. It's kinda weird though since it's left-side right (1100 should mean 12, not 3 =P).
I think that using LEDs 1-4, and having individual counters for wiimotes and wupcs, would be better, if possible (i.e. without using binary). Less confusing. Although it will only work with up to 4 WUPCs and wiimotes (8 controllers total)... Not sure if anyone would need more, but does your program support more? If so, it would be stupid to limit functionality just because of a LED. =P

EDIT 3: It seems that the controller number is saved; now whenever I connect one of my wiimotes, it shows up as 2 regardless of what else is connected, and the WUPC always shows up as 3. If this normal, and why does it happen?

And what does "rename controller" do?

Also, a couple of suggestions:
Now that the Calibrate option is in the menu, it's more annoying, since you have to calibrate it every time you start the program. I don't think it was out of place as a button, and it was definitely more practical.

Also, I think that Ctrl+S and Ctrl+O to open and save profiles would be pretty useful too. And maybe Ctrl+ 1, 2, 3 or 4 (or something similar) to change shift assignments.

And maybe a "Controller tools" (or "settings") menu, with Rename Controller, as well as shut Down Controller (if it's not too hard to implement) and possibly Connection Test, might be nice. If a connection test through data transfer isn't possible, then possibly activating the rumble to see if the controller rumbles in response would be a good alternative.

EDIT: When configuring the controls, the options already selected on the popup are those that you used when configuring your last button. It would be more helpful IMO if they were those that you used when you last configured that button, although it might also be harder to implement...

Oh and bug report: starting the program again while it's already running makes the open old one crash, and the new one can't select the vjoysticks that were used by the old one (I have to close it and open it again to use it). =P

Bug report 2: I have tried using my WM+ with the nunchuck, and it totally crashes. Without the nunchuck works fine though. (Trying to start it with the nunchuck connected crashes; connecting the nunchuck after starting crashes; connecting the nunchuck while in the first window where you select which controller to connect doesn't crash immediately, but crashes when you click "Accept" even if you didn't select the wiimote with the nunchuck.)

Bug report 3: It seems that after some time being inactive, the wiimotes stop sending any input. Not sure how long you have to wait, and whether it has something to do with being left idle at all, or what's the problem in general - seems pretty weird - but that's the truth. I haven't tested it a lot though. (The LEDs on my wiimotes are still active.)

Bug report 4: Even when no "No joy" is selected for a controller, I can select all the vjoy-related options (like button, POV hat, joystick axis, etc). When selecting it, the drop-down list - e.g. to select which POV direction to use - doesn't show any items, but if I click Accept, a default value is assigned automatically (e.g. POV 1 Up). I'm not sure what are the effects, but basically you are assigning to a vjoy that doesn't exist, and that can't be good.

But report 5: The rumble in the Wiimote is pretty screwed. It doesn't stop when you release the button, and either never stops till the mote is switched off, or stops after a few seconds, presses of the button, or both.

Bug report 6 (kinda): If I take the wupc (not tested the wiimotes yet) out of range of my PC while rumbling, it gets screwed too. Although I' not sure how it could be fixed, since it's out of range anyway. Just thought I'd mention it =P.

EDIT: Bug report 7: It's not really much of a big deal, but if I start wiinupro with no controllers connected and then realize this and close it, after about 5 seconds the "No compatible devices connected" popup pops up. Which may be confusing since you've just closed the program.

Also, I can see "IR X:" (and Y) and "Acc:" below the checkboxes for digital input (for wiimotes), but there are no values after the colon, and no way to assing anything to them (even when using a vjoystick). What are they for, and how to they work? Would it be possible to, say, use the IR pointer as a mouse? And does this mean that the motion sensor will be also used as an input? Will the nunchuck's sensor also be used?




Wow, this is one hefty list of bug reports, questions and suggestions. I hope you will read at least part of it. =P

Overall though, the beta 7 looks really cool, and the wiimote features should be quite useful as well.


EDIT: It seems that the individual controllers are named, and can be recognized later when reconnecting. Would it be possible to save calibration settings for individual controllers? Or is this a stupid question?...
 
  • Like
Reactions: KeyPuncher

tehspeleengpolise

Well-Known Member
Newcomer
Joined
Jul 21, 2013
Messages
52
Trophies
0
Age
25
XP
90
Country
I've run into a problem. Whenever I try to run WiinUPro Beta 6 or 7 with my wiimote connected, it immediately stops working.


I've tried using both my Skyward Sword wiimote with MotionPlus and a first-generation wiimote. My Toshiba Bluetooth stack version is 8.00.03(T).

Do you have a nunchuck connected? Right now it crashes if you use a nunchuck. At least that's what I found.
 
  • Like
Reactions: Heimdallr

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
United States
Bug report 3: It seems that after some time being inactive, the wiimotes stop sending any input. Not sure how long you have to wait, and whether it has something to do with being left idle at all, or what's the problem in general - seems pretty weird - but that's the truth. I haven't tested it a lot though. (The LEDs on my wiimotes are still active.)


I've had this happen with the Wii U Pro Controller as well. It's been like that ever since the first beta, I believe.

Edit: Dang it, I meant to add this to my above post, not make a new one. Sorry :x
 

tehspeleengpolise

Well-Known Member
Newcomer
Joined
Jul 21, 2013
Messages
52
Trophies
0
Age
25
XP
90
Country
I've had this happen with the Wii U Pro Controller as well. It's been like that ever since the first beta, I believe.
Really? I don't think this has happened to me... At least not after waiting only 30 secs. The wiimotes stop responding after about 30-60 secs.

Wait, let me test... *Connects controller without using vjoy and waits*

*waits some more...*

*Tests*

Nope, works perfectly, although I've waited, like, 5 minutes. I think it was fixed for the WUPC but not the WM+. Or maybe it just depends on the individual controllers...
 

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
United States
Thanks everyone for testing out the beta and finding issues.
If anyone has any general questions about the program I suggest you watch the WiinUPro Beta 7 Features video, it explains a lot.

When saving a profile with POV Hats set, sometimes you get an error. If it does save without breaking, it doesn't save the POV, instead mapping those buttons to the default keys on Classic Controller Pro and Nunchuck, or POV 0 (U/D/L/R) on a normal Classic Controller. Also, remapping the Dpad button on CCP to anything is reset to Up,Down,Left, and Right (doesn't do it on regular Classic Controller).
Okay, I think I know where this bug is generated at. Does it occur with the Pro Controller?

I've run into a problem. Whenever I try to run WiinUPro Beta 6 or 7 with my wiimote connected, it immediately stops working.
I'll see if I can find what's causing this. Looks like something with the wiimote library, I'll test it out with different wiimotes to see if I can duplicate the results.

Bug Report
Thanks for the report.
The LEDs are in reverse binary format since that's what was already created in the wiimote library, I decided not to use a more complex/lengthy controller identification method on the LEDs (yes numbering the LEDs 1-4 to match on the controller's display takes more code).
And it should support more than 4 controllers, I haven't tested it yet which is also one of the reasons why I kept with the already created reverse binary format.

The reason why the controllers are still numbered they way they were before even when another controller is not connected is because if it still shows up in your Toshiba Bluetooth Settings the wiimote Library still sees it and it can't distinguish the connected controllers from the not connected. I can of course extend the code to label them according to what is connected.

Rename Controller changes the reference name of the controller from "Controller 1" to whatever you want, as shown in the video.

You don't have to calibrate the controller every time you start the program, only once. Calibrations are saved in the INI file, as mentioned in the video.

The keyboard shortcuts (along with minimizing to tray) would be something to have in the release.

The way the button assignments are made are going to be completely changed in the release. I agree it would make more sense if it displayed what the button is currently assigned to. Also having easy assignments like quickly assigning the D-Pad to POV directions or WASD to the analog is another planned release implementation.

Just try to ignore the IR and Acc labels; they were put there while testing but have not function.
 

tehspeleengpolise

Well-Known Member
Newcomer
Joined
Jul 21, 2013
Messages
52
Trophies
0
Age
25
XP
90
Country
The LEDs are in reverse binary format since that's what was already created in the wiimote library, I decided not to use a more complex/lengthy controller identification method on the LEDs (yes numbering the LEDs 1-4 to match on the controller's display takes more code).
And it should support more than 4 controllers, I haven't tested it yet which is also one of the reasons why I kept with the already created reverse binary format.
OK. I wonder if anyone will test it with more than four controllers before the release? :P

The reason why the controllers are still numbered they way they were before even when another controller is not connected is because if it still shows up in your Toshiba Bluetooth Settings the wiimote Library still sees it and it can't distinguish the connected controllers from the not connected. I can of course extend the code to label them according to what is connected.
Ah ok, thanks for the info.

You don't have to calibrate the controller every time you start the program, only once. Calibrations are saved in the INI file, as mentioned in the video.
Nice! I didn't actually watch the video, my bad, should've done so before posting all my questions...

The keyboard shortcuts (along with minimizing to tray) would be something to have in the release.
Cool, and minimising to tray would be pretty neat too.

Also having easy assignments like quickly assigning the D-Pad to POV directions or WASD to the analog is another planned release implementation.
Yes, that would be helpful, especially for assigning WASD, arrows, POV, mouse directions and vjoy axis to the analogs or Dpad.

Just try to ignore the IR and Acc labels; they were put there while testing but have not function.
Ok. In the video you mention that you will implement them soon - can't wait!


EDIT: In the video, you mention that there are problems with using the wiimote without extensions (it doesn't register input). Yet in my experience it does register input, except that it stops doing so after about 30 seconds of inactivity. But more importantly, both me and Heimdallr can't connect a nunchuck without the program immediately crashing (while in the video you obviously have no problems). Any ideas as to what might be happening?
 
  • Like
Reactions: KeyPuncher

Heimdallr

Well-Known Member
Newcomer
Joined
Mar 14, 2010
Messages
83
Trophies
1
XP
222
Country
United States
I'll see if I can find what's causing this. Looks like something with the wiimote library, I'll test it out with different wiimotes to see if I can duplicate the results.

I discovered something that may help you. The nunchuck I was using when the program crashed was a newer model one. I just remembered that I had an old nunchuck from when I bought my Wii laying around, and tried using that one out of curiosity. It works perfectly. I guess there's some difference between the older and newer model nunchucks that WiinUPro or the wiimote library do not agree with?

(Note: both nunchucks are the official Nintendo ones, not a third-party product)

Shame this isn't a suitable workaround in my case.. The older nunchuck's analog stick acts up at times and makes gameplay difficult. :(
 
  • Like
Reactions: KeyPuncher

KeyPuncher

Well-Known Member
OP
Member
Joined
May 27, 2013
Messages
168
Trophies
0
XP
243
Country
United States
I discovered something that may help you. The nunchuck I was using when the program crashed was a newer model one. I just remembered that I had an old nunchuck from when I bought my Wii laying around, and tried using that one out of curiosity. It works perfectly. I guess there's some difference between the older and newer model nunchucks that WiinUPro or the wiimote library do not agree with?.

Thanks for the info that will may be it. It might have a different ID with it like the Classic Controller Pro does, so I should be able to add it in like I did that controller. I have a gold nunchuck, so if I'm lucky it will give me the same issue.

Dunno, don't own one.

Thought that might be the case. Thanks, I'm pretty sure I know were the problem is, I fixed it with the Pro controller I probably just forgot to do it for the wiimote as well.

OK. I wonder if anyone will test it with more than four controllers before the release? :P
EDIT: In the video, you mention that there are problems with using the wiimote without extensions (it doesn't register input). Yet in my experience it does register input, except that it stops doing so after about 30 seconds of inactivity. But more importantly, both me and Heimdallr can't connect a nunchuck without the program immediately crashing (while in the video you obviously have no problems). Any ideas as to what might be happening?

I have a 5 wiimotes and 2 pro controllers so I'll eventually thoroughly test it out.
Hopefully I can find a way around the inactivity thing, perhaps I can do something similar to pinging it.
Hopefully the crashing is due to it being a newer nunchuck.
 

Timohtep

Member
Newcomer
Joined
Jul 30, 2013
Messages
9
Trophies
0
Age
29
XP
43
Country
United States
I posted this issue as a comment on your tutorial, but I just stumbled across this thread looking for answers, and decided to post here instead.

I don't have the registry keys specified:
http://i.imgur.com/ozfUC3d.png

No "Joy 1" Option in WiinuPro
http://i.imgur.com/8YjQvhW.png

No options in the joystick sections in WiinuPro:
http://i.imgur.com/3IYCiof.png


And yes, I've installed vJoy, and I'm pretty sure I've done everything I need to do with it, unless I'm missing something.

(also, this is my first post, heh)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    cearp @ cearp: Welcome hazbeans