MAME UI controls vs machine controls on Android
MAME's user-interface controls operate menus and session actions, while machine controls feed the emulated cabinet. On an Android controller, inspect and assign those groups separately: prove UI Menu, UI Back, and UI Cancel first, then coin, start, directions, and buttons for the current system. Avoid a single unmodified button that both plays and exits.
Do this in order
- 01
Connect one controller and record the Android device, transport, port build, and upstream MAME revision.
- 02
Open General Inputs → User Interface and identify assignments for menu, back, cancel, clear, pause, and exit behavior.
- 03
Choose a deliberate chord or protected assignment for destructive session actions so gameplay buttons cannot trigger them alone.
- 04
Launch one authorized machine and open Input Assignments (this system) to map coin, start, directions, and player buttons.
- 05
Test menu open/close, cancel, coin, start, hold, release, and simultaneous directions without changing another layer.
- 06
Exit normally, reconnect the controller, and cold-start once to verify enumeration and saved configuration.
Decision and diagnostic table
| Control group | Owns | Common collision |
|---|---|---|
| User Interface | Menus, pause, cancel, exit | Gameplay button closes the session |
| General player inputs | Defaults shared by machines | Global change breaks another layout |
| This system | Current machine assignments | Coin/start confused with UI actions |
| Android wrapper | Back gesture, overlay, launcher | Wrapper consumes input before MAME |
The menu and cabinet are different consumers
MAME exposes user-interface assignments separately from emulated inputs. The same physical control can reach both, so the assignment screen—not the label printed on the gamepad—is the evidence.
Protect cancel and exit
Official MAME documentation distinguishes UI Back, which closes a menu, from UI Cancel, which can return to selection or exit. A controller-only setup should make both reachable without placing accidental exit on a fire button.
Scope the repair
Change a current-system assignment when one cabinet differs; change a general default only when the mapping should apply broadly. Then retest after reconnect because device numbering can change.
Input configuration does not grant rights to game data. Test with your own lawful dump or an explicitly authorized title and do not distribute ROM, BIOS, CHD, artwork, or audio with a controller profile.