Controller Mapping will not Save and Invert 3rd and 4th Players
-
Hello fellow users. I'm a noob and have done hours and hours of research and I see some people have one of the few problems I have, but not all the problems. I'm not great at coding or understanding how to develop or write scripts and need some help with this issue. I'm not even sure who to tag in this so I apologize in advance if I misused that. #config
To start: I have a raspberry pi 4b, downloaded the latest retropie image, retropie-buster-4.8-rpi4_400.img.gz, I have a 4 player simpsons arcade modified to use the 1st and 2nd player in the middle as a 6 button plus a start button and an additional select button (so 8 each) and then I have the 2 outside players 3 and 4 set up with 4 buttons plus a start and select button. They populate as "dragonrise" joysticks. I cannot for the life of me keep any configuration.
I have tried resetting the configuration, mapping them to each specific emulator, unsetting them, setting them in retroarch, but nothting saves and when I DO save it, the controls are inverted on the 2 outside controllers or the 2 inside controllers. Especially when I go into fba and into the game, the outside joysticks are inverted and backwards.
I have tried rotating the joysticks 180 but that doesn't fix anything. It continues to go inverted. I have changed the config file to refelct down and up are "+0/-0" and left and right are "+1/-1" and still no fixes.. When I save the controller inputs, It will save but go inverted and then when I reboot, it will prompt me to configure my controller and label it "gamepad 5" or 7 or 15 and it keeps going up forever with each reboot.
I have verified everything is wired up identically and the select and start are in the appropriate ports for the encoders. I'm not even sure where to start anymore. I just want to get this going for my kids so we can play this thing over the holidays as they are super excited about it. Please help!!!
-
@jerikson05 said in Controller Mapping will not Save and Invert 3rd and 4th Players:
To start: I have a raspberry pi 4b, downloaded the latest retropie image, retropie-buster-4.8-rpi4_400.img.gz, I have a 4 player simpsons arcade modified to use the 1st and 2nd player in the middle as a 6 button plus a start button and an additional select button (so 8 each) and then I have the 2 outside players 3 and 4 set up with 4 buttons plus a start and select button. They populate as "dragonrise" joysticks. I cannot for the life of me keep any configuration.
...So how many encoders do you have ? 3 or 4 ?
If all of them are named the same (most encoders have the same cheap 'dragorise' naming) but they're different, it's not going to work.
The configuration of an input device is saved based on the name and vendor/product IDs that a joytick/encoders has. So saving the configuration for one of the 4 players will create a config profile that will then be used by all the others when they have the same name. That's why is important to use similar encoders and that the encoders are wired similarly (i.e. button X on 1 joystick is wired the same as button X on all joysticks, analog joystick Y on player 1 has the same orientation on the other encoders also, etc.).EDIT: maybe only P3/P4 have this issue - having identical names - so make sure they're wired identically and you only have to configure one of them once and they both with work.
-
@mitu All 4 encoders are all the "EG starts" brand and they are all wired the same aside from the 3rd and 4th player as they only have 4 buttons plus the start and select button which are wired the same as the other two encoders.
When I go into configuration editor, it shows "dragon rise input #1" then #2 and so on up to 4.
Where do I go to map this correctly? I have tried doing it through retroarch but that is no success. Do I need to tick the "auto configuration" and "by name"? And how do I change the name of each controller?
-
Configuration editor will not help here. You can use
jstest
to check that each encoder outputs an identical input code for the same button.
Runningjstest /dev/input/jsX
will show you the inputs on the encoder and you can press all the inputs to see how they're recorded. ReplaceX
with 0 to 3 and you should be able to test each of the 4 encoders. Interrupt the test by pressingCtrl + C
.
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.