Revival with New Releases

posted Dec 31, 2019, 12:30 PM by Justin Keys   [ updated Dec 31, 2019, 12:30 PM ]

Ahoy Everyone! It's been over 2 years since my last News post where WiinUPro 0.9 made its debut and I announced the project going Open Source and that I wouldn't be able to work on it anymore. Well I did get permission to continue the project and have already made two more releases of WiinUPro on GitHub

The latest release adds Guitar controller support, though it is untested with an actually controller since I don't have access to one so let me know if anything doesn't work as expected, especially the Whammy bar, I wasn't sure exactly how that should function so I made it like a trigger.

I'll continue to make updates here and there while also addressing issues. My road map is something like this:
  • Add Taiko Drum and DJ Hero Controller Support
  • Add GameCube Controller Rumble Support
  • Finish IR pointer support and Calibration
  • Add Balance Board Support
  • Add Accelerometer Support
  • Add Gyro Support
  • Improve Performance & Memory Consumption
  • Add Gesture Support (post version 1.0)
Some of this stuff is straight forward and won't take long, others require some more thinking and design. It's fun working on the project again. However I should provide fair warning not to expect updates to be at a regular cadence. I just happen to have a bit more spare time due to the holiday time off but things will slow down again in the new year. Hopefully a major release will see the light of day in 2020.

Happy New Year!

WiinUPro 0.9 + Open Source

posted Jun 29, 2017, 9:46 PM by Justin Keys   [ updated Jun 29, 2017, 10:17 PM ]

Hello Everyone! I know I've been pretty quite for a while but man, have I been busy!

First things first, the first actual, non-beta, non-preview, version of WiinUPro has been released! Version 0.9 (yes not 1.0) is available in the downloads section. I have spent a lot of time on this release and I hope you all like it and find it useful. Here is a list of what it can do:
  • Supports the following controllers:
    • Wii U Pro Controller
    • Wii Remote
    • Wii Nunchuk
    • Wii Classic Controller
    • Wii Classic Controller Pro
    • Switch Pro Controller
    • Switch Joy-Con (L) & (R)
    • Generic Windows Joystick devices
  • Sync & Pair Wii & Wii U Controllers with the Microsoft/Windows Bluetooth Stack
  • Support for the Toshiba Bluetooth stack
  • Exclusive mode support (only certain builds of Windows, sorry)
  • Emulate up to 4 Xbox 360 Controller (XInput) devices at once
  • Link a controller's rumble to one or more XInput devices' Force Feedback output
  • Keyboard assignments
  • Mouse button, movement, and scroll assignments
  • XInput button and axis assignments
  • Virtual Joystick button and axis assignments
  • Rumble on assignment use
  • Assign one button to multiple assignments
  • Up to 4 different shift states
  • Save/Load assignment profiles
  • Advanced Joystick calibration (saved separately, sorry)
  • Basic Wii Remote IR Sensor support (including as a mouse pointer)

As you can see, WiinUPro is capable of many things, including the requested support for Nintendo Switch controllers! With WiinUPro you will be able to use both Switch Joy-Cons like a single controller. Pairing your Switch controllers is a heck of a lot easier than the Wii ones. Simply hold down the sync button until the lights start dancing, connect it to your Bluetooth stack and use 0000 as the PIN code, and wallah, your controller should be not only connected but also paired. To turn it off just tap the sync button. Also, along with this addition also comes support for generic Joysticks, so you can use your old Logitech controllers or anything that appears in Windows Game Controllers (joy.cpl) with WiinUPro.

