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.
    • 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
                                • mediamogulM
                                  mediamogul Global Moderator
                                  last edited by mediamogul

                                  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.

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

                                  F KvitekvistK 2 Replies Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator
                                    last edited by mediamogul

                                    Double Post

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

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

                                      @mediamogul :
                                      Thanks! I'll try this tonight and report back.

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

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

                                        @mediamogul
                                        @BuZz

                                        All sorted now. Thanks everyone for your help.

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

                                          @Fluk3 What was the problem ?

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

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