Hallo zusammen,
ich habe den Steam-Client für Linux (http://steamcommunity.com/linux) angetestet.
Einige der Spiele wollte ich mit meinem Xbox 360 Controller bedienen. Das Kernel-Modul "xpad" erkennt die Hardware bei mir problemlos und sämtliche Funktionen des Controllers stehen zur Verfügung. Dummerweise laufen die Spielfiguren in den diversen Spielen von alleine. Anscheinend stehen die Analogen Sticks nicht ganz mittig und das wird als Bewegung interpretiert. Daher habe ich versucht eine "dead zone" einzurichten - ein Art Toleranzzone innerhalb dessen keine Bewegung stattfindet. Das Tool "jstest-gtk" stellt (unter anderem zu diesem Zweck) eine komfortable grafische Oberfläche zur Verfügung.
Leider musste ich feststellen, dass die veränderten Einstellungen keine Auswirkung haben. Die Einstellungen aus "jstest-gtk" bzw. "jscal" werden einfach ignoriert. Anscheinend erhalten die Spiele direkt aus dem Simple DirectMedia Layer (SDL) die Eingaben. Daher habe ich mich für xboxdrv (http://pingus.seul.org/~grumbel/xboxdrv/) entschieden. Hier kann die dead zone direkt auf der Ebene des Treibers eingestellt werden. Unter Ubuntu 12.04 LTS kann xboxdrv wie folgt installiert werden:
1 2 3 | sudo add-apt-repository ppa:grumbel/ppa sudo apt-get update sudo apt-get install xboxdrv |
Das Kernel-Modul "xpad" habe ich blockiert:
1 | sudo nano /etc/modprobe.d/blacklist.conf |
Folgende Zeile hinzufügen:
blacklist xpad
Für xboxdrv habe ich eine Konfiguration angelegt
1 | nano ~/.config/xbox360.cfg
|
mit folgenden Inhalt:
xboxdrv] silent=true quiet=true deadzone=4000 mimic-xpad=true [ui-buttonmap] A=BTN_A B=BTN_B X=BTN_X Y=BTN_Y LB=BTN_TL RB=BTN_TR BACK=BTN_SELECT START=BTN_START GUIDE=BTN_MODE TL=BTN_THUMBL TR=BTN_THUMBR
Per
1 | sudo nano /etc/rc.local |
habe ich durch den Eintrag (eine Zeile über "exit 0")
xboxdrv -c ~/.config/xbox360.cfg &
dafür gesorgt, dass xboxdrv beim Systemstart geladen wird. Nach einem Neustart stehen sämtliche Funktionen des Controllers zur Verüfung und die Spielfiguren laufen nicht mehr von alleine. Voraussetzung ist allerdings, dass der Controller beim Systemstart eingesteckt ist und bleibt. Im Zeitalter von Plug&Play / Hot-Plug somit eine eher suboptimale Lösung. Vielleicht könnte man das durch eine udev-Regel und/oder dem Start von xboxdrv als Daemon realisieren!? Das habe ich leider nicht hinbekommen. Bei mehr als einem Xbox 360 Controller bin ich ebenfalls überfragt... Eventuell kann der ein oder andere trotzdem was damit anfangen 😉
VG,
ironsteve
Moderiert von tomtomtom:
Verschoben, da keine Support-Frage.