Linux erkennt, dass eine Joypad-Taste gedrückt wurde, auch wenn keine Taste gedrückt wurde

Linux erkennt, dass eine Joypad-Taste gedrückt wurde, auch wenn keine Taste gedrückt wurde

Ich habe ein sehr seltsames Problem auf meinem Arch Linux-Rechner. Nun, ich habe es schon seit ein paar Jahren, aber da ich Joypads nicht sehr oft benutze, habe ich es beim ersten Mal einfach ignoriert. Es ist ein sehr seltsames Problem, also lesen Sie sorgfältig.

Vor einiger Zeit habe ich versucht, mit meinem Xbox 360-Pad einige alte PSX-Spiele auf Emulatoren zu spielen (keine Sorge, es waren Originaldisketten). Als ich versuchte, das Pad zu konfigurieren (mit dem xpad-Kernelmodul), meldete mir der Emulator (PCSX läuft nativ), dass der rechte Trigger gedrückt gehalten wurde, wodurch die Konfiguration der anderen Tasten unmöglich wurde (da jede Taste, die ich zu konfigurieren versuchte, immer dem rechten Trigger zugewiesen wurde).

Ich habe einen anderen Emulator ausprobiert, ePSXe, der unter Wine läuft (und dann ePSXe nativ), und hatte das gleiche Problem. Zu diesem Zeitpunkt war ich bereits äußerst misstrauisch. Ich verwende einen originalen, perfekt funktionierenden kabelgebundenen Xbox 360-Controller und ein XPad, das von allen anderen verwendet wird. Warum sollte es nicht funktionieren? Trotzdem habe ich nicht aufgegeben und alternative Lösungen ausprobiert, wie den xboxdrv-Userspace-Treiber. Ohne Erfolg. Dann habe ich aufgegeben, da ich deswegen nicht schlaflose Nächte haben wollte.

Ich habe mir vor Kurzem einen USB-Adapter für PS2-Controller gekauft. Ich habe ihn eingesteckt, versucht, ihn auf den Emus zu konfigurieren und ... was? Sie sagen mir immer wieder, dass die R2-Taste (die sich an derselben Position befindet wie der rechte Trigger des X360-Controllers) gedrückt wird! Wie hoch ist die Wahrscheinlichkeit, dass zwei voll funktionsfähige Controller dasselbe Problem verursachen, wenn sie unterschiedliche Treiber und unterschiedliche Software verwenden? Zumindest ist jetzt klar, dass es nicht an der Software des X360-Pads oder des Xpads oder des Emulators liegt.

Nachdem ich alle diese Verdächtigen ausgeschlossen habe, fällt mir nur eine einzige Erklärung ein, nämlich, dass das Joypad-Modul des Kernels defekt ist. Aber ich habe nie Konfigurationsdateien bezüglich Joypads angefasst und mein Kernel ist der Standardkernel aus den Arch Linux-Repositories. Können Sie mir bitte bei meinem Problem helfen? Ich habe viel Zeit und Geld in dieses spezielle Problem investiert.

Warum erkennt es immer dieselbe Taste (den rechten Trigger/R2), obwohl es sich technisch gesehen um unterschiedliche Tasten handelt, die von unterschiedlichen Joypads mit unterschiedlichen Treibern stammen (obwohl ich glaube, dass xpad die Eingaben nur für das Joypad-Modul des Kernels „übersetzt“)? Bedenken Sie, dass die anderen Tasten korrekt funktionieren. Ich habe es einmal geschafft, sie manuell zuzuweisen, und jede einzelne davon hat funktioniert, solange ich dem rechten Trigger/R2 keine Funktion zugewiesen habe.

Warum sollte das bei mir nicht funktionieren, wenn ich keinen modifizierten Kernel verwende und noch nie eine Konfigurationsdatei für das Joypad angefasst habe? Hat jemand anderes dieses Problem schon einmal gehabt? Ich weiß nicht einmal, was ich in die Suchmaschine eingeben soll. Vielen Dank fürs Lesen.

Antwort1

Es sieht so aus, als ob es ein Problem mit den XPad-Modulen geben könnte, allerdings nur insoweit, als dass Ihre Controller möglicherweise nicht erkannt werden und daher in den Modus „Unbekanntes Pad“ wechseln.

Sie können die Funktionsweise des Moduls mit drei Parametern ändern:
+Steuerkreuz zu den Tasten: D-PAD für unbekannte Pads eher Tasten als Achsen zuordnen
+Auslöser zu Schaltflächen: Trigger für unbekannte Pads eher Tasten als Achsen zuordnen
+bleibt bei Null: Keine Sticks für unbekannte Pads zuordnen

Durch Hinzufügen/Ändern einer Zeile in einer Datei in/etc/modprobe.dkönnen Sie diese Parameter festlegen/zurücksetzen.

Erstellen Sie eine Datei in/etc/modprobe.d, es MUSS mit ' enden.conf', andernfalls wird es nicht als Konfigurationsdatei erkannt.

Fügen Sie in diese Datei die folgende Zeile ein:

options xpad {option} [{option}...]

Fügen Sie nach Bedarf Optionen hinzu oder entfernen Sie diese. Ich empfehle, diese auszukommentieren (#) die Zeile, wenn keine Optionen aufgelistet sind, oder löschen Sie die Datei einfach vollständig.

Sie müssen wahrscheinlichrmmodDiexpadModul, dannModprobeum es mit den neuen Optionen neu zu laden.

Wenn die Optionen nicht erkannt werden, müssen Sie möglicherweisedepmod -aum die Modulabhängigkeitstabellen neu zu erstellen.

Welche Parameter für ein Modul gültig sind, sehen Sie imModinfoBefehl.

verwandte Informationen