distribution/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md

18 KiB

        Latest Version Activity Pull Requests Discord Server

Hotkey Auto-configuration

By default JELOS will detect your controller and configure RetroArch hotkeys automatically. If this behavior is not desired it can be disabled in the System Settings menu by disabling the "AUTOCONFIGURE RETROARCH HOTKEYS" option.

RetroArch Hotkeys

  • Hotkey Enable: Select (Hold)
    • Exit: Start (Press Twice)
    • Menu: X
    • Favorite: Hold X
    • Show/Hide FPS: Y
    • Save State: R1
    • Load State: L1
    • Rewind: L2
    • Fast-Forward Toggle: R2

Note: X and Y are reversed on some devices, this is normal behavior.

Global Hotkeys

  • Pause: Start
  • Quit: Start+Select
  • Force-Close: L1+Start+Select
  • Skip 5s: R1
  • Back 5s: L1
  • Skip 60s: R2
  • Back 60s: L2
  • Battery Status: L2+Vol-Up
  • WIFI Toggle: L2+Vol-Down
  • Brightness Up: R2+Vol-Up
  • Brightness Down: R2+Vol-Down

Per Device Hotkeys

Device Brightness Up Brightness Down Battery Status WIFI Toggle
Anbernic RG351M Select & Vol + Select & Vol - Start & Vol + Start & Vol -
Anbernic RG353M Select & Vol + Select & Vol - Fn & Vol + Fn & Vol -
Anbernic RG353P Select & Vol + Select & Vol - Fn & Vol + Fn & Vol -
Anbernic RG353V Select & Vol + Select & Vol - Fn & Vol + Fn & Vol -
Anbernic RG503 Select & Vol + Select & Vol - Fn & Vol + Fn & Vol -
Anbernic RG552 Select & Vol + Select & Vol - Fn & Vol + Fn & Vol -
ATARI VCS 800 Onyx NA NA NA NA
AYANEO AIR Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AIR Plus Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AIR Pro Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYANEO 2 Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYA NEO 2021 Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYANEO 2021 Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYANEO 2021 Pro Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYANEO 2021 Pro Retro Power Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYA NEO AYA NEO Founder Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO AYANEO NEXT Pro Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO GEEK Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO NEXT Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO NEXT Advance Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
AYANEO NEXT Pro Aya Button & Vol + Aya Button & Vol - = Button & Vol + = Button & Vol -
GPD G1619-04 TBD TBD TBD TBD
Hardkernel ODROID-GO-Ultra F1 & Vol + F1 & Vol - F2 & Vol + F2 & Vol -
Indiedroid Nova NA NA NA NA
LENOVO 81TC NA NA NA NA
ODROID-GO Advance Select & Vol + Select & Vol - Start & Vol + Start & Vol -
ODROID-GO Advance Black Edition Select & Vol + Select & Vol - Start & Vol + Start & Vol -
ODROID-GO Super Select & Vol + Select & Vol - Start & Vol + Start & Vol -
Orange Pi 5 NA NA NA NA
Powkiddy RGB10 MAX 3 F1 & Vol + F1 & Vol - F2 & Vol + F2 & Vol -
Powkiddy RK2023 Select & Vol + Select & Vol - Start & Vol + Start & Vol -
Powkiddy x55 Select & Vol + Select & Vol - Start & Vol + Start & Vol -
Valve Jupiter Steam Button & Vol + Steam Button & Vol - ... Button & Vol + ... Button & Vol -

Reference

Emulator Hotkeys and Button Assignments

EmulatorNotes
AmiberryStandalone
Dolphin (dolphin-sa)Standalone
HOTKEYS (BASED ON GAMECUBE CONTROLLER PROFILE)
=======
SELECT hotkey enable                
START  exit to EmulationStation ("ES")
R     save state
L     load state
A     screenshot
B     internal resolution
Z     game speed (fast forward)
X     aspect ratio
Y     fps on / off
DUP   +1 save state slot
DDOWN -1 save state slot
ecwolfGame Engine
gzdoomGame Engine
Hatari (Hatarisa)Standalone
Hypseus-singeStandalone
SELECT        coin
START         start
BUTTON 1      a
BUTTON 2      b
BUTTON 3      x
MOVEMENT      d-pad or left-analog
QUIT          select+start

to add functions, edit /storage/.config/game/configs/hypseus/hypinput.ini under [KEYBOARD] section by changing third number for a function from 0 (disabled) to the joystick button number

