RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    lr-fba - Keyboard input - Per rom controller config

    Scheduled Pinned Locked Moved Help and Support
    keyboardipaccontrol configper rom
    17 Posts 4 Posters 7.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RandoCalrisianR
      RandoCalrisian
      last edited by RandoCalrisian

      I have a cocktail cabinet build and need to adjust controller settings for portrait games in lr-fba.
      I'm running a raspberry pi 3 with the retropie 4.1 build, and I'm using minipac keyboard encoders for the controllers.
      Players 1 and 2 sit perpendicularly to the 16:9 screen.
      Players 3 and 4 sit on opposites ends of the screen, cocktail style.

      0_1483729660368_Image_001.png

      For cocktail and portrail style games (ie pacman, donkey kong, galaga, and shmups like 1941, raiden) I need to set player 1 controls to the player 3 position, and player 2 controls to the player 4 position.
      In MAME this is absurdly easy to do.
      My problem is that not all games run in MAME, and I need to use lr-fba for some shmups like Espgaluda and such.
      If I go into the retroarch menu to Settings, Input, there are sections for the different user binds.
      I've tried setting these binds to the appropriate buttons, and then "Save Game Overrides", but when I leave and re-launch the game, the keys have gone back to their previous setting.

      In lr-fba, how can I change the keyboard inputs to accomplish my goal?

      Thank you for your help!

      Pi Model: 3
      RetroPie Version Used: 4.1
      Built From: Pre made SD Image on RetroPie website
      USB Devices connected: ipac
      Controller used: ipac

      meleuM 1 Reply Last reply Reply Quote 0
      • C
        Concat
        last edited by Concat

        You need to ensure the Option to Use Overrides Files automatically is selected (under settings > Configuration in Retroarch). Furthermore, you need to save the override .cfg file in the same folder as the ROM, AND it needs to be the same name as the ROM file. I think you even need to extension.. so pacman.zip.cfg

        RandoCalrisianR 1 Reply Last reply Reply Quote 0
        • meleuM
          meleu @RandoCalrisian
          last edited by

          @RandoCalrisian really simple:

          https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration#core-input-remapping

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          C RandoCalrisianR 2 Replies Last reply Reply Quote 0
          • C
            Concat @meleu
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • C
              Concat
              last edited by

              Are you also trying to flip the orientation on a per game basis?

              Core Remap Files will work for controls, but you will need config override files for anything more.

              1 Reply Last reply Reply Quote 0
              • RandoCalrisianR
                RandoCalrisian @meleu
                last edited by

                @meleu said in lr-fba - Keyboard input - Per rom controller config:

                @RandoCalrisian really simple:

                https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration#core-input-remapping

                Core input remapping doesn't work for me. I don't want switch player 1s "a" button with player 1s "b" button. I want to assign player 3's controls, entirely different buttons on the keyboard encoder, to function as player 1s controls.

                Unless I'm missing something, in the core config remap I don't have the option to set player 1 "y" to player 3 "y", and so forth.

                1 Reply Last reply Reply Quote 1
                • C
                  Concat
                  last edited by Concat

                  Right. That's why you need to use override config files, not core remapping files.

                  Retroarch has many mechanisms for controls and has pretty much everything covered. It gets confusing, but just research ROM override files. I've done exactly what you did. Sort of.

                  My setup is 2 PS3 controllers and 2 joystick arcade controls. For two player games, I want the option of using PS3 controller or joystick for players 1 and 2. For 4 player games though, PS3 controllers need to be set to player 3 and 4. I use override files to accomplish.

                  RandoCalrisianR 1 Reply Last reply Reply Quote 1
                  • RandoCalrisianR
                    RandoCalrisian @Concat
                    last edited by

                    @Concat said in lr-fba - Keyboard input - Per rom controller config:

                    Right. That's why you need to use override config files, not core remapping files.

                    Retroarch has many mechanisms for controls and has pretty much everything covered. It gets confusing, but just research ROM override files. I've done exactly what you did. Sort of.

                    My setup is 2 PS3 controllers and 2 joystick arcade controls. For two player games, I want the option of using PS3 controller or joystick for players 1 and 2. For 4 player games though, PS3 controllers need to be set to player 3 and 4. I use override files to accomplish.

                    I'll work on this solution and get back to you all.
                    Thank you!

                    1 Reply Last reply Reply Quote 0
                    • RandoCalrisianR
                      RandoCalrisian @Concat
                      last edited by

                      @Concat said in lr-fba - Keyboard input - Per rom controller config:

                      You need to ensure the Option to Use Overrides Files automatically is selected (under settings > Configuration in Retroarch). Furthermore, you need to save the override .cfg file in the same folder as the ROM, AND it needs to be the same name as the ROM file. I think you even need to extension.. so pacman.zip.cfg

                      The "Load Override Files Automatically" is on.
                      Where do the override.cfg files end up, and how are they generated?

                      1 Reply Last reply Reply Quote 0
                      • C
                        Concat
                        last edited by Concat

                        I don't actually know how to save the override file directly in Retroarch. What I did was copy the existing config in the config directory for the core, made the changes, then saved it as <ROMFILENAME>.<extension>.cfg in the correct roms folder.

                        I assume if there is an option to save game overrides in Retroarch, it would save it in the default rom directory since that's where it loads it from...

                        RandoCalrisianR 1 Reply Last reply Reply Quote 0
                        • RandoCalrisianR
                          RandoCalrisian @Concat
                          last edited by

                          @Concat said in lr-fba - Keyboard input - Per rom controller config:

                          I don't actually know how to save the override file directly in Retroarch. What I did was copy the existing config in the config directory for the core, made the changes, then saved it as <ROMFILENAME>.<extension>.cfg in the correct roms folder.

                          I assume if there is an option to save game overrides in Retroarch, it would save it in the default rom directory since that's where it loads it from...

                          There are so many config files in so many places, I'm not sure which one to copy.

                          Nothing is in:
                          /opt/retropie/configs/all/retroarch/config/FB Alpha

                          There are several files in /opt/retropie/configs/fba:
                          capex.cfg
                          content_history.lpl
                          content_image_history.lpl
                          emulators.cfg
                          fba2x.cfg
                          retroarch.cfg

                          There are several files in /opt/retropie/configs/all:
                          autoconf.cfg
                          autostart.sh
                          retroarch.cfg
                          retroarch-core-options.cfg
                          runcommand.cfg
                          cuncommand-launch.dialog.cfg

                          Should I be copying one of those?
                          Also, does the runcommand feature need to be enabled to allow loading of .cfg files that exist next to the rom files?

                          1 Reply Last reply Reply Quote 0
                          • RandoCalrisianR
                            RandoCalrisian
                            last edited by

                            Okay, figured it out

                            So I copied /opt/retropie/configs/all/retroarch.cfg to /opt/retropie/configs/all/retroarch/config/FB Alpha/espgal.cfg

                            In this file I changed rotation settings and input settings, and this worked ... EXCEPT
                            In the input settings I had:
                            input_player1_a = "'"
                            input_player1_b = "/"
                            input_player1_y = "m"
                            input_player1_x = ","
                            input_player1_start = "3"
                            input_player1_select = "7"
                            input_player1_l = ";"
                            input_player1_r = "."
                            input_player1_left = "b"
                            input_player1_right = "n"
                            input_player1_up = "c"
                            input_player1_down = "v"

                            And after looking at the comments in the cfg file I realized I had to change it to:
                            input_player1_a = "quote"
                            input_player1_b = "slash"
                            input_player1_y = "m"
                            input_player1_x = "comma"
                            input_player1_start = "num3"
                            input_player1_select = "num7"
                            input_player1_l = "semicolon"
                            input_player1_r = "period"
                            input_player1_left = "b"
                            input_player1_right = "n"
                            input_player1_up = "c"
                            input_player1_down = "v"

                            1 Reply Last reply Reply Quote 0
                            • RandoCalrisianR
                              RandoCalrisian
                              last edited by

                              @Concat , thanks for sending me down the right path.

                              1 Reply Last reply Reply Quote 0
                              • C
                                Concat
                                last edited by

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • RandoCalrisianR
                                  RandoCalrisian
                                  last edited by

                                  As a final remark, I'd like to add a thought.

                                  I effing LOVE retroarch. I think it's by far the best overall solution for the massive undertaking that is all of emulation in one wrapped up package. It's truly amazing.

                                  However, I think it's one major flaw, and I do mean MAJOR, is its emphasis on an xbox360 style controller. I'm sure that this solution has allowed it to work for such a wide range of things that it'd be idiotic to change it, but that so many people emulate on computers, and that keyboard funcitonality seems to be so ... overlooked at times, it's a bit frustrating

                                  But, as all things with computing goes, the more frustrating it is, the more satisfying it is when you finally figure it out, especially if a solution is actually available and you just have to dig.

                                  So far, retroarch has always had a solution for me, however obfuscated it might be.

                                  caver01C 1 Reply Last reply Reply Quote 0
                                  • C
                                    Concat
                                    last edited by

                                    Yeah, it's not intuitive, but it makes up for it with the amount of configuration it affords the user.

                                    1 Reply Last reply Reply Quote 0
                                    • caver01C
                                      caver01 @RandoCalrisian
                                      last edited by

                                      @RandoCalrisian It's pretty impressive how fast you moved through this problem to a solution. The community here is great!

                                      I do agree regarding the emphasis on the hand-held controller method of defining inputs. My cocktail setup sounds similar to yours--three panel, vertical games played from the ends. Because most of the console emulators are horizontal, my default retroarch.cfg is setup with that in mind, but I have a lot of in game adjustments in lr-mame2003 GUI. For FBA my default mapping is a NeoGeo setup, yet that forces me to do per-rom configs for most fighter games. You are definitely doing the right thing, or rather, the necessary thing to get what you need. It's tricky, but I appreciate how flexible it is. The biggest win from my perspective with RetroArch is the shaders. It's so great to have passably realistic scanlines and curvature across multiple systems. The exception for me is vector arcade games which I use AdvanceMAME exclusively for it's ability to specify high resolution.

                                      My 4-player cocktail style cabinet built as a custom "roadcase"

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.