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
configure_a_controller [2022/12/25 01:01] – typo joinskiconfigure_a_controller [2023/04/30 02:49] (current) – remove mention of the forum, link to discord server/git instead atari
Line 11: Line 11:
 </WRAP> </WRAP>
  
-That's why, unfortunately there is no "One gamepad for all" which covers all different original console gamepads+That's why there is no "one gamepad for all" in regards to the physical labels which covers all different original console gamepads.
-And as you can see on the picture above, according to the pad you are using/refering, the X-button is at another location.+
  
-Therefore, if you want to map the four (usually diamond-shape-arranged) action-buttons of the pad you are using yourselfit is recommended to map those according to their cardinal direction: North {{:wiki:north.png?nolink&20|North button (X SNES)}}/ East {{:wiki:east.png?nolink&20|East button (A SNES)}}/ South {{:wiki:south.png?nolink&20|South button (B SNES)}}/ West {{:wiki:west.png?nolink&20|West button (Y SNES)}} with an SNES pad as orientation.+But fortunately that's not a practical issue as most controllers confirm to the same physical form. Left stick/D-pad,, a right stick/four face buttons and four shoulder buttons/triggers. As long as the buttons are physically in a similar positionthis should be no issue when playing games (although you will need to learn to ignore the labels on the controller itself).
  
-That means on a Playstation style pad the Triangle-Button (North {{:wiki:north.png?nolink&20|North button (X SNES)}}) should be mapped as Xthe Circle-Button (East {{:wiki:east.png?nolink&20|East button (A SNES)}}) should be mapped as Athe X-Button (South {{:wiki:south.png?nolink&20|South button (B SNES)}}) should be mapped as B, and the Square-Button (West {{:wiki:west.png?nolink&20|West button (Y SNES)}}) should be mapped as Y.+To map the four face buttons of the pad, assign them according to their physical position relative to the original controller. For convenience, these are referred to by their cardinal directions: North {{:wiki:north.png?nolink&20|North button (X SNES)}}, East {{:wiki:east.png?nolink&20|East button (A SNES)}}, South {{:wiki:south.png?nolink&20|South button (B SNES)}} and West {{:wiki:west.png?nolink&20|West button (Y SNES)}}.
  
-Usually, for the most common original gamepads (Xbox, Playstation, Nintendo, 8bitdo) the buttons are already mapped suitablyBut there are some systems/gamepadswhich are tricky in that regard, like Nintendo Gamecube, Nintendo 64 or Sega Genesis/Mega Drive for example (because the original pads of those systems do not have the typical diamond-shaped arrangement of four action buttons).+That means on a PlayStation-style pad the triangle button should be mapped as North {{:wiki:north.png?nolink&20|North button (X SNES)}}, the circle button as East {{:wiki:east.png?nolink&20|East button (A SNES)}}the cross button as South {{:wiki:south.png?nolink&20|South button (B SNES)}} and the square button as West {{:wiki:west.png?nolink&20|West button (Y SNES)}}.
  
