Android controller and touchscreen setup / 2026-07-31

Use a RetroArch touch overlay and physical controller together on Android

Test touch geometry, controller autoconfiguration, RetroPad mapping, and per-game overrides as separate input layers.

9 minute input guideCurrent RetroArch for Android; option names and overlay packages vary by build and menu driver

Use a RetroArch touch overlay and physical controller together on Android

First prove the physical controller with the touch overlay disabled, then prove the overlay with the controller disconnected. Re-enable both and decide whether the overlay should remain visible, show physical inputs, or be disabled by a narrow core or game override. Both feed RetroArch's input path, but an overlay image, its touch hitboxes, controller autoconfiguration, and core remapping are different layers.

Do this in order

  1. 01

    Record the RetroArch package, build, core, controller name, Android connection type, overlay preset, orientation, and active configuration path.

  2. 02

    Disable the overlay, reconnect the controller, confirm its autoconfiguration message, and test menu navigation plus one lawful game's essential inputs.

  3. 03

    Disconnect the controller, enable the overlay, and test visible buttons, touch hitboxes, multi-touch combinations, rotation, and menu return.

  4. 04

    Reconnect the controller and verify that one physical press creates one game action while untouched overlay buttons remain idle.

  5. 05

    Choose the intended presentation: keep touch controls visible, adjust opacity, show physical inputs, or save a narrow core/game override that disables the overlay.

  6. 06

    Cold-relaunch the same game, then test a second game to prove that the override scope, controller mapping, hotkeys, and touch layout did not leak.

Decision and diagnostic table

SymptomLikely layerNext safe check
Controller works; touch does notOverlay preset, hitbox, or orientationTest overlay alone
Touch works; controller does notAndroid detection or autoconfigurationTest controller alone
One press causes two actionsDuplicate bind, hotkey, or remapInspect RetroPad and core remap
Overlay returns after relaunchOverride scope or save pathCheck active config and saved override

An overlay is both a picture and an input map

Libretro overlays use image files plus a configuration that defines touchable regions. A visible PNG does not prove that hitboxes, multi-touch, scaling, or orientation match the display.

Test overlay input without a controller first. That isolates touch geometry from Android device enumeration and controller profiles.

The physical controller maps through RetroPad

RetroArch normally maps real hardware to the virtual RetroPad through autoconfiguration or manual bindings, then a core or game remap can change what the emulated machine receives.

Do not repair a controller by editing overlay hitboxes, and do not repair touch geometry by replacing a valid controller profile. Capture the layer that failed before saving anything.

Save the narrowest presentation rule

If a cabinet always uses a controller, a core or game override can hide the overlay while leaving global mobile touch settings intact. Per-game rules should win only where that content genuinely needs them.

Keep menu access and an owner recovery path. Hiding the overlay without a working controller or menu hotkey can make the session appear frozen even though emulation is running.

First-party sources

Related guides