So with the new Retropie 3 beta 4 All my emulators (that i’ve tested) seem to be working fairly well with the button layout, Genesis works as expected, SNES as well without having to do anything, which is awesome. However, the NES is backwards. How do I change the A and B button functions on just this console?
I put the info from the controller and reversed the buttons from the new retroarch-joypads folder into /opt/retropie/configs/nes/retroarch.cfg but it’s not responding any different. what am I doing wrong?
As an update, I have been fooling around with this more, and I’ve been able to get the hotkey buttons to change, so I know that it’s reading the retroarch.cfg custom file I’ve created. I’t just not allowing me to change core features. Example. I’ve changed the reset hotkey button to be several different ones, each working. Yet, the A and B buttons remain backwards. There has to be another core file that it’s finding somewhere.
I’m having almost this exact problem. I’m on Retropie 3 – Beta 2. The Auto Remapping feature is fantastic, yet it is not perfect. I’d like some more control.
I’m using a PS3 Bluetooth controller as my main controller for the system. For the NES console, Button A (NES) is “Circle” on the PS3 Controller and Button B (NES) is “X” on the PS3 Controller. To me this feels awkward, and I’d rather have the buttons shifted one button over to this: Button A (NES) is “X” (PS3), and Button B (NES) is “Square” (PS3).
To simplify… This is what I currently have:
NES A = PS3 Circle
NES B = PS3 X
And this is what I want to have:
NES A = PS3 X
NES B = PS3 Square
I know that I can do this fairly simply by adding a few lines into the NES config file (iaaberg, this may help you), found at “\opt\retropie\configs\nes\retroarch.cfg”. I can just add the following:
However, this breaks the remapping feature, because now any different controllers I connect to the RetroPie will take those button mappings, overriding the Auto Config. This makes the fix above kind of useless.
I wish instead I could modify how the NES emulator takes the inputs. I wish I could do something like:
That might get a little complicated, but the principle is simple. There’s a variable for the specific controller input, there’s a variable for the input of the emulator, so there should be a bridge of some sort in between where you can dynamically mix and match the variables to your liking. This way, the dynamic remapping feature stays intact, but the user still has freedom to make changes like I just stated.
For a little more info, here’s the full story. I have a PS3 Bluetooth controller, and a PS2 controller connected via PSX-to-USB adapter. If my Bluetooth controller runs out of battery, I use the PS2 controller. But if I want to play a NES game, I can’t, because the two controllers have different internal button mappings, like so:
PS3 Face Button ID’s:
Triangle = 12
Circle = 13
X = 14
Square = 15
PS2 (via Adapter) Face Button ID’s:
Triangle = 0
Circle = 1
X = 2
Square = 3
If I hardcode a change to the NES configs, it won’t be usable for both controllers. Does anyone know of a way to get the correct result as I described?
good call on the adding “player1” to the cfg file. That was my problem with the NES. As for yours, have you tried adding input_device = “PS3” or whatever your controller is named in the configs section? That should then tell it that you only apply these overrides to that controller specifically. Though, that’s just what I would naturally think would be the solution.