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

    up & down (y-axis) not working in 3.8

    Scheduled Pinned Locked Moved Help and Support
    115 Posts 26 Posters 80.9k 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.
    • mediamogulM
      mediamogul Global Moderator
      last edited by

      @Fluk3

      Stranger still. ES should have remapped the offending emulator config files at the same time it mapped it's own.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 0
      • BuZzB
        BuZz administrators @mediamogul
        last edited by

        @mediamogul doing that disables the auto configuration. Es needs reinstalling after to put the initial config in then.

        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

        mediamogulM 1 Reply Last reply Reply Quote 0
        • BuZzB
          BuZz administrators @Fluk3
          last edited by

          @Fluk3 unfortunately removing/renaming the file is not correct. Es needs reinstalling if doing that

          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

          1 Reply Last reply Reply Quote 0
          • S
            sbidolach
            last edited by

            Maybe something wrong is with controller.
            The events in retropie console, you can check by below commands:

            sudo apt-get install input-utils
            
            • Dump out all the input devices and the associated details about the device.
            sudo lsinput
            
            • Display keyboard mapping of a particular event device
            sudo input-kbd [number]
            
            • Display input events
            sudo input-events [number]
            

            You can also try mobile controller implemented by myself and if will be working fine then definitely something wrong with settings or your controller

            https://github.com/sbidolach/mobile-gamepad

            F 1 Reply Last reply Reply Quote 0
            • F
              Fluk3 @sbidolach
              last edited by

              @sbidolach both controllers (dragonrise generic usb joystick) are fine, they worked as normal on 3.7 and stopped working correctly once I updated to 3.8. I have also done a clean install of 3.8 only to have the same problem and when I reverted back to a working 3.7 image the controllers worked as normal again.

              1 Reply Last reply Reply Quote 0
              • mediamogulM
                mediamogul Global Moderator @BuZz
                last edited by mediamogul

                @BuZz said in up & down (y-axis) not working in 3.8:

                doing that disables the auto configuration.

                Thanks BuZz. To live is to learn. That's why I had them back the file up rather than delete it out right. Anyone who attempted my previous instructions can restore their original preference file by dropping back to the command line (f4) and typing:

                rm /opt/retropie/configs/all/emulationstation/es_input.cfg
                

                Press enter, then type:

                mv /opt/retropie/configs/all/emulationstation/es_input.cfg.bak /opt/retropie/configs/all/emulationstation/es_input.cfg
                

                Press enter, then type:

                emulationstation
                

                Press enter and Emulation Station will load in the same state it was before attempting anything.

                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                1 Reply Last reply Reply Quote 0
                • BuZzB
                  BuZz administrators
                  last edited by

                  btw a default "empty" config should look like

                  <?xml version="1.0"?>
                  <inputList>
                    <inputAction type="onfinish">
                      <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
                    </inputAction>
                  </inputList>
                  

                  this is the config that triggers the auto configuration for retroarch emulators etc.

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  mediamogulM 1 Reply Last reply Reply Quote 0
                  • mediamogulM
                    mediamogul Global Moderator @BuZz
                    last edited by mediamogul

                    @BuZz

                    In the future, would it be advisable to recommend a procedure that creates 'es_input.cfg' with 'nano' that inserts those specific lines as a means of triggering the initial configure prompt?

                    Edit: Come to think of it, shouldn't that solve this particular situation?

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    1 Reply Last reply Reply Quote 0
                    • BuZzB
                      BuZz administrators
                      last edited by BuZz

                      the lines are inserted in by the ES configure function, so calling that again would re-insert the lines. eg sudo ./retropie_packages.sh emulationstation configure

                      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @BuZz
                        last edited by

                        @BuZz

                        Very slick. Knowing the order in which these dominoes fall will certainly come in handy. Also, wouldn't this method potentially solve the problem being discussed here, or is it being examined at a developer level and we should just hold off on any further attempts at a fix?

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        1 Reply Last reply Reply Quote 0
                        • BuZzB
                          BuZz administrators
                          last edited by

                          I don't know what the problem is here if re - but if updown works in ES it should work in RetroArch too. So long as those lines are in the config file, when reconfiguring a joypad it should trigger the configuration of retroarch (Restart ES first if changing the config).

                          Perhaps some kernel change caused the axis to be different between ES and RetroArch, but without the controller, it's going to be hard to debug. Also note that RetroPie is not an OS - the RetroPie image is just Raspbian Lite with RetroPie installed on top.

                          It may help for me to see the configs in /opt/retropie/configs/all/emulationstation and /opt/retropie/configs/all/retroarch-joypads

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            Fluk3 @BuZz
                            last edited by BuZz

                            @BuZz said in up & down (y-axis) not working in 3.8:

                            /opt/retropie/configs/all/emulationstation and /opt/retropie/configs/all/retroarch-joypads

                            At present up & down are not working in ES. If I remove/rename es_input.cfg then ES will prompt me to setup the controls once I restart, up & down will then work in ES but not in any Emulator.

                            What I find really strange though is that the problem affects non libretro emulators too where I had to manually set the controls which were working prior to the update. The contents of the files below are as they were after the update, no amendments have been made.

                            The contents of /opt/retropie/configs/all/emulationstation/es_input.cfg is as follows:

                            <?xml version="1.0"?>
                            <inputList>
                            	<inputConfig type="joystick" deviceName="DragonRise Inc.   Generic   USB  Joystick  " deviceGUID="03000000790000000600000010010000">
                            		<input name="a" type="button" id="3" value="1" />
                            		<input name="b" type="button" id="4" value="1" />
                            		<input name="down" type="axis" id="3" value="1" />
                            		<input name="left" type="axis" id="0" value="-1" />
                            		<input name="lefttop" type="button" id="5" value="1" />
                            		<input name="right" type="axis" id="0" value="1" />
                            		<input name="righttop" type="button" id="8" value="1" />
                            		<input name="select" type="button" id="1" value="1" />
                            		<input name="start" type="button" id="0" value="1" />
                            		<input name="up" type="axis" id="3" value="-1" />
                            		<input name="x" type="button" id="7" value="1" />
                            		<input name="y" type="button" id="6" value="1" />
                            	</inputConfig>
                            </inputList>
                            

                            The contents of /opt/retropie/configs/all/retroarch-joypads/DragonRiseInc.GenericUSBJoystick.cfg is as follows:

                            input_device = "DragonRise Inc.   Generic   USB  Joystick  "
                            input_driver = ""udev""
                            input_r_btn = "8"
                            input_save_state_btn = "8"
                            input_start_btn = "0"
                            input_exit_emulator_btn = "0"
                            input_l_btn = "5"
                            input_load_state_btn = "5"
                            input_up_axis = "-1"
                            input_a_btn = "3"
                            input_b_btn = "4"
                            input_reset_btn = "4"
                            input_down_axis = "+1"
                            input_right_axis = "+0"
                            input_state_slot_increase_axis = "+0"
                            input_x_btn = "7"
                            input_menu_toggle_btn = "7"
                            input_select_btn = "1"
                            input_enable_hotkey_btn = "1"
                            input_y_btn = "6"
                            input_left_axis = "-0"
                            input_state_slot_decrease_axis = "-0"
                            
                            1 Reply Last reply Reply Quote 0
                            • BuZzB
                              BuZz administrators
                              last edited by

                              https://retropie.org.uk/forum/topic/3/read-this-first - Please try and format your posts by putting log/file snippets in code blocks (or use an external pastebin site)

                              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                              1 Reply Last reply Reply Quote 0
                              • BuZzB
                                BuZz administrators
                                last edited by BuZz

                                does it help if you remove the duplicate quotes from /opt/retropie/configs/all/retroarch-joypads/DragonRiseInc.GenericUSBJoystick.cfg where it says input_driver = ""udev"" ?

                                Have you got other controllers to test ?

                                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  Fluk3 @BuZz
                                  last edited by

                                  @BuZz

                                  I don't think removing the duplicate quotes will effect it, as the working original files (which are below) also had them and I could use both joysticks and all buttons with no problem while on 3.7. I have a PS3 controller that I've never used with my Pi, I'll dig it out and give that a go, in the mean time the original working files are below.

                                  Prior to the update es_input.cfg was as follows: http://pastebin.com/dCC5Hc6J
                                  Priot to the update DragonRiseInc.GenericUSBJoystick.cfg was as follows: http://pastebin.com/skvP0UvM

                                  F 1 Reply Last reply Reply Quote 0
                                  • BuZzB
                                    BuZz administrators
                                    last edited by

                                    To see if it is due to the kernel update, please can you take your working 3.7 image, ssh in and do sudo apt-get update; sudo apt-get dist-upgrade which will pull in the new kernel - reboot and see if you have the same issue (without reconfiguring anything)

                                    To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      Fluk3 @Fluk3
                                      last edited by Fluk3

                                      @BuZz

                                      The Pi is in an arcade cab and is difficult to get to, I managed to pull a USB cable out (turns out it was the keyboard) and then connected the PS3 controller via USB. When I booted the Pi, up & down on the arcade sticks were now working. As I could now scroll down to configure inputs I setup the PS3 controller. I got excited and so started both a game on a libretro emulator followed by a game on an non libretro emulator, up & down are still not working (all other buttons are) in the libretro emulator and in the non libretro emulator it's as if I have never configured the controls (each button does something random). I have set the controls again for 1 of the arcade sticks in ES and tried a libretro emulator again and still have the up/down problem. Additionally the PS3 controller works within ES but not within any games.

                                      SwampyS 1 Reply Last reply Reply Quote 0
                                      • F
                                        Fluk3 @BuZz
                                        last edited by Fluk3

                                        @BuZz

                                        I have updated the kernel on the working 3.7 image and the controls are still working as normal.

                                        edit - I've just rebooted the 3.7 image again and the controls are no longer working.

                                        1 Reply Last reply Reply Quote 0
                                        • Z
                                          Zigurana
                                          last edited by

                                          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.

                                          If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                                          mediamogulM 1 Reply Last reply Reply Quote 0
                                          • mediamogulM
                                            mediamogul Global Moderator @Zigurana
                                            last edited by mediamogul

                                            @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.

                                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                            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.