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 doesn't work in retroarch until manually setting inputs

    Scheduled Pinned Locked Moved Help and Support
    controllerretroarchx86inputbroken
    9 Posts 3 Posters 3.7k 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.
    • ?
      A Former User
      last edited by

      Hello! I'm running RetroArch on Debian x86. Using an xbox controller, I'm able to run through the ES controller wizard, and have controller support in ES. I see ES creating the appropriate file for the controller in all/retroarch/autoconfig as well.

      When I attempt to play a game that leverages retroarch, I run in to the issue that my controller does absolutely nothing, and instead my keyboard is used (hotkeys and core controls). I've tried unplugging my keyboard and restarting ES, but with no change.

      When looking at the input settings in Retroarch while a core is up, I can see the Controller type is set to Retropad, with the Index set properly to my xbox controller, yet all of the bindings are only set to keyboard keys. If I run through the retroarch wizard to manually set bindings, everything works.

      The problem with manually setting them, is that I don't think this is leveraging the retropad magic that ES provides, as it's using the controller specific keys. For example, when I then plug in my PS4 controller, the controller "works", but the mappings are all incorrect. According to documentation, if retropad was working, I'd imagine that the ES autoconfig would handle all of the mappings properly (i do indeed to an autoconfig generated for the ps4 controller as well).

      One last thing to note is that this only appears to affect retroarch -- if I load up mupen64, the controller works just fine off of the ES autoconfig.

      So my question is this: How can I get retroarch to support my controller(s) without having to manually map them within a core (or within retroarch at all)? Is this somehow related to the fact that my keyboard is available for control when the core loads up?

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @A Former User
        last edited by

        @jml said in Controller doesn't work in retroarch until manually setting inputs:

        So my question is this: How can I get retroarch to support my controller(s) without having to manually map them within a core (or within retroarch at all)? Is this somehow related to the fact that my keyboard is available for control when the core loads up?

        I think you may have stumbled on this bug, where the autoconfig profile for the joypad, created by EmulationStation, is not loaded by RetroArch because of the gamepad name change in SDL.
        This may be easily fixed by renaming the file in /opt/retropie/configs/all/retroarch-joypads with the original joypad name, as reported by RetroArch/udev.

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @mitu
          last edited by A Former User

          @mitu That worked perfectly. Thank you!

          2 quick follow ups if you don't mind:

          1. I noticed the PR from that thread that you opened seems mostly focused on the SDL issue. Does it also cover the similar issue described here when using udev?

          2. A bit more general, but what is the best way to configure some of the additional hotkeys for retroarch? Does it have to be done manually from the config file? Or now that it's reading the auto-configs properly, I'll be able to do it from the retroarch UI and it will assign it to the proper RetroPad controller instead of the raw inputs as it was before?

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @A Former User
            last edited by

            @jml said in Controller doesn't work in retroarch until manually setting inputs:

            I noticed the PR from that thread that you opened seems mostly focused on the SDL issue. Does it also cover the similar issue described here when using udev?

            The PR is geared to solve this exact issue - reconcile the difference between the udev device naming and SDL's own naming.

            A bit more general, but what is the best way to configure some of the additional hotkeys for retroarch? Does it have to be done manually from the config file?

            You can do it manually using the config file, though most of the buttons already have a hotkey assigned. If you replace one of the default hotkeys, make sure you don't re-configure the gamepad, they'll be overwritten.

            Or now that it's reading the auto-configs properly, I'll be able to do it from the retroarch UI and it will assign it to the proper RetroPad controller instead of the raw inputs as it was before?

            You can probably do it also from the RetroArch's menu, by saving an override, but it's better to keep it in the same auto-configuration profille (via manually editing) since it's simpler and applies to all cores.

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @mitu
              last edited by A Former User

              @mitu I see. I was hoping there would be a non-config-editing way to handle this (as to not have to remember what changes I've made, etc. in the future). For example, if I wanted to add hotkey + R3 to toggle fullscreen. For 360, that is button 10, for ps4, that is button 12.

              I thought that retropad provided an abstraction layer so that you could just set "toggle fullscreen" to "hotkey + r3", and it would handle determining R3 behind the scenes. But it sounds like I would need to manually configure each autoconfig file to have input_toggle_fullscreen_btn set to 10 and 12 respectively?

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @A Former User
                last edited by

                @jml said in Controller doesn't work in retroarch until manually setting inputs:

                I thought that retropad provided an abstraction layer so that you could just set "toggle fullscreen" to "hotkey + r3", and it would handle determining R3 behind the scenes. But it sounds like I would need to manually configure each autoconfig file to have input_toggle_fullscreen_btn set to 10 and 12 respectively?

                Yes, the RetroPad abstraction doesn't apply here, you'd still need to configure the the .._btn on each controller auto-profile with the appropriate value.

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @mitu
                  last edited by

                  @mitu Sounds good. Thanks so much for all the help!

                  DTEAMD 1 Reply Last reply Reply Quote 0
                  • DTEAMD
                    DTEAM @A Former User
                    last edited by

                    Hi @mitu

                    Same problem here. My controller stop working in Retroarch UI

                    My contoller
                    input_device = "Teensyduino Keyboard/Mouse/Joystick"
                    input_driver = "udev"

                    File name in
                    /opt/retropie/configs.hdmi/all/retroarch/autoconfig
                    Teensyduino KeyboardMouseJoystick.cfg

                    With the older Retroarch version, the name of this file was
                    Teensyduino Keyboard_Mouse_Joystick.cfg

                    Both names no longer work with the UI. To play games, I have no problem.

                    I need help for that one.

                    Thanks, best regards

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

                      @DTEAM Please open a separate topic and post a verbose RetroArch log, along with the details of your system.

                      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.