Years after the smartphone boom, there are hundreds of different Bluetooth controllers for Android. Most of them work just fine out of the box, but there are exceptions, like Microsoft’s new Bluetooth-equipped Xbox One S controller.
The controller connects fine, but due to Microsoft’s firmware, the buttons are all scrambled and you can’t play standard games easily. If you want to manually edit the inputs for your controller, you’ll need a rooted phone, a file explorer with root abilities (we’ll use Root Explorer) and a bit of experience editing system files.
Connecting your Xbox controller directly to your Android phone, is very easy to do. You don't need anything. PSA: Update your Xbox One Controller Firmware 1 / 2 [b]THIS APPLIES TO FW VERSION 3.1.1221.0 AND HIGHER, 3RD GEN XBOX ONE CONTROLLER AND NEWER[/b] The recent firmware update for the Xbox One Controller changes the bindings for it over Bluetooth (I don't have older controllers to see if wired does the same).
NOTE: If you can’t root your phone (or simply don’t want to), you still have options—albeit more limited ones. Any game that allows you to manually remap the controller configuration, including almost any retro console emulator, should be able to work with the Xbox One S controller after changing the configuration. However, to get it working properly with any game, you will need root.
When the updated One S controller first came out, some enterprising Android users created a custom layout file that corrects the scrambled button input. It’s hosted on Google’s Issue Tracker, here: press the “Download” button under “Vendor_045e_Product_02e0.kl”. This is a custom keyboard layout file that you’ll place in the System partition of your phone.
Download the file directly to your phone, or copy it from your computer to your phone over USB. On Chrome, the file should download to the default Download folder.
Open your root-enabled file explorer and navigate to the file you just downloaded (by default, it’ll probably be in /sdcard/download
). Select and copy the file.
Now head for the folder holding the keyboard layout files, /system/usr/keylayout
. Paste the file into the folder. If you get a root mount prompt from the app, accept it.
Once the file is in the correct folder, reboot your phone and re-connect the One S controller over Bluetooth.
Then, start up any game with controller support, and you should be able to play it normally!
If you also own an Xbox One and you’ve used your controller on your console, it may have updated the controller’s firmware automatically. If that’s the case, the modified layout might not work. Try renaming the layout file “Vendor_045e_Product_02fd.kl” and repeating the steps above. If that doesn’t work, check the permissions of the file and change the code to 644 (as shown above). Hopefully, that’ll get things up and running for you.
READ NEXTThe Xbox One controller is good. Some would even say it’s the best. A breakdown of the ergonomic differences between it and the PS4 controller are for another day. Today, we’re going to show you how to connect your Xbox One controller to Android, which will allow you to play all your favourite mobile games as they should be played.
Before we begin, you need to confirm whether your Xbox One controller is the newer model. Older Xbox One controllers use RF wireless technology to communicate with devices, while newer Xbox One controllers use Bluetooth, which means they’ll be able to connect via Bluetooth to your Android phone.
So how do you check this? Simple. The newer-style controllers look a little different, with a unibody face that doesn’t have a separate area of plastic around the Xbox button (see image below).
Pretty much any new Xbox One controller you buy today should have Bluetooth functionality. If you have the old RF controller, you can still connect your Xbox One controller to your phone via a micro USB to USB adapter.
If you are looking to connect your Xbox One Controller to other devices, here is the instruction for PC, Mac and Linux (Ubuntu)
If you do have the right controller, then congratulations, because connecting it wirelessly to your Android phone should be a cinch.
On your phone, go to your Bluetooth settings. (This may be called “Connected devices” in the Settings menu on more recent Android versions.)
Tap “Pair new device.” This will automatically switch on Bluetooth and start scanning for devices.
Next, hold the the Xbox button on the controller for about one second until it starts flashing, then hold the small black pairing button (between the bumper buttons) for about three seconds until the Xbox button starts flashing more rapidly. This means the controller’s Bluetooth is scanning for devices to connect to.
Back on the phone’s Bluetooth pairing screen, ‘Xbox Wireless Controller’ should appear as an option. Tap it and within seconds your phone should be paired with your controller.
In the future, if you want to reconnect your Xbox One controller to your Android device, all you need to do is switch on the controller, switch on Bluetooth on your phone, and it should pair.
If it doesn’t, you may need to go your phone’s Bluetooth settings (or “Connected devices”), tap “Previously connected devices,” then select “Xbox One Controller” from the list there.
If you connect your Xbox One controller to another device in the meantime, you may need to go through the pairing process to connect it again.
Once the Xbox One controller is connected, you’ll see that you can actually use it to navigate your Android device. The controls are pretty basic:
Movement: D-pad and left analog
Select: A, Y
Back: B, Xbox buttons
If you’re running an emulator for retro games, it should pick up that you’re using a gamepad and auto-assign controls (which you can then usually tweak within the app).
If you’re looking to use the controller with Play Store games, then annoyingly you just have to discover this on a game-by-game basis as there is no indicator on the Play Store with regards to whether the game uses a controller. Open the game, and see if the controller works. (You may need to go to the game’s settings to enable it.)
That should get you up and running with an Xbox One controller on Android, with the main caveat being whether you have the new or old model of the controller.