ubuntuusers.deWikiWiimote

Wiimote

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Wiki/Icons/joystick.png Dieser Artikel beschreibt, wie man eine Wii-Fernbedienung ("Wiimote") als Mausersatz verwenden kann. Voraussetzungen sind ein funktionstüchtiger Bluetooth-Adapter sowie eine Wiimote-Fernbedienung.

Installation

Folgende Pakete müssen installiert [1] werden:

  • wmgui (universe [2] )

  • wminput (universe)

Wiki/Vorlagen/Installbutton/button.png

Vorbereitung

Modul laden

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.

Verbindung testen

Zuerst testet man im Terminal [3], ob ein

hcitool scan 

die Wiimote findet. Dabei müssen die Tasten 1 und 2 gedrückt werden.

wmgui.png 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.

Benutzung

Per Wiimote den Cursor steuern

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.

Sensorleiste simulieren

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.

Tastenbelegung

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

Tastenbelegung festlegen

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.

Automatisieren der Wiimote-Anmeldung

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.

Hinweis:

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.

Whiteboard

Die Nutzung als Whiteboard in Verbindung mit einem Beamer ist sicherlich sehr bemerkenswert. Johnny Chun Lee zeigt dieses auf Youtube {en}.

Hierfür ist ein Programm nötig, das nicht in den Ubuntupaketquellen vorhanden ist. Es kann von Googlecode {dl} 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 {dl} heruntergeladen werden.

Hinweis!

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 {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 {en}

gtkwhiteboard

Hingegen ist das Paket

  • gtkwhiteboard

Wiki/Vorlagen/Installbutton/button.png

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.

Wiki

  • Wiican - Weitere Möglichkeit zur Verwendung der Wiimote als Maus

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

Passwort vergessen?