Neuros Labs: Prototyping LINK interfaces with Nintendo Wiimote

As most of you know, the LINK started out life as what we call a "TVPC," namely a disc-less, quiet computer that's configured specifically for bringing Internet video to the tv. From that foundation, it's rapidly evolving to provide a more seamless couch experience. One area that's receiving a lot of attention is the controller.

Recently, we've been spending some time prototyping with motion sensing controllers, including the Nintendo wii controller. The significant thing about this kind of interface is that it allows an easy way to have both standard menu navigation (up down left right) as well as free form mouse control, which is still needed for web browsing. There's even a virtual keyboard
(which we certainly won't use in production). Posted a quick youtube video of it in action. For those of you that want to play along at home, you can follow the instructions below.

If you don't have a LINK, but would like to try out the software (you'll have to apply the mods below manually) you can booting your PC from a flash drive with the software, instructions here No guarantees, it's meant for the LINK, but I have heard reports of some folks getting it working fine on other PCs.

******************************************************
Instructions:
* Create /etc/udev/rules.d/95-uinput.rules as sudo (e.g. "sudo nano /etc/udev/rules.d/95-uinput.rules" from a terminal) with the following line: KERNEL=="uinput", GROUP="plugdev"
* Run sudo /etc/init.d/udev reload to make sure your changes are seen.
* Run sudo modprobe uinput to make sure the module is loaded
* Edit /etc/modules with sudo nano /etc/modules and add as the last line: uinput
* Install wminput, which configures and controls the wiimote, with sudo apt-get install wminput
* Plug the Bluetooth device and make sure it is enabled. For the LINK, this involves plugging in a compatible USB Bluetooth receiver. Ubuntu recognized the Bluetooth device straight away
* Finally, run wminput in a console and follow the directions. You should see Put Wiimote in discoverable mode now (press 1+2)... . After you press 1 and 2 on the Wiimote, the controller goes into discoverable mode and the blue LEDs flash. 5 seconds will pass and the prompt should become Ready.
* Sometimes you might not start discoverable mode fast enough, or wminput won't detect it, but as long as the LEDs on the Wiimote are blinking, it is still in that mode. So if wminput times out, just run the program again
* You should now be able to move the cursor around using your Wiimote, and using the A and B buttons as left and right clicks respectively
* However, using the accelerometer alone for moving the cursor around is painful at best. The wminput driver is configured by default for the accelerometer, and if you want to move windows around with your Wiimote, then you'll need to use the IR configurations instead. Simply replace the default soft link to the accelerometer config file with the ir_ptr config file
** cd /etc/cwiid/wminput
** sudo rm default
** sudo ln -s ir_ptr default
* Rerun wminput, re-associate your Wiimote controller, then turn your Wii on to start the sensor bar (place the wii sensor bar under the TV and the wii powers it), and you are off to the races!

(Instructions borrowed heavily from My Howtos and Projects and Nick Carroll)

Comments

Post new comment

To combat spam, please enter the code in the image.