Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
advanced_retroarch_settings [2021/12/21 10:22] – 'global.' is not required for 'retroarch.' and 'retroarchcore.' setting keys atariadvanced_retroarch_settings [2025/07/22 08:13] (current) – [Core options] The information about the location of the system.opt files was outdated for v41 hankerde
Line 2: Line 2:
  
 <WRAP center round tip> <WRAP center round tip>
-You might want to check if the option you want to change has already been implemented into EmulationStation! Most game-related settings are in **GAME SETTINGS**, but some RetroArch specific options may be in the **DEVELOPER** menu.+You might want to check if the option you want to change has already been implemented into EmulationStation! Most game-related settings are in **GAME SETTINGS**, but some RetroArch-specific options may be in the **DEVELOPER** menu.
 </WRAP> </WRAP>
  
 With ordinary distributions (such as installing RetroArch on Windows), RetroArch is configured by adding/editing lines in ''retroarch.cfg''. Batocera generates and replaces the lines in this file with every emulator launch, so the better option is to let Batocera know which RetroArch options you would like to use. Most of these settings can instead be changed within EmulationStation. Exceptions will be noted. With ordinary distributions (such as installing RetroArch on Windows), RetroArch is configured by adding/editing lines in ''retroarch.cfg''. Batocera generates and replaces the lines in this file with every emulator launch, so the better option is to let Batocera know which RetroArch options you would like to use. Most of these settings can instead be changed within EmulationStation. Exceptions will be noted.
  
-For options not already implemented into ES, you can change the file ''/userdata/system/batocera.conf'' and add the following keys if needed. Most RetroArch settings not mentioned in the default ''batocera.conf'' can be edited and saved from within RetroArch itself (accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} while in-game in a Libretro core), these will be saved to ''/userdata/configs/retroarch/retroarchcustom.cfg'' (with core options being saved to ''retroarch/cores/retroarch-core-options.cfg'' instead), however the vast majority of RetroArch settings will be overridden by Batocera at emulator launch.+For options not already implemented into ES, you can change the file ''/userdata/system/batocera.conf'' and add the following keys if needed. Most RetroArch settings not mentioned in the default ''batocera.conf'' can be edited and saved from within RetroArch itself (accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} while in-game in a Libretro core), these will be saved to ''/userdata/system/configs/retroarch/retroarchcustom.cfg'' (with core options being saved to ''retroarch/cores/retroarch-core-options.cfg'' instead), however the vast majority of RetroArch settings will be overridden by Batocera at emulator launch.
  
-In order to use the configuration generator to create a RetroArch setting (letting Batocera know which value is being used, avoiding it being overwritten), follow the ''retroarch.retroarch_setting=value'' syntax. Batocera supports the massive majority of RetroArch's settings, but for the few that it doesn't (such as bleeding edge new features or obscure/forgotten ones), those settings can still be adjusted by editing them directly into ''/userdata/configs/retroarch/retroarchcustom.cfg'' as they will not be overwritten (at least, until Batocera supports them as well).+In order to use the configuration generator to create a RetroArch setting (letting Batocera know which value is being used, avoiding it being overwritten), follow the ''global.retroarch.retroarch_setting=value'' [[:batocera_conf_syntax|syntax]]. Batocera supports the massive majority of RetroArch's settings, but for the few that it doesn't (such as bleeding edge new features or obscure/forgotten ones), those settings can still be adjusted by editing them directly into ''/userdata/system/configs/retroarch/retroarchcustom.cfg'' as they will not be overwritten (at least, until Batocera supports them as well).
  
-===== RetroArchievements =====+===== Examples =====
  
