Control UI with USB gamepad How can I control the Android UI (especially back &amp; home button) on Android 6 with a USB gamepad?

I have the Docooler R39 Android TV Box (running 6.0) and a cheap generic USB gamepad with the USB ID 0079:0006 ("Dragonrise Controller"). Unfortunately, any button (except for dpad and left joystick, which I can use to move selection focus in most apps and system UI) triggers a "select" action, so I still need a USB keyboard to have full control to get "back", "home" and "recent apps" working.

On other platforms, e.g. Kodi on Linux or LibreELEC on Raspberry Pi, I can map all buttons of the same controller. However, in Kodi for Android, only the dpad gets recognized by the app. Same issue in emulator apps like Mupen64plus for Android. On my Galaxy S5 running Android 7.1 I have the same problem with that controller.

I know Android introduced official Gamepad support in like 5.0, but it doesn't seem to support full UI navigation with my controller and instead intercept all gamepad actions.

Both my phone and the TV box are rooted, if that helps with changing the mapping.
I use an Xbox 360 USB gamepad and it maps the Xbox and Back buttons to Android Home and Back. I wish it wouldn't, it's very annoying to have Chrome back-navigate when you're trying to play a game! That said, it sounds like it would work perfectly for your case.

Gamepad->keycode mappings on Android are configured in .kl files. It looks like Android doesn't have a mapping for DragonRise 0079:0006 so maybe you just need to create one. Here's the file for the Xbox 360 USB:

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