• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • S
    simpleethat
    last edited by 7 May 2019, 22:22

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

    1 Reply Last reply Reply Quote 0
    • Z
      zerobyzero
      last edited by 7 May 2019, 22:41

      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>
      
      M 1 Reply Last reply 8 May 2019, 04:43 Reply Quote 0
      • M
        mitu Global Moderator @zerobyzero
        last edited by 8 May 2019, 04:43

        @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 8 May 2019, 17:57 Reply Quote 0
        • P
          psyke83 Global Moderator @mitu
          last edited by psyke83 5 Aug 2019, 19:00 8 May 2019, 17:57

          @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
          • Z
            zerobyzero
            last edited by zerobyzero 5 Aug 2019, 20:19 8 May 2019, 19:09

            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.

            M 1 Reply Last reply 8 May 2019, 19:19 Reply Quote 0
            • M
              mitu Global Moderator @zerobyzero
              last edited by mitu 5 Aug 2019, 20:22 8 May 2019, 19:19

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

              Z 1 Reply Last reply 8 May 2019, 19:48 Reply Quote 0
              • Z
                zerobyzero @mitu
                last edited by 8 May 2019, 19:48

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

                M 1 Reply Last reply 8 May 2019, 19:54 Reply Quote 0
                • M
                  mitu Global Moderator @zerobyzero
                  last edited by mitu 5 Aug 2019, 20:57 8 May 2019, 19:54

                  @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
                  • Z
                    zerobyzero
                    last edited by 8 May 2019, 22:32

                    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.

                    M 1 Reply Last reply 9 May 2019, 03:46 Reply Quote 0
                    • M
                      mitu Global Moderator @zerobyzero
                      last edited by mitu 5 Sept 2019, 04:46 9 May 2019, 03:46

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

                      Z 1 Reply Last reply 9 May 2019, 07:38 Reply Quote 0
                      • Z
                        zerobyzero @mitu
                        last edited by zerobyzero 5 Sept 2019, 09:21 9 May 2019, 07:38

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

                        M 1 Reply Last reply 9 May 2019, 08:35 Reply Quote 0
                        • M
                          mitu Global Moderator @zerobyzero
                          last edited by mitu 5 Sept 2019, 09:36 9 May 2019, 08:35

                          @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
                          • Z
                            zerobyzero
                            last edited by 9 May 2019, 09:06

                            Thanks, done.

                            M 1 Reply Last reply 9 May 2019, 09:23 Reply Quote 0
                            • M
                              mitu Global Moderator @zerobyzero
                              last edited by mitu 5 Sept 2019, 10:24 9 May 2019, 09:23

                              @zerobyzero I've taken a look at the PR, but it doesn't seem correct. The .cfg file is not produced by Emulationstation, it's only read by it. The .cfg file is produced - externally - by this script, which already maps the shoulder buttons to 'pageUp/pageDown' (see here).

                              Moreover, as others pointed out, the mapping appears to be correctly generated for other controllers - my DS4 input configuration has - correctly - pageup/pagedown in the .cfg file, so as my other controllers which have shoulder buttons.

                              I'm thinking to have something like 'isMappedLike' which handles both D-Pad and Joysticks for movement, to map both types of inputs to the same action.

                              1 Reply Last reply Reply Quote 0
                              • E
                                ExarKunIv
                                last edited by 9 May 2019, 15:24

                                im on build 4.4.12 and using a 8bitdo NES30 and the shoulder buttons work fine

                                just giving info, thats all :)

                                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                Maintainer of RetroPie-Extra .

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  zerobyzero
                                  last edited by 9 May 2019, 17:00

                                  @mitu, I'll check the script but to me the fact that the source code of ES refers to the buttons by two different names is incorrect.

                                  Anyway, I have to say that I didn't download the full package at first. I mean I only downloaded the source code of ES to compile, then when I realised I missed the themes I installed the configuration script. I need to do more testing though.

                                  Regards

                                  M 1 Reply Last reply 9 May 2019, 17:15 Reply Quote 0
                                  • M
                                    mitu Global Moderator @zerobyzero
                                    last edited by 9 May 2019, 17:15

                                    @mitu, I'll check the script but to me the fact that the source code of ES refers to the buttons by two different names is incorrect.

                                    Emulationstation works with more than 1 type of controller and/or keyboard. The fact that it works fine for a lot of other people contradicts your observation.

                                    Anyway, I have to say that I didn't download the full package at first. I mean I only downloaded the source code of ES to compile, then when I realised I missed the themes I installed the configuration script. I need to do more testing though.

                                    If you didn't install the package correctly, then you'll get incorrect results. Install the package from the RetroPie-Setup package - the stable version - then re-configure your controller and see if the .cfg file is correctly generated.

                                    1 Reply Last reply Reply Quote 0
                                    24 out of 24
                                    • First post
                                      24/24
                                      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.

                                      This community forum collects and processes your personal information.
                                      consent.not_received