[Asus  Eee Pad Transformer Prime] thermodynamicist:
First off, all of this info is available elsewhere, I just thought I would condense it into a single step by step guide that anyone could use. Major thanks to sleeplessninja who solved the problem here: http://xdaforums.com/showthread.php?t=1792531

So you got an xbox 360 controller from gamestop or some other third party manufacturer. Unfortunately when you started trying to use it, it almost works, but not quite. Maybe you're spinning in circles in an FPS like Dead Trigger, or a game like SoulCraft is just acting weird. The problem is that your controller's analog stick is missmaped to the triggers. This is happening because while the Transformer Prime has a button map for genuine Microsoft xbox 360 controllers, it does not have ones for all of the various generic or third party brand controllers. The solution is that you can copy the genuine keymap to use with your off-brand controller.

The steps required are thus:

1. Root you tablet.

2. Install utilities.

3. Perform terminal operations.

ONE: Rooting

Do a search for Kingo, and follow their instructions on how to root.

If you do not have the necessary driver for your pc you can get that here: http://xdaforums.com/showthread.php?t=1426502

TWO: Utilities

After you have successfully rooted your tablet you will need to get a couple utilities to make the necessary changes. Fortunately they are both available from the play store.

1. A terminal emulator. Any of the ones available in the play store will probably work. I searched for "terminal" and installed the first one.

2. BusyBox. This includes the commands we need to get the job done. I got one from the play store called BusyBox Free that worked just fine.

When these are installed we can move on to actually fixing the problem.

THREE: The Terminal

So what we are trying to do is create a copy of a file called Vendor_045e_Product_0291.kl but rename it so that the vendor and product IDs match the controller you are using. To do this we will use the command lsusb.

1. Open your terminal emulator and with the controller unplugged type lsusb and press enter. You will get an output that looks like this:

Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 009: ID 05e3:0610

Then plug in your controller and use lsusb again. This time you will get an output that in my case looked like this:

Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 009: ID 05e3:0610
Bus 001 Device 011: ID 1bad:f902

The new device is the controller that you just plugged in, and the eight digits at the end are the vendor and product IDs that we need. In my case it is a GameStop branded controller, Vendor ID: 1bad Product ID: f902. I will use these throughout the rest of this guide, but you should use the ones that match your device.

2. Enter the following commands, pressing the enter key after each line.

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

You will have to authorize root access for your terminal app after you enter the su command, but everything should go smoothly after that. In the world of terminal commands, no output is the norm, so don't freakout if you just get a new prompt after pressing enter.

3. That's it! Reboot your tablet and you should be good to go!

Note that I have only tested this with my GameStop wired xbox 360 controller, but it should work with any controller made for the 360, or even the Microsoft wireless usb receiver.

I hope this helps!