ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

joystick

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

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Das Paket joystick stellt Programme zum Kalibrieren und Testen von Joysticks bereit. Damit ist es eine Alternative zu jscalibrator, das seit Karmic nicht mehr in den Paketquellen vorhanden ist.

Installation

Folgendes Paket muss installiert [1] werden:

  • joystick (universe)

Kalibrieren

Programm starten

Um einen Joystick zu kalibrieren, muss nach der Installation von joystick das Programm jscal über die Konsole[2] aufgerufen werden:

jscal -c /dev/input/js0 

Der Parameter "-c" weist das Programm dabei an, eine Kalibrierung vorzunehmen. "/dev/input/js0" ist die Gerätedatei des Joysticks: Über diese kann das Programm das Gerät ansprechen. Sind mehrere Joysticks an den Rechner angeschlossen, werden sie entsprechend über "/dev/input/js1" usw. angesprochen. Die Ermittlung der richtigen Gerätedatei wird weiter unten beschrieben.

Durchführung der Kalibrierung

Nachdem das Programm gestartet wurde, versucht es, die Tasten und Achsen des Joysticks zu erkennen. Währenddessen sollte der Joystick nicht berührt werden. Nach einer kurzen Zeit erscheint folgende Aufforderung:

Move axis 0 to minimum position and push any button.

Sollte nicht eindeutig sein, welche Achse gemeint ist, können die verschiedenen Achsen des Joysticks problemlos ausprobiert werden, bis das Programm darauf reagiert. Diese Achse muss nun in eine Stellung gebracht werden, für die das Programm den kleinstmöglichen Wert ausgibt (beispielsweise 0 oder -128). In diesem Fall etwa müsste der Joystick ganz nach links bewegt und anschließend eine Taste des Joysticks betätigt werden. Danach wird jscal auch andere Positionen des Joysticks abfragen. Außerdem wird diese Prozedur auch für andere Achsen - etwa die y-Achse oder die Achsen des Cooliehats wiederholt.

Am Ende der Prozedur speichert jscal die ermittelten Daten.

Testen

Zum Testen der Kalibrierung steht das Programm jstest bereit. Auch diesem Programm muss die korrekte Gerätedatei übergeben werden:

jstest /dev/input/js0 

jstest gibt nun fortwährend den Status der verschiedenen Achsen und Knöpfe aus:

Axes:  0:   218  1:     20  2:   128  3:   128  4:     0  5:     0 Buttons:  0:on   1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off

In diesem Beispiel wurde der Haupt-Steuerknüppel nach rechts-oben bewegt (Achsen 0 und 1). Zeitgleich wurde Knopf 1 betätigt.

Die Darstellung wirkt auf den ersten Blick recht unübersichtlich, lässt sich aber schnell erschließen, wenn man beobachtet, wie die Aktionen am Joystick sich auf die Bildschirmausgabe auswirken.

Ermitteln der richtigen Gerätedatei

Es gibt eine einfach Methode um zu ermitteln, welche Gerätedatei zu einem Joystick gehört. Dazu wird folgender Befehl in der Konsole ausgeführt:

cat /proc/bus/input/devices 

Dadurch werden alle angeschlossenen und erkannten Eingabegeräte aufgeführt. Der Abschnitt für ein angeschlossenes Gamepad könnte wie folgt aussehen:

I: Bus=0003 Vendor=054c Product=0268 Version=0111
N: Name="PS3/USB Corded Gamepad"
P: Phys=usb-0000:00:1d.7-6.2.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6.2/1-6.2.1/1-6.2.1:1.0/input/input10
U: Uniq=
H: Handlers=event6 js0 
B: EV=1b
B: KEY=fff0000 0 0 0 0 0 0 0 0 0
B: ABS=30027
B: MSC=10

In diesem Fall sind besonders die Abschnitte "N: Name" und "H: Handlers" interessant: Über den Namen kann das richtige Gerät identifiziert werden; der Abschnitt Handlers gibt an, welche Gerätedatei dem Gerät zugeordnet wurde - in diesem Fall js0. Da die Gerätedateien zu den Eingabegeräten immer im Verzeichnis /dev/input/ liegen, lautet die korrekte Gerätedatei zu dem Gamepad in diesem Fall also /dev/input/js0.

ubuntuusers.local › Wikijoystick