A couple of years back, Microsoft released a Bluetooth-compatible version of the Xbox One controller, and cemented the company's game control responsibility. But when it came to using one with an Android device, there was a big catch: button mapping was broken in comparison to other controls. According to a recent change in Google's bug tracking, this issue has been solved in Android P.
The issue was flagged as determined by a googler a few days ago August 22nd. In the same comment, they pointed to an entry on Google Git for Android P that apparently provides the solution. As far as we can tell based on the listing, it was the result of an incorrect supplier or product ID for the controller, which resulted in Android loading an incorrect set of button maps for the device.
The same comment also warns that not all devices can be solved. There are two other comments in the problem tracking that indicate that there is another ID for the controller floating around, so the change probably has no effect on models using that ID.
Testing via USB if mapping was resolved for another controller with A similar problem, we could not connect device via OTG on Android P.
While we tried to test this change to ourselves, the Xbox Elite- My controller is not Bluetooth compatible, and may not be among those affected by the original problem. By testing it on older devices running Oreo via USB OTG, I noticed that button mapping seemed broken in some game titles. We're not sure if the issue is linked to the fix that is fixed here and I can not get the controller to work with some Android P devices via OTG (which may be a separate issue in itself) .
Third party confirmation on Reddit, so some reviewers are definitely resolved by the change in Android P, but some gamepads using the unknown new ID can still be affected.