Many game developers have finally realized that in order for their games to be successful, they have to support Android. To really win Android users over, they should also accommodate us hardcore gamers who have OTG cables with the ability to hook up controllers to our devices.
Games like Dead Trigger and Asphalt already support gamepads, but many others are still touch only. Some will only work well with touchscreen input, like Blek, but action games like FIFA 14 can definitely benefit from an external gamepad. That lack of functionality can also be a problem to those who have an OUYA or NVIDIA Shield and actually need a controller.
Luckily, now there is Tincore, a keymapper that allows you to control your touchscreen with the buttons and analog sticks on your Bluetooth or hardwired gamepads. This app works with or without root and is compatible with any device running Android 2.3 or higher.
Tincore Keymapper can be downloaded for free on Google Play, but if you want some extra features, like joystick calibration, you can purchase the premium pack via an in-app purchase (currently going for $6.85).
If you're using a gamepad that is made specifically for Android, like the POWER A MOGA or Gametel controller, you will just need to connect it to your device. Most devices will be recognized by simply plugging the controller into the USB port or by pairing it through your Bluetooth settings.
However, if you're using a PlayStation 3 or PlayStation 4 controller, you will need to be rooted and purchase the Sixaxis Controller app by Dancing Pixel Studios, which runs for $2.53 at the time of this writing.
SixAxis Controller will be able to pair your PS3 or PS4 controller to your device by simply connecting it through an OTG cable and tapping Pair. Once it's paired, you can disconnect the OTG cable and use it wirelessly. Amazing, right?
After pairing your PS3 or PS4 controller using Sixaxis, you'll need to go into the app's Preferences menu, head to Gamepad Settings, and check the Enable Gamepad option. Otherwise, Tincore will not be able to detect the controller as a valid gamepad to map.
If you are using a wired Xbox 360 controller, all you have to do is attach it via an OTG cable, but if you are using a wireless controller, you will need to set it up using a Microsoft Xbox 360 Wireless Controller Receiver.
A wireless Xbox 360 controller also requires a rooted device and some command line trickery, so be aware of needing a few extra steps. Since the receiver is not compatible with Xbox One, those controllers won't work at this time.
With your controller paired and Tincore open, you can now create a game specific keymap profile. Right when you tap on the Tincore icon, you will get an ongoing notification for the process. When you tap that notification, your screen will get a keymap editor overlay from which you will be able to add buttons that correspond to keys on your gamepad.
If your controller does not show up under the list of devices in the editor, tap Discover devices from the menu.
To add a new button function, you will need to press and hold the button on your gamepad, then move it to the part of your screen you want the touch to occur. Instead of editing the buttons within the app, I like to take a screenshot of the game and create the keymap in a photo gallery.
If you find your keypad buttons to be too large or small for your screen, you can always change the size by dragging the ZOOM slider located in the side menu of the editor.
Once you have your buttons right where you want them, save the keymap profile by tapping the check mark icon in the side menu. You can rename it to whatever you like, and once it's saved, you can enable it from any app.
After you enable Tincore, it will continue to translate your key presses into touches until you tap Exit from the editor screen.
Some games already have preconfigured keymaps that are downloaded automatically from the Tincore server, so be sure to keep an eye out for that toast notification when opening a game so you don't have to do any extra work.