lr-fba - Keyboard input - Per rom controller config
-
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.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 -
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
-
-
This post is deleted! -
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.
-
@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.
-
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.
-
@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! -
@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? -
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...
-
@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 AlphaThere are several files in /opt/retropie/configs/fba:
capex.cfg
content_history.lpl
content_image_history.lpl
emulators.cfg
fba2x.cfg
retroarch.cfgThere are several files in /opt/retropie/configs/all:
autoconf.cfg
autostart.sh
retroarch.cfg
retroarch-core-options.cfg
runcommand.cfg
cuncommand-launch.dialog.cfgShould 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? -
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" -
@Concat , thanks for sending me down the right path.
-
This post is deleted! -
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.
-
Yeah, it's not intuitive, but it makes up for it with the amount of configuration it affords the user.
-
@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.
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.