With the rise of mobile and cloud games, Google is finally looking to improve the controller rumble situation on Android. Currently, if you connect a game controller to your Android device via USB or via Bluetooth, it is likely not to vibrate like it would when playing on a console. This is because Android only provides minimal support for connected vibrating input devices – it’s on or off. After announcing in October that the company was considering adding proper rumble support, we’ve now spotted code commits that improve game controller rumble.
When we first highlighted this issue in October, we initially noted that Android did not have an API to generate vibrations on external devices like a connected game controller. Turns out that’s not quite true, as the development statuses of Switch hackers and emulators have pointed out to us that Android offers rudimentary support to vibrate externally connected devices. The problem with the current implementation is that developers cannot control the amplitude of vibrations or generate custom vibration effects on connected devices, resulting in below-average haptic feedback. As it stands, it’s better not to have haptic feedback rather than bad haptic feedback.
Fortunately, Google finally decided to tackle this problem a few months ago, and its engineers submitted pledges to AOSP seeking to improve support for input device rumbles. The code changes add support for amplitude control and pave the way for the generation of custom vibration effects. Not all game controllers will be supported because the gamepad driver must support force feedback on Linux, but the majority of game controllers should work. This will be useful to support the rumble in games that have been designed for it, which includes many console games accessible to mobile gamers through cloud game services such as Google’s Stadia, NVIDIA’s GeForce NOW, xCloud of Microsoft, etc.
As these commits haven’t been merged yet, we don’t know if the improved game controller rumble will make its way to Android 12. However, it is possible that this feature has already been merged internally and Google is only downloading. now commits to the public AOSP repo. Alternatively, Google can merge these changes over the next few days or weeks, giving them plenty of time to propagate into Android 12.
Featured Image: ASUS ROG Phone 3 with ROG Kunai 3 Game Controller