Mi Box and Wireless Xbox 360 Controller

by morpheousmarty

So most software I try seems to map this gamepad incorrectly. Goat Simulator and retroarch both are unusable due to the gamepad mapping being completely unusable (Goat simulator is particularly bad with it requiring me to hit L Trigger to stop the camera from spinning). Gamepad works great on my PC. Can anyone confirm the issue and/or has any tips on getting retroarch working?

neoman4426

This is unfortunately an Android wide problem that to my knowledge can only be fixed with root. What's happening is there's no keylayout file defined for the wireless 360 controller so it's dropping to generic.kl. For whatever reason generic.kl has some odd mapping when using Xbox style controllers, such as the one you noticed where the axes for the right stick are mapped to the triggers, with completely unpressed being read as completely negative for each axis. Unfortunately the easiest way to "fix" it is using a different controller. First party wired 360 controllers have a mapping, and most Bluetooth controllers marketed as Android compatible at the very least should work

==EDIT== No way to get root access except on a specific really old build if I recall correctly, but for the sake of completeness I'll include the fix, if you have root access you can find the USB IDs of your receiver (run lsusb from a terminal or a Linux computer, I think Windows will show them in the driver section or something), copy the one for the wired 360 controller (if I recall 045e is Microsoft's USB ID vendor code so it should be one that includes that) to match the ones for your receiver, make sure permissions match, and reboot. Path for them is /system/usr/keylayout/. Looked it up before submitting again, and the file is /system/usr/keylayout/Vendor_045e_Product_028e.kl

flipside1o1

Hmm, I think you have a number of similar but different issues. I use wireless xbox controllers on both the MiBox and Shield and games play fine (skyforce, asphelt 8 and others) though I haven't tried goat simulator, if i can trial it i'll give it a go.

Retroarch has its own internal mapping and in the past I had to do some config changes - see here https://forums.libretro.com/t/xbox-360-wireless-receiver-1118-1817-not-configured/8446/4

One of the main issues is that no vendor uses an up to date x-pad kernel driver (now that could be as they want you to buy their own controllers but that would be pure conspiracy theory huh :))