retrieve joystick button numbers with

jstest /dev/input/js0

the following assigns quit to L1 and pause to R1

[KEYBOARD]
KEY_QUIT = SDLK_ESCAPE 0 5
KEY_PAUSE = SDLK_p 0 6

lzdoomGame Engine
mupen64plus (mupen64plussa)Standalone
SELECT        hotkey enable
START         start
B             a
Y             b
RIGHT ANALOG  C-stick
LEFT ANALOG   analog
L1            L
L2            Z
R1            R

HOTKEYS
=======
SELECT+START  exit to EmulationStation ("ES")
SELECT+R1     save state
SELECT+L1     load state
SELECT+Y      screenshot
SELECT+B      reset current game

CONTROLLER PROFILES

Z and L button assignment can be changed in ES.

  • Highlight the game and press X
  • Select ADVANCED GAME OPTIONS (A to confirm)
  • Set EMULATOR to either MUPEN64PLUSSA
  • Change INPUT CONFIGURATION
    • DEFAULT: L1 = L, L2 = Z
    • Z & L SWAP: L1 = Z, L2 = L
    • CUSTOM: Users can create their own controller layout in /storage/.configs/game/configs/mupen64plussa
OpenborStandalone
START         start, confirm
A             attack 1
X             attack 2
L1            attack 3
R1            attack 4
B             jump
Y             special
D-PAD         up/down/left/right
SELECT        cancel, screenshot

note: pressing A on title screen will exit

PPSSPPSDLStandalone
START         start
SELECT        select
B             cross
A             circle
X             triangle
Y             square
L1            L
R1            R
ANALOG LEFT   analog
ANALOG RIGHT  cross(down) circle(right) triangle(up) square(left)
D-PAD         up/down/left/right
L3            PPSSPPSDL menu
RazeGame Engine
Scummmvm (Scummvmsa)Standalone
vice (vicesa)Standalone
SELECT        onscreen keyboard
START         show menu
A             back (in menus); show menu
B             fire (joystick port 1); confirm (in menus)
L1            back (in menus); show menu
L2            assign hotkey
L3            fire (joystick port 2)
R1            confirm (in menus)
R2            swap joystick port (either [left analog + B=fire] or [right analog + L3=fire])

Notes:

Games will require keyboard key presses to progress through messages and to launch (e.g. SPACE, RSTR [run/start], F3, F7).

SELECT to show onscreen keyboard, left analog/d-pad to move cursor, B to confirm

C= on keyboard resets the machine

L2 to assign highlighted key or menu function to gamepad button (save config to retain)

To cancel onscreen keyboard, move cursor to blank area and A/L1 to close keyboard or click on X in top left corner of keyboard

Joystick can be assigned to port 1 or 2. R2 to switch ports. port 1: [left analog] + [B = fire] port 2: [right analog] + [L3 = fire].

To quit emulator, START, highlight Exit Emulator, B to confirm

YabasanshiroStandalone
SELECT        menu
START         start
D-PAD         up/down/left/right
Y             a
B             b
A             c
X             x
L1 (shoulder) y
R1 (shoulder) z
L2 (trigger)  l
R2 (trigger)  r
LEFT ANALOG   analog stick
START+SELECT+L1+R1  exit emulator
Retroarch with Libretro Cores (RA:)64-bit and 32-bit versions use shared config files
SELECT+START: exit (press twice)
SELECT+A:     pause emulation
SELECT+B:     reset emulation
SELECT+X:     Retroarch menu
SELECT+Y:     toggle fps
SELECT+L1:    load state
SELECT+R1:    save state
SELECT+L2:    rewind toggle
SELECT+R2:    fast-forward toggle
Port MasterPort Installer

Button Codes

From ssh terminal:

evtest

then select retrogame_joypad to see details for each button press, including button labels, codes and analog stick values in real-time

jstest-sdl -t 0

to see interactive keymap

