RetroPie: falsche Controllererkennung

  • Hallo,


    ich bin gerade dabei mir einen Raspberry Pi 3 Model B zu einer Retrokonsole einzurichten, benutze dabei RetroPie Version 4.2.
    Ich bin jetzt auf ein Problem mit einem USB-SNES-Controller gestoßen. Und zwar funktioniert dieser im Menü, aber sobald ich ein Spiel starte wird unten links folgendes eingeblendet:


    "100%: NES-style usb gamepad configured in port #0"


    Und genau dort liegt mein Problem. Im Emulator wird der Controller automatisch als NES-Controller erkannt und dadurch funktionieren nur 2 von den 4 Knöpfen auf der rechten Seite. Im Menü funktionieren alle Tasten und auf dem PC kann ich den Controller in den Emulatoren auch mit allen Tasten nutzen, da ich dort den Controller selber einstellen kann. Kann ich diese automatische Erkennung als NES-Controller ausschalten?


    Gruß
    cees86

  • Als was wird der Controller denn angezeigt, wenn du ihn im Menü konfigurierst?
    Also, irgendwas generisches oder eine Bezeichnung mit (S)NES im Namen?


    Ansonsten, hier ist die Konfiguration von Controllern beschrieben: https://github.com/RetroPie/Re…i/RetroArch-Configuration


    Und dann weiter unten: "This is an example config for a USB SNES controller:"



    Das Ganze steht in:

    Code
    /opt/retropie/configs/all/retroarch-joypads


    Ist natürlich nur eine Beispiel Config, aber vielleicht kannst du nach der Auto-Konfiguration, die bei dir stattfindet, mal in die Datei reinschauen, und nachsehen, ob überhaupt bei allen Einträgen was drin steht (speziell bei "input_x_btn" sowie "input_y_btn") und ggf. manuell nachbessern (?)

  • Beim Konfigurieren im Menü wird er als USB GAMEPAD angezeigt.


    In den Ordner "retroarch-joypads" komme ich nicht rein, obwohl er angezeigt wird. Es kommt eine Fehlermeldung in der steht, dass auf den Ordner nicht zugegriffen werden kann, dass ich eventuell keine Berechtigung hätte und mich an den Administrator melden soll (das bin ich selber). Und als letztes steht da "Der Verzeichnisname ist ungültig".


    Was ich heute festgestellt habe, ist dass diese automatische Erkennung nur bei Emulatoren auftritt, die mit "lr-..." beginnen. Nehme ich einen anderen Emulator, z.B. pisnes, dann passiert das nicht mehr. Allerdings weiß ich nicht wie ich den Controller für pisnes konfigurieren kann. Eine entsprechende config-Datei habe ich bisher nicht gefunden.

    Edited once, last by cees86 ().

  • Ich habe nun eine Lösung gefunden. Die cfg-Dateien für die Controller befinden sich im Verzeichnis "retropie/configs/all/retroarch/autoconfig". Dort befindet sich im Ordner udev u.a. eine Datei "usb_gamepad______(NES).cfg".


    Mein erster Ansatz war diese umzubennen, damit das System es nicht mehr finden kann und dann hoffentlich als nächstes auf den SNES-Controller (gleiche Dateibezeichung nur mit SNES) kommt -> erfolglos.


    Zweiter Ansatz war die NES-Datei mit den fehlenden Buttons zu ergänzen -> erfolglos.


    Dritter Ansatz war in der "retroarch.cfg". Dort finden sich die Zeilen "input_joypad_driver = udev" und "input_autpodetect_enable = true". Ich habe sowohl versucht autodetect auf false zu setzen, als auch beim joypad_driver von udev auf einen anderen Ordner mit eigener cfg-Datei zu verweisen -> erfolglos.


    Vierter Ansatz war den kompletten autoconfig-Ordner umzubennen in "autoconfig_original" und einen neuen Ordner zu erstellen und diesen "autoconfig" zu nennen. Dort habe ich noch einen Unterordner "udev" erstellt und dorthin nur die "usb_gamepad______(SNES).cfg" reinkopiert. -> funktioniert. Das System greift jetzt auf meinen neuen Ordner zu und ich brauche nur noch die Dateien zu meinen Controllern reinzukopieren. Habe es noch mit einem PS3-Controller getestet. Erst konnte keine Konfiguration gefunden werden, als ich diese dann in den neuen Ordner gepackt habe, lief alles normal.


    Die erfolglosen Ansätze habe ich hier mit reingeschrieben, falls jemand das gleiche Problem hat und evtl. eine bessere Variante findet. Ich denke über "retroarch.cfg" müsste es auch irgendwie funktionieren.

  • Oh wow, habe das Problem auch schon seit längerem und verschiedene Configs angepasst - leider ohne Erfolg. Werde die Tage mal deine Lösung ausprobieren..

    War schon kurz davor neue Controller zu kaufen.


    EDIT: Hab es gerade mal auf die schnelle ausprobiert. Leider ohne Erfolg. Kannst du mir vielleicht verraten, welche USB Gamepad.cfgs du in deinem neu angelegten ordner kopiert hast?