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

    L/R shoulder buttons not working to jump letters

    Scheduled Pinned Locked Moved Help and Support
    emulationstatiogameslistinterfaceconfigurationshoulder button
    24 Posts 5 Posters 3.8k 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.
    • zerobyzeroZ
      zerobyzero
      last edited by

      I've tried with both, the latest stable and development versions of EmulationStation with the same result: I cannot jump to previous/next letter in the games list with the L/R should buttons. I tried with a bluetooth PS3 controller and with the keyboard.

      Is that option working for anybody? do you have to make any special change in the configuration files?

      Regards

      mituM simpleethatS 2 Replies Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @zerobyzero
        last edited by

        @zerobyzero I'm not familiar with this feature, as far as I know L/R act as PgUp/PgDown for scrolling in the game list.

        1 Reply Last reply Reply Quote 0
        • simpleethatS
          simpleethat @zerobyzero
          last edited by

          @zerobyzero As far as I've always known to jump to certain letters you have to press Select (whatever button you might have configured for that) while in a system's gamelist and the first option should be Jump To... and a letter. Navigating with the Left or Right buttons should allow you to choose the letter.

          zerobyzeroZ 1 Reply Last reply Reply Quote 0
          • zerobyzeroZ
            zerobyzero @simpleethat
            last edited by zerobyzero

            @mitu, that would be fine as well but L/R shoulder buttons are not doing anything at all.

            Yes, @simpleethat ehat, that's what I do at the moment but I find a bit annoying going go the menu simply because you want to scroll faster.

            1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator
              last edited by

              @zerobyzero said in L/R shoulder buttons not working to jump letters:

              @mitu, that would be fine as well but L/R shoulder buttons are not doing anything at all.

              What's the exact version of Emulationstation you have installed ?

              1 Reply Last reply Reply Quote 0
              • zerobyzeroZ
                zerobyzero
                last edited by

                Right now, 2.8.3rp but yesterday I tried with the latest development version (I cloned the git repository without any special command line so I assume I got the latest dev version) with the same result.

                1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator
                  last edited by mitu

                  I have version 2.8.2rp installed right now and I have no problem with a Dualshock 4 controller - L/R act as PgUp/Down. Did you configure the L/R buttons in Emulationstation's Input configuration ?

                  I'll try on 2.8.3rp, to see if anything is different.

                  1 Reply Last reply Reply Quote 0
                  • simpleethatS
                    simpleethat
                    last edited by

                    ES 2.8.3RP my L & R Shoulder buttons act as Page Up / Down

                    1 Reply Last reply Reply Quote 0
                    • zerobyzeroZ
                      zerobyzero
                      last edited by

                      Weird!

                      This is my es_input.cfg

                      	<inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller" deviceGUID="050000004c0500006802000000800000">
                      		<input name="a" type="button" id="1" value="1" />
                      		<input name="b" type="button" id="0" value="1" />
                      		<input name="down" type="button" id="14" value="1" />
                      		<input name="hotkeyenable" type="button" id="10" value="1" />
                      		<input name="left" type="button" id="15" value="1" />
                      		<input name="leftanalogdown" type="axis" id="1" value="1" />
                      		<input name="leftanalogleft" type="axis" id="0" value="-1" />
                      		<input name="leftanalogright" type="axis" id="0" value="1" />
                      		<input name="leftanalogup" type="axis" id="1" value="-1" />
                      		<input name="leftshoulder" type="button" id="4" value="1" />
                      		<input name="leftthumb" type="button" id="11" value="1" />
                      		<input name="lefttrigger" type="button" id="6" value="1" />
                      		<input name="right" type="button" id="16" value="1" />
                      		<input name="rightanalogdown" type="axis" id="4" value="1" />
                      		<input name="rightanalogleft" type="axis" id="3" value="-1" />
                      		<input name="rightanalogright" type="axis" id="3" value="1" />
                      		<input name="rightanalogup" type="axis" id="4" value="-1" />
                      		<input name="rightshoulder" type="button" id="5" value="1" />
                      		<input name="rightthumb" type="button" id="12" value="1" />
                      		<input name="select" type="button" id="8" value="1" />
                      		<input name="start" type="button" id="9" value="1" />
                      		<input name="up" type="button" id="13" value="1" />
                      		<input name="x" type="button" id="2" value="1" />
                      		<input name="y" type="button" id="3" value="1" />
                      	</inputConfig>
                      
                      mituM 1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @zerobyzero
                        last edited by

                        @zerobyzero I think this might be specific to the PS3 controller, though I can't confirm since I don't have one. I'll try to 'fake' a PS3 controller via xboxdrv and see if I can reproduce the issue.

                        @psyke83 do you think that the event filtering added in ES recently might affect the L/R buttons ?

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          psyke83 Global Moderator @mitu
                          last edited by psyke83

                          @mitu said in L/R shoulder buttons not working to jump letters:

                          @zerobyzero I think this might be specific to the PS3 controller, though I can't confirm since I don't have one. I'll try to 'fake' a PS3 controller via xboxdrv and see if I can reproduce the issue.

                          @psyke83 do you think that the event filtering added in ES recently might affect the L/R buttons ?

                          I don't think so?

                          The current stable build is broken for PS3 controllers, as the older trigger patch was reverted due to conflicts with other controllers. The master branch has a better patch in place, but there's still a pending PR to further improve the filtering to apply to other controllers: https://github.com/RetroPie/EmulationStation/pull/558

                          No matter whether you run stable, master or master + PR 558, my trigger filtering code a) doesn't affect shoulder buttons, and b) only filters inputs during during input configuration.

                          Looking at @zerobyzero's input config I can see that it's using the wrong inputs for triggers (should be axes 2 & 5), but shoulder button mappings are correct. However, it appears that ES stores separate mapping configuration related to GUI navigation. My configuration also has this:

                            <inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller" deviceGUID="050000004c0500006802000000810000">
                              <input name="rightanalogdown" type="axis" id="4" value="1"/>
                              <input name="rightanalogleft" type="axis" id="3" value="-1"/>
                              <input name="pageup" type="button" id="4" value="1"/>
                              <input name="start" type="button" id="9" value="1"/>
                              <input name="rightanalogup" type="axis" id="4" value="-1"/>
                              <input name="down" type="button" id="14" value="1"/>
                              <input name="leftanalogright" type="axis" id="0" value="1"/>
                              <input name="pagedown" type="button" id="5" value="1"/>
                              <input name="right" type="button" id="16" value="1"/>
                              <input name="select" type="button" id="8" value="1"/>
                              <input name="left" type="button" id="15" value="1"/>
                              <input name="leftanalogup" type="axis" id="1" value="-1"/>
                              <input name="up" type="button" id="13" value="1"/>
                              <input name="b" type="button" id="1" value="1"/>
                              <input name="a" type="button" id="0" value="1"/>
                              <input name="leftanalogdown" type="axis" id="1" value="1"/>
                              <input name="x" type="button" id="2" value="1"/>
                              <input name="leftanalogleft" type="axis" id="0" value="-1"/>
                              <input name="y" type="button" id="3" value="1"/>
                              <input name="rightanalogright" type="axis" id="3" value="1"/>
                            </inputConfig>
                          

                          Relevant is the pageup and pagedown, which should correspond to the leftshoulder and rightshoulder mappings (for sixaxis, buttons 4 & 5).

                          1 Reply Last reply Reply Quote 0
                          • zerobyzeroZ
                            zerobyzero
                            last edited by zerobyzero

                            Interestingly, with your mapping the page up/down works... So could it simply be the name of the inputs? I had "leftshoulder" and I see that "pageup" works.

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @zerobyzero
                              last edited by mitu

                              @zerobyzero Did you try to re-configure your gamepad after you did the upgrade ?

                              @psyke83 I took a shot, it didn't seem the PS3 modifications had anything to do with it, but I'm not throughly familiar with ES's input handling - thanks for the explanation.

                              zerobyzeroZ 1 Reply Last reply Reply Quote 0
                              • zerobyzeroZ
                                zerobyzero @mitu
                                last edited by

                                @mitu This is my first time using ES so I've only tried the two latest versions: the latest dev and the latest stable. And yes, I reconfigured the pad several times. What I probably didn't do is closing and reopening ES. I've noticed that several things are not always updated until you close/open the program (e.g. making changes in layout A while using it and then activating layout B and A again from the configuration menu).

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @zerobyzero
                                  last edited by mitu

                                  @zerobyzero The L/R buttons don't work right away after mapping - which is probably a bug - but they work after a restart. That's a 'feature' - probably because the es_input.cfg is read only on start, but the mapping - in-memory - doesn't have the L/R enabled.

                                  1 Reply Last reply Reply Quote 0
                                  • zerobyzeroZ
                                    zerobyzero
                                    last edited by

                                    I can confirm that's not working for me, @mitu. I removed the configuration and I started ES from scratch so I got:

                                    <input name="leftshoulder" type="button" id="4" value="1" />
                                    <input name="rightshoulder" type="button" id="5" value="1" />
                                    

                                    By renaming the buttons to pageup and pagedown everything works as expected.

                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @zerobyzero
                                      last edited by mitu

                                      @zerobyzero Thanks for reporting - let's see if we can find a better solution.

                                      zerobyzeroZ 1 Reply Last reply Reply Quote 0
                                      • zerobyzeroZ
                                        zerobyzero @mitu
                                        last edited by zerobyzero

                                        @mitu It seems simple to fix in the code. I'd say that, to be consistent, the "pageup"/"pagedown" texts should be changed to "leftshoulder"/"rightshoulder". They don't appear in too many files. I'll try to modify the code this weekend, check it works and submit the patch to github.

                                        Regards.

                                        EDIT: Patched and tested, it works. Now I need to figure out how to push to ES git, I'm getting an error 403. Do I need to be verified or something like that to be able to push patches?

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @zerobyzero
                                          last edited by mitu

                                          @zerobyzero said in L/R shoulder buttons not working to jump letters:

                                          Do I need to be verified or something like that to be able to push patches?

                                          Modifications are usually sent as Pull Requests to the RetroPie's Emulationstation Github repository - https://github.com/retroPie/emulationstation/pulls.
                                          You'll need to fork the repository, add your modifications (commit) to your repository, then create a Pull Request with the modifications - GitHub will propose you to do so when it detects you pushed your commits.

                                          1 Reply Last reply Reply Quote 1
                                          • zerobyzeroZ
                                            zerobyzero
                                            last edited by

                                            Thanks, done.

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