So far my development and release strategy for the multi driver mode feature was to design, implement and release it in one go. However such multi mode driver design isn’t that trivial. Combine that with my lack of development time for this project and the result was being stuck for a long time.
But that is changing now. I am going to release the multi driver mode feature in multiple steps as i progress development. The benefit is that new features are available earlier. On the downside development time may increase, as i need to reimplement and refactor the codebase. Furthermore settings are not guaranteed to be stable among releases. But slow progress is better than no progress at all.
This update introduces the Control Center. That is an user mode application, that’ll act as installer and device settings tool. The installer let’s one easily enable and disable Driver Signature Verification (via Test Mode) and install and remove the HID Wiimote device driver. Furthermore for future updates it will automatically detect whether the device driver is installed and replace it (This does not work with pre 0.3.0.0 drivers, so for this update one has to manually remove any previous driver version). The Control Center shows all connected Wiimotes and let’s one apply device specific settings. Those settings include disabling a Wiimote’s accelerometers and some Classic Controller/Wii U Pro Controller mapping variations.
Upcoming & Roadmap
The current release only includes the gamepad mode. The following updates are going to resolve around adding further driver modes. The goal is to finally have one driver supporting all kinds of different mode, i.e. IR mouse, DPad mouse, etc.
Next up is the raw/passthrough mode. That’ll make HID Wiimote compatible with third party applications, by letting them access the Wii Remote through my driver. So no more annoying driver switching. After that the mouse modes will be added. So long the old mouse version are still available, but won’t get any updates.
As said the current release only includes the gamepad mode. So no update for people that use the Wiimote as mouse. Also to simplify the development process a Control Center is only compatible with its accompanied device driver version.
Before updating please remove any previous HID Wiimote Version.
As always downloads are available on the HID Wiimote page.
Implement #2: Basic Tool for device specific settings, including an installer replacing TinyInstaller
Fix phony button presses when connecting extension
Rather small technical changes for HID Wiimote. First one is primary a fix for Unity3D, when you want to use the Wiimote as gamepad. Unity3D uses RawInput instead if DirectInput, when reading from generic non XInput Gamepads. It seems RawInput has some issues with axes that have a negative value range, e.g. -127 to 127. So the change is to simply use a value range from 0 to 255.
The support for the Balance Board and Guitar Hero Guitar are completely untested and therefore pure experimental. I do not have a Balance Board nor a Guitar, therefore i am not able to test it(i might get a Balance Board in February). So use on your own risk, but you are welcome to report any issues and i’ll attempt to fix them.
New Year; i am back in Berlin and can continue to work on HID Wiimote. Yay!
Rather small update with just one and a half fix. Regarding the connectivity issue on Windows 10 Version 1511, i had no issues while testing. Therefore i assume either the updated WDK or another Windows update fixed it. If the problem persists, please report back, so i can take another look at it.
From now on there will be a unified build for Windows Desktop systems. The new WDK 10 makes it possible and in return it means less mess with different packages.
This build has nothing new except that is has been rebuild with the newest Visual Studio 2015 and Windows Driver Kit 10. So for non Windows 10 users there is no urgent need to download/update it. But you can if you like to, just make sure to uninstall the previous/old driver.
This new build was tested on a Windows 10 system with a build-in Bluetooth adapter and a separate Bluetooth Dongle, as well as on a Windows 8.1 system with a Bluetooth Dongle. I wasn’t able to test it on Windows 7, because i have currently no Windows 7 system here around, so please report back if there is any issue.
Windows 10 Universal Driver: Coming Soon™
So this is a multi-system Desktop build and not an Universal Driver. I am going to provide an Universal Driver as well soon, but there is some work to be done. The driver compiles fine and without any error. The only issue is that i have to make an universal .inf file, which simply requires me to read through the MSDN documentation. However, i am currently not able to test the Universal Driver on a Windows Phone nor on an IoT-System, so the build is going to be purely experimental and for people that just want to give it a try.
I am also not quite certain about the driver signing regarding the Universal Driver. I have no clue whether it is possible to deactivate the driver verification on Mobile and IoT-Systems and get an unsigned driver loaded. I would assume there is some way, because devs need the ability to test drivers on the device, but that might require additional test modes, which in turn may have side effects.
I am going to fill it with Issues and Milestones in the next days.
But you can add Issues on your own, when encountering a bug.
If you manage to fix a bug, or come up with a cool feature, feel free to contribute.
Fork it, fix it, send a Pull Request!
Small hotfix for the IR-Mouse version of HID Wiimote. I stupidly removed the Hardware ID from the .inf file, thinking the IR-Mouse doesn’t need it, because the “-TR” Wii Remote shares it with the Wii U Pro Controller.
Added it back to the .inf file and made a new package batch. When you want to use the newer Wii Remotes with the IR-Mouse driver, uninstall the old one and get the fresh packages from the download page.
Since the Wii U Pro Controller has the same Hardware ID as the newer Wiimotes, the IR-Mouse driver gets also loaded for the Wii U Pro Controller, although it doesn’t have an IR-Sensor.
I’ve finally finished the IR-Mouse Version of HID Wiimote!
With that driver you are able to control your mouse pointer by pointing your Wii Remote at your screen. You just need some kind of IR source with up to four points, but best is a Sensor Bar.
The input is slightly steadied but has therefore a small input delay. You can download the driver from the HID Wiimote page. If you are looking for the old DPad-Version you can find it here.
Additionally i made a small update to the Gamepad Version. I fixed a small issue, so the input state is reset when the connection to the controller is lost. You can get the update from the project site as well.
Next i am going to work on the XUSB communication, so i can create a XUSB/XInput Driver for the Wii U Pro Controller.
Yay, Update for HID Wiimote! The Nunchuck and Classic Controller (Pro) Extensions are now supported. In Addition to that the Wii U Pro Controller is supported as well.
I’ve added a lot of Buttons and some more Axis as well as a Hat Switch to the Properties Dialog. The Button Mapping switches dynamically when an Extension is plugged in.
With my Wii Remote the Extension is sometimes not correctly detected. In that case you have to remove the Extension and plug it in again until it works (Sometimes take up to 10 tries; but maybe my Wiimote has just a loose contact and there is normally no such problem).
My next task is creating an IR-Mouse driver as many have requested. I’ve already made quite good progress on that.
I would be very happy when you spread the news and this Blog entry or the HID Wiimote Project Page is shared on Facebook, Twitter, Reddit and all other sites.
Last but not least, i am streaming my coding sessions on Livecoding.tv and Twitch.tv. So feel free to join my streams and ask questions. My regular streaming schedule is every Monday starting at 08:00 PM (Berlin/UTC+1).