You might notice some things are missing or incomplete, which is why it's version 0.9. There isn't support for accelerometer based input, calibration for the IR sensor is incomplete, controllers can't be nicknamed, and some UI options are unavailable. You might be wondering why I decided to release version 0.9 instead of completing the missing features and then releasing the full version 1.0. Well, I got a new job. A pretty awesome job really, I now work for EA at Capital Games and part of being an employee of Electronic Arts is that developers are not supposed to develop anything outside of work without explicit permission. It was actually quite a hectic two weeks from the time I got the offer to my first day. I was in the process of moving and Mega Maze was Greenlit for Steam which means I had to both add Steam features to Mega Maze and release it as well as finish working on what I could for WiinUPro and make it open source all before I officially started working my new job. It was all quite stressful. I literally added Nunchuk support at the last minute and published the whole project it to GitHub before midnight the night before my first day. During these two weeks I added Switch controller support and generic joystick support and support for all the extensions as well as many features I had lined up. What is miss is what I literally didn't have time for.

But rejoice, as the project has finally gone open source! Which I had always planned on doing after my first release of WiinUPro. If you are not familiar with what open source is, it means that the source code for the project is available to the public so anyone can grab a copy to develop against and add improvements or fixes. There are a bunch of capable developers out there, including fans of the software, who be able to not only complete the project but expand it past my original scope and provide a better experience for us all. By the way, when I say the project is open source that includes WiinUPro, WiinUSoft, and the Nintroller library. The project is over on GitHub.

Also, I was also working on a project to help make the process of pairing controllers easier. It is also available on GitHub as well as in the downloads section under extras. I started the project name as EasyPair, but I'm not confident in it working 100% of the time. Basically, you click the start button to search for controllers, then choose one and click pair, when the available, you can use your computer's Bluetooth MAC address (should be pre-populated) to properly pair a Wii U Pro Controller to your computer.

I hope you all have been enjoying the software and continue to enjoy it. I appreciate everyone's moral and financial support during the 4 years since I started the project (May 27th, 2013). I'll miss working on it. There is still stuff for me to do like create a usage tutorial and answer all of your questions, and hopefully set up a forum or something so everyone can help each other with issues and share created profiles.

Have Fun,

The gadget spec URL could not be found

WiinUSoft Version 3.0

posted Mar 25, 2017, 3:58 PM by Justin Keys   [ updated Jun 27, 2017, 11:06 PM ]

Version 3 of WiinUSoft is now available, grab it from the Downloads page before it's gone (it's not actually going anywhere, I just like the phrase). Here is a list of some changes:
  • Added ability to sync & pair controllers to the Windows BT Stack
  • Support for both Windows & Toshiba Bluetooth Stacks
  • Added Wiimote IR Sensor support
  • Added "Greedy Mode" option (Dark Souls Fix)
  • Added ability to set a default calibration setting
  • Added connect to first available XInput device auto connect option
  • Fixed crash involving applying controller calibration
  • Minor UI Tweaks
  • PDP Fightpad tested and works (shoulders are digital by design)
  • Pro Controller U support added (works as Wiimote + Classic Controller)
First, if you previously used the setup to install WiinUSoft and plan to use the setup file again to install version 3, it is recommended that you uninstall the previous version first because sometimes not all of the files are replaced properly causing WiinUSoft to crash on startup since it is not backwards compatible with the old Nintroller library. An easy way to check if this is the issue is to right click Nintroller.dll in the same directory, choose Properties, and look in the Details tab to make sure the file version is 2.5.

This version also introduces the ability to properly pair your Nintendo controllers to Windows using the Microsoft Bluetooth Stack so simply hitting a button will have to controller connect to your computer. All you have to do is click on the sync icon, then press the sync button on the controller you want to pair. I know it works in Windows 10, and it should work all the way back to XP but I have not been able to test it that far. To see how this works and more check out the video posted under Tutorials -> WiinUSoft.

Another feature that I'm sure many of you will rejoice at, is the ability to toggle the code that has been known as the Dark Souls fix. It has been dubbed Greedy Mode and can be found under the settings icon. What it does is hides the HID Controller from other programs while being used to emulate an Xbox 360 controller (if you can see it in joy.cpl then it isn't hidden) so games like Dark Souls only sees the emulated 360 controller. This doesn't work with every version/update of Windows, so if the X360 icon doesn't do anything in WiinUSoft while it is enabled, it doesn't work in your version of Windows. In Windows 10 you should be able to uninstall whatever update breaks this, I'm not sure which one it is yet but if I find it I will post it in the Tutorials section.

