(root) How to get Xbox One Bluetooth Controller working natively

by felipefidelix

By default, the Xbox One bluetooth controller pairs just fine, but the mappings don't work.

The first thing you need to do is get a Windows PC, install the Xbox Accessories app and upgrade the firmware of your controller. You can do the same from an Xbox One console if you have it. Now it will sync properly with your Android device, but the key mappings will be completely wrong.

One way to fix it (if you have root) is to download the attachment here:

https://code.google.com/p/android/issues/detail?id=219859

And place it in /system/usr/keylayout/

I installed " Minimal ADB and Fastboot " to be able do that.

Enable developer mode on your Android device.

Then enable USB debugging.

At some point when you are doing the next steps,a popup requesting you to allow a device to debug should show up. Let it.

Steps

adb devices
adb shell
su
mount -o rw,remount,rw /system
cp /path/to/my/file /system/usr/keylayout/
chmod 644 /system/usr/keylayout/Vendor_045e_Product_02e0.kl 
reboot

This was the only way I was able to get proper permissions to copy.

ES Explorer root couldn't, neither could Total Commander root.

This worked 100% for me on the Nvidia Shield TV. Tested it myself with Gamestream, Kodi (SPMC) and a couple other games.

[deleted]

I guess my biggest question is, why? Why not just use an nvidia controller? It comes with the shield

TotesMessenger

I'm a bot, bleep , bloop . Someone has linked to this thread from another place on reddit:

^(If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads.) ^( Info ^/ ^ Contact )

updawg

If I want to root my device - do I have to wipe everything that is currently installed?

_R2-D2_

How's the lag on this controller vs. the Nvidia one? Any difference?

diagonali

Is the keymap likely to be fixed in the next update from Nvidia? I'd really prefer not to have to unlock the bootloader and root for this if it's simple for Nvidia to fix and they likely will with Nougat?

I3igAl

I just bought this controller updated it first thing. Pairing it to any of my devices (four different phones, my Nvidia Shield tablet) is a major pain in the ass. it takes multiple attempts to successfully pair the controller, but after i turn off bluetooth or the controller, it will never reconnect unless i delete the pairing and start over.

mrdude42

This worked for me. I rooted my Shield K1 tablet and was able to manually copy the .kl file in /system/usr/keylayout and it works great. Thanks!