How to pair a Wireless Xbox 360 Controller and fix Camera Spin

Search This thread


Oct 16, 2015
Please help
mido:/ $ su
mido:/ # cd /system/usr/keylayout/
mido:/system/usr/keylayout # mount -o remount,rw /system
mount: '/dev/block/bootdevice/by-name/system'->'/system': Device or resource busy
1|mido:/system/usr/keylayout #

Type it this way: mount -o rw,remount /system
Ran into the same problem, this worked for me.

Hey sleeplessninja, this did work for me at first, but once I press the triggers they still control the camera and when released begin spinning again. I tried at first just copying the KCM but then copied your 291.kl and redid the process to the same result, anything you could think of? Running shield TV stock rooted with xbox360 wireless dongle

Edit: I'm going to run a logcat of my dongle connecting to make sure I get the same ID/Product as you show here.

edit2: I used dmesg to see buffer when I connected my own dongle, it shows the same as 045e and 0719. I'm going to try overwriting my own 719 with your modified one then changing permissions to 644 via es file manager. rebooted and still no dice. rip me I'm going to bed and using a DS3 tomorrow.
Last edited:
  • Like
Reactions: tomo92s


New member
Dec 2, 2017
It doesn't work on Meizu MX5. This is what i tired so far: did the tutorial step by step (obiously), changed the generic.kl file (added lines from your file), .kmc file was missing so i pasted it and tried various names, such as 'Xbox 360 Usb Controller', 'Xbox Wireless Controller', etc. I also tried to just copy the Vendor_045e_Product_028e.kl file and rename it, as it was already present on my device. Unforunately, none of these help. The controller acts like on your video, when i try to pair it with receiver but does nothing on phone (in-game too) and apps like Gamepad Tester aren't detcting it (Vendor??? Product???).


New member
Oct 10, 2016
This keylayout files always worked on my Oneplus One but now, on my Google Pixel 2 XL with Pie the right stick and the left trigger don't work well. Pressing the left trigger the camera start moving on the right, releasing it the camera start moving to the left with no possibily to stop it. The right stick works only if i move it to the left or right but the camera move up and down. It seems that Android doesn't recognize the new keylayout. Any idea?


New member
Aug 14, 2018
My device
Samsung galaxy s8 exynos android 9 not rooted
Wireless xbox 360 controller with the wireless adapter
I have this issue where in games menus and altogether my camera keeps spinning around and goes up and when I press my bumpers I either starts moving left or right. In menus it keep scrolling up for example in minecraft when I scroll down a menu it keeps scrolling up and if I scroll down with my joystick it stops, like if I was holding up and down at the same time.
This isn't a controller problem because on my pc it works perfectly fine no delay just like it should.
Please help I'm having a hard time with this.


Feb 5, 2014
Nothing worked for me...
But. .
My only and easiest solution was to install Magisk and 1controller module, a pity it doesn't exist as APK, good luck in installing Magisk

Top Liked Posts

  • There are no posts matching your filters.
  • 92
    Video that demonstrates the setup, show an example of the problem, the steps to solve the problem, and the working solution!!!

    So first lets just talk about the Hardware Setup.

    • Xbox 360 Wireless Controller
    • OTG Cable.
    • Xbox 360 Wireless Dongle (This is meant for the PC but also works on the Android, and quite lovely on emulators)

    This setup alone works well for allot of the emulators out there, however some of the games are not working with the controller, for instance GTA3 , Dead Trigger, Shadowgun and others. So by reading the logcat I was able to figure out a solution. Snippet of logcat below

    07-22 19:55:48.039 350 405 D EventHub: No input device configuration file found for device 'Xbox 360 Wireless Receiver'.
    07-22 19:55:48.059 350 405 I EventHub: New device: id=4, fd=269, path='/dev/input/event3', name='
    360 Wireless Receiver', classes=0x80000341, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=false

    <6>[ 117.819812] usb 2-1: new full speed USB device number 2 using tegra-ehci
    <6>[ 117.873142] usb 2-1: New USB device found, idVendor=045e, idProduct=0719
    <6>[ 117.873219] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    <6>[ 117.873337] usb 2-1: Product: Xbox 360 Wireless Receiver for Windows
    <6>[ 117.873403] usb 2-1: Manufacturer: ©Microsoft
    <6>[ 117.873518] usb 2-1: SerialNumber: FE425DB0

    So when i searched through the /system/usr/keylayout/ I saw there was a profile for the xbox 360 wired controller so I thought why not copy the profile and name it a wireless xbox controller. This idea worked. You name keylayouts by Vendor ID and Product ID which I also was able to get from the logcat. What is nice about this is I think we can use this to solve issues with other controllers as well, but I don't know of any that are also having problems.

    For this solution a rooted Nexus 7 is required. I already have a step by step video on rooting if you need the help on the nexus 7. but after obtaining root you need to enter into the Android Shell (i was using Terminal Emulator for Android on the Nexus 7 downloaded from the google play store ) . I entered this commands to get this all setup.

    • su
    • cd /system/usr/keylayout/
    • mount -o remount,rw /system
    • cp Vendor_045e_Product_0291.kl Vendor_045e_Product_0719.kl
    • chmod 644 Vendor_045e_Product_0291.kl
    • chmod 644 Vendor_045e_Product_0719.kl
    • exit
    • exit

    Restart System and Enjoy!!!!

    UPDATE 2
    I attached the Key Character Mapping file as well. This is found in /system/usr/keychars . For nexus 7 users this isn't necessary but some other devices have different generic .kcm so this is needed (in the process of being confirmed) PLEASE NOTE THE .KCM Extension

    Some of you do not have the Keylayout file for even the USB Xbox Controller, I am attaching the file (it needs to be unzipped), you will need to paste it into the /system/usr/keylayout/ folder. You also could rename this to the Wireless Xbox Controller Vendor and Product ID and copy it 'Vendor_045e_Product_0719' .
    Update 2: When copying the file you still need to mount the Systems folder using the command listed above: "mount -o remount,rw /system" and also remember to modify its priveledges using the
    "chmod 644 Vendor_045e_Product_0291.kl"
    Modified Key Layout - DPad as buttons

    Hey guys, I've modified the .kl file for the xbox 360 controller so that the dpad is now getting mapped to buttons.
    I've tested it and the dpad now works in Conduit (it wasn't working for me before).
    The dpad now works in the android gui as well as in emulators (I tested in snesoid).
    It should theoretically work better in most games.

    Just install it the same way as in the original post.
    So, i was a bit tired of editing this every time by hand if i updated my Rom on my Nexus 7 so i tried to write my first and i thought i share it here.
    This zip doesn't contain the kcm file, so if you need it on your device you probably have to add it for yourself. Everything else should work fine, i flashed it a few times myself.

    You should add the following lines to the .kl file to get the d-pad working (needed for GTA):

    key 704 DPAD_LEFT
    key 705 DPAD_RIGHT
    key 706 DPAD_UP
    key 707 DPAD_DOWN

    Regards, Adam.