Hey ho!
Ich habe ein mehr oder minder witziges Problem. Ich möchte gerne Rocket League spielen und hab ein meinen XBox360 Controller angeschlossen. Das Spiel läuft auch, erkennt auch den Controller, aber nicht für Spieler 1. Hintergrund ist, dass die Entwickler von Rocket League nur den Controller mit der ID 0 für den Spieler 1 zulassen, soweit ich weiß ist das hardgecodet.
Dann denkt man sich, dass einer das angeschlossene X-Box 360 Gamepad doch funktionieren müsste, ist schließlich erst mal das einzige angschlossene Gamepad. Entnommen aus den KDE System Settings konnte ich dann herausfinden, dass u.a. meine Maus daran Schuld ist:
Mad Catz Mad Catz M.M.O.7 Mouse (/dev/input/js0)
(Falls hilfreich: Ja das ist eine ziemlich spezielle Maus, und ja ich habe dafür in /etc/X11/xorg.conf.d/ eine Datei namens 910-rat.conf angelegt damit diese überhaupt erst funktioniert ohne das wirklich komische Dinge passieren: Falsche Button-Zuweisungen und fehlerhaftes Button-Release mit Folge, dass keine Klicks mehr registriert wurden, durch entsprechendes Mapping und Auto-Release behoben. Den Inhalt der Datei kann ich gerne nachreichen, falls benötigt)
Mein X-Box 360 Gamepad befindet sich an nächster Stelle:
Microsoft X-Box 360 pad (/dev/input/js1)
Und danach kommt noch mein Wacom Tablett:
Wacom Intuos PT S 2 Pad (/dev/input/js2)
Ich könnte jetzt mit udev Regeln einfach festlegen, dass es den Controller auf /dev/input/js0 legt. Sobald ich dann allerdings meinen zweiten Controller anschließen sollte, von der Bezeichnung her identisch, wird er wahrscheinlich den ersten überschreiben mit dem Resultat, dass nur einer von zwei angeschlossenen Controllern funktioniert. Für den Fall dass ich mit nem Freund zusammen spielen möchte brauche ich aber beide.
Gibt es eine Möglichkeit, dass für alle diese angeschlossenen Geräte erst mal X-Box 360 Gamepads priorisiert werden, danach alle anderen Geräte zugewiesen werden und bei hinzufügen weiterer (z.B. X-Box 360) Gamepads diese einfach automatisch eine freie Nummer zugewiesen bekommen? Also im Grunde unter allen bereits angeschlossenen Geräten meine Wahl priorisieren und danach wieder default Verhalten?
Falls das mit udev Regeln geht, wäre ich über ein Beispiel dankbar.
Als alternative zur Laufzeit die Zuweisungen ändern zu können, ohne dass ich Geräte abziehen und neu einstecken muss, wäre auch ok (Aber da sagte mir eine Google-Suche, dass sei quasi unmöglich).
Ansonsten gebe ich natürlich gerne noch weitere Informationen, wenn gewünscht.
lg.
Antarctris