Joysticks installieren und anwenden

Aus LinuxUser 09/2000

Joysticks installieren und anwenden

Des Spielers Werkzeug

Linux beherrscht über ein Dutzend verschiedener Joystick-Systeme und bietet neben dem üblichen analogen Game-Port sogar Treiber für exotische C64- und Amiga- Spieleknüppel.

Außerdem können USB-Joysticks problemlos eingesetzt werden (sofern die Distribution darauf vorbereitet ist, wie etwa SuSE und Mandrake). Mit dieser Bandbreite stellt das freie Betriebssystem sogar manchen kommerziellen Konkurrenten weit in den Schatten – der Powergamer muss derzeit einzig und allein auf das coole Force-Feedback verzichten.

Joystick-Module vorkompiliert

Die Inbetriebnahme eines Joysticks unter Linux ist leicht – wenn man erst die dahinterstehende Logik begriffen hat: Üblicherweise nutzen Spiele-Programm-Bibliotheken (wie etwa SDL) die angeschlossenen Steuerknüppel mit Hilfe der Gerätedateien /dev/js0 bis /dev/js3. Falls diese Schnittstellen nicht schon bei der Linux-Installation angelegt wurden, sorgt das Kommando mknod /dev/jsX c 15 X für Abhilfe (wobei X ein Platzhalter für die Zahlen 0 bis 3 ist).

Die Eingangs erwähnte Bandbreite unterstützter Geräte ist allerdings ein kleiner Nachteil, wenn es darum geht, das korrekte Kernel-Treiber-Modul für sein Eingabegerät auszuwählen. Bei vielen Distributionen liegen bereits alle Joystick-Module vorkompiliert und einsatzbereit im entsprechenden Treiberverzeichnis (z.B. /lib/modules/2.2.16/misc).

Die Qual der Wahl

Wer nicht zufällig eines der in Tabelle 1 angegebenen Spielerwerkzeuge besitzt, muss vor dessen Inbetriebnahme zunächst ausfindig machen, zu welchem Gerät es kompatibel ist. Weit verbreiteten sind Steuerknüppel für den analogen Game-Port (Classic PC analog). Das dazu passende Kernelmodul sollte zur Funktionskontrolle zunächst manuell mit modprobe joy-analog geladen werden (dazu muss man als root-Benutzer eingeloggt sein). Die erfolgreiche Initialisierung des Joysticks kann mit dem Kommando dmesg geprüft werden und die letzten beiden Zeilen der Textausgabe sollten ähnlich wie folgt aussehen;

js: Joystick driver v1.2.15 (c) 1999 Vojtech Pavlik <vojtech@suse.cz>
js0: Analog 3-axis 4-button 1-hat joystick with CHF extensions at 0x201 [TSC timer, 448 MHz clock, 1234 ns res]

Sonderwünsche gefällig?

In diesem Beispiel wurde ein dreiachsiger Joystick (0-2:X/Y/Thrust) mit vier Feuerknöpfen und einem “Hat-Stick” erkannt. Der Rundumsicht-Hebel kann bei Spielen in Form zweier weiterer Achsen (3 und 4) genutzt werden. Diese Zusatzfunktion wird allerdings nicht automatisch erkannt, sondern Bedarf einer zusätzlichen Modul-Option, die zusammen mit der Gerätedatei- und Joystick-Modul-Zuordnung in /etc/conf.modules eingetragen werden kann. So wird der Treiber automatisch geladen, sobald ein Spiel auf eine Gerätedateien (/dev/js*) zugreifft:

alias char-major-15 joy-analog
options joy-analog js_an=0x201,0x2fb

Die Parameter hinter js_an gibt die Basis-Adresse des Game-Ports sowie die Sondereinstellungen für den Hat-Stick an. Die exakte Zuordnung der Sonderfunktionen (Pad Buttons, CHF und FCS Hats) können in /usr/src/linux/Documentation/joystick.txt nachgelesen werden.

Troubleshooting

Der analoge Game-Port ist üblicherweise auf der Soundkarte integriert. Nur bei sehr alten Modellen findet man die feste Verdrahtung auf die übliche Basis-Adresse 0x201. Älteren PNP-ISA-Buskarten muss aufwendig per isapnp nachgeholfen werden – bei PCI-Soundkarten reicht jedoch häufig ein einfacher Kernel-Modul-Parameter in /etc/conf.modules:

alias sound char-major-14
alias char-major-14 es1371
options es1371 joystick=0x200

In diesem Beispiel wird dem Sound-Treiber für Soundblaster PCI64/128 (es1371) mitgeteilt, dass sich der Joystickport ab Adresse 0x200 befindet. Da des Joystick-Modul ohne Soundtreiber in solchen Fällen nicht korrekt arbeiten kann, der Soundtreiber aber automatisch entladen wird, wenn längere Zeit keine Sound-Ausgabe erfolgte, sollte im Bootscript (bei Red Hat und Mandrake /etc/rc.d/rc.local) die Zeile /sbin/modprobe -r sound; /sbin/modprobe sound angehängt werden um den Treiber resident zu machen.

Mehr Infos zum Thema Joysticks und deren Inbetriebnahme unter Linux gibt es auf den Entwicklerseiten des Tschechen Vojtech Pavlik, der (mittlerweile im Auftrag von SuSE) unermüdlich Linuxtreiber für Eingabegeräte entwickelt.

Tabelle 1: Unterstützte Joystick-Systeme

Classic PC analog joy-analog.o
FPGaming and MadCatz A3D joy-assassin.o
Gravis GrIP joy-gravis.o
Logitech ADI joy-logitech.o
Microsoft SideWinder joy-sidewinder.o
ThrustMaster DirectConnect joy-thrustmaster.o
Creative Labs Blaster joy-creative.o
PDPI Lightning 4 card joy-lightning.o
Trident 4DWave joy-lightning.o
Aureal Vortex gamepor
Magellan joy-magellan.o
Space Mouse joy-magellan.o
SpaceTec SpaceOrb 360 joy-spaceorb.o
SpaceBall Avenger joy-spaceorb.o
SpaceTec SpaceBall 4000 FLX joy-spaceball.o
Logitech WingMan Warrior joy-warrior.o
NES, SNES, PSX, N64, Multi joy-console.o
Sega, Multi joy-db9.o
TurboGraFX interface joy-turbografx.o
LinuxUser 09/2000 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben