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

    Controller works in emulationstation, but has weird mapping in emulators

    Scheduled Pinned Locked Moved Help and Support
    controllers
    12 Posts 2 Posters 443 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
      last edited by mitu

      It looks like you haven't chosen a Hotkey for your gamepad and the RetroArch hotkey actions configured are acting directly.
      Re-configure your gamepad in Emulationstation, skip the Hotkey assignment, then press Ok to use Select as a Hotkey.

      Also, I have a mouse and keyboard connected, and every emulator seems to "prefer" those over the gamepad. The only way I can get them to acknowledge the gamepad is to unplug the mouse and keyboard and reset. How can make the emulators view the gamepad as the "master" controller?

      Use the Configuration Editor to edit the options for all Libretro cores, in the basic libretro options, use the Choose joypad order entry and choose the gamepad you're using as Player 1.

      ac3ea130-29ab-4b51-a45c-ff3af0ec5968-image.png

      R 1 Reply Last reply Reply Quote 0
      • R
        Rip @mitu
        last edited by

        @mitu

        Thank you for your response. Configuring and skipping the hotkey seems to have fixed the mapping confusion.

        However I already tried the config editor solution to fix the "master" controller issue and no change.

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

          @Rip said in Controller works in emulationstation, but has weird mapping in emulators:

          However I already tried the config editor solution to fix the "master" controller issue and no change.

          Can you post the contents of /opt/retropie/configs/all/retroarch.cfg on pastebin.com ? Just want to check that the proper config has been added there.

          R 1 Reply Last reply Reply Quote 0
          • R
            Rip @mitu
            last edited by Rip

            @mitu

            So one of the ways I tried to fix this problem was to rename retroarch.cfg to retroarchOLD.cfg.

            So the only thing currently in the newly created retroarch.cfg is:

            input_player1_joypad_index = "1"

            retroarchOLD is this:

            https://pastebin.com/cfCRbuyF

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

              @Rip said in Controller works in emulationstation, but has weird mapping in emulators:

              input_player1_joypad_index = "1"

              Try using input_player1_joypad_index = "0", I think RetroArch starts the numbering from 0.

              From your retroarch.cfg:

              # First joypad available is 0.
              input_player1_joypad_index = "1"
              
              R 1 Reply Last reply Reply Quote 0
              • R
                Rip @mitu
                last edited by

                @mitu

                I made the change, unfortunately the problem persists.

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

                  @Rip Do you have any other joypad type device connected ? Can you run

                  cat /proc/bus/input/devices
                  

                  and post the output ?

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    Rip @mitu
                    last edited by

                    @mitu

                    I do

                    Here is the output:

                    I: Bus=0003 Vendor=0583 Product=2030 Version=0110
                    N: Name="Padix Co. Ltd. 2-axis,4button joystick w/view finder,rudder"
                    P: Phys=usb-3f980000.usb-1.1.2.1/input0
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.1/1-1.1.2.1:1.0/0003:0583:2030.0001/input/input0
                    U: Uniq=
                    H: Handlers=js0 event0
                    B: PROP=0
                    B: EV=1b
                    B: KEY=f0000 0 0 0 0 0 0 0 0 0
                    B: ABS=30023
                    B: MSC=10

                    I: Bus=0003 Vendor=0079 Product=0011 Version=0110
                    N: Name="USB Gamepad "
                    P: Phys=usb-3f980000.usb-1.1.2.2/input0
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.2/1-1.1.2.2:1.0/0003:0079:0011.0002/input/input1
                    U: Uniq=
                    H: Handlers=js1 event1
                    B: PROP=0
                    B: EV=1b
                    B: KEY=3ff 0 0 0 0 0 0 0 0 0
                    B: ABS=3
                    B: MSC=10

                    I: Bus=0003 Vendor=04f2 Product=0939 Version=0111
                    N: Name="PixArt USB Optical Mouse"
                    P: Phys=usb-3f980000.usb-1.1.2.3/input0
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.3/1-1.1.2.3:1.0/0003:04F2:0939.0003/input/input2
                    U: Uniq=
                    H: Handlers=mouse0 event2
                    B: PROP=0
                    B: EV=17
                    B: KEY=ff0000 0 0 0 0 0 0 0 0
                    B: REL=103
                    B: MSC=10

                    I: Bus=0003 Vendor=1c4f Product=0002 Version=0110
                    N: Name="SIGMACHIP USB Keyboard"
                    P: Phys=usb-3f980000.usb-1.1.2.4/input0
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.4/1-1.1.2.4:1.0/0003:1C4F:0002.0004/input/input3
                    U: Uniq=
                    H: Handlers=sysrq kbd leds event3
                    B: PROP=0
                    B: EV=120013
                    B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
                    B: MSC=10
                    B: LED=7

                    I: Bus=0003 Vendor=1c4f Product=0002 Version=0110
                    N: Name="SIGMACHIP USB Keyboard"
                    P: Phys=usb-3f980000.usb-1.1.2.4/input1
                    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.4/1-1.1.2.4:1.1/0003:1C4F:0002.0005/input/input4
                    U: Uniq=
                    H: Handlers=kbd event4
                    B: PROP=0
                    B: EV=1f
                    B: KEY=3007f 0 0 0 0 483ffff 17aff32d bf544446 0 0 1 130c13 b17c000 267bfa d941dfed 9e1680 4400 0 10000002
                    B: REL=40
                    B: ABS=1 0
                    B: MSC=10

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

                      From the output you provided, it looks like you have 2 gamepad/joysticks:

                      • (index 0) Padix Co. Ltd. 2-axis,4button joystick w/view finder,rudder
                      • (index 1) _USB Gamepad _

                      While the 2nd one I think has buttons, I'm not sure about the 1st one - if it's just a joystick or it also has buttons that you can use. The input_player1_joypad_index will configure in RetroArch which of the gamepads appears as P1, I don't understand why either 1 or 0 doesn't work. Did you use 'Save Configuration' from the RGUI at some point during your configuration ?

                      Try using 1 as the P1 joystick index and open up the RetroArch GUI (Select + X or F1 on the keyboard) and check in 'Configuration -> Input - > User 1 Binds` which device index appears for P1

                      0951bcd1-efe4-4461-bcd6-7cb02c1dcae2-image.png

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Rip @mitu
                        last edited by

                        @mitu

                        I checked in Retroarch itself and the USB gamepad is set for both player 1 and player 2. I thought this might be the problem but alas, no luck. Also, I did use the "save" feature.

                        So I decided to just disconnect my joystick altogether. After going to the "joystick selection" menu in Retropie and setting player 2 to "unset" instead of the joystick, it seems to have fixed my problem. I can live without the joystick for now. When I want to play a game with it, I'll connect it then.

                        Thanks for all your help, it's greatly appreciated!

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

                          @Rip said in Controller works in emulationstation, but has weird mapping in emulators:

                          Also, I did use the "save" feature.

                          This might have overriden the configuration in the main retroarch.cfg. But anyway, it's good you got this working - finally.

                          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.