Software / Desktop app Legacy

MSB Wiimote Mouse

Aim a Wiimote across multiple sensor bars for surround displays

Type
Desktop app
Released
Sept 2008
Status
Legacy · not maintained
Source
Open source ↗

A Windows driver that lets a Wii Remote aim across several sensor bars, so one controller can cover a surround display. I wrote it in 2008 for my university honours project, ANU in Half-Life 2, to aim across both walls of the Wedge, a virtual reality theatre. It is archived and provided for historical purposes.

Hopping between sensor bars

A Wii Remote aims by watching the two IR lights of a sensor bar through a camera in its tip. The camera reports at most four points over a narrow field of view, so a single bar only covers the area around it. In the Wedge, the pointer would be lost as soon as the player turned to the other wall.

The driver uses vertical sensor bars spread across the display, five of them in the Wedge. It is given the layout of the bars, groups the camera’s points into bars, and keeps a model of which of them are in view. As points appear at one edge of the camera’s view, the model shifts along a bar, so the Wiimote hops from bar to bar as the player turns. It rumbles when the player points past the end of the array, and a button recentres the model when it drifts.

The tracking began as a C++ library with its own tests, then was rewritten in C# on top of Brian Peek’s WiimoteLib.

A scriptable controller

The Wiimote and Nunchuk drive the Windows mouse and keyboard, with every control mapped in a plain-text script. For Half-Life 2, the Nunchuk’s joystick walked, buttons mapped to key presses and mouse clicks, and flicks and sustained motions triggered actions such as reloading.

Research

The approach is written up in The Wiimote with multiple sensor bars: creating an affordable, virtual reality controller (CHINZ 2009). User testing with a fast-paced first-person shooter found the tuned system had a low error rate and was well received by participants. Later work with Chris Pelling looked at the Wiimote’s limited vertical aiming range. All of the papers are listed under publications.

Archived

The driver was used in the Wedge from 2008 to 2010. Logs from those sessions show the hopping held up in play, and that it drifted: about half of the recenter presses corrected the model by one or two bars.

The source is archived on GitHub under the MIT licence, recovered from the original Subversion repository with a handful of crash fixes. No binary is provided: it is a Visual Studio project for Windows that needs a Bluetooth adapter that pairs with a Wiimote and a set of IR sensor bars, and it hasn’t been run since 2010.

Get MSB Wiimote Mouse

Aim a Wiimote across multiple sensor bars for surround displays