• 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

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 10 Jan 2022, 02:53

    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?

    M 1 Reply Last reply 10 Jan 2022, 04:37 Reply Quote 0
    • M
      mitu Global Moderator @A Former User
      last edited by 10 Jan 2022, 04:37

      @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 10 Jan 2022, 06:44 Reply Quote 0
      • ?
        A Former User @mitu
        last edited by A Former User 1 Oct 2022, 06:44 10 Jan 2022, 06:44

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

        M 1 Reply Last reply 10 Jan 2022, 06:48 Reply Quote 0
        • M
          mitu Global Moderator @A Former User
          last edited by 10 Jan 2022, 06:48

          @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 10 Jan 2022, 16:49 Reply Quote 0
          • ?
            A Former User @mitu
            last edited by A Former User 1 Oct 2022, 16:50 10 Jan 2022, 16:49

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

            M 1 Reply Last reply 10 Jan 2022, 16:53 Reply Quote 0
            • M
              mitu Global Moderator @A Former User
              last edited by 10 Jan 2022, 16:53

              @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 10 Jan 2022, 16:54 Reply Quote 0
              • ?
                A Former User @mitu
                last edited by 10 Jan 2022, 16:54

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

                D 1 Reply Last reply 19 Apr 2023, 18:00 Reply Quote 0
                • D
                  DTEAM @A Former User
                  last edited by 19 Apr 2023, 18:00

                  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

                  M 1 Reply Last reply 19 Apr 2023, 18:16 Reply Quote 0
                  • M
                    mitu Global Moderator @DTEAM
                    last edited by 19 Apr 2023, 18:16

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

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