"Hotkeys can also be mapped to RetroPad buttons." - How?

Seen here: https://docs.libretro.com/guides/input-and-controls/

There is a tip that says “Hotkeys can also be mapped to RetroPad buttons.” but does not say how to accomplish this.

I want to bind Fast Forward / Rewind to RetroPad R2 / L2 respectively. The only way I’m able to do this is using a controller specific input binding, when I’d like it to be RetroPad wide.

It really stinks when you google and Google and you find the exact question and go in to see the answer and there is no reply. A sad moment. Anyway… please can someone with more knowledge share the answer. I need to bind my hotkeys to retropad not individual cores or controllers. I want to know that no matter which controller I pick up when I hit start±a it will load the menu. Binding to retropad is the smoothest way to achieve this but I am unsure how to do this. I am familiar with changing settings and stuff so if someone has the code for retroarch.cfg would be amazing. Like input_enable_hotkey_btn = “Start”. I have no idea if that’s it but if someone smarter than i can help I would be greatly indebted. Thanks for your help!

AFAIK, hotkeys are not universal and are tied to individual controllers. However, you can manually add hotkey assignments to individual autoconfig profiles.

Thanks for the reply hunter. According to the official documents it says we can map the universal controls to the retropad. This will ultimately make thing a bit easier considering I have over 10 controllers and many cores. When we program controllers they are being mapped based on the retropad so if I program the universal settings to “start” instead of button 10 every controller or console will automatically recognize start as the hotkey. Its difficult to explain but I hope you guys get the jist. I’m just hoping one of the devs or something would explain how because it clearly says it’s an option. Thanks again everyone

The goal is the hotkey assignments to be represented by RetroPad controller like it says in the documents. It will be easier to have the hotkey represented by “RetroPad Select” Instead of button 7. This way no matter what controlled is used when I program the controller in emulationstation it will use the button That has been assigned to “Retropad Select”. I have a bunch of different controllers and just seems a little easier to not have to program the hotkeys for each controller. Because no matter what which button “0” “6” “7” etc. It will see oh the button representing Select has been pressed and according to “Retropad” that means enable hotkey. I hope you guys understand what I am asking. After much searching I have seen many people ask about this option and it clearly says IT IS an option in the documents but I can’t find a correct example anywhere. I thought I figured it out but I was wrong. I just need to know how the code should work. Input_enable_hotkey = “RetroPad Select” or input_enable_hotkey_btn = “RetroPad Select” or Input_enable_hotkey = “Select” or input_enable_hotkey_btn = “Select”. I have no idea but i am sure i am close i just dont know details i nees someone who understand the commands a little better. The great thing about retroarch is how the buttons are handed off to the retropad which is then handed off to the emulator I just need to know the string that binds it to retropad instead of a physical button. There is “enable_hotkey =” “enable_hotkey_axis =” “enable_hotkey_btn =” and “enable_hotkey_mbtn =” I imagine some combination of those initial commands plus the value being either “Select” or “Retropad Select” will achieve my goal. Please retroarch gods assist :pray:. I’m having difficulty explaining so I apologize but I hope all my messages someone will understand me and say hey its as simple as xxxxx. Thanks!

No worries, I understand what you’re asking, I just don’t think it’s possible, unfortunately. That is, I think the doc is inaccurate. AFAIK, the hotkeys will only accept keycodes for mapping.

I have seen “RetroPad Select” in the code somewhere so I figured that is the term that represent the retropads. Stinks the docs aren’t a little more detailed. Hopefully one of the coders and chime in soon. Programming 22 controllers for hotkeys sounds silly when we could take advantage of the retropad and use that to map too rather btn"7" or whatever. Thanks alot hunter I appreciate the reply just nice to know there are people out there. Now if only we could get @devs attention

Bump, Bump, Bump It Up.

@markwkidd it says your the one who updated the page to include the tip I am referring to?

Still nothing on this? :frowning_face: Docs still have the same tip.

@hunterk is there a way to use autoconfigs as an override per core AND per controller?

I’m not sure if that’s the right way to phrase my question, so I’ll try to explain what I’d like to achieve in lieu of the original question:

Say I have my DualSense controller connected. If I load a SNES core with that controller connected, it would automatically bind Fast Forward and Rewind to the DualSense R2 and L2 button IDs respectively.

Another config for an 8bitdo controller which uses different button IDs for R2 and L2 would do the same thing if connected, and so on.

But, if I were to load a PSX core, it would use the regular auto-configs for both of those controllers, because obviously I do not want R2 and L2 rebound when they’re used in PSX games.

I hope I explained that well enough and thanks for your time regardless.

You can hardcode hotkeys into autoconfigs, but there’s no way to load a different autoconfig for a given controller on a per-core/game/whatever basis. They’re tied to the controller itself.