Ich habe drei USB-Joystick-Geräte angeschlossen. Diese belegen /dev/input/js0 bis js2.
Offenbar suchen manche Spiele nur nach einem Gerät bei js0. Wenn mein Gamepad als js0 angeschlossen ist, funktioniert es, wenn es eine andere Adresse zugewiesen bekommt, ignoriert das Spiel den Controller. Ein anderes Spiel findet zwar alle Controller, aber die Tastenbelegung kommt völlig durcheinander, wenn der Joystick plötzlich anstelle von js1 bei js0 liegt.
Ich bin mir nicht sicher, warum die Belegung überhaupt wechselt. Ich habe die Geräte an einem externen USB 3.0-Hub angeschlossen und manchmal ist die Reihenfolge eine andere.
Kann man die Adresse für die Geräte irgendwie festlegen oder zumindest im laufenden Betrieb ändern. Ich bin vorsichtig, ehe ich mit einer einfachen Befehlsfolge wie
1 2 3 4 | mv /dev/input/js0 /dev/input/js3 mv /dev/input/js1 /dev/input/js0 mv /dev/input/js2 /dev/input/js1 mv /dev/input/js3 /dev/input/js2 |
herumexperimentiere.