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

    Is there anyway to disable all hotkey functions system wide?

    Scheduled Pinned Locked Moved Help and Support
    disable hotkeyhotkey function
    13 Posts 3 Posters 3.3k 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.
    • foxtochopF
      foxtochop
      last edited by

      I spent all the afternoon trying to disable the hotkey and its functions without success...

      In /opt/retropie/configs/all/retroarch.cfg -> input_enable_hotkey = null ... This will disable the hotkey I binded (select) but then, for some reason, button A works as the hotkey. So pressing A+B resets the game.

      However, while the previous rule is set to null...
      In /opt/retropie/configs/"name-of-core"/retroarch.cfg -> adding input_reset_btn = "nul" ... will do nothing at all. I thought of adding this line that can be found in any joypad config so it can work automatically with any controller that I connect, but no luck...

      The thing is, I'm building a configuration for kids so they don't mess with anything and they will play with many USB controllers.
      I know it can be done by putting everything to "nul" in joypad configurations, but they have so many USB gamepads, I have to make sure they won't mess anything up no matter which controller they connect.

      So what I'm looking for is: how can I completely surely 100% disable all hotkey functions even if the kids bind the hotkey to Select or any button at the initial input configuration of Emulation Station.

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

        input_enable_hotkey is used for keyboard inputs, for gamepads it's called input_enable_hotkey_btn. This is automatically set-up for RetroArch in the controllers' configuration in /opt/retropie/configs/all/retroarch-joypads, based on what you choose as a hotkey, and I think it overrides your settings.

        As for your actual challenge, you have several options

        • (common option) disable the Reset hotkey button for all gamepads, by editing each .cfg file in the aforementioned folder and removing the bind.

        • enable Kid mode in Emulationstation, so the kids will not be able to re-configure the controllers. I think this is recommended, since they can also alter other ES settings, start entries from the RetroPie menu or delete ROMs.
          OR

        • leave ES in normal mode and disable the auto-configuration of gamepads - there's an option in the emulationstation package, under Configuration/Tools, which disables any re-configuration of the gamepads if one gamepad is (re)configured in Emulationstation:

        6a5fcceb-31f7-486c-8a8d-8861980dff9a-image.png

        foxtochopF 1 Reply Last reply Reply Quote 0
        • foxtochopF
          foxtochop @mitu
          last edited by foxtochop

          @mitu I didn't know about the third option, the auto-configure. Can you explain it a bit more?

          After I disable the autoconfiguration, is there anything more that I need to do to disable hotkeys?

          Thank you!

          EDIT: Maybe it doesn't exist but is there anything like a .cfg file that I can create to override single joypad configs, so any joypad will put priority to this file?
          Similar to how core options work, in which /opt/retropie/configs/name-of-core/retroarch.cfg will override /opt/retropie/configs/all/retroarch.cfg

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

            @foxtochop said in Is there anyway to disable all hotkey functions system wide?:

            After I disable the autoconfiguration, is there anything more that I need to do to disable hotkeys?

            You'll have to do that manually, by editing the .cfg file for the gamepads.

            foxtochopF 1 Reply Last reply Reply Quote 0
            • foxtochopF
              foxtochop @mitu
              last edited by foxtochop

              @mitu Thanks for the help, I'll try to do the trick with this options.

              But the best one would be a .cfg file that overrides the joypad's .cfg files. In other words, a .cfg file that contain common config rules that every (future) controller will have, no matter the bindings or the single configurations. The problem is that this doesn't seem to exist in retroarch, AFAIK.

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

                @foxtochop It's not really a RetroArch limitation, but of the way the auto-configuration files are generated by RetroPie - i.e. having a hotkey button and adding a few hotkey functions added (Exit, Save/Load state/Reset, etc.).

                As I said, if you don't want that, then disable the auto-configuration done by RetroPie and you manage your auto-configuration for each gamepad manually, adding or removing the hotkeys you'd like either in those configuration files or globally (i.e. add hotkey button and functions in the main RA file and omit them from each gamepad's config file).

                RionR foxtochopF 2 Replies Last reply Reply Quote 0
                • RionR
                  Rion @mitu
                  last edited by

                  @mitu @foxtochop

                  @pjft did a guide on just this.
                  Prevent some user changes to your setup

                  By using his setup you can create *.sh files with you preferred configuration visible inside RetroPie Setup.

                  FBNeo rom filtering
                  Mame2003 Arcade Bezels
                  Fba Arcade Bezels
                  Fba NeoGeo Bezels

                  1 Reply Last reply Reply Quote 0
                  • foxtochopF
                    foxtochop @mitu
                    last edited by foxtochop

                    @mitu I just tried it following this steps:
                    1.- Delete all previous binding configurations on Configuration/Tools -> Emulationstation
                    2.- At the same menu, I disable autoconfiguration.
                    3.- Reboot and then bind my controller (including the hotkey which is the Select button)
                    4.- Press F4, go to /opt/retropie/configs/all/retroarch.cfg, uncomment this line and set it to:

                    input_enable_hotkey_btn = null
                    

                    I tried with "nul" but it doesn't do anything. Null disables Select as the hotkey button, e.g. I boot up a game and Select+Start doesn't do anything. But then, I press A+Start and it does exit the game and back to Emulationstation!

                    What I don't understand is why suddenly A button becomes the hotkey when I configured the hotkey button to be completely useless, even if I binded it (to select) in the initial Input Configuration.

                    @Rion It's not what I'm searching for but maybe it will be useful in the near future, thanks!

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

                      @foxtochop said in Is there anyway to disable all hotkey functions system wide?:

                      I tried with "nul" but it doesn't do anything. Null disables Select as the hotkey button, e.g. I boot up a game and Select+Start doesn't do anything. But then, I press A+Start and it does exit the game and back to Emulationstation!

                      That doesn't look right - did you also modify/remotve the gamepads configuration files in the auto-configuration folder (/opt/retropie/configs/all/retroarch-joypads) ?

                      foxtochopF 1 Reply Last reply Reply Quote 0
                      • foxtochopF
                        foxtochop @mitu
                        last edited by foxtochop

                        @mitu No, I never touch .cfg files in that directory. In fact my goal is to disable hotkeys without going to /opt/retropie/configs/all/retroarch-joypads/every-controller-config-file.cfg to disable them one by one.

                        Something ticked in my mind reading your comment and I just tried this (without luck):
                        1.- Making sure that input_enable_hotkey_btn = null in /opt/retropie/configs/all/retroarch.cfg
                        2.- Remove everything inside /opt/retropie/configs/all/retroarch-joypads/
                        3.- Configuration / Tools -> Emulationstation -> Clear input binds and also making sure autoconfig is disabled
                        4.- Reboot, bind the controller (I realized that now I have to bind it again after reboot, I guess that's what autoconfig does).
                        5.- Boot up a game. Aaaanndd... the buttons don't work. Any of the buttons respond to anything.

                        What still eats my brain is, why in the world do I disable the hotkey with input_enable_hotkey_btn = null, and then it works because Select doesn't work as a hotkey, but suddenly the A button is now the hotkey?? Is there any setting that provides a hotkey backup button for when you disable it and it happens to be defined as the A button...? My brain does come up with this, it can't be any other thing... afaik

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

                          @foxtochop said in Is there anyway to disable all hotkey functions system wide?:

                          5.- Boot up a game. Aaaanndd... the buttons don't work. Any of the buttons respond to anything.

                          This is normal, once you remove the auto-configuration option, you'll have to manually configure your gamepad in RetroArch. That's why I suggested to modify the auto-.cfg files and remove the hotkey.

                          Is there any setting that provides a hotkey backup button for when you disable it and it happens to be defined as the A button...?

                          Without a look at the complete configuration files you have available, it's hard to tell.

                          foxtochopF 1 Reply Last reply Reply Quote 0
                          • foxtochopF
                            foxtochop @mitu
                            last edited by foxtochop

                            @mitu The only way to do it for me now is to somehow create a custom schedule or something that everytime a new file appears in /opt/retropie/configs/all/retroarch-joypads this schedule searches for the line input_enable_hotkey_btn = "(select button number)" and changes it for input_enable_hotkey = "nul", so everytime a new controller is plugged in, the scheduled task will do it for me.

                            But I don't know how to do this scheduled task, maybe it's time to google a little bit.

                            Thanks for the help though!

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

                              That seems a bit over-complicated. I'd maintain 2 sets of auto-configurations for the gamepads - one having a hotkey and the others without it - and switch between them by modifying the auto-config folder where RetroArch looks for the gamepad .cfg files, that folder is set in the main retroarch.cfg file.

                              1 Reply Last reply Reply Quote 1
                              • 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.