how to see what keys are linked to what buttons in retropie

RetroArch Controller Configuration

Retroarch Logo


RetroArch is the official front end cease for the libretro API. RetroArch and libretro provide a fashion to take an existing emulator and load that emulator equally a library or "core". RetroArch then handles the input (controls) and output (graphics and audio) while the emulator cadre handles the emulation of the original system. With a few simple changes to the emulator source code, nigh any existing emulator could become a libretro cadre.

In RetroPie, the libretro emulator cores are identified with a lr- in front of their name. For instance, lr-snes9x2010 is the libretro core of the SNES emulator called snes9x2010.

RetroArch and libretro provide power to configure controllers once for many emulators instead of having to configure each emulator individually. Even so, RetroArch as well provides the freedom to configure specific emulators individually and fifty-fifty individual games differently if the user wants. This allows a specific setting or button mapping for a sure console or even just for a certain game.

For emulators which are non libretro cores, there are emulator-specific configurations under the respective organization's wiki page.

The RetroPad concept

When you configure your controller in EmulationStation, the RetroPie setup script automatically configures RetroArch with the aforementioned controls.

RetroArch controls map existent-world controller buttons to a virtual controller called a "RetroPad". A RetroPad does not be in real life, it's a concept only within RetroArch. A RetroPad has an ABXY layout like a SNES controller plus four shoulder buttons and dual analog sticks like a Sony DualShock.

Y'all don't have to map all of the RetroPad buttons to a real world button. If your existent controller has less buttons than a DualShock, then the virtual RetroPad also has less buttons, that's perfectly fine.

As RetroArch starts an emulator core, information technology maps the RetroPad configuration to the emulated system's original controls. The mapping for many consoles is represented by the pictures below and on each system's wiki page. If you wish, yous can reconfigure this command mapping, either for all RetroArch, for a specific organization, or even for a specific ROM.

Retroarch Controls

There are 3 main ways to configure input for RetroArch:

  • Autoconfigurations - made in EmulationStation
  • Hardcoded Configurations - made by editing retroarch.cfg file(s)
  • Core Input Remapping - an easy manner to do specific control configurations for specific cores, made in the RetroArch RGUI

AutoConfigurations

RetroArch controls take been integrated into EmulationStation and will be the starting time matter you lot see when you boot from the RetroPie SD prototype the first time. You can also access information technology from the commencement menu within EmulationStation nether the Configure Input choice. Your joypad is automagically configured for libretro (RetroArch) emulators when you configure your controller in EmulationStation. Yous'll know if your controller has been automagically configured if you meet a flash of yellow text on the bottom of the screen with your gamepad ID when you kickoff a game.

The following diagrams are for the three most mutual controllers: Super Nintendo, Xbox 360, and PlayStation 3. They can exist used equally a reference when configuring your controllers. Each emulator page on the wiki has a diagram of the original controller for its respective panel that will represent to the same inputs listed beneath.

nintendo_snes_diagram

microsoft_xbox360_diagram

playstation3_diagram

After you've configured your controller the autoconfig volition be created hither:

                            /opt/retropie/configs/all/retroarch/autoconfig                          

This is an example config for a USB SNES controller

                            input_device = "USB gamepad           " input_driver = "udev" input_r_btn = "five" input_save_state_btn = "5" input_start_btn = "9" input_exit_emulator_btn = "9" input_l_btn = "4" input_load_state_btn = "4" input_up_axis = "-1" input_a_btn = "1" input_b_btn = "2" input_reset_btn = "ii" input_down_axis = "+1" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_x_btn = "0" input_menu_toggle_btn = "0" input_select_btn = "8" input_enable_hotkey_btn = "8" input_y_btn = "3" input_left_axis = "-0" input_state_slot_decrease_axis = "-0"                          
As seen above in the config for the USB SNES controller, each input on the controller has an associated value. When setting up the controller in EmulationStation, these values are then assigned a corresponding action on RetroArch.

For instance, suppose the "A" button on a USB SNES controller has a value of "1." When setting upwards the controller, EmulationStation would prompt you to printing the "A" button on your controller. Pressing the "A" push would and so record into the config file as input_a_btn = "one", so RetroArch will know that the "A" button on your physical controller corresponds to the "A" button on RetroArch's virtual controller, the RetroPad. Therefore, the next fourth dimension yous play a game such as Super Mario Bros. pressing the "A" button will tell RetroArch to press the "A" push on its RetroPad, causing Mario to jump. If yous accidentally pressed the "B" push button with a value of "2" during setup when it prompted for "A," so information technology would be recorded into the config file as input_a_btn = "2", so if you desire to jump in Super Mario Bros., you would take to printing "B" on your controller.

