Controls
Launcher button mapping, in-game shortcuts, joypad layouts, and emulator remapping
Launcher Controls
In archr-launcher, Settings › Controls › Launcher sets which physical button performs each action (launcher.buttons in /storage/.config/system/configs/system.cfg, default A,B,X,Y,L1,R1,START):
| Action | Default Button |
|---|---|
| Open / confirm | A |
| Back | B |
| Favorite | X |
| Quick menu | Y |
| Previous page | L1 |
| Next page | R1 |
| Start menu | START |
Press A on any action and press the new button to bind it. If that button already belongs to another action, the two actions swap places automatically. Select Restore defaults at the bottom of the list to return to the default layout.
The Two Modifier Buttons
For system and in-game shortcuts, ArchR uses two modifier buttons:
- Shortcut button (
key.hotkey.a, defaultL1/BTN_TL): held for Quit game, MangoHud, Screenshot, and Game guide. You can change it in Settings › Controls › In-game shortcuts › Shortcut button (L1,R1,L2,R2,SELECT,START,L3,R3orFN). - Function button (
key.function.a,SELECT/BTN_SELECTon RK3326 boards): held for the D-pad Volume and Brightness shortcuts. It is not offered on the shortcuts page.
System & In-Game Shortcuts
These shortcuts are handled by the input_sense service, which reads them from system.cfg when it starts (the launcher restarts it after a change), so they work in every emulator.

