Steuern Sie die Benutzeroberfläche mit einem USB-Gamepad

Wie kann ich die Android-Benutzeroberfläche (insbesondere Zurück- und Home-Taste) auf Android 6 mit einem USB-Gamepad steuern?

Ich habe die Docooler R39 Android TV Box (mit 6.0) und ein billiges generisches USB-Gamepad mit der USB-ID 0079:0006 ("Dragonrise Controller"). Leider löst jede Taste (mit Ausnahme von Steuerkreuz und linkem Joystick, mit denen ich den Auswahlfokus in den meisten Apps und der System-Benutzeroberfläche verschieben kann) eine „Auswählen“-Aktion aus, sodass ich immer noch eine USB-Tastatur benötige, um die volle Kontrolle zu haben, um „zurück“ zu gelangen. , "Startseite" und "Letzte Apps" funktionieren.

Auf anderen Plattformen, zB Kodi auf Linux oder LibreELEC auf Raspberry Pi, kann ich alle Buttons desselben Controllers mappen. In Kodi für Android wird jedoch nur das Dpad von der App erkannt. Dasselbe Problem in Emulator-Apps wie Mupen64plus für Android. Auf meinem Galaxy S5 mit Android 7.1 habe ich das gleiche Problem mit diesem Controller.

Ich weiß, dass Android die offizielle Gamepad-Unterstützung in etwa 5.0 eingeführt hat, aber es scheint keine vollständige UI-Navigation mit meinem Controller zu unterstützen und stattdessen alle Gamepad-Aktionen abzufangen.

Sowohl mein Telefon als auch die TV-Box sind gerootet, falls das beim Ändern des Mappings hilft.

Antworten (1)

Ich verwende ein Xbox 360 USB-Gamepad und es ordnet die Xbox- und Zurück-Tasten Android Home und Back zu. Ich wünschte, es wäre nicht so, es ist sehr ärgerlich, dass Chrome zurücknavigiert, wenn Sie versuchen, ein Spiel zu spielen! Das heißt, es hört sich so an, als würde es für Ihren Fall perfekt funktionieren.

Gamepad->Keycode-Zuordnungen auf Android werden in .kl-Dateien konfiguriert. Es sieht so aus, als hätte Android keine Zuordnung für DragonRise 0079:0006, also müssen Sie vielleicht nur eine erstellen. Hier ist die Datei für die Xbox 360 USB:

https://android.googlesource.com/platform/frameworks/base/+/master/data/keyboards/Vendor_045e_Product_028e.kl

Also kann ich einfach meine benutzerdefinierte .kl in /system/usr/keylayouts einfügen und neu starten oder muss ich Android neu erstellen?
Gerade ausprobiert und es funktioniert!