I hope this version solves past issues some of you have been experiencing. Enjoy!

The gadget spec URL could not be found

Progress Update

posted Jan 2, 2017, 2:10 PM by Justin Keys   [ updated Jun 27, 2017, 11:05 PM ]

Happy New Year everyone! I just thought we could kick off the new year with a progress update on WiinUPro. I've been putting more time into the project and moving at a decent pace in getting in functional code. Although I'm not at all done with it, I'm at a point where I can have some people testing it to verify its working correctly. Anyone who has donated any amount will receive preview builds. Here is the video covering all the available features in this first preview build.

Here's the gist of differences from the beta:
  • Full control of joystick calibrations (now asymmetrical and with anti-deadzone)
  • Controllers can be connected and disconnected while the program is running
  • XInput support
  • Microsoft Bluetooth Stack support
  • Mouse Scroll can act as single notch up/down
  • Toggling between shift states can be limited to a subset
  • One button can have multiple assignments simultaneously
  • Controllers are not bound to a specific XInput or Direct Input device
  • New visual layout for assigning inputs
  • One assignment can be copied to another
  • Quick assignments for joysticks
  • Ability to save and load calibrations

What it is currently lacking:
  • vJoy / Direct Input Support
  • Default Profile
  • Auto joystick calibration
  • Auto connect on start
  • Nicknaming devices
  • Detect key assignment
  • Support for other controllers
  • Being pretty

I hope everyone is looking forward to using the final version. I would like to re-iterate that WiinUPro is supposed to be designed for power users or those who need more functionality than the simple XInput emulation that WiinUSoft offers. Also, if you have donated but have not received your copy of the WIinUPro Preview, just email with your name or the email address you used to donate and I'll update your contact information. And if you wish to not receive any further emails just let me know.

As always, express your concerns, questions, or excitement in the comment section below!

The gadget spec URL could not be found

Disqus Is Back + New Game

posted Aug 21, 2016, 6:51 PM by Justin Keys   [ updated Jan 1, 2017, 10:13 PM ]

Hi everybody! It has been too long since the last update. I wanted to inform everyone that Disqus comments are back up. You can now continue to share your feedback and get help right from the site once again. It initially fell apart when the custom gadget link I was using broke, but now I'm hosting the gadget myself and have restored the comment sections.

I have still been writing updates to WiinUPro here and there and I'm making sure that it will work seamlessly with either the default bluetooth stack on Windows 10 or the Toshiba Stack on Windows 7 without having to configure it. Not much time has been dedicated to the project lately but I plan to rectify that. Once I am done with what I need to do for releasing my first independent game I will be working on completing the "first" Release of WiinUPro before I start working on my next game, and I won't be taking any more side jobs because that basically takes away all of my free time. 

So what's this game? I'm sure you have heard me mention it before but now it is ready for release. It's called Mega Maze.

It is a puzzle solving game where players navigate mazes (surprise!) but it's not a simple as just finding the exit in a cavern of walls, not only has that been done but it gets boring after a while, and you are typically just lost until you find the end. This adds unique elements to maze solving that I have never seen done before. I actually started this project before WiinUPro (if you can believe it) and had just been working on it on and off. But the finishing line is finally in sight, and although it may not be a game for everyone (considering everyone isn't a puzzle/maze lover) I hope many of you find it enjoyable. Please check it out on Steam Greenlight for more information. If it gets greenlit then it will be on Windows, OS X, and Linux through Steam (obviously). The game will also be coming to Wii U, so keep your eyes peeled (please not literally). If you have ever wanted to contribute or help me out at all I would greatly appreciate it if you could just take a look at the game on Greenlight. Thanks!

The gadget spec URL could not be found

So Long Toshiba

