Note: While the USB/BT Joystick Center app itself doesn’t require root access, the plug-in you must use in order to be able to map a controller with non supported games does.
Download the USB/BT Joystick Center app from Google Play. It costs $4.79.
Download the USB/BT Joystick2Touch app from the developer’s site.
Connect the controller to your phone (or tablet). You can get an OTG cable from Amazon to do this.
Open the USB/BT Joystick Center main app.
Tap “search” if it didn’t automatically find your controller. Once it does, tap on your controller’s name.
On the top bar, turn on the Joystick IME and J>T buttons by tapping on them.
Program the “Touch Edit – M” button to a button you won’t use on the controller itself. Do this by tapping on the Touch Edit – M button and then pressing the button you want to program it to on your controller.
Press the back button to close out the application.
Open the game you want to map the controller for, get into gameplay, and then press the button on your controller you programmed for Touch Edit – M.
Now you can begin programming each button for a specific action by pressing and holding the button you want to program on your controller, then pressing and holding on the button on the touchscreen. For example, hold the trigger button on your controller and then press and hold the shoot button on the game itself. Once you do this, a little silver icon should show up in that spot.
Program all the buttons you want between the controller and the game.
Press the same button on your controller that you programmed Touch Edit – M for to save your changes.