Can I Bypass Any Need for a Hotkey?
-
Is it possible to just not use a hotkey?
I notice some functions that require a hotkey that I'd like to still use:
- Quit a game
- Load the Quick Menu during a game
- Reset the game to the start
- Pause game
All these require a hotkey to function. Is there some way to make them accessible without the hotkey? (I know, with, at least, "Quit," I would have to find a way to assign that to another button other than Player1 Start.)
-
Not really, once you've set a hotkey, all 'hotkeyed' functions are only available as combos (hotkey + binding).
-
Look around in retroarch config, it has options for mapping at least some of those functions. For instance I set my Quick Menu access to start+select, that works without hotkey (and I do have a hotkey configured)
Can't check right now, but I think it's under input -> input hotkey binds.
-
@cellux said in Can I Bypass Any Need for a Hotkey?:
Look around in retroarch config, it has options for mapping at least some of those functions. For instance I set my Quick Menu access to start+select, that works without hotkey (and I do have a hotkey configured)
Can't check right now, but I think it's under input -> input hotkey binds.
Okay, I found the others. I changed to the XMB driver for RetroArch. The lettering and layout is different - made it much easier for me to read everything on it.
I still am hoping to find a way to not use the Hotkey. Some of my friends are people I know from when I worked special ed and that means sometimes I have autistic or learning disabled people over. It would be much easier for them if the button did what it said, without requiring a hotkey.
-
You don't need to use a Hotkey if you don't want to. Bind a button to the Exit action - instead of the default, Esc - and other 'free' buttons to Pause/Reset. You'll be limited by the number 'free' buttons available.
The Quick menu - that can be configured to button combination (without the need of a Hotkey), as @cellux mentioned, though I don't see it as necessary during gameplay. -
The ultimate answer is "YES."
As I mentioned, I have some special reasons for wanting to do this, but if you don't enable a hotkey, then there's a problem because the Player1Start button is used for both starting a game and exiting the emulator. Even if you're not a power user, there are other functions that work only with the hotkey feature. So, at first glance, it seems like there's no way to avoid using a hotkey.
I've eliminated the hotkey in Mame-Libretro as well as in EmulationStation, which will help with some groups of friends that will be at my gaming gatherings in the future. (I figure at some point the pandemic will reach a point where we can gather in groups again - at least small groups.)
I'm not using a normal gaming controller. I'm using an Emulator Edition Plus console as part of an arcade cabinet:
Note the extra white A & B buttons on the top left, as well as extra white A2 & B2 buttons, also at the top on the left side of center. Then, to the right, there's a Navigation Menu with 10 keys, Left Mouse Button, Menu, Pause, Exit, and Right Mouse Button along the top. The next row is StartPlayer1, Coin, Select, Coin2, and StartPlayer2.
I also have a door under the console that opens up for a keyboard shelf. It took me a while to realize that I can put power functions on the keyboard so guests don't use them and mess things up.
So here's what I did:
I went into the RGUI and used it to change /opt/retropie/configs/mame-libretro/retroarch.cfg. Under Settings->Input->Hotkey Binds, I changed Exit to the Exit button, Pause to the Pause button, and Reset to the Menu button. (I figured that when you hit Menu to reset the game, you're going to the game's "Menu.") For a bonus, I changed Left Mouse Button to Slow toggle and the Right Mouse Button to Fast forward. I changed Toggle Menu to F1, which is not reachable or useable from the console panel. I also used the A & B buttons on the left to increment and decrement the save state slots and used the A2 & B2 buttons to save and load states.
There's other functions I don't necessarily want people using that I figure I can bind to keys on the keyboard and not to controls on the console.
I tested everything out to make sure I had set up the right bindings in the first place. At this point I had to use Select (my hotkey) to make it work. But then, as a test, I went in and undefined the hotkey. I saved the config (again, to /opt/retropie/configs/mame-libretro/retroarch.cfg), then tested it.
Everything worked fine. So now I can pause by just hitting Pause, without a hotkey. The same with Exit and other functions that previously required a hotkey.
The trick is to redefine all the function bindings and bind them to buttons or keys that are not used without the hotkey first. Once those functions are moved to other keys or buttons, then you can remove the hotkey definition.
-
@mitu said in Can I Bypass Any Need for a Hotkey?:
This showed up after I hit "Submit" and the page refreshed.
You don't need to use a Hotkey if you don't want to. Bind a button to the Exit action - instead of the default, Esc - and other 'free' buttons to Pause/Reset. You'll be limited by the number 'free' buttons available.
Argh! You say it in just a few sentences!
(But I was also trying to include enough details to be almost like a HOW-TO.)
-
My arcade cabinet (from Recroommasters) has an Emulator Edition Plus controller as well, and I learned a few other tips in trying to remove my defined Hotkey from Retroarch so I thought I'd add them to this post.
First, it helps tremendously to have the keyboard mappings for the controller:
Most of the games in my setup use 3 buttons max, so I worked to avoid the 3 'player one' buttons to the left of the trackball conflicting with Retroarch definitions that tend to require a hotkey. I may do a little more tweaking, but these are the main changes I made within the 'default'
retroarch.cfg
file (located at /opt/retropie/configs/all/retroarch.cfg):input_toggle_fast_forward = "nul" # input_exit_emulator = "num1" input_reset = "v" input_menu_toggle = "c" input_grab_mouse_toggle = "j" input_state_slot_increase = "nul" input_state_slot_decrease = "nul" input_enable_hotkey = "nul"
A few tips and explanations:
- There are multiple copies of
retroarch.cfg
, especially in all of the different emulator-specific folders. But, I also found a copy in /opt/retropie/configs/all/retroarch/retroarch.cfg. I read a few posts in this forum indicating this shouldn't exist / isn't needed - I thought it was interfering with implementing the above changes, so I renamed it. It didn't make a difference (see #2 below), but it also didn't seem to regress anything, either. - Initially, I couldn't get the 'fast forward' option to not be mapped to the 'space' key, which is right-most of the 3 'player 1' buttons. The line for this option was commented out in the 'default' retroarch.cfg file, but I found the copy mentioned in #1 above (/opt/retropie/configs/all/retroarch/retroarch.cfg) had the line un-commented. However, even renaming this copy didn't help...I had to actually un-comment out the line in the 'default' retroarch.cfg file and then change the value to what I wanted ("nul" - I can't imagine wanting to fast-forward the action in a game!).
- I find the 'grab mouse toggle' mapping very helpful, because any game using the spinner or trackball can run into a problem with the OS mouse pointer hitting the boundary of the screen 'underneath', which prevents the game pointer from moving as well. This has been reported in the Retroarch forums, and there is a fix available that should help, but it isn't yet available in the latest version of Retropie (4.7.1, which has Retroarch 1.8.8 and the fix was released afterward). Until it is included in an upcoming release of Retropie, I need to press the 'grab mouse toggle' key to avoid problems.
- There are multiple copies of
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.