posted Feb 28, 2016, 2:33 PM by Justin Keys   [ updated Jan 1, 2017, 10:15 PM by Justin Keys ]

I'm sure many of you will be happy to hear that all releases going forward will no longer require the Toshiba Bluetooth Stack to be installed when running on Windows 8/10. If you are already using the Toshiba Stack without any issues, there is no advantage to going back to the Microsoft one, in fact I think Toshiba's is better; but for those of you who have had trouble install the Toshiba Stack or are new to WiinUSoft, you can give this fix a try first.

As for what is available today, you can download this Hotfix for WIinUSoft 2.1 in order to free yourself from the Toshiba Stack. The hot fix isn't in any of the current available downloads as of the writing of this post, so you will have to download it separately and unzip it in WiinUSoft's installation folder. A vowel of thanks to the several users who have passed on references to the information posted by Julian Löhr. Without that find I wouldn't be able to bring you this fix today. However, it seems as this fix won't necessarily work for everyone, there is still additional work to be done to make it more universal.

Now to update you on the project. A question I get a lot is if I plan on going open source. The answer is yes, but in phases. I've never been a fan of handing things out before they are complete, there are some things I want to wrap up before letting everyone look at and pass judgment (all programmers know we can do better than the others) at how I've approached things. I will push out the WiinUPro Beta code first and then WiinUSoft and then WiinUPro release. The WiinUPro Beta code is actually a separate project from the WiinUPro that I plan on releasing as version 1.0, it was just an initial starting point to figure out how to utilize the controller and wasn't ever designed to be user end software. In my opinion that makes WiinUPro Beta a perfect start for open sourcing, just creating a sandbox for everyone to play in. As for WiinUSoft and WiinUPro release code, ideally I want to complete what I've set out to do before letting it into the wild and seeing what others can tack onto it. But before I do any of that I wan to continue on focusing on releasing my first console game, Mega Maze for Wii U (and hopefully Steam). 

What is still left to do? Well, the big one is utilizing the IR sensor of the Wiimote. There are two main ways to utilize the IR Sensor, one is to map the sensor to act like a joystick, where having the pointer in the center of the screen is the neutral point and moving the sensor to the right would be like moving a joystick to the right and the input is repeated until returned to the neutral position. The other way is to make it a point & click like implementation where the mouse moves to the part of the screen where the pointer is pointing. It would also be great to include input from the accelerometers and gyroscope in a meaningful way as opposed to just the raw values. There have also been requests to implement DualShock and GameCube controllers but that sounds like something to tackle after open sourcing.

If you want to get more frequent updates on this project or my game development progress you can use my twitter feed.

The gadget spec URL could not be found

WiinUSoft Updated to version 2.1

posted Sep 7, 2015, 1:29 PM by Justin Keys   [ updated Jun 27, 2017, 11:05 PM ]

WiinUSoft has now been updated to version 2.1 and with it bug fixes with the biggest being correcting the rumble issue. Crash fixes have also been done and WiinUSoft will now work on Windows XP.

Also, for the first time WiinUSoft now has an installer which will work on all versions of Windows and comes packaged with the necessary drivers for proper use. The installer can be downloaded from the Downloads page through Google Drive since Google Sites only allows up to 100MB of storage. If you are unable to download it from Google Drive (probably due to bandwidth limitations) you can also use the Sendspace mirror below.

WiinUSoft 2.1 Installer Google Drive
WiinUSoft 2.1 Installer Sendspace Mirror

If you prefer the Zip file format as provided in previous releases, that is still available in the Downloads page under the WiinUSoft Release folder.

With this release of WiinUSoft my focus will shift back to finishing the release version of WiinUPro. The release version of WiinUPro will include all the good features from the beta version plus XInput emulation and a new more intuitive user interface which will make input assignment easier then that of the beta. I'm also planning on allowing one input to have multiple assignments, for example the A button could trigger the A key and the A button for XInput. It will take some time to complete but I hope some of you are looking forward to it!


