Controls
Hotkeys, joypad layouts and remapping
The two modifier buttons
ArchR uses two different modifiers, and they belong to different layers.
SELECT is the modifier for system actions and for RetroArch. L1 is the modifier for a handful of desktop-level actions. Both come from settings (key.function.a and key.hotkey.a in /storage/.config/system/configs/system.cfg), and a device quirk can change them, but every RK3326 board uses the values above unless you edit them.
System hotkeys
These are handled by the input_sense service, so they work in EmulationStation and inside a game alike.
VOL+ / VOL- Volume, 5 points per press, repeats while held
SELECT + VOL+ / VOL- Brightness, 5 points per press, floor at 5%
SELECT + START + VOL+ WiFi on
SELECT + START + VOL- WiFi off
L1 + SELECT + START Force-quit whatever is running
L1 + X Open the game guides tool
L1 + Y Toggle the MangoHud overlay
L1 + A Screenshot (off by default, see below)
POWER Light sleep, press again to wakeBrightness moves in steps of 5 and never goes below 5%, so there are 20 usable levels. Volume moves in steps of 5 between 0 and 100.
The screenshot hotkey stays inactive until you set archr.screenshot.enabled=1, and it is skipped while RetroArch is running, because RetroArch has its own screenshot function. Files land in /storage/roms/screenshots/.
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 (system.shutdown_delay). To power off immediately, use the EmulationStation menu.
RetroArch hotkeys
Written into retroarch.cfg on every launch by setsettings.sh, from the controller profile in /tmp/joypads. On the R36S the hotkey is SELECT:
SELECT + START Exit the emulator, back to EmulationStation
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 RewindNothing else is bound to a button. Save-slot switching, reset and screenshot exist in RetroArch but only on the keyboard bindings, so you reach them from the quick menu.
If you want a different set, turn system.autohotkeys off in /storage/.config/system/configs/system.cfg and RetroArch will keep whatever you bind by hand.
Joypad layouts
There are two ways the analogue sticks can be wired on these boards, and the difference is decided by the panel overlay, not by the image you flashed and not by a setting on the console.
- K36 wiring: both sticks share the multiplexed ADC that also reads the buttons.
- My Mini wiring: each axis has its own SARADC channel, which needs a different set of
io-channelson the joypad node.
The Overlay Generator picks between them. If your stock .dtb carries an /adc-keys node that is present but explicitly disabled, the generator reads that as My Mini hardware and switches the joypad node over. Otherwise it leaves the shared wiring alone. The Joypad layout dropdown on the generator overrides the guess: 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 the sticks behave wrongly, generate the overlay again with the layout forced instead of looking for a console-side setting. There is no joypad.variant key.
Button 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 it takes 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 and triggers swapped |
EmulationStation has a separate switch of its own, Switch confirm & cancel buttons in EmulationStation under UI Settings. That one only affects menu navigation, not what a game receives.
RetroArch in-game
Press SELECT + X for the Quick Menu. Common sub-menus:
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 without going through the menu.
Standalone emulators
Each standalone emulator brings its own bindings, and most of them ship the upstream defaults. The one ArchR configures in full is Mednafen, which follows the same shape as RetroArch:
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 configurationFor the others (PPSSPP, Flycast, DraStic, melonDS, Yabasanshiro, DuckStation, ScummVM), open the emulator's own menu and read its input page: the combination differs from one to the next. L1 + SELECT + START force-quits any of them and returns you to EmulationStation.
Custom remaps
Per-core RetroArch overrides live in /storage/.config/retroarch/config/, one folder per core, and are written by RetroArch itself when you save an override from the quick menu.
Per-game input remaps live in /storage/remappings/. Launch the game, SELECT + X → Controls → Save Game Remap File.
Custom hotkey bindings: edit /storage/.config/retroarch/retroarch.cfg and look for the input_*_btn keys. Remember that setsettings.sh rewrites the hotkey block on every launch while system.autohotkeys=1.
PortMaster ports
Ports use a separate input layer, gptokeyb, which translates joypad input into keyboard and mouse events for the original binary. The default mapping is /storage/roms/ports/PortMaster/control.txt, copied there by start_portmaster.sh; most ports override it with their own config.
The exit combination is part of each port's own configuration, so read the port's description in PortMaster. L1 + SELECT + START works as a fallback.