Using Guide button as Hotkey Enable AND Menu Toggle?

Hello, this is my first post here!

For reference, this is the guide button:
image

Also known as the Home button in some controllers.

Anyway, I’m trying to make it so that the guide button on my controller acts as the Hotkey Enable button, similar to how chord keys work on Steam Input. Where I hold it down + press another button to do a thing.

The problem is, when the guide button is also mapped to the Menu Toggle function, it opens the RetroArch menu even before I let go of the button which means I don’t get a chance to do the other shortcuts because Menu Toggle takes precedence.

Basically I just wanted to have the Menu Toggle fire on ley release ONLY when I didn’t press any other combination of buttons, similar to how Steam’s overlay works:

  • Single press of Guide button while in game → Overlay opens
  • Hold down Guide button and then press another button → Custom action happens

Is this hard to implement?

I posted in this subforum because it encompasses RetroArch as a whole regardless of platform but for what it’s worth, I’m on Windows running RetroArch 1.16.0 x64 stable.

Yeah, AFAIK this is working as intended and there’s not really any way to achieve exactly what you’re wanting. Maybe if you map Guide to retropad-start and then assign it to both your hotkey-enabler and set the gamepad menu toggle combo to ‘hold start’. You would have a pretty short amount of time to do your chording there, and it would still send a short retropad-start signal unless you put the hotkey lockout delay to 0 frames (I don’t recall whether that’s exposed in the menu or cfg-only).

Thanks for the response!

Yeah the whole reason why I wanted to map the Hotkey Enab;e to Guide is because it’s not a regular function button and thus won’t send any retropad signals to the game.

That was why I asked if it would be hard to implement to maybe pique some interest from the developers since it wouldn’t really affect much of RetroArch’s general behavior, just have it so Menu Toggle fires on key release instead of on key press and some logic to check if a hotkey was triggered prior to the key release.