Android has long supported gaming controllers, but customisation options have been limited. Most Android games rely on touchscreen controls, while only a growing number of titles support USB or Bluetooth controllers. Third-party tools have existed to remap buttons, but these solutions are often unreliable.
When a controller connects to an Android device, the system maps button presses to particular in-game actions. Android keeps configuration files for popular controllers, like Xbox hardware; other devices make sure to emulate these layouts for compatibility.
However, it's generally left up to individual games whether buttons can be remapped or not. Accessibility, ergonomics, competition, and muscle memory are just a few of the reasons players often want to customise controls.
Evidence from the latest Android Canary release suggests that native controller remapping is being prepared for Android 17. A new Android framework: android.permission.CONTROLLER_REMAPPING is tied to a feature flag that allows platform-signed apps to modify button layouts.
A new game controller menu is also mentioned in the Settings app, which will likely be the hub that houses all connected controllers.
It seems that Android 17 debuts some form of "virtual gamepad" system software layer that represents a physical controller. This virtual device supports all standard inputs, including face buttons, triggers, joysticks, and the D-Pad.
The system could intercept button presses and output remapped commands that games understand natively.
Beyond remapping, this system may allow mapping on-screen touch controls to physical controllers, potentially expanding controller support to titles that lack native compatibility.