The gadget spec URL could not be found

WiinUSoft Version 2.0

posted Aug 3, 2015, 12:38 AM by Justin Keys   [ updated Jun 27, 2017, 11:04 PM ]

Version 2 of WiinUSoft is finally here! Check it out from the Downloads page. Here are the major changes in this release:

  • The Nintroller Library has been updated to version 2 (not backwards compatible)
  • Controller calibration options are now available in both presets and custom options
  • Primitive Wiimote and Nunchuk accelerometer mapping added
  • The crash in Windows 10 has been fixed (caused by the Dark Souls fix)
  • Config file is saved to the AppData folder when it can't be save in the same directory as the exe.
  • Added run on Windows startup
  • Added start minimized
  • Inputs can now be mapped to nothing
  • Crash reporting added

The Nintroller Library (for the controller communication) rewrite has been completed and is being utilized by WiinUSoft now. This new version isn't backwards compatible so don't try using the old library with the new application and visa-versa. You can also now change calibration settings for your controllers by choosing from a list of presets or by creating your own. Just a note, when calibrating the pitch and roll of the Wiimote and Nunchuk, tilt the controllers to the maximum amount that you want to tilt it and no further. Also, the accelerometer mappings are sort of primitive but they are there if you want to try them out, for now it's just tilt and shaking.

And of course the Windows 10 crash fix is in this version which many of you have been asking about is included in this build. The crash was being caused by the fix that was initially put into place for the Dark Souls games. That had to be removed in order for it to work so that issue might resurface in Windows 10, however it will remain fixed for Windows 7 & 8. Also, this version will still require the Toshiba Bluetooth stack as controllers, though can be connected , aren't at all useable with the default MS stack. On the bright side, I have found a way to install the Toshiba Stack against built in Bluetooth adaptors and I will add that to the Tutorials section (and actually create the section) when I get a chance. Personally I prefer the Toshiba BT interface over the new Windows one anyway.

Thanks everyone for your patience. It was my intent to get this build out before Windows 10 was released but was unable to. My back gave out on me and as a result sitting was excruciatingly painful; even now it is still uncomfortable so that had an impact on my productiveness. And my baby girl is now a month old! She can be quite a handful at times but is totally worth it. Then there is the full time job, those three tings put together makes extra time a rare thing, but thankfully I've had enough to finish this up before too long.

Thanks and Enjoy!

The gadget spec URL could not be found

WiinUSoft Updated to version 1.1

posted Mar 2, 2015, 9:06 PM by Justin Keys   [ updated Jun 27, 2017, 11:04 PM ]

WiinUSoft has been updated! Grab it from the Downloads page. In it you will find the following features:

  • WiinUSoft no longer shares! Access to controllers are now blocked from other programs, so playing Dark Souls shouldn't pose an issue anymore while using WiinUSoft.
  • Rumble Support has been improved. Vibration intensity will now respond better to what the games output so a soft rumble output will no longer feel like a maximum output.
  • Rumble Intensity can be adjusted. You can control the amount of force feedback you receive or turn it off completely.
  • Wiimotes now also support rumble.
  • Analog ranges have been improved.
  • Various bug fixes. Issues with saving profiles and a crash revolving around auto connect have been resolved.

The controller that came out on top from the previous poll is the HORI Battle Pad! In the beginning it had very least amount of votes but by the end it swept away the competition. With your help, I have purchased and received one and have tested it out with WiinUSoft. And I'm happy to say that it works perfectly. The controller is detected as an original Classic Controller and buttons function and the turbo feature works as expected. The only thing that is odd about it is that since it is being detected as an Original Classic Controller, it is shown that it has analog triggers even though the controller itself has digital triggers, but it's not a big deal, every time you press the trigger it outputs as if you were pressing fully down on a Classic Controller trigger. I haven't found any unique identifier for the controller yet so it will still display as a normal Classic Controller in WiinUSoft.

