RetroX will try to use your controller without any kind of configuration, following the standard button mappings for Android. If you start a game with your controller, RetroX will use that controller for the game. Inside the game, if you press any of the A/B/X/Y/START/SELECT buttons, that controller will be assigned to Player 1, and you will see a message on the screen. If other players want to join, they only need to press one of those buttons on their controllers.
No SELECT button
Note that some controllers don’t send a SELECT button press when you press SELECT; instead, they send a BACK button press. In that case, you will not be able to insert coins in MAME, or you will have trouble using the SELECT+ combo. If that is the case, you need to map the BACK button to act as SELECT in the Button Mappings options (see below).
Non-working controllers
If your controller doesn’t work or you are seeing onscreen controllers in games, follow these recommendations to fix it.
- By default, RetroX uses an autodetection mode for displaying onscreen controllers: if you start a game with a real controller, the onscreen ones will be hidden; otherwise, they will be shown on the screen. You can force RetroX to always hide the onscreen controllers in System Settings -> Gamepads.
- If your controller doesn’t work with RetroX, first make sure that your Android device is working with it. If you can’t navigate your device with your controller outside RetroX, then your controller will not work with RetroX either. If that is the case, make sure that you pair your device with an Android-compatible mode. Many controllers support multiple modes of operation (iCade, iOS, etc.), and they include an Android mode. The operation mode is typically set by pressing the pairing button together with one of the A/B/X/Y buttons, but always check your controller manual for the instructions specific to your device.
Here you can see some example instructions taken from the user manual for the iPega-9017 controller:
Now, if your controller still doesn’t work, check that it is sending the right events when pressing the buttons. Open Diagnostics -> Gamepad, then press the DPAD and/or the A/B/X/Y buttons; you should see codes like DPAD_LEFT, DPAD_RIGHT, BUTTON_A, BUTTON_X, and so on while you press them. If nothing is shown, then your controller is still not communicating with your Android device. If you see different codes like BUTTON_1, BUTTON_2, etc., you must map your controller manually.
Mapping is a way to tell RetroX how to translate your non-standard buttons to standard buttons. Open Gamepads -> Mapping, and you will see a controller on the screen. If you press any button (except the DPAD), the matching button on the screen will highlight. If none does, use the DPAD to move around the buttons on the screen and highlight the one that doesn’t work. Once highlighted, press the corresponding button on your controller; that will tell RetroX that the button that you pressed will be translated to the button highlighted on your screen. Once done, press the Save button on the screen.
Here you can see a video doing the mapping:
If you still need help, drop us a line at support at retrox.tv with screenshots of the Diagnostics -> Gamepad screen while pressing the DPAD and any of the A/B/X/Y buttons.
