Given that the majority of Android devices are smartphones or tablets, it makes reasonable that touchscreen controls are used in the great majority of Android games. However, the list of Android games that can be played with a controller is increasing, and it will only get bigger as the operating system supports more form factors. Additionally, Android users may now play a lot of non-touchscreen games that aren't available on the platform due to the growing popularity of cloud gaming. Google is developing new capabilities for Android 17 that will give players more control over button pushes in order to further bridge the gap between various input modalities.
Android's approach to gaming controllers
Your Android device's operating system recognizes a USB or Bluetooth gaming controller as an input device and records the events generated by button presses. These presses are converted by Android into particular key codes and axis values, which correspond to in-game movements and actions in compatible games.
Android maps these input events using specified configuration files. The OS looks up the vendor and product ID of the controller to decide which configuration to employ. Android only keeps files for the most widely used gear, like authentic Xbox controllers, because it is impractical to create customized setups for every controller available.
However, this does not imply that Android will not function with specialized peripherals. To make sure Android and other operating systems detect their inputs, many providers imitate the controller schemes of well-known brands. Because of this compatibility strategy, Android may be used with a wide range of controllers straight out of the box.
But some players might not like how the buttons are mapped in certain games or how they are arranged by default on their controllers. Customizing controls can be done for a variety of reasons.
Accessibility: To make key features more accessible, buttons may need to be redesigned for users with disabilities.
Ergonomics: Players who want to lessen hand strain could favor pressing buttons that need less force over high-frequency activities.
Competition: To increase reaction times, professional players may map particular actions to particular buttons.
Muscle memory: Retro game enthusiasts and platform switchers frequently seek to match the layouts they are most familiar with.
Regretfully, button remapping is not supported by Android by default. Rather, it depends on certain games to offer remapping choices. The majority of regular Android games do not include this, while several emulators do. In order to tailor their inputs, users have been forced to rely on third-party programs for years. However, these tools frequently use hacky solutions involving ADB or the Accessibility API to intercept and remap key presses. These techniques are inconsistent across various devices and games and involve extra overhead.
Thankfully, I've found proof that Google is attempting to add native controller remapping to an upcoming Android release. The most recent Android Canary release, which provides a sneak peek at future features and APIs, contains this proof.
