Gamepad macht bei vielen Steam-Spielen Ärger

8 Beiträge / 0 neu
Letzter Beitrag
mitscherdinger
Bild des Benutzers mitscherdinger
Offline
Beigetreten: 13.09.2010
Beiträge: 155
Gamepad macht bei vielen Steam-Spielen Ärger
Habe ja nun etliche Spiele bei HumbleBundle und Steam erstanden. Und: Ich hab endlich 'n tolles Gamepad gefunden: Snakebyte idroid:con (siehe: http://holarse-linuxgaming.de/forums/allgemein/hardware/suche_brauchbare...) Jetzt hab ich Probleme, meine Gamepad bei manchen Spielen überhaupt gescheit einzurichten. Supertuxkart, Trine, FEZ, sowie die Steuerung von Steam im BigPictureMode funktionieren beispielsweise wunderbar. Rochard und Trine 2 (und ich glaube auch Psychonauts und Brutal Legend) weigern sich allerdings. Bei diesen wird beispielsweise eine Aufwärtsbewegung mit dem rechten Joystick ignoriert. Dazu kommt, dass die Spiele irgendetwas als Bewegung nach rechts interpretieren. Selbst, wenn ich alle Joysticks betätige, es ändert sich nichts. Wenn ich mir mal alles mit jstest-gtk ansehe, erhalte ich erstaunlicherweise eine 7. Achse - vielleicht hat das damit zu tun... Die Knopfverteilung ist ebenso völlig durcheinander: Ist "A" gefordert, muss ich stattdessen "X" drücken. Und manche Knöpfe gehen gar nicht. Hat da jemand den Blick unter der Haube, der mir erklären kann, was da los ist? Ich habe schon im Netz gesucht und festgestellt, dass es irgendwie einen RAW-Mode gibt, bei dem /dev/input/eventX statt /dev/input/jsX abgegriffen wird. Vermutlich machen's manche Spiele so und andere so. Aber wie bringe ich die Spiele, die derzeit Probleme machen, dazu, den "richtigen" Mode zu verwenden? Oder kann man da mit irgendeiner Datei in /etc nachhelfen? Hat es vielleicht mit SDL zu tun? Fragen über Fragen! Grüße! Mitsch
Iggi
Bild des Benutzers Iggi
Offline
Beigetreten: 15.05.2008
Beiträge: 216

Das Problem ist, dass viele Spiele einfach annehmen, dass du einen Xbox-Controller hast und alles andere einfach ignorieren. Wenn das Spiel dann keine Möglichkeit bietet, die Knöpfe und Achsen umzubelegen, dann hat man ein Problem... Andererseits kann es auch sein, dass Dein Gamepad "falsche" Daten liefert. Was wird denn in jstest-gtk für eine Taste angezeigt, wenn du "A" drückst?

Zu dem RAW-Modus: Der dürfte Dich hier wahrscheinlich nicht weiterbringen. Spiele, die SDL1 verwenden, verwenden standardmäßig das Event-Interface, mit "SDL_JOYSTICK_DEVICE=/dev/input/js0" kann man das Kernel-Joystick-Interface erzwingen. Ansonsten kommt es auf das Spiel drauf an, was für eine Schnittstelle unterstützt wird. Vorteil des Kernelinterfaces ist es, dass man seinen Joystick kalibrieren kann, was mit dem Eventinterface nicht funktioniert. Ob eines der beiden Interfaces das Ummappen von Tasten kann weiß ich jetzt auf Anhieb nicht...

Edit: Weil es vielleicht auch relevant ist: Mit SDL2 wurde eine API eingeführt, mit der das Controllerlayout geändert werden kann. Steam verwendet die API, um bekannte Controller auf ein einheitliches Layout nach Xbox-Art zu bringen. Das erklärt auch, warum Deine Steam-Spiele funktionieren...

comrad
Bild des Benutzers comrad
Offline
Beigetreten: 13.05.2008
Beiträge: 5531

Also das mit dem Zur-Seite-Ziehen hatte ich bei meinem XBox-Controller auch. Lag stumpf an einem zweiten richtigen Joystick, der dazwischenfunkte.