-[[http://retroachievements.org/|RetroAchievements]] is a website to log your achievements on several console games. It's built into RetroArch and is only supported by a selection of cores. Available from **GAMES SETTINGS** -> **RETROACHIEVEMENTS SETTINGS**. +==== A.I. Translation ====
- +
-You first need a valid account there and then add your credentials inside the configuration file. Get more detailed information from the [[:retroachievements_settings|RetroAchievements Settings]] page. +
- +
-<code> +
-## Enable retroarchievements (0,1) +
-## Set your www.retroachievements.org username/password +
-## Escape your special chars (# ; $) with a backslash : $ => \$ +
-global.retroachievements=0 +
-global.retroachievements.hardcore=0 +
-global.retroachievements.leaderboards=0 +
-global.retroachievements.verbose=0 +
-global.retroachievements.screenshot=0 +
-global.retroachievements.username= +
-global.retroachievements.password= +
-## Show badges in Retroarch cheevos list and color them when they're win like on the web site +
-global.retroarch.cheevos_badges_enable=true +
-</code> +
- +
-===== A.I. Translation =====+
  
 The following section enables an automatic translation of in-game dialogs in your language. So it's possible to play Japanese game titles without hassle. Available from **GAMES SETTINGS** -> **AI GAME TRANSLATION** The following section enables an automatic translation of in-game dialogs in your language. So it's possible to play Japanese game titles without hassle. Available from **GAMES SETTINGS** -> **AI GAME TRANSLATION**
Line 43: Line 24:
 </code> </code>
  
-===== Cheats =====+==== Cheats ====
  
 Auto apply cheats selected by the user. Auto apply cheats selected by the user.
Line 49: Line 30:
 <code> <code>
 ## Auto apply cheats selected by the user ## Auto apply cheats selected by the user
-retroarch.apply_cheats_after_load=true +global.retroarch.apply_cheats_after_load=true 
-retroarch.apply_cheats_after_toggle=true+global.retroarch.apply_cheats_after_toggle=true
 </code> </code>
  
-===== Savestate Screenshots =====+==== Savestate Screenshots ====
  
-Take a screenshot of the savestate. For when you have many savestates and don't remember which is which... now in RetroArch its thumbnail will be a screenshot of the moment you saved! Not available as an ES option.+Take a screenshot of the savestate. For when you have many savestates and don't remember which is which... now in RetroArch its thumbnail will be a screenshot of the moment you saved! This has become the default setting in Batocera. Not available as an ES option.
  
 <code> <code>
 ## Take a screenshot of the savestate ## Take a screenshot of the savestate
-retroarch.savestate_thumbnail_enable=true+global.retroarch.savestate_thumbnail_enable=true
 </code> </code>
  
-===== Start Screen Message =====+==== Start Screen Message ====
  
 Hide the welcome message in Retroarch. Having to wait for 3 secs before the message goes away is really boring. This has become the default setting in Batocera. Not available as an ES option. Hide the welcome message in Retroarch. Having to wait for 3 secs before the message goes away is really boring. This has become the default setting in Batocera. Not available as an ES option.
Line 68: Line 49:
 <code> <code>
 ## Hide the welcome message in Retroarch ## Hide the welcome message in Retroarch
-retroarch.rgui_show_start_screen=false+global.retroarch.rgui_show_start_screen=false
 </code> </code>
  
-===== All Users Control Menu =====+==== All Users Control Menu ====
  
 Allow any RetroPad to control the menu. This changes nothing in 1 player mode, but it's a dream to disable when you have friends who don't know the emulators or young children... Only Player 1 (YOU) can use RetroArch options like savestate, change slot, rewind, etc. A much better gaming experience. Not available as an ES option. Allow any RetroPad to control the menu. This changes nothing in 1 player mode, but it's a dream to disable when you have friends who don't know the emulators or young children... Only Player 1 (YOU) can use RetroArch options like savestate, change slot, rewind, etc. A much better gaming experience. Not available as an ES option.
Line 77: Line 58:
 <code> <code>
 ## Allow any RetroPad to control the menu (Only the player 1) ## Allow any RetroPad to control the menu (Only the player 1)
-retroarch.all_users_control_menu=false+global.retroarch.all_users_control_menu=false
 </code> </code>
  
-===== Swap OK and Cancel buttons =====+==== Swap OK and Cancel buttons ====
  
 Swap the **OK** and **CANCEL** buttons on Retroarch menu. Many users have SNES gamepads and in EmulationStation, B is **OK** and A is **NO**. And in RetroArch, buttons are inverted, and not really convenient. Not available as a menu option. Swap the **OK** and **CANCEL** buttons on Retroarch menu. Many users have SNES gamepads and in EmulationStation, B is **OK** and A is **NO**. And in RetroArch, buttons are inverted, and not really convenient. Not available as a menu option.
Line 86: Line 67:
 <code> <code>
 ## Swap the Ok and the CANCEL button on Retroarch menu ## Swap the Ok and the CANCEL button on Retroarch menu
-retroarch.menu_swap_ok_cancel_buttons=true+global.retroarch.menu_swap_ok_cancel_buttons=true
 </code> </code>
  
-===== OSD Badges =====+==== OSD Badges ====
  
 Enable OSD (on-screen display) messages. Retroarch shows users some important messages, like Savestate, Screenshot, RetroAchievements, etc. They look beautiful on badges. But sometimes, it shows other less important messages, like your name when you connect to RetroAchievements. Those messages look like crappy yellow text lines, not like the badges. This option hides these messages but not the badges. This has become the default option in Batocera. Not available as an ES option. Enable OSD (on-screen display) messages. Retroarch shows users some important messages, like Savestate, Screenshot, RetroAchievements, etc. They look beautiful on badges. But sometimes, it shows other less important messages, like your name when you connect to RetroAchievements. Those messages look like crappy yellow text lines, not like the badges. This option hides these messages but not the badges. This has become the default option in Batocera. Not available as an ES option.
Line 95: Line 76:
 <code> <code>
 ## Enable usage of OSD messages (Text messages not in badge) ## Enable usage of OSD messages (Text messages not in badge)
-retroarch.video_font_enable=false+global.retroarch.video_font_enable=false
 </code> </code>
  
-===== Sync to Exact Content Framerate (G-Sync, FreeSync) =====+==== Sync to Exact Content Framerate (G-Sync, FreeSync) ====
  
-This will enable variable refresh rate for compatible displays. This sync your display's refresh rate to the emulated console's display rate (unlike traditional v-sync that will simply delay the frames until the display is ready). Only compatible on displays that explicitly have support for "variable refresh rate" (most of them don't). Not available as an ES option.+This will enable variable refresh rate for compatible displays. This sync your display's refresh rate to the emulated console's display rate (unlike traditional v-sync that will simply delay the frames until the display is ready). Only compatible on displays that explicitly have support for "variable refresh rate" (most of them don't). Now available as an ES option.
  
 <code> <code>
 ## Enables syncing to exact content framerate (variable refresh rate, G-sync, Freesync, etc.) ## Enables syncing to exact content framerate (variable refresh rate, G-sync, Freesync, etc.)
-retroarch.vrr_runloop_enable=true+global.retroarch.vrr_runloop_enable=true 
 +</code> 
 + 
 +==== Adjust per-game volume ==== 
 + 
 +Not all games are created equal... in terms of decibels they produce. Use the following to adjust the volume output by a particular game (use negative numbers to reduce its volume instead): 
 + 
 +<code> 
 +## Adjusts the volume for the game SydMead's TerraForming (USA).chd in the pcenginecd folder to be 10 decibels louder than usual. 
 +pcenginecd["SydMead's TerraForming (USA).chd"].retroarch.audio_volume = "10.000000" 
 +</code> 
 + 
 +==== Alter FPS update interval ==== 
 + 
 +When you turn on the **SYSTEM SETTINGS** -> **FRONTEND DEVELOPER SETTINGS** -> **SHOW FPS**, you may notice in RetroArch specifically the FPS counter is very unresponsive... this is because the default interval is set to update once every two and a half seconds. To change this to update every 10 ms: 
 + 
 +<code> 
 +global.retroarch.fps_update_interval=10
 </code> </code>
  
Line 113: Line 111:
 </WRAP> </WRAP>
  
-In order to set specific core options (ones that are saved to ''userdata/system/configs/retroarch/cores/retroarch-core-options.cfg'' (may cause conflicting issues, advanced users only) use the ''retroarchcore.<core name>_<core option>=value'' syntax (takes priority over other settings, even settings that are normally required to be adjusted to run games, be warned). For example: ''retroarchcore.genesis_plus_gx_region_detect=pal'' would set the region to PAL for games run with GenesisPlusGX.+In order to set specific core options (ones that are saved to ''/userdata/system/configs/retroarch/cores/retroarch-core-options.cfg'' (may cause conflicting issues, advanced users only) use the ''global.retroarchcore.<core name>_<core option>=value'' syntax (takes priority over other settings, even settings that are normally required to be adjusted to run games, be warned). For example: ''global.retroarchcore.genesis_plus_gx_region_detect=pal'' would set the region to PAL for games run with GenesisPlusGX. 
 + 
 +<WRAP center round tip> 
 +Although you can use ''global.'' to apply the core option to all systems that core supports, it might be wise to specify the system you want to apply it to (considering that most cores only support a single system anyway). 
 +</WRAP>
  
 Each core option is (usually) unique to the core, you can see what terminology it uses with the following: Each core option is (usually) unique to the core, you can see what terminology it uses with the following:
-  - Launch a game and go into the RetroArch Quick Menu'Options ( ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Options**).+  - Launch a game and go into the RetroArch **Quick Menu** and navigate to the core'options ( ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Core Options** <wrap lo>(this used to be labelled simply **Options** in older versions of RetroArch)</wrap>).
   - Edit your options if you want to, and then go to **Manage Core Options** -> **Save Content Directory Options**.   - Edit your options if you want to, and then go to **Manage Core Options** -> **Save Content Directory Options**.
-  - Check the newly created file at ''system/.config/retroarch/config/<core name>/<system>.opt'' +  - Check the newly created file at ''/userdata/system/configs/retroarch/config/<core name>/<system>.opt''<WRAP center round important> 
-  - Transplant those options to ''batocera.conf'' by appending them with ''retroarchcore.'' first. It's okay to use either the ''%%retroarchcore.<core option> = "<value>"%%'' or the ''retroarchcore.<core option>=<value>'' syntax for ''retroarchcore'' options+For earlier versions of Batocera, these files were located at ''/userdata/system/.config/retroarch/config/<core name>/<system>.opt''. You may need to turn on "Show hidden folders" in your file manager to see this folder.</WRAP> 
-  - Delete the ''system/.config/retroarch/config/<core name>/<system>.opt'' file (or just **Delete Content Directory Options** (which has replaced **Save Content Directory Options** from earlier)).+  - Transplant those options to ''batocera.conf'' by appending them with ''global.retroarchcore.'' first. It's okay to enclose the values in double-quotes like RetroArch does (eg. ''%%= "value"%%''or not include any double-quotes like Batocera does (eg. ''= value'')
 +  - Delete the ''/userdata/system/configs/retroarch/config/<core name>/<system>.opt'' file (or just **Delete Content Directory Options** (which has replaced **Save Content Directory Options** from earlier)).
  
 To run with our previous example, I would: To run with our previous example, I would:
-  - Launch "Shaq Fu" for the Sega Megadrive, mash ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} and then go into the **Options** menu. {{ :screenshot-2021.10.07-17h46.34.jpg?direct&600 |Shaq Fu is the penultimate fighting game.}}{{ :screenshot-2021.10.07-17h47.30.jpg?direct&600 |RetroArch's core options menu.}} +  - Launch "Shaq Fu" for the Sega Megadrive, mash ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} and then go into the **Options** menu.\\ {{:screenshot-2021.10.07-17h46.34.jpg?direct&600|Shaq Fu is the penultimate fighting game.}} {{:screenshot-2021.10.07-17h47.30.jpg?direct&600|RetroArch's core options menu.}} 
-  - Change the **System region** option from "auto" to "pal". {{ :screenshot-2021.10.07-17h58.20.jpg?direct&600 |Adjusting various options in the core option menu. You can also use left/right to change options quickly.}} +  - Change the **System region** option from "auto" to "pal".\\ {{:screenshot-2021.10.07-17h58.20.jpg?direct&600|Adjusting various options in the core option menu. You can also use left/right to change options quickly.}} 
-  - Go into **Manage Core Options** and then **Save Content Directory Options**. {{ :screenshot-2021.10.07-17h48.35.jpg?direct&600 |Saving the option file in the manage core options menu.}}{{ :screenshot-2021.10.07-17h48.42.jpg?direct&600 |This button changes to allow you to delete the option file later.}} +  - Go into **Manage Core Options** and then **Save Content Directory Options**.\\ {{:screenshot-2021.10.07-17h48.35.jpg?direct&600|Saving the option file in the manage core options menu.}} {{:screenshot-2021.10.07-17h48.42.jpg?direct&600|This button changes to allow you to delete the option file later.}} 
-  - Check the option file that was created at ''system/.config/retroarch/config/Genesis Plus GX/megadrive.opt'' {{ :option_file.png?direct&500 |There he is!}} +  - Check the option file that was created at ''/userdata/system/configs/retroarch/config/Genesis Plus GX/megadrive.opt''\\ {{:option_file.png?direct&500|There he is!}} 
-  - Take a gander at the option I set, and note that it is ''%%genesis_plus_gx_region_detect = "pal"%%''. {{ :option_strings.png?direct&500 |Excellent.}} +  - Take a gander at the option I set, and note that it is ''%%genesis_plus_gx_region_detect = "pal"%%''.\\ {{:option_strings.png?direct&500|Excellent.}} 
-  - Open up ''batocera.conf'' and add ''%%retroarchcore.genesis_plus_gx_region_detect = "pal"%%'' to it.+  - Open up ''batocera.conf'' and add ''%%global.retroarchcore.genesis_plus_gx_region_detect = "pal"%%'' to it.
   - Delete the ''megadrive.opt'' file.   - Delete the ''megadrive.opt'' file.
  
-All my Megadrive games now run at PAL speeds, as they should be. ;-) {{ :screenshot-2021.10.07-18h03.17.jpg?direct&600 |But unfortunately PAL isn't considered "hardcore" :(}}+All my Mega Drive games now run at PAL speeds, as they should be. ;-) 
 + 
 +{{ :screenshot-2021.10.07-18h03.17.jpg?direct&600 |But unfortunately PAL isn't considered "hardcore" :(}} 
 + 
 +===== All other non-core RetroArch settings ===== 
 + 
 +<WRAP center round alert> 
 +This will break Batocera's ability to alter configuration files for RetroArch. This can cause issues such as losing the ability to change any settings from EmulationStation's menus, a future update resulting in failure to launch the system, no ability to change which controller is being used, etc. 
 + 
 +The better option is to [[#advanced_retroarch_settings|configure these settings from batocera.conf as written above]], as that allows Batocera to acknowledge the changed settings and then continue functioning normally. 
 + 
 +Only continue with this if you understand that the burden of configuration maintenance will now fall onto you. 
 +</WRAP> 
 + 
 +If the settings are not in the core options, you will notice these are not persisted by saving a core options config. Settings outside of core options must be saved with an override instead. 
 + 
 +Once you have set the settings as you want them to, in RetroArch's menu navigate to **Quick menu** -> **Overrides** and then select the type of override you want to make. Although making an override at all is not recommended, you can reduce interruption by keeping the override as small as possible, so try to aim for "game", then "content directory" if that's not expansive enough, and finally "core" if needed for every game ran by that system's core. 
 + 
 +{{:screenshot-2024.09.27-12h42.08.png?700|}} 
 +{{:screenshot-2024.09.27-12h43.21.png?700|}}
  
 ===== Reconfiguring the Keyboard for RetroArch ===== ===== Reconfiguring the Keyboard for RetroArch =====
  
-This is for if you'd like to reconfigure the default keyboard bindings for all systems emulated by a Libretro core (such as if you don't have a controller to use or you're in an all-in-one device like a netbook). Setting this will <wrap em>prevent you from using a controller configured from ES</wrap> in Libretro cores until you undo this. Not available as an ES option.+This is for if you'd like to reconfigure the default keyboard bindings for all systems emulated by a libretro core (such as if you don't have a controller to use or you're in an all-in-one device like a netbook). Setting this will <wrap em>prevent you from using a controller configured from ES</wrap> in libretro cores until you undo this. Not available as an ES option.
  
 <WRAP center round info> <WRAP center round info>
-Keep in mind that this is just translating your keyboard to the Retropad. The Retropad is independent of the system and will be assigned to the appropriate system controls when that emulator is booted up. You can read more about that and its philosophy [[https://docs.libretro.com/guides/input-and-controls/|here]].+Keep in mind that this is just translating your keyboard to the RetroPad. The RetroPad is independent of the system and will be assigned to the appropriate system controls when that emulator is booted up. You can read more about that and its philosophy [[https://docs.libretro.com/guides/input-and-controls/|here]].
 </WRAP> </WRAP>
  
-Open your ''/system/batocera.conf'' file and add the following lines as appropriate to it. Here is an example of the default bindings:+Open your ''/userdata/system/batocera.conf'' file and add the following lines as appropriate to it. Here is an example of the default bindings:
  
 <file> <file>
-# Face Buttons +# Face buttons 
-retroarch.input_player1_a=x +global.retroarch.input_player1_a=x 
-retroarch.input_player1_b=z +global.retroarch.input_player1_b=z 
-retroarch.input_player1_x=s +global.retroarch.input_player1_x=s 
-retroarch.input_player1_y=a+global.retroarch.input_player1_y=a
  
-# D-Pad +# D-pad 
-retroarch.input_player1_down=down +global.retroarch.input_player1_down=down 
-retroarch.input_player1_left=left +global.retroarch.input_player1_left=left 
-retroarch.input_player1_right=right +global.retroarch.input_player1_right=right 
-retroarch.input_player1_up=up+global.retroarch.input_player1_up=up
  
-# Shoulder Buttons +# Shoulder buttons 
-retroarch.input_player1_l=q +global.retroarch.input_player1_l=q 
-retroarch.input_player1_r=w +global.retroarch.input_player1_r=w 
-retroarch.input_player1_l2=nul +global.retroarch.input_player1_l2=nul 
-retroarch.input_player1_r2=nul+global.retroarch.input_player1_r2=nul
  
 # Start and Select # Start and Select
-retroarch.input_player1_select = rshift +global.retroarch.input_player1_select = rshift 
-retroarch.input_player1_start = enter+global.retroarch.input_player1_start = enter
  
-# Left Analog +# Left analog 
-retroarch.input_player1_l_x_minus=nul +global.retroarch.input_player1_l_x_minus=nul 
-retroarch.input_player1_l_x_plus=nul +global.retroarch.input_player1_l_x_plus=nul 
-retroarch.input_player1_l_y_minus=nul +global.retroarch.input_player1_l_y_minus=nul 
-retroarch.input_player1_l_y_plus=nul+global.retroarch.input_player1_l_y_plus=nul
  
-# Right Analog +# Right analog 
-retroarch.input_player1_r_x_minus=nul +global.retroarch.input_player1_r_x_minus=nul 
-retroarch.input_player1_r_x_plus=nul +global.retroarch.input_player1_r_x_plus=nul 
-retroarch.input_player1_r_y_minus=nul +global.retroarch.input_player1_r_y_minus=nul 
-retroarch.input_player1_r_y_plus=nul+global.retroarch.input_player1_r_y_plus=nul
  
-# Analog Buttons +# Analog buttons 
-retroarch.input_player1_l3=nul +global.retroarch.input_player1_l3=nul 
-retroarch.input_player1_r3=nul+global.retroarch.input_player1_r3=nul
  
 # The Hotkey # The Hotkey
-retroarch.input_enable_hotkey=nul+global.retroarch.input_enable_hotkey=nul
 </file> </file>
  
Line 198: Line 220:
 The hotkey combos that Batocera offers are nice, but what if you wanted to bind a hotkey action directly to an unused button (such as putting fast-forward on the unused ''[R2]'' button for GBA games)? This is for that. Once again, keep in mind this will only affect libretro cores, not standalone emulators. The hotkey combos that Batocera offers are nice, but what if you wanted to bind a hotkey action directly to an unused button (such as putting fast-forward on the unused ''[R2]'' button for GBA games)? This is for that. Once again, keep in mind this will only affect libretro cores, not standalone emulators.
  
-Open your ''/system/batocera.conf'' file and add the following lines:+Open your ''/userdata/system/batocera.conf'' file and add the following lines:
  
 <file> <file>
 ## The hotkey enable button. Equivalent to Batocera's [HOTKEY]. Making this "nul" will disable the requirement for holding the hotkey first to activate commands with button presses. ## The hotkey enable button. Equivalent to Batocera's [HOTKEY]. Making this "nul" will disable the requirement for holding the hotkey first to activate commands with button presses.
-retroarch.input_enable_hotkey_btn=nul+global.retroarch.input_enable_hotkey_btn=nul
 </file> </file>
  
 <WRAP center round tip> <WRAP center round tip>
-Keep in mind that you really should specify the system you want to make the edits for by adding ''<shortname>.'' to the front of the key with the shortname of your system (eg. ''psx.retroarch.<setting>'' for the Sony PlayStation). Otherwise, more complicated systems that utilize buttons which you assign to hotkey functions here will activate their button commands instantly without first pressing the hotkey, interrupting gameplay.+Keep in mind that you really should specify the system you want to make the edits for by replacing ''global.'' with ''<system shortname>.'' applicable to that system (eg. ''psx.retroarch.<setting>'' for the Sony PlayStation). Otherwise, more complicated systems that utilize buttons which you assign to hotkey functions here will activate their button commands instantly without first pressing the hotkey, interrupting gameplay.
 </WRAP> </WRAP>
  
-You'll have to figure out what your internal button names are using `evtestfrom the terminal/[[:access_the_batocera_via_ssh|ssh session]]. Here is a list of the common Batocera names (using an Xbox 360 controller):+You'll have to figure out what your internal button names are using ''evtest'' from the terminal/[[:access_the_batocera_via_ssh|ssh session]]. Here is a list of the common Batocera names (using an Xbox 360 controller):
  
 <WRAP center round important> <WRAP center round important>
Line 242: Line 264:
 <file> <file>
 ## Exit the current emulator. Equivalent to [HOTKEY]+[START]. ## Exit the current emulator. Equivalent to [HOTKEY]+[START].
-retroarch.input_exit_emulator_btn=7+global.retroarch.input_exit_emulator_btn=7
  
 ## Open RetroArch's Quick Menu. Equivalent to [HOTKEY]+[SOUTH]. ## Open RetroArch's Quick Menu. Equivalent to [HOTKEY]+[SOUTH].
-retroarch.input_menu_toggle_btn=0+global.retroarch.input_menu_toggle_btn=0
 ## Save current state to the selected slot. Equivalent to [HOTKEY]+[WEST]. ## Save current state to the selected slot. Equivalent to [HOTKEY]+[WEST].
-retroarch.input_save_state_btn=2+global.retroarch.input_save_state_btn=2
 ## Load the state from the selected slot. Equivalent to [HOTKEY]+[NORTH]. ## Load the state from the selected slot. Equivalent to [HOTKEY]+[NORTH].
-retroarch.input_load_state_btn=3+global.retroarch.input_load_state_btn=3
 ## Reset the emulated system (can cause bugs with certain settings/games). Equivalent to [HOTKEY]+[EAST]. ## Reset the emulated system (can cause bugs with certain settings/games). Equivalent to [HOTKEY]+[EAST].
-retroarch.input_reset_btn=1+global.retroarch.input_reset_btn=1
 ## Increase the currently selected save state slot. Equivalent to [HOTKEY]+[D-PAD UP]. ## Increase the currently selected save state slot. Equivalent to [HOTKEY]+[D-PAD UP].
-retroarch.input_state_slot_increase_btn=h0up+global.retroarch.input_state_slot_increase_btn=h0up
 ## Decrease the currently selected save state slot. Equivalent to [HOTKEY]+[D-PAD DOWN]. ## Decrease the currently selected save state slot. Equivalent to [HOTKEY]+[D-PAD DOWN].
-retroarch.input_state_slot_decrease_btn=h0down+global.retroarch.input_state_slot_decrease_btn=h0down
  
 ## Toggle the AI translation service. Equivalent to [HOTKEY]+[R1] ## Toggle the AI translation service. Equivalent to [HOTKEY]+[R1]
-retroarch.input_ai_service_btn=5+global.retroarch.input_ai_service_btn=5
 ## Fast-forward (hold). Equivalent to [HOTKEY]+[D-PAD RIGHT] ## Fast-forward (hold). Equivalent to [HOTKEY]+[D-PAD RIGHT]
-retroarch.input_hold_fast_forward_btn=h0right+global.retroarch.input_hold_fast_forward_btn=h0right
 ## Rewind. Equivalent to [HOTKEY]+[D-PAD LEFT] ## Rewind. Equivalent to [HOTKEY]+[D-PAD LEFT]
-retroarch.input_rewind_btn=h0left+global.retroarch.input_rewind_btn=h0left
 ## Take a screenshot. Equivalent to [HOTKEY]+[L1]. ## Take a screenshot. Equivalent to [HOTKEY]+[L1].
-retroarch.input_screenshot_btn=9+global.retroarch.input_screenshot_btn=9
 ## Next shader. Equivalent to [HOTKEY]+[R2]. ## Next shader. Equivalent to [HOTKEY]+[R2].
-retroarch.input_shader_next_btn=nul+global.retroarch.input_shader_next_btn=nul
 ## Previous shader. Equivalent to [HOTKEY]+[L2]. ## Previous shader. Equivalent to [HOTKEY]+[L2].
-retroarch.input_shader_prev_btn=nul+global.retroarch.input_shader_prev_btn=nul
  
 ## Hotkey (for holding). Setting this to anything but nul will re-enable the combo requirement. ## Hotkey (for holding). Setting this to anything but nul will re-enable the combo requirement.
-retroarch.input_enable_hotkey_btn=8+global.retroarch.input_enable_hotkey_btn=8
 ## Eject the virtual disc. ## Eject the virtual disc.
-retroarch.input_disk_eject_toggle_btn=4+global.retroarch.input_disk_eject_toggle_btn=4
 ## Select the next disc. ## Select the next disc.
-retroarch.input_disk_next_btn=nul+global.retroarch.input_disk_next_btn=nul
 ## Select the previous disc. ## Select the previous disc.
-retroarch.input_disk_prev_btn=nul+global.retroarch.input_disk_prev_btn=nul
 ## Toggle the FPS display. ## Toggle the FPS display.
-retroarch.input_fps_toggle_btn=nul+global.retroarch.input_fps_toggle_btn=nul
 ## Advance one frame. ## Advance one frame.
-retroarch.input_frame_advance_btn=nul+global.retroarch.input_frame_advance_btn=nul
 ## Slow-motion (hold). ## Slow-motion (hold).
-retroarch.input_hold_slowmotion_btn=nul+global.retroarch.input_hold_slowmotion_btn=nul
 ## Record movie toggle. ## Record movie toggle.
-retroarch.input_movie_record_toggle_btn=nul+global.retroarch.input_movie_record_toggle_btn=nul
 ## Netplay watch toggle. ## Netplay watch toggle.
-retroarch.input_netplay_game_watch_btn=nul+global.retroarch.input_netplay_game_watch_btn=nul
 ## Netplay host toggle. ## Netplay host toggle.
-retroarch.input_netplay_host_toggle_btn=nul+global.retroarch.input_netplay_host_toggle_btn=nul
 ## OSK toggle. ## OSK toggle.
-retroarch.input_osk_toggle_btn=nul+global.retroarch.input_osk_toggle_btn=nul
 ## Pause emulation. ## Pause emulation.
-retroarch.input_pause_toggle_btn=nul+global.retroarch.input_pause_toggle_btn=nul
 ## Input recording toggle. ## Input recording toggle.
-retroarch.input_recording_toggle_btn=nul+global.retroarch.input_recording_toggle_btn=nul
 ## Runahead toggle. ## Runahead toggle.
-retroarch.input_runahead_toggle_btn=nul+global.retroarch.input_runahead_toggle_btn=nul
 ## Streaming toggle. ## Streaming toggle.
-retroarch.input_streaming_toggle_btn=nul+global.retroarch.input_streaming_toggle_btn=nul
 ## Fast-forward toggle. ## Fast-forward toggle.
-retroarch.input_toggle_fast_forward_btn=nul+global.retroarch.input_toggle_fast_forward_btn=nul
 ## Slow-motion toggle. ## Slow-motion toggle.
-retroarch.input_toggle_slowmotion_btn=nul+global.retroarch.input_toggle_slowmotion_btn=nul
 ## Turbo default button. ## Turbo default button.
-retroarch.input_turbo_default_button=0+global.retroarch.input_turbo_default_button=0
 </file> </file>
  
-If you'd like to be able to open the Quick Menu with an alternative button combo, you can utilize any of RetroArch's built-in combos:+If you'd like to be able to open the **Quick Menu** with an alternative button combo, you can utilize any of RetroArch's built-in combos:
  
 <file> <file>
 ## Only open the RetroArch Quick Menu with the hotkey command. ## Only open the RetroArch Quick Menu with the hotkey command.
-retroarch.input_menu_toggle_gamepad_combo=0+global.retroarch.input_menu_toggle_gamepad_combo=0
 ## Open the RetroArch Quick Menu with Down + Y + L1 + R1. ## Open the RetroArch Quick Menu with Down + Y + L1 + R1.
-retroarch.input_menu_toggle_gamepad_combo=1+global.retroarch.input_menu_toggle_gamepad_combo=1
 ## Open the RetroArch Quick Menu with L3 + R3. ## Open the RetroArch Quick Menu with L3 + R3.
-retroarch.input_menu_toggle_gamepad_combo=2+global.retroarch.input_menu_toggle_gamepad_combo=2
 ## Open the RetroArch Quick Menu with L1 + R1 + Start + Select. ## Open the RetroArch Quick Menu with L1 + R1 + Start + Select.
-retroarch.input_menu_toggle_gamepad_combo=3+global.retroarch.input_menu_toggle_gamepad_combo=3
 ## Open the RetroArch Quick Menu with Start + Select. ## Open the RetroArch Quick Menu with Start + Select.
-retroarch.input_menu_toggle_gamepad_combo=4+global.retroarch.input_menu_toggle_gamepad_combo=4
 ## Open the RetroArch Quick Menu with L3 + R1. ## Open the RetroArch Quick Menu with L3 + R1.
-retroarch.input_menu_toggle_gamepad_combo=5+global.retroarch.input_menu_toggle_gamepad_combo=5
 ## Open the RetroArch Quick Menu with L1 + R1. ## Open the RetroArch Quick Menu with L1 + R1.
-retroarch.input_menu_toggle_gamepad_combo=6+global.retroarch.input_menu_toggle_gamepad_combo=6
 ## Open the RetroArch Quick Menu by holding Start for 2 seconds. ## Open the RetroArch Quick Menu by holding Start for 2 seconds.
-retroarch.input_menu_toggle_gamepad_combo=7+global.retroarch.input_menu_toggle_gamepad_combo=7
 ## Open the RetroArch Quick Menu by holding Select for 2 seconds. ## Open the RetroArch Quick Menu by holding Select for 2 seconds.
-retroarch.input_menu_toggle_gamepad_combo=8+global.retroarch.input_menu_toggle_gamepad_combo=8
 ## Open the RetroArch Quick Menu with Down + Select. ## Open the RetroArch Quick Menu with Down + Select.
-retroarch.input_menu_toggle_gamepad_combo=9+global.retroarch.input_menu_toggle_gamepad_combo=9
 ## Open the RetroArch Quick Menu with L2 + R2. ## Open the RetroArch Quick Menu with L2 + R2.
-retroarch.input_menu_toggle_gamepad_combo=10+global.retroarch.input_menu_toggle_gamepad_combo=10
 </file> </file>
 +
 +===== Open the Quick Menu via Shift + F1 =====
 +
 +By default, Batocera will have the ''[Esc]'' key on the keyboard bound to immediately exiting RetroArch. In order to revert this to behave similarly to RetroArch's default behavior, modify the following lines in ''system/configs/retroarch/retroarchcustom.cfg'' to the following:
 +
 +<code>
 +input_enable_hotkey = "shift"
 +input_menu_toggle = "f1"
 +</code>
 +
 +Using this, you can now access the Quick Menu even if you only have a keyboard! How neat.
 +
 +<WRAP center round info>
 +Batocera will not change these specific variables. So as long as you don't do a factory reset, this setting will persist.
 +</WRAP>
  
  • advanced_retroarch_settings.1640082136.txt.gz
  • Last modified: 5 years ago
  • by atari