-If a system controller has digital shoulder buttons, they are mapped to the L1/R1 buttons. If a system controller has analog triggers for shoulder controls, they will be mapped to L2/R2 triggers instead. Systems with both sets will utilize all shoulder buttons/triggers. +<WRAP center round tip> 
 +This follows along with RetroArch's "RetroPad" philosophy, which you can read more about [[https://docs.libretro.com/guides/input-and-controls/|here]]. 
 +</WRAP> 
 + 
 +[[#i_d_like_to_add_my_controller_configuration_to_the_database|Most known gamepads come configured out of the box]], no user-interaction needed. If a controller is connected which doesn't already have a mapping, a configuration screen will appear for it. 
 + 
 +If a system controller has digital shoulder buttons, they are mapped to the L1/R1 buttons. If a system controller has analog triggers for shoulder controls, they will be mapped to L2/R2 triggers instead. Systems with both sets will utilize all shoulder buttons/triggers. 
 + 
 +[[:arcade|Arcade layouts]] are an exception, consider the face buttons the first four buttons on the left side (diamond-shape) and the remaining ones the ''[L1]'' and ''[R1]'' shoulder buttons. In a Capcom-esque fighting game, this would translate to: 
 + 
 +^ Batocera-pad button ^ In-game input ^ 
 +| {{:wiki:west.png?nolink&20|West button (Y SNES)}} | Light Punch | 
 +| {{:wiki:south.png?nolink&20|South button (B SNES)}} | Light Kick | 
 +| {{:wiki:north.png?nolink&20|North button (X SNES)}} | Medium Punch | 
 +| {{:wiki:east.png?nolink&20|East button (A SNES)}} | Medium Kick | 
 +| ''[L1]'' | Heavy Punch | 
 +| ''[R1]'' | Heavy Kick | 
 + 
 +The arcade stick should be assigned as the D-pad. 
 + 
 +===== Hotkey =====
  
-[[arcade|Arcade layouts]] are an exceptionand they usually substitute using the left and middle buttons for {{:wiki:west.png?nolink&20|West button (Y SNES)}} (Light Punch)/{{:wiki:south.png?nolink&20|South button (B SNES)}} (Light Kick)/{{:wiki:north.png?nolink&20|North button (X SNES)}} (Medium Punch)/{{:wiki:east.png?nolink&20|East button (A SNES)}} (Medium Kick) and the right buttons for ''[L1]'' (Heavy Punch) and ''[R1]'' (Heavy Kick). D-pad and analog stick(s) should of course be mapped appropriately.+Commonly referred to as the "home" or "guide" buttonthis is what allows the use of shortcuts in BatoceraTo find out which shortcuts are (generallyavailable, refer to the [[:basic_commands|Hotkey shortcuts page]].
  
-For ''[HOTKEY]'' it is either a special key on the pad (like PS button in the middle of PS3/4 controlleror the Guide button on an Xbox 360/One controller) or if no special key is available it should be the ''[SELECT]'' button.+If there is no dedicated hotkey button, ''[SELECT]'' should be used.
  
 <WRAP center round important> <WRAP center round important>
-If you assign the hotkey to a button other than the ''[SELECT]'' button or a dedicated ''[HOME]'' button, you may instantly trigger [[:basic_commands|hotkey shortcuts]]!+Assigning the hotkey to a button other than the ''[SELECT]'' button or a dedicated ''[HOME]'' button will instantly trigger the command assigned to that button. For instance, setting it to ''[START]'' will cause the emulator to instantly exit when attempting to pause the game.
 </WRAP> </WRAP>
  
Line 34: Line 53:
 {{::controllersfadebg.png?direct&1240|From left to right, top to bottom: Xbox 360, PSP, PS3, NES, SNES, N64, Gamecube, GBA, NDS, Dreamcast.}} {{::controllersfadebg.png?direct&1240|From left to right, top to bottom: Xbox 360, PSP, PS3, NES, SNES, N64, Gamecube, GBA, NDS, Dreamcast.}}
  
-And here pictures of the most commonly used controllers for emulation, with the corresponding button mapping/layout:+And here pictures of the most commonly used controllers for emulation, with the corresponding button mapping/layout (in reference to their SNES pad equivalent) (FIXME this needs to be reworked to be relevant to Batocera):
  
 {{::generic.jpg?400|}} {{::generic.jpg?400|}}
Line 69: Line 88:
 ===== I'd like to add my controller configuration to the database ===== ===== I'd like to add my controller configuration to the database =====
  
-If your controller wasn't recognized by EmulationStation and you had to manually configure it, your configuration will be appended to ''/userdata/system/configs/emulationstation/es_input.cfg''. The last controller used appears at ''/userdata/system/configs/emulationstation/es_last_input.cfg'', which contains just that controller's configuration. You can send your controller configuration over to [[https://forum.batocera.org/d/1144-joystick-configured-out-of-the-box/120|this pinned forum post]] in order to add it to Batocera's controller database. That way, future users who use that controller will have their controller auto-magically configured out of the box! It's all a community effort, thank you for helping Batocera!+Batocera uses a database of "known" controllers to automatically map them for you, but new controllers (or just really unknown ones) may not be in this database yet. If you had to map your controller when you plugged it inthis means it was not in that database yet. It is possible to let the devs know about this and have your controller mapping added to the default database for other users. 
 + 
 +The last controller used appears at ''/userdata/system/configs/emulationstation/es_last_input.cfg'', which contains just that controller's configuration. You can send your controller'configuration via the [[https://discord.com/invite/JXhfRTr|Discord server]] or [[:contributing-to-batocera|PR]] ([[https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/emulationstation/batocera-emulationstation/controllers/es_input.cfg|link to es_systems on Github]]) and a dev will add it to Batocera'default controller database. That way, future users who use that controller will have their controller auto-magically configured out of the box! It's all a community effort, thank you for helping Batocera! 
 + 
 +<WRAP center round tip> 
 +In case you've plugged in a different controller since then, all of the controller configurations can be found at ''/userdata/system/configs/emulationstation/es_input.cfg''. The newest controllers will be appended at the bottom of the list. 
 +</WRAP>
  
 ===== I want to remap my controls for just a single system ===== ===== I want to remap my controls for just a single system =====
  • configure_a_controller.1671930111.txt.gz
  • Last modified: 3 years ago
  • by joinski