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

    Emulationstation Controller Button Mapping Question...

    Scheduled Pinned Locked Moved Help and Support
    emulationstatonbutton mappingpi5pi 5
    21 Posts 2 Posters 3.6k 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.
    • mituM
      mitu Global Moderator @TPR
      last edited by mitu

      So why the change between one version of ES and the other? This breaks other things. Daphne, MAME, or any other stand alone core that has START & SELECT hard coded.

      How exactly does it break it ? If you're starting from scratch, the new configuration(s) generated from EmulationStation should be generated based on the new values. Do not expect to copy/paste your existing configs from the Pi4 to the new OS and to work just the same.

      I just want to know why this isn't a concern or considered a bug?

      I just explained in my previous post why.

      EDIT: You may actually by impacted by the changes in the xpad Linux driver, which is used by your Xbox 360 gamepad. See here for the changes and why it changed here.

      TPRT 3 Replies Last reply Reply Quote 0
      • TPRT
        TPR @mitu
        last edited by TPR

        @mitu said in Emulationstation Controller Button Mapping Question...:

        So why the change between one version of ES and the other? This breaks other things. Daphne, MAME, or any other stand alone core that has START & SELECT hard coded.

        How exactly does it break it ? If you're starting from scratch, the new configuration(s) generated from EmulationStation should be generated based on the new values. Do not expect to copy/paste your existing configs from the Pi4 to the new OS and to work just the same.

        I'm not copy/pasting from one es_input to the other. It breaks it because the number assigned is different between the two versions of ES. I have three different controllers that I often use and on my Pi 4 build Start/Select are mapped the same in ES. Now all of a sudden on the Pi 5 they are different so now the same buttons don't work any longer.

        I guess I was just expecting more consistency between versions, that's all?

        mituM 1 Reply Last reply Reply Quote 0
        • TPRT
          TPR @mitu
          last edited by

          @mitu said in Emulationstation Controller Button Mapping Question...:

          EDIT: You may actually by impacted by the changes in the xpad Linux driver, which is used by your Xbox 360 gamepad. See here for the changes and why it changed here.

          Reading now...

          1 Reply Last reply Reply Quote 0
          • TPRT
            TPR @mitu
            last edited by

            @mitu said in Emulationstation Controller Button Mapping Question...:

            EDIT: You may actually by impacted by the changes in the xpad Linux driver, which is used by your Xbox 360 gamepad. See here for the changes and why it changed here.

            Following these instructions fixed it!
            echo "options xpad triggers_to_buttons=1" | sudo tee /etc/modprobe.d/xpad.conf

            THANK YOU!!!

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

              @TPR said in Emulationstation Controller Button Mapping Question...:

              I guess I was just expecting more consistency between versions, that's all?

              I think there's enough consistency.

              Things change and at some point we have to adapt to those changes - you've complained for the entire topic that you can't copy your old configs even after I explained that you should re-configure again your controllers. I understand you'd like to just copy/paste your old configs and things to work 'as before', but that's not always an option and you should be able to understand that.

              TPRT 1 Reply Last reply Reply Quote 0
              • TPRT
                TPR @mitu
                last edited by TPR

                @mitu said in Emulationstation Controller Button Mapping Question...:
                You've complained for the entire topic that you can't copy your old configs even after I explained t>hat you should re-configure again your controllers.

                1. I wasn't complaining. I was asking questions to help me better understand why things changed.

                2. I wasn't copy/pasting anything. Everything I did was set up on a completely new vanilla build on the Pi 5 from scratch.

                @mitu said in Emulationstation Controller Button Mapping Question...:
                I> understand you'd like to just copy/paste your old configs and things to work 'as before', but t>hat's not always an option and you should be able to understand that.

                100% do understand that. What I didn't understand is why functionality on a previous version of ES and RetroPie worked one way, but it did not on the current version. There was no copying of anything involved.

                The answer, which you pointed me in the direction and I thank you for that, was here:
                https://retropie.org.uk/docs/Xbox-360-Controller/#xpad-driver-options

                *Xpad driver options
                The xpad kernel module has the option to interpret the shoulder triggers as button inputs instead of treating the trigger as Axis type inputs. This kind of configuration was default in RetroPie until April 2024 to fix an incompatibility with older EmulationStation version, but since this configuration causes conflicts with SDL's gamepad mappings for Xbox wired controllers, it has been removed.

                If you wish to retain the previous behavior or to fix the detection of buttons for gamepads that just mimic an Xbox 360 controller (in order to maintain compatibility with Windows), then running the following command will add back the 'trigger to buttons' option to the xpad configuration:

                echo "options xpad triggers_to_buttons=1" | sudo tee /etc/modprobe.d/xpad.conf

                After the command is executed, reboot the system or reload the xpad driver in order for the xpad configuration to be applied.*

                End of the day, I don't think I was "wrong." There WAS IN FACT A CHANGE which made certain things not work like they did before. Again, that wasn't because I had copied something, that was just functionality that no longer worked the same.

                Once you pointed me into the direction of the xpad change, that resolved everything.

                Again... not complaining.

                and thank you for the help.

                it was exactly what I was looking for.

                1 Reply Last reply Reply Quote -1
                • TPRT
                  TPR @TPR
                  last edited by

                  @TPR said in Emulationstation Controller Button Mapping Question...:

                  Following these instructions fixed it!
                  echo "options xpad triggers_to_buttons=1" | sudo tee /etc/modprobe.d/xpad.conf

                  THANK YOU!!!

                  Does this no longer work? I have that in my xpad.conf but now my triggers are still coming up like this:
                  Pac-Man Screen Shot 9-21-24, 6.58 PM.png
                  Is there a way to make the triggers act like button again?

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

                    @TPR said in Emulationstation Controller Button Mapping Question...:

                    Is there a way to make the triggers act like button again?

                    Nothing has changed for xpad in RetroPie, the setting/option for the triggers interpreted as buttons should still work.

                    TPRT 1 Reply Last reply Reply Quote 0
                    • TPRT
                      TPR @mitu
                      last edited by TPR

                      @mitu said in Emulationstation Controller Button Mapping Question...:

                      @TPR said in Emulationstation Controller Button Mapping Question...:

                      Is there a way to make the triggers act like button again?

                      Nothing has changed for xpad in RetroPie, the setting/option for the triggers interpreted as buttons should still work.

                      Weird so in my xpad.conf I have this:

                      options xpad triggers_to_buttons=1

                      This is where it is located:
                      Screenshot 2024-09-22 at 1.36.21 AM.png

                      And my right and left triggers come up as Axis 2+ and Axis 5+

                      Any idea why?

                      EDIT here is the contents of my Xbox 360 Controller.cfg file:

                      input_device = "Xbox 360 Controller"
                      input_driver = "udev"
                      input_vendor_id = "1118"
                      input_product_id = "654"
                      input_r_y_plus_axis = "+4"
                      input_r_y_plus_axis_label = "Right Analog Y+"
                      input_left_btn = "h0left"
                      input_left_btn_label = "D-Pad Left"
                      input_state_slot_decrease_btn = "h0left"
                      input_r_x_minus_axis = "-3"
                      input_right_btn = "h0right"
                      input_right_btn_label = "D-Pad Right"
                      input_state_slot_increase_btn = "h0right"
                      input_r_btn = "5"
                      input_r_btn_label = "RB"
                      input_save_state_btn = "5"
                      input_down_btn = "h0down"
                      input_down_btn_label = "D-Pad Down"
                      input_r_y_minus_axis = "-4"
                      input_r_y_minus_axis_label = "Right Analog Y-"
                      input_l_btn = "4"
                      input_l_btn_label = "LB"
                      input_load_state_btn = "4"
                      input_r_x_plus_axis = "+3"
                      input_y_btn = "2"
                      input_y_btn_label = "X"
                      input_x_btn = "3"
                      input_x_btn_label = "Y"
                      input_menu_toggle_btn = "3"
                      input_b_btn = "0"
                      input_b_btn_label = "A"
                      input_reset_btn = "0"
                      input_a_btn = "1"
                      input_a_btn_label = "B"
                      input_up_btn = "h0up"
                      input_up_btn_label = "D-Pad Up"
                      input_select_btn = "6"
                      input_select_btn_label = "Back"
                      input_l3_btn = "9"
                      input_l3_btn_label = "Left Thumb"
                      input_start_btn = "7"
                      input_start_btn_label = "Start"
                      input_exit_emulator_btn = "7"
                      input_l_x_plus_axis = "+0"
                      input_l_x_plus_axis_label = "Left Analog X+"
                      input_l_y_minus_axis = "-1"
                      input_l_y_minus_axis_label = "Left Analog Y-"
                      input_enable_hotkey_btn = "6"
                      input_l2_axis = "+2"
                      input_l2_axis_label = "LT"
                      input_r2_axis = "+5"
                      input_r2_axis_label = "RT"
                      input_l_y_plus_axis = "+1"
                      input_l_y_plus_axis_label = "Left Analog Y+"
                      input_r3_btn = "10"
                      input_r3_btn_label = "Right Thumb"
                      input_l_x_minus_axis = "-0"
                      input_l_x_minus_axis_label = "Left Analog X-"

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

                        @TPR said in Emulationstation Controller Button Mapping Question...:

                        Any idea why?

                        Is the RetroPie xpad driver installed ? The default xpad driver applies this option only for very few gamepad models.

                        TPRT 1 Reply Last reply Reply Quote 0
                        • TPRT
                          TPR @mitu
                          last edited by

                          @mitu said in Emulationstation Controller Button Mapping Question...:

                          @TPR said in Emulationstation Controller Button Mapping Question...:

                          Any idea why?

                          Is the RetroPie xpad driver installed ? The default xpad driver applies this option only for very few gamepad models.

                          I believe so?

                          Pac-Man Screen Shot 9-22-24, 10.57 AM.png

                          And I'm using an original OEM Microsoft controller:
                          460454513_890528232436334_8168505979535773712_n.jpg

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

                            Try re-installing it.
                            EDIT: did you use rpi-update to update the kernel/firmware ?

                            TPRT 2 Replies Last reply Reply Quote 0
                            • TPRT
                              TPR @mitu
                              last edited by

                              @mitu said in Emulationstation Controller Button Mapping Question...:

                              EDIT: did you use rpi-update to update the kernel/firmware ?
                              I don't think so? Was I supposed to? That doesn't sound familiar to me.

                              1 Reply Last reply Reply Quote 0
                              • TPRT
                                TPR @mitu
                                last edited by TPR

                                @mitu said in Emulationstation Controller Button Mapping Question...:

                                Try re-installing it.

                                That fixed it. Thank you.

                                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.