You can customize or disable the main in-game shortcuts in Settings › Controls › In-game shortcuts (A records a new combination, X turns the shortcut on or off; a button already used by another shortcut is refused):
| Action | Default Combination | Config Keys (system.cfg) |
|---|---|---|
| Quit game | L1 + SELECT + START | hotkey.exit, hotkey.exit.enabled |
| MangoHud | L1 + Y (BTN_WEST) | hotkey.mangohud, hotkey.mangohud.enabled |
| Screenshot | L1 + A (BTN_EAST) | hotkey.screenshot, hotkey.screenshot.enabled |
| Volume (D-Pad) | SELECT + Up / Down | hotkey.volume, hotkey.volume.enabled |
| Brightness (D-Pad) | SELECT + Right / Left | hotkey.brightness, hotkey.brightness.enabled |
Volume and Brightness on the D-pad start turned off (key.dpad.events=0); turning them on with X enables them. Game guide is the shortcut button plus X (BTN_NORTH) and cannot be changed on this page.
Hardware buttons and other combinations handled by input_sense:
VOL+ / VOL- Volume, 2 points per tap, faster the longer you hold
SELECT + VOL+ / VOL- Brightness, 2 points per tap, faster the longer you hold, floor at 5%
SELECT + START + VOL+ Wi-Fi on
SELECT + START + VOL- Wi-Fi off
POWER Light sleep, press again to wake
FN (quick tap) Saves the game and opens the launcher's switcher
FN + L1 + R1 (hold 3 s) Creates the diagnostic report, even in a gameVolume and brightness belong to archr-levels. Both run from 0 to 100 (brightness never drops below 5%) and follow curves that make every step feel the same size. A tap moves 2 points; holding the button speeds up to 25, 50 and then 75 points per second. The value is saved to system.cfg (audio.volume, display.brightness) once it settles. The launcher's own sliders use the same speeds. Screenshots are saved to /storage/roms/screenshots/.
The FN + L1 + R1 report is the same as Settings › System › Diagnostics: a notice on screen says "Creating the report…" and then "Report saved", the game keeps running and the .zip goes to roms/relatorios/. No emulator uses this chord: their shortcuts hold SELECT, and FN is not in the pad mapping. To turn it off, set hotkey.report.enabled=0.
POWER does not power the console off. It puts it into a light sleep: screen and backlight off, everything still in RAM, and a second press wakes it. If you leave it asleep, it shuts down on its own after 15 minutes by default (system.shutdown_delay, Power off after suspending in Settings › System › Power). To power off immediately, use Power off in the Start menu or in Y on the Systems screen.
RetroArch Hotkeys
setsettings.sh writes them into retroarch.cfg from the controller profile in /tmp/joypads the first time a game starts, and again when the controller changes. Edits you make inside RetroArch persist. On the R36S the RetroArch hotkey modifier is SELECT:
SELECT + START Exit the emulator, back to archr-launcher
SELECT + X RetroArch Quick Menu
SELECT + Y FPS and performance overlay
SELECT + R1 Save state
SELECT + L1 Load state
SELECT + R2 Fast forward
SELECT + L2 RewindSave-slot switching, reset, and RetroArch's internal screenshot are accessible from the RetroArch Quick Menu (SELECT + X).
To turn off this automatic management and handle RetroArch hotkeys entirely inside RetroArch, set system.autohotkeys=0 in /storage/.config/system/configs/system.cfg.
Joypad Layouts
There are two ways the analog sticks can be wired on RK3326 boards, and the panel device-tree overlay decides which one applies, not a runtime setting:
- K36 wiring: both sticks share the multiplexed ADC that also reads the buttons.
- My Mini wiring: each axis has its own SARADC channel, which requires a different set of
io-channelson the joypad node.
The Overlay Generator chooses between them automatically. If your stock .dtb carries an /adc-keys node that is present but explicitly disabled, the generator detects My Mini hardware and switches the joypad node over. Otherwise it keeps the shared wiring. The Joypad layout dropdown on the generator overrides the detection: auto, K36 (2 sticks), or My Mini (1 stick), which appear in the option string as JPk36 and JPmm.
The same page has two toggles for stick direction, LSi and RSi, for boards where the left or right stick reads inverted. If your analog sticks behave inverted or erratically, regenerate the overlay with the appropriate layout forced.
The Swap A and B toggle (ABs) is for boards wired the other way round, where A acts as B everywhere, the launcher included. The stock .dtb does not say which pin is A, so the generator cannot detect it. To change only how emulators see the buttons, use controller_layout below instead.
Face Button Layout (controller_layout)
controller_layout decides how the four face buttons are reported to emulators and to PortMaster. It is read per platform and per game, and accepts three values:
| Value | Effect |
|---|---|
nintendo (default) | Physical labels: A on the right, B at the bottom |
xbox | A and B swapped, X and Y swapped |
xbox_swap_shoulders_triggers | Same as xbox, plus shoulders (L1/R1) and triggers (L2/R2) swapped |
To swap the confirm and back buttons inside archr-launcher itself without changing what emulators see, open Settings › Controls › Launcher. With the default layout, select Back, press A to start capture, then press A again: Open / confirm and Back swap automatically.
RetroArch In-Game Menu
Press SELECT + X during a game to open the RetroArch Quick Menu:
Resume Back to game
State Slot Pick save slot 0-9
Save State / Load State In-place save (faster than ROM save)
Take Screenshot PNG to /storage/roms/screenshots/
Options Per-core knobs (resolution, frameskip, BIOS)
Controls Remap on the fly
Cheats Cheat list (if there is a .cht for the ROM)
Disk Control Multi-disc PSX swap
Information Core / system / authorsSELECT + START exits directly without opening the menu.
Standalone Emulators
Each standalone emulator has its own bindings. Mednafen is configured by ArchR to match RetroArch's layout:
SELECT + START Exit
SELECT + R1 Save state
SELECT + L1 Load state
SELECT + Y Toggle FPS
SELECT + A Screenshot
SELECT + L2 Rewind
SELECT + R2 Fast forward
START + Left / Right Previous / next save slot
START + L1 / R1 Select disc / insert or eject disc
START + R2 Insert coin
START + L2 Open the input configurationIn DraStic the menu is on L3 (left stick click), as in dArkOS, ArkOS and AmberELEC; L2 and R2 change the screen layout, the right stick moves the stylus and R3 taps the screen. The FN tap stays free for save and exit.
For the other standalone emulators (PPSSPP, Flycast, melonDS, Yabasanshiro, DuckStation, ScummVM), check the emulator's own input menu. L1 + SELECT + START (or your configured Quit game shortcut) force-quits any of them and returns you to archr-launcher.
Custom Remaps
- Per-core RetroArch overrides: stored in
/storage/.config/retroarch/config/(one folder per core), saved from the RetroArch Quick Menu. - Per-game input remaps: stored in
/storage/remappings/. Launch the game and openSELECT + X› Controls › Save Game Remap File. - Custom RetroArch hotkeys: edits made in
/storage/.config/retroarch/retroarch.cfg(input_*_btnkeys) persist; setsystem.autohotkeys=0in/storage/.config/system/configs/system.cfgto turn off automatic hotkey management.
PortMaster Ports
Ports use gptokeyb, which translates joypad input into keyboard and mouse events for the game binary. The default mapping is /storage/roms/ports/PortMaster/control.txt, copied there by start_portmaster.sh; most ports provide their own configuration file.
The exit combination is defined per port, and L1 + SELECT + START always works as a fallback to return to archr-launcher.