Joypad ButtonButton Codes
DIGITALRG552/RG503/RG353PRG351MPRG351P/MRG351V
A (EAST) 1 (305 BTN_EAST)1 (305 BTN_EAST)0 (305 BTN_EAST)0 (305 BTN_EAST)
B (SOUTH) 0 (304 BTN_SOUTH)0 (304 BTN_SOUTH)1 (304 BTN_SOUTH)1 (304 BTN_SOUTH)
X (NORTH) 2 (307 BTN_NORTH)2 (307 BTN_NORTH)2 (307 BTN_NORTH)2 (307 BTN_NORTH)
Y (WEST) 3 (308 BTN_WEST)3 (308 BTN_WEST)3 (306 BTN_C)3 (306 BTN_C)
L1 4 (310 BTN_TL)4 (310 BTN_TL)4 (308 BTN_WEST)4 (308 BTN_WEST)
L2 6 (312 BTN_TL2)6 (312 BTN_TL2)10 (314 BTN_SELECT)10 (314 BTN_SELECT)
L3 11 (317 BTN_THUMBL)14 (706 BTN_TRIGGER_HAPPY3)8 (312 BTN_TL2)8 (312 BTN_TL2)
R1 5 (311 BTN_TR)5 (311 BTN_TR)5 (309 BTN_Z)5 (309 BTN_Z)
R2 7 (313 BTN_TR2)7 (313 BTN_TR2)11 (315 BTN_START)11 (315 BTN_START)
R3 12 (318 BTN_THUMBR)15 (707 BTN_TRIGGER_HAPPY4)9 (313 BTN_TR2)9 (313 BTN_TR2; F)
SELECT 8 (314 BTN_SELECT)12 (704 BTN_TRIGGER_HAPPY1)7 (311 BTN_TR)7 (311 BTN_TR)
START 9 (315 BTN_START)13 (705 BTN_TRIGGER_HAPPY2)6 (310 BTN_TL)6 (310 BTN_TL)
HOTKEY ENABLE 10 (316) 12 (704 BTN_TRIGGER_HAPPY1) 7 (311 BTN_TR) 7 (311 BTN_TR)
DPAD UP 13 (544 BTN_DPAD_UP) 8 (544 BTN_DPAD_UP) hat(1) (16 -ve ABS_HAT0Y -1)hat(1) (16 -ve ABS_HAT0Y -1)
DPAD DOWN 14 (545 BTN_DPAD_DOWN) 9 (545 BTN_DPAD_DOWN) hat(4) (16 +ve ABS_HAT0Y 1)hat(4) (16 +ve ABS_HAT0Y 1)
DPAD LEFT 15 (546 BTN_DPAD_LEFT) 10 (546 BTN_DPAD_LEFT) hat(8) (17 -ve ABS_HAT0X -1)hat(8) (17 -ve ABS_HAT0X -1)
DPAD RIGHT 16 (547 BTN_DPAD_RIGHT) 11 (547 BTN_DPAD_RIGHT) hat(2) (17 +ve ABS_HAT0X 1)hat(2) (17 +ve ABS_HAT0X 1)
ANALOGRG552/RG503/RG353PRG351MPRG351P/MRG351V
LEFTANALOGLEFT AXIS 0 -ve (ABS_X)AXIS 0 -ve (ABS_X)AXIS 2 +ve (ABS_Z 4095)AXIS 2 +ve (ABS_Z 4095)
LEFTANALOGRIGHT AXIS 0 +ve (ABS_X)AXIS 0 +ve (ABS_X)AXIS 2 -ve (ABS_Z 0)AXIS 2 -ve (ABS_Z 0)
LEFTANALOGUP AXIS 1 -ve (ABS_Y)AXIS 1 -ve (ABS_Y)AXIS 3 +ve (ABS_RX 4040)AXIS 3 +ve (ABS_RX 4040)
LEFTANALOGDOWN AXIS 1 +ve (ABS_Y)AXIS 1 +ve (ABS_Y)AXIS 3 -ve (ABS_RX 0)AXIS 3 -ve (ABS_RX 0)
RIGHTANALOGLEFT AXIS 2 -ve (ABS_RX)AXIS 2 -ve (ABS_RX)AXIS 4 -ve (ABS_RY)
RIGHTANALOGRIGHT AXIS 2 +ve (ABS_RX)AXIS 2 +ve (ABS_RX)AXIS 4 +ve (ABS_RY)
RIGHTANALOGUP AXIS 3 -ve (ABS_RY)AXIS 3 -ve (ABS_RY)AXIS 5 -ve (ABS_RZ)
RIGHTANALOGDOWN AXIS 3 +ve (ABS_RY)AXIS 3 +ve (ABS_RY)AXIS 5 +ve (ABS_RZ)