up & down (y-axis) not working in 3.8
-
So when I rename the es_input.cfg to something else, it allows me to reconfigure the controller. See below for Before and After:
Before:
<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="joystick" deviceName="DragonRise Inc. Generic USB Joystick "> <input name="pagedown" type="button" id="7" value="1"/> <input name="start" type="button" id="8" value="1"/> <input name="pageup" type="button" id="0" value="1"/> <input name="up" type="axis" id="1" value="-1"/> <input name="a" type="button" id="6" value="1"/> <input name="b" type="button" id="1" value="1"/> <input name="down" type="axis" id="1" value="1"/> <input name="right" type="axis" id="0" value="-1"/> <input name="select" type="button" id="9" value="1"/> <input name="left" type="axis" id="0" value="1"/> </inputConfig> </inputList>
After
<?xml version="1.0"?> <inputList> <inputConfig type="joystick" deviceName="DragonRise Inc. Generic USB Joystick " deviceGUID="03000000790000000600000010010000"> <input name="a" type="button" id="6" value="1" /> <input name="b" type="button" id="1" value="1" /> <input name="down" type="axis" id="3" value="1" /> <input name="left" type="axis" id="0" value="1" /> <input name="leftbottom" type="button" id="0" value="1" /> <input name="right" type="axis" id="0" value="-1" /> <input name="rightbottom" type="button" id="7" value="1" /> <input name="select" type="button" id="9" value="1" /> <input name="start" type="button" id="8" value="1" /> <input name="up" type="axis" id="3" value="-1" /> <input name="x" type="button" id="4" value="1" /> <input name="y" type="button" id="2" value="1" /> </inputConfig> </inputList>
I notice the following differences:
- The up/down axis has changes from 1 to 3
- There is no 'onfinish' command in the default version. For now I assume that this was what Buzz was referring to when he mentioned the need for a re-install of ES once the file was removed. If this is because this command is only excecuted when called from a specific workflow or something else I do not know.
In any case, it seems to me that something has caused the change in axis index from 1 to 3, the kernel update maybe?
As @Fluk3 mentioned, simply removing the cfg and running through the config-wizard in ES does not propagate trough to the emu's. Naively re-inserting the onfinish command, and re-configuring the controller does nothing either.BTW: while my keyboard did not work earlier, that seems to have been another glitch, it now works correctly on v3.8. This issue seems to be limited to the "DragonRise Inc. Generic USB Joystick " controller, although I cannot assess whether this issue is related.
-
@Zigurana said in up & down (y-axis) not working in 3.8:
simply removing the cfg and running through the config-wizard in ES does not propagate trough to the emu's.
It will propagate using a similar procedure to what was done earlier as long as the es_input.cfg is created to only include
<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> </inputList>```
If done the way I suggested earlier, the instruction set responsible for the extra mappings will not be created by simply launching emulation station. It takes what BuZz suggested above for the automagic to work. There's really no reason everything shouldn't work after that. If need be, I'll do a revised step-by-step, I just don't want to get in the way of illuminating any possible kernel problems that need full troubleshooting first.
-
Since there hasn't been any more activity on this in a while, here's a revised how-to that should help those afflicted with this problem get back on their feet. First, drop to the command line by pressing f4 on the keyboard. Once you're there type:
mv /opt/retropie/configs/all/emulationstation/es_input.cfg /opt/retropie/configs/all/emulationstation/es_input.cfg.bak
Press enter, then type:
sudo /home/pi/RetroPie-Setup/retropie_packages.sh emulationstation configure
Press enter, then type:
emulationstation
Press enter again and wait for Emulation Station to load, where you will be greeted by a configuration prompt that will now map the other emulators as well. Keep in mind that any emulators that were configured manually before will most likely have to be reconfigured again as well due to the nature of this problem.
Thanks again @BuZz.
-
Double Post
-
@mediamogul :
Thanks! I'll try this tonight and report back. -
All sorted now. Thanks everyone for your help.
-
@Fluk3 What was the problem ?
-
I think it was the kernel update that broke it as the controls on my 3.7 image stopped working after I ran the kernel update. I followed the workaround that @mediamogul advised above and I'm up and running again. The thing in the 3.8 update that caused the problem isn't fixed but my Pi is.
-
@Fluk3 moving the config file / configuring emulationstation and re-doing control ? strange as that's what I said to do previously (ie on my reddit reply to you)
-
I'm glad everything worked out, but I certainly don't want to take credit away from where it belongs. My original suggestion was based on a theory and once it was known to omit the emulator mappings, I was at a complete loss. Hell, I didn't even know what 'retropie_packages.sh' was for until you explained it above. Bottom line, we most certainly appreciate your help with this.
-
@mediamogul np. Team effort! I'm just confused as to what was done differently to make it work :)
-
Hi.
Is there any way to change Y axis back from 3 to 1? It's working fine in ES and libretro emu, for for atari800/scummvm I have to change source code and recompile with Y axis changes from 1 to 3. Everyone assumes that 0 is X and 1 is Y. In Zero Delay (aka Dragonrise USD gamepad) retropie detect Y axis as 3. On Windows, it's "normal".Also anyone noticed that sometimes control got stuck (for example in OpenTyrian when pressing pushbutton A on title causes it to repeat as stuck, pressing it again unstuck it). Sometimes also when exiting MAME, joystick down is "stuck" (need to unstack by pushing joystick down).
-
It seems like many people are having issues with this gamepad in linux. From what I was able to glean from a search, this is a PS3 controller? If so, all ps3 buttons are pressure sensitive and are read as axis input in linux. This isn't a problem in most parts of RetroPie, as many emulators will read any positive or negative axis readings as a binary on/off state. On the other hand, this confuses a few emulators with under developed joystick support that try to guess the different qualities of a controller. To me, it sounds like both your problems stem from this issue. I believe the emulators you mentioned are confused by the controller axis order and MAME might even be confused by the pressure sensitive buttons. If this turns out to be the case, I have corrected these issues before on a few unruly controllers by using xboxdrv, but I'll hold off on a full explanation in case I'm wildly off base with the diagnosis here.
-
@mediamogul It's not a PS3 controller, it's an arcade encoder. It's a PCB with plugs which you connect arcade buttons to, they're commonly used when building an arcade cabinet with a PC (or Pi) in it. Look on eBay or Amazon for "Reyann Zero Delay" and you'll see the board these guys are using.
-
I have the same problem. After upgrading to version 3.8, the up & down stopped working. I have the board USB Zero Delay Arcade encoder. I reconfigured the Emulation Station and Retroarch, but PIFBA is not working the y-axis.
-
My solution to this problem was to install Recalbox 4.0 beta 3.
-
Hi
I have this Dragonrise joystick too. it seems to work when navigating the menus, until i load into a game, once i have loaded a game up it totally screws up the config and my buttons and joystick no longer work the way i have configured them.
How can i change this?
Thanks
-
Hi robthedude81,
I have the same problem using FBA game and Dradonrise joystick. I tried to copy:
/opt/retropie/configs/all/retroarch-joypads/DragonRiseInc.GenericUSBJoystick.cfg
into /opt/retropie/configs/fba/retroarch.cfg file, but it does not effect.Only change my insert coin and select buttons if I change the file /opt/retropie/configs/fba/fba2x.cfg , but with the stick up/down/left/right inside the game it doesn't works.
Any idea??
-
I just changed the emulator:
https://github.com/RetroPie/RetroPie-Setup/wiki/runcommandfrom pifba to lr-fba-next or lr-fba and the controls works well, but with mi RPI b+ it's too slow. When I use pifba the sound and game go much better but controls fails...
any suggestion?
-
I also have the problem with the swapped axis in non libretro emulators!
I looked at this site:
https://github.com/raspberrypi/linux/issues/1527/Perhaps a kernel-problem?
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.