Lucki
Bild des Benutzers Lucki
Offline
Beigetreten: 05.12.2011
Beiträge: 248

Ich habe das F510 und keine solchen Probleme (läuft im XBox-Modus). http://www.holarse-linuxgaming.de/wiki/logitech_rumble_gamepad_f510

Gibt sich denn dein Controller als Xbox-Controller aus, oder wird er als eigenständiger erkannt?

mitscherdinger
Bild des Benutzers mitscherdinger
Offline
Beigetreten: 13.09.2010
Beiträge: 155

Also, bei allen Spielen, bei denen der Controller mit Namen angezeigt wird, erscheint "idroid:con". Heißt das, dass jeder Controller vom Spielehersteller einzeln gemappt werden müsste? Puh!
Das sonderbare dabei ist ja das: Von den Spielen, um die es geht, kann man theoretisch durchaus alles Mögliche einstellen - aber dann reagieren sie nicht auf Knöpfe, oder - noch sonderbarer - eine Joystickgewegung nach unten wird als Eingabeevent erkannt, aber nach oben nicht. Ganz besonders wundert mich so ein Verhalten bei Trine 2: Mit dem Vorgänger alles funktionstüchtig, aber beim zweiten Teil alles kaputt? Warum sollte ein und dasselbe Entwicklerstudio ein funktionierendes Konzept über den Haufen schmeißen? Deswegen tippe ich darauf, dass mehrere Studios irgendwelche Standard-Bibliotheken nutzen und genau da sich (in neuere Versionen?) Fehler eingeschlichen haben, bzw. zu deren Abhilfe einstellbare Konfigurationsdateien bereitstehen...

Lucki
Bild des Benutzers Lucki
Offline
Beigetreten: 05.12.2011
Beiträge: 248

Ich kenn mich da nicht aus, doch dass die Achse nur in eine Richtung anspricht könnte bedeuten, dass sie als Trigger erkannt wird.
Vielleicht ist die Keymap/Keylayout falsch.
Gibt es denn für den (gute) Linuxtreiber?
Hast du schon einmal den Hersteller kontaktiert?

Das wären so Sachen, nach denen ich suchen/erkundigen würde.

mitscherdinger
Bild des Benutzers mitscherdinger
Offline
Beigetreten: 13.09.2010
Beiträge: 155

Oh sorry! Hab mich lange nicht gemeldet!

Der Treiber kommt nicht vom Hersteller - es ist ja ein gewöhnliches, standardisiertes Bluetooth-Gamepad.
Wer ist da jetzt zuständig: Die Leute vom Bluetooth-Stack oder die Kernel-Entwickler?

oxid2010
Bild des Benutzers oxid2010
Offline
Beigetreten: 08.03.2011
Beiträge: 39

Hallo, hier mal meine Erfahrung mit den Gamepads, ich habe 2 Logitech RumblePad 2 Pads 1x (Wireless) sowie 2 CSL Pads. Ewig habe ich versucht diese richtig zu konfigurieren. Jetzt habe ich auch mal einen X-Box Controller probiert und zumindest unter Steam funktioniert jetzt alles perfekt. Mit den anderen Controllern konnte ich zwar in dem BigPicture Modus von Steam navigieren und dort wurden auch die Tasten erkannt, selbst der Controllername wurde richtig angezeigt als ich dort in den Einstellungen den Controller einrichten wollte, wenn es dann aber darum ging die Tasten zuzuweisen, wurde die Eingabe ignoriert. Manche Spiele, z.b. GangBeast reagierten sogar überhaupt nicht auf einen anderen Controller als den der X-Box.
Schade zwar das ich jetzt ein M$-Produkt nutzen muss, aber inzwischen habe ich mich an den Controller gewöhnt und bin sogar ganz zufrieden damit.
Eben noch getestet, auch SuperTuxKart (ohne Steam) läuft ohne einrichten perfekt mit diesen Controllern.
Bei Trine 2 funktionierte das Spiel gar nicht mit einem anderen Controller, da witzigerweise im ersten Level die Spielfigur (Amadeus) nicht geladen wurde...

Mastodon