Hotkeys

Hotkeys are combinations of buttons yous can printing in order to access options such as saving, loading, and exiting games. The following defaults are set automatically the first time you fix your controller from EmulationStation (the numbers will vary depending the controller y'all employ).

Default joypad hotkeys:

Hotkeys Action Lawmaking Case
Select Hotkey input_enable_hotkey_btn = "vi"
Select+Commencement Go out input_exit_emulator_btn = "7"
Select+Right Shoulder Salve input_save_state_btn = "five"
Select+Left Shoulder Load input_load_state_btn = "four"
Select+Correct Input State Slot Increase input_state_slot_increase_btn = "h0right"
Select+Left Input State Slot Decrease input_state_slot_decrease_btn = "h0left"
Select+X RGUI Menu input_menu_toggle_btn = "3"
Select+B Reset input_reset_btn = "0"

Determining Button Values

If you want to edit the entries in the .cfg file for your controller, you will need to know the values respective to the buttons on your controller. Usually the human relationship betwixt the two tin can be deduced past looking at the file and noting the entries' names along with the values adjacent to them, assuming that the values take not been jumbled from previous edits or been mixed up due to unknown issues. For example, the USB gamepad in a higher place has an entry for input_x_btn = "0", indicating that the "X" button on the controller (or the push button that you lot associated as "Ten" during controller setup in EmulationStation) has a value of "0."

On the other hand, possibly you are not certain if the values in the .cfg file is correct or the file is missing entries for buttons that are available on your own controller, such every bit a "Home" push. Yous can run jstest (joystick test) in the last past selecting Quit EmulationStation (a keyboard will be required for the following steps).

In the concluding, type and enter
jstest /dev/input/js0

Supersede js0 with js1, js2, js3, etc. equally needed if not detected.

A multitude of rows and columns should appear. Pressing buttons or moving analog sticks/joystick will cause various entries in the columns to bandy between on and off and fluctuate through a range of numbers. The value next to an on/off entry corresponds to the button that y'all take pressed. The fluctuation of numbers from -32767 to 32767 correspond to the input on your controller that has a range of motion, such as analog sticks/triggers.

If you are interested in figuring out which is your "Select" push, pressing and holding "Select" on your controller will crusade 1 column to switch from off to on. The value side by side to it corresponds to the "Select" button. If y'all have a controller with a "Home" button, pressing the "Abode" push will as well cause ane column to switch from off to on. To exit jstest, press Ctrl + c. To return to EmulationStation from the concluding, type and enter emulationstation.

Using these values, yous tin can edit the .cfg file for that controller every bit needed. For example, if you were interested in switching the your Hotkey button to a "Home" button available on your controller, you would edit input_enable_hotkey_btn = "some number", replacing "some number" with the value you found for your "Abode" button in jstest.

Video Tutorial

  • RetroPie: Using hotkeys in retroarch - mapping to joypad by Floob

Hardcoded Configurations

These configurations are transmission edits y'all can make that are locked to a specific libretro cadre and controller. Hardcoded controls tin be configured either globally, specific to the emulator core, or specific to an individual game.

Config Bureaucracy

All RetroArch based emulators tin be configured in the following way:

Global settings - that are settings which should apply to all systems - are washed in the file:

                            /opt/retropie/configs/all/retroarch.cfg                          

(example)

Organization-specific settings are done in the files:

                            /opt/retropie/configs/SYSTEMNAME/retroarch.cfg                          

(example)

Hither, SYSTEMNAME is atari2600, snes, etc. All settings in these files will override the corresponding global setting as long every bit they are placed above the #includeconfig line.

ROM-specific settings can be created in the runcommand menu and show up every bit configuration files past ROM title:

                            /home/pi/RetroPie/roms/SYSTEMNAME/ROMNAME.cfg                          

(instance)

The ROMNAME includes the original file extension before the .cfg, eastward.1000. supermariobros.null.cfg These configurations are used when starting this specific ROM.

Custom RetroArch Override Examples

Example Default Per-Arrangement retroarch.cfg

                            # Settings made here will just override settings in the global retroarch.cfg if placed to a higher place the #include line  input_remapping_directory = /opt/retropie/configs/megadrive/   #include "/opt/retropie/configs/all/retroarch.cfg"                          

Instance Per-System Control Override retroarch.cfg

Note the values beneath are for 1 person's controller, your values may differ. Brand sure that these values are placed above the #includeconfig line:

                            # Settings made here will merely override settings in the global retroarch.cfg if placed above the #include line  input_remapping_directory = /opt/retropie/configs/megadrive/  input_player1_joypad_index = 0 input_player1_b_btn = ii input_player1_a_btn = one input_player1_y_btn = 3 input_player1_x_btn = 0 input_player1_l_btn = 4 input_player1_r_btn = five input_player1_start_btn = 9 input_player1_select_btn = 8 input_player2_joypad_index = i input_player2_b_btn = 2 input_player2_a_btn = 1 input_player2_y_btn = three input_player2_x_btn = 0 input_player2_l_btn = 4 input_player2_r_btn = 5 input_player2_start_btn = 9 input_player2_select_btn = 8  # Axis for RetroArch D-Pad.  # Needs to be either '+' or '-' in the showtime character signaling either positive or negative direction of the axis, then the axis number.  input_player1_up_axis = -1 input_player1_down_axis = +ane input_player1_left_axis = -0 input_player1_right_axis = +0 input_player2_up_axis = -1 input_player2_down_axis = +1 input_player2_left_axis = -0 input_player2_right_axis = +0  #Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as get out emulators, salve states, # and load states, also as any other functionality in an emulator. (In the example beneath eight is the select key # and 9 is the showtime key so when I hold down select and press showtime information technology will exit the emulator.) input_enable_hotkey_btn = viii input_exit_emulator_btn = nine input_save_state_btn = five input_load_state_btn = 4 input_menu_toggle_btn = 0 input_state_slot_increase_axis = +0 input_state_slot_decrease_axis = -0   #include "/opt/retropie/configs/all/retroarch.cfg"                          

Example Per-ROM Override retroarch.cfg

                            aspect_ratio_index = "xix"  # Never salvage-on-exit after an override config # or the override will brand into the core config. config_save_on_exit = false                          

Core Input Remapping

Cadre Input Remapping differs from the other ii methods as it remaps how the cadre receives input rather than how the gamepad is coded, for example you can tell the snes core to switch button A and B on the controller for gameplay, but you tin still use "A" to select in the RGUI and "B" to go back where as hard-coding would brand B select and A back. Core Remapping is much more than practical than difficult-coded mapping but is limited to the cores that support it.

  • Start a game of the system you want to remap the buttons
  • Invoke RGUI (Hotkey+X with actor 1)
  • Go to Quick Menu and and so Controls
  • Configure the buttons the way you lot want
  • Select Salve Core Remap File
  • OR, if you want to salvage this remapping for the current game simply, select Save Game Remap File

Remaps are saved every bit .rmp files in directory:

                            /opt/retropie/configs/SYSTEMNAME/                          

Retroarch Controls Cheat-Canvas

Retroarch Controls Cheat-Sheet

Video Tutorials

  • Core input remapping: Remapping your controller by Floob
  • Testing Joypad: Testing joystick by Floob
  • Configuring USB Controllers With Retroarch, Controller non configured fix by Herb Fargus
  • Configure a wireless PS3 controller with RetroPie 3 by Floob
  • XBox 360 Wireless Controller Configuration by Herb Fargus

Default Core Controls for All Emulators


3do

goldstar_3do_diagram

Atari 2600

atari2600diagram

Atari Lynx

atari_lynx_diagram

Gameboy

gameboy

Gameboy Color

gameboycolor

Gameboy Advance

nintendo_gameboyadvance_diagram

Game Gear

segagamegeardiagram

Mastersystem

mastersystem

Megadrive/Genesis (three Button)

genesis

Megadrive/Genesis (half-dozen Button)

sega_megadrive_6button_arcadepad_diagram sega_megadrive_6button_diagram

Nintendo 64

nintendo_n64_diagram

Nintendo DS

nintendo_ds_diagram

NES

nesdiagram

Neo Geo

neogeodiagram

Neo Geo Pocket

neogeopocketdiagram

PS1

playstation3_diagram

PSP

psp_diagram

SG-thou

sg-1000diagram

Super Nintendo

snes

Sega Saturn

sega_saturn_diagram

Turbografx16

turbografx16diagram

Videopac/Odyssey2

videopacdiagram

Vectrex

vectrex

VirtualBoy

nintendo_virtualboy_diagram

Sega Dreamcast

sega_dreamcast_diagram

Intellivision

intellivision

sykesvaide1979.blogspot.com

Source: https://retropie.org.uk/docs/RetroArch-Configuration/

0 Response to "how to see what keys are linked to what buttons in retropie"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel