Dieser Artikel beschreibt, wie man eine Wii-Fernbedienung ("Wiimote") als Mausersatz verwenden kann. Voraussetzungen sind ein funktionstüchtiger Bluetooth-Adapter sowie eine Wiimote-Fernbedienung.
Die installierte Software muss nicht konfiguriert werden, allerdings muss der Treiber manuell geladen werden [5]:
sudo modprobe uinput
Möchte man den Treiber dauerhaft laden bzw. bei jedem Systemstart, dann trägt man uinput am besten in die Datei /etc/modules in einem Editor[4] mit Root-Rechten [8] ein.
Zuerst testet man im Terminal [3], ob ein
hcitool scan
die Wiimote findet. Dabei müssen die Tasten 1 und 2 gedrückt werden.
Dann sollte man die Verbindung testen, indem man das Programm "Zubehör - Wmgui" startet und per "File - Connect" die Wiimote mit dem Computer via Bluetooth verbindet. Dazu muss man die Tasten 1 und 2 der Wiimote gedrückt halten und auf "OK" klicken. Danach kann man in "Settings - Acc Data" die Anzeige der Koordinaten einschalten. Bewegt man nun die Fernbedienung, so sollten sich diese Werte verändern. Falls nicht, so steht die Verbindung nicht richtig, und man sollte diese nochmals überprüfen.
Für diesen Schritt muss Wmgui geschlossen sein. Mit dem Befehl [3]
sudo wminput -w
und dem gleichzeitigen Halten der Tasten 1 und 2 startet man die Benutzung der Wiimote als Maus. Durch Drehen (Links/Rechts) bzw. Neigen (Hoch/Runter) der Wiimote lässt sich der Cursor anschließend über den Bildschirm bewegen.
Bald wird man aber merken, dass die Bedienung unkomfortabel ist, da die Seitenbewegung der Wiimote völlig irrelevant für das Bewegen des Cursors zu sein scheint. Es müssen zwei Orientierungspunkte vorhanden sein, mit der die eingebaute Kamera in der Vorderseite der Wiimote ihre Position relativ zum Bildschirm bestimmen kann. Als Orientierungspunkte für die Wiimote benötigt man zwei Infrarotlichtquellen, die einen festen Abstand von etwa 20-30 cm haben, wie beispielsweise zwei Glühlampen oder Teelichter. Am besten greift man jedoch zu Infrarot-LEDs, wie sie in der Sensorleiste von Nintendo verbaut sind, da man so auch nicht unnötig geblendet wird. Man kann auch die Sensorleiste selber nutzen, indem man die Wii einfach einschaltet, nachdem man schon die Wiimote mit dem PC verbunden hat. Hat man eine solche Quelle nun z.B. am oberen Rand des Monitors angebracht, so muss man beim Start von wminput das Sensorleistenplugin mitladen:
sudo wminput -c ir_ptr -w
Wenn alles richtig funktioniert, kann man jetzt, wie mit einer Wii-Konsole, mit der Wiimote komfortabel den Cursor lenken.
Falls dies nicht auf Anhieb gut klappt, sollten verschiedene Positionen ausprobiert werden (tiefer, höher, seitlicher), um das Verhalten der Wiimote-Sensoren etwas kennenzulernen.
Falls die Steuerung nicht funktioniert oder man nicht alle Bereiche des Bildschirms mit der Wiimote erreichen kann (unsichtbare Grenze), kann es helfen, die Datei /etc/cwiid/wminput/ir_ptr in einem Editor[4] mit Root-Rechten[8] zu bearbeiten und darin die Zeilen
Plugin.ir_ptr.X = ~ABS_X Plugin.ir_ptr.Y = ~ABS_Y
durch
Plugin.ir_ptr.X = ABS_X Plugin.ir_ptr.Y = ABS_Y
zu ersetzen.
Um die Wiimote als vollständigen Mausersatz benutzen zu können, fehlen noch einige Tastenbelegungen, die in der folgenden Tabelle aufgeführt sind.
| Wiimote | Entsprechung |
| A | linke Maustaste |
| B oder Z (Nunchuk) | rechte Maustaste |
| Home (Haus) | Pos1 |
| Steuerkreuz | ← ↑ ↓ → |
Die Belegung der Tasten der Wiimote-Fernbedienung lässt sich in der Datei /etc/cwiid/wminput/buttons verändern, die mit Root-Rechten in einem Editor bearbeitet werden kann. Die Datei ist wie folgt aufgebaut:
Wiimote.Button = TASTE_AM_COMPUTER
Also zum Beispiel so:
Wiimote.A = BTN_LEFT #Linksklick Wiimote.B = BTN_RIGHT #Rechtsklick Wiimote.Up = KEY_UP #Tastatur-hoch Wiimote.Down = KEY_DOWN #Tastatur-runter Wiimote.Left = KEY_LEFT #Tastatur-links Wiimote.Right = KEY_RIGHT #Tastatur-rechts Wiimote.Minus = KEY_BACK #Zurück Wiimote.Plus = KEY_FORWARD #Weiter Wiimote.Home = KEY_HOME #Home / Persönlicher Ordner / Startseite
Wer mit seiner Wiimote die Lautstärke regeln möchte, braucht dazu nur den Befehl KEY_VOLUMEUP (lauter) oder KEY_VOLUMEDOWN (leiser). Wer mit der Home-Taste der Wiimote das Dash in Unity starten möchte, verwendet hierzu KEY_LEFTMETA (= Supertaste bzw. Windowstaste). Eine vollständige Liste aller möglichen Key- und Buttonzuweisungskeys findet man in der Textdatei /usr/include/linux/input.h.
Außerdem kann eine Wiimote-Taste als "normales" Tastenkürzel, z.B. zum Starten einer Anwendung, benutzt werden.
Nachdem man mit den Einstellungen zur Wiimote-Steuerung zufrieden ist und die Wiimote zur Steuerung regelmäßig benutzen möchte, kann man mit den folgenden Einstellungen erreichen, dass man die Wiimote nach dem Start des Desktops einfach durch Drücken der Taste 1+2 anmelden kann.
Zunächst muss hierzu das Modul uinput automatisch beim Start geladen werden. Dazu fügt man mit Root-Rechten [8] das Modul einfach zur Datei /etc/modules hinzu, so dass die Datei am Ende etwa so aussieht:
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. lp uinput
Danach muss man dafür sorgen, dass das entsprechende wminput-Kommando am Ende des Startvorgangs ausgeführt wird. Dies erledigt man, indem man mit Root-Rechten [8] die Datei /etc/rc.local um das wminput-Kommando ergänzt. Sie sieht dann am Ende in etwa so aus:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # automatically start wiimote daemon wminput -c ir_ptr -d & exit 0
Nach dem nächsten Neustart kann man sich nun mit der Wiimote durch gleichzeitiges drücken der Taste 1+2 anmelden.
Dieser Weg der Anmeldung funktioniert nur, wenn der Bluetooth-Adapter zur Bootzeit eingeschaltet ist. Ein nachträgliches Einschalten funktioniert nicht. Auch muss darauf geachtet werden, dass die Wii hierbei ausgeschaltet ist, da sich die Wiimote sonst bei der Wii registriert.
Die Nutzung als Whiteboard in Verbindung mit einem Beamer ist sicherlich sehr bemerkenswert. Johnny Chun Lee zeigt dieses auf Youtube
.
Hierfür ist ein Programm nötig, das nicht in den Ubuntupaketquellen vorhanden ist. Es kann von Googlecode
als .deb heruntergeladen werden und wird wie gewöhnlich installiert [6]. Sollte die Meldung
Abhängigkeit nicht erfüllbar: libbluetooth2 (>= 3.14)
erscheinen, muss noch das Paket libbluetooth2' installiert werden. Es kann aus den Hardy-Quellen
heruntergeladen werden.
Fremdpakete können das System gefährden.
Gestartet wird es mit dem Befehl whiteboard [7]. Hier lassen sich auch Verbindungen zu bis zu zwei Wiimotes aufbauen, indem man beim Verbinden einfach auf beiden Wiimotes die 1 + 2 Taste gleichzeitig drückt. Benötigt wird auch noch eine Infrarotstift (Tipp: IR-Dioden mit 940 nm funktionieren fünfmal besser als solche mit 840 nm, und eine Bauanleitung findet sich z.B. aus ratsgymnasium-pe.de
). Anschließend muss das Board noch kalibiriert werden. Es ist darauf zu achten, dass die Entfernung nicht allzu groß sein darf (max. zwei Meter).
Für weitere Informationen siehe: wiimote-whitboard 
Hingegen ist das Paket
gtkwhiteboard
aus den Ubuntu-Paketquellen ab Jaunty installierbar. Nach dem Aufrufen des Programms aus dem Zubehör-Menü reicht ein Klick auf "Start" und das anschließende Drücken der Tasten 1 und 2 auf der Wiimote, um eine funktionstüchtige "Wiimote Whiteboard" zur Verfügung zu haben. Auch die oben genannte Beschränkung auf zwei Meter entfällt.
Diese Revision wurde am 29. Oktober 2011 um 18:00 Uhr
von liberavia erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Hardware, Multimedia, Whiteboard, Wii, Nintendo
2004 – 2011 ubuntuusers.de • Einige Rechte vorbehalten