The runner up is the PDP Fightpad which I've been told also works in WiinUSoft as it is and reacts to the triggers the same way as the HORI Battle Pad does. I'm not sure if the triggers feel like they are analog on the PDP Fightpad but I have read from reviews that they are digital. The Pro Controller U or whatever they have renamed it to still showed some interest so I will be getting to testing that one out as well. I saw votes in for the "Other" category but there was only one suggestion so I'm uncertain as to what other controllers you all have in mind. Please let me know. The one suggestion was for the PS3 controller which I am not opposed to taking a look at but keep in mind that there is already a driver for the controller so it has a bit stronger integration and that is what the SCP driver was made for. If you are still interested please let me know.

Thanks and enjoy!

The gadget spec URL could not be found

The Next Supported Controller (Poll)

posted Feb 4, 2015, 8:18 PM by Justin Keys   [ updated Jun 27, 2017, 11:04 PM ]

Hi everyone. I haven't been responsive in the past week due to minor surgery and scheduling upcoming surgery. With my upcoming surgery I won't be able to look at 
a computer screen so I will also be non-responsive all next week as well. But during this time I would like to take a poll to find out which game controller I should look into adding support for. Thanks to all of your wonderful support I can afford to get a few to test against. There has been some interest in supporting third party controllers and I would like to start taking a look at them one by one. So here are three controllers that have both the highest interest level and also have a high probability of being able to be supported.

PDP Wired Fightpad

The PDP Fightpad has a GameCube controller inspired layout but has a full sized analog stick where the C-Stick was located on the GCN controller.
Although the calling it "Wired" may imply that the controller connects directly to the console, it actually means that it connects to a Wii Remote.
The controller is said to behave like a Classic/Classic Pro Controller, and all of the shoulder buttons are said to be digital (ZL and ZR are behind L & R). Because of this Classic Controller Pro functionality claim and the fact that it plugs into the Wii Remote, it has a good chance of being supported and may even already be, though depending on the range of the analog sticks, it may require tweaking.
The controller is licensed (but not developed) by Nintendo and comes in Mario, Luigi, Peach, Yoshi, Donkey Kong, Wario, Link, and Samus themes.

HORI Battle Pad

The HORI Battle Pad is a more conservative design to the GameCube controller but does feature a larger D-Pad.
It also plugs into the Wii Remote's extension port and behaves similar to a Classic Controller [Pro].
Unlike the PDP Fightpad, the ZL and ZR buttons are in front of the L and R buttons.
The description says it has "short stroke L and R buttons" which leads me to believe that L and R are digital inputs.
The controller also features a three speed turbo feature.
I also believe the likelihood of support success for this controller is equal to that of the PDP pad.
The controller is also licensed (but not developed) by Nintendo and comes in Mario, Luigi, and Pikachu themes.

Pro Controller U

Saving the worst for last, this one is called the Pro Controller U although the box says Controller Pro U, it seems they couldn't make up their minds so they went with both.
This controller is designed like a Wii U Pro Controller but don't let that fool you, it is actually a Wiimote/Classic Controller.
On the top of the controller is the IR camera so you can do your pointing and you can see the speakers on the front for the Wiimote sounds.
This controller comes in a variety of styles but what attracts players the most is the classic SNES look with either the colored buttons or the purple ones.
Although I've never used this controller, the reason why I say it's the worst option of the bunch is because of its low reviews typically averaging 2.5/5 stars on Amazon.
However, I still think this has a pretty good chance of being successfully supported as it acts like a Wiimote, but not as high of a chance as the other two controllers, but be warned, the complaints coming from this product range from dead on arrival, badly crafted analog sticks, poor button mapping, and poor battery life.

And there you have it, the three most popular requests that I've had and we already know that the Nyko Pro Commander for Wii U is non-discoverable via bluetooth. Use the poll below to vote for your choice of preferred controller to support, and if you have a suggestion go ahead and choose other and comment below or upvote someone else's suggestion.

1-10 of 17