Button mapping and hotkeys
-
I searched these topics and only find two threads, both of which are several years old, and I did not see a good explanation in the Docs, so apologies if I somehow missed this (it's also possible that capabilities of the Retropie system have changed in the past 2 years...)
I am building a 2-player panel. The package I bought has (2 sets of): joystick, 8 normal buttons, 2 smaller buttons, and a generic USB control board. I also bought a package with (2) coin buttons along with 1P and 2P buttons, so I have 24 total buttons.
I would like to have dedicated buttons in place of the "hotkey+button" default. This thread indicates it's possible (https://retropie.org.uk/forum/topic/5220/arcade-buttons-how-many-layout), @dsstrainer in post 6 even indicates "the new style", but that was 2 years ago. But I have no programming skills and frankly most of the documentation about editing config files somewhat befuddles me. When I start Retropie the first time and assign controller inputs (https://retropie.org.uk/docs/Controller-Configuration/), do I also get to assign the hotkey functions? In other words, will it ask me to assign a button as a hotkey, and/or individual buttons for Load, Save, Exit, Reset, RGUI menu, etc.?
Long story short, I want this panel to be intuitive for young kids and visiting friends, and "hotkey + other button" typically isn't (unless I add graphical instructions on the panel itself, which I'd prefer not to do). If individually mapping the "hotkey functions" can be done fairly simply, I would go with a 6-button layout, and mount dedicated buttons for each of these functions across the top or on the side faces of the panel. However, if it's complicated (or glitchy), I would probably just do an 8-button layout and use the "'Select' button is the hotkey" default.
TIA!
-
@PJPJPJPJ You can skip mapping the hotkey and the hotkey will be set to
nul
, disabling it. Thehokey+button
is useful when you don't have enough buttons and so you'll be able to use the existing buttons for RA functions (save/load, menu toggle, exit) without affecting the gameplay.
Having said that, the RetroPie auto-configuration for gamepads will probably be not correct for you and you'll have to adjust the configuration by creating your own auto-configuration file for the gamepad directly in RetroArch (started from the RetroPie system) - like this. -
@mitu So does that mean Load, Exit, Save, Reset, RGUI menu, etc., are assignable options which come up in the Retropie configuration screen? I've still not been able to find any info on what all is offered in that config screen and every instruction page I've seen only shows the items on the screen when it first pops up, and doesn't show all the items which come up as you scroll down.
Thanks.
-
@PJPJPJPJ said in Button mapping and hotkeys:
So does that mean Load, Exit, Save, Reset, RGUI menu, etc., are assignable options which come up in the Retropie configuration screen?
No, that's why I said
auto-configuration for gamepads will probably be not correct for you and you'll have to adjust the configuration by creating your own auto-configuration file.
Wasn't that clear enough ? In the previous topic you opened, I've pointed you to the docs, where this is explained, including the video showing the configuration. The commands you mentioned (save/load/rgui) are not configurable from the Emulationstation input configuration dialog.
-
@mitu No, it's not clear for someone who has never done this and never done programming. If it were clear, I wouldn't have asked again. The way the hotkeys work and are programmed is very unclear to someone who has never used a Raspberry Pi before, never worked in Retropie before, and has no programming experience.
Also note, the video you reference is like 35 minutes long, very slow, shows him getting to screens I've never seen (without explanation of how he got there), and one of the first comments below says it's out of date and the current menu doesn't look like that. So there's that.
I'm assuming - and I might be wrong - that in the auto config file (assuming I can get there), when I null the hotkey as you described up above, that the other functions listed can be assigned to a single button as I described. I saw something like this in the Retroarch controller setup info. But the tables where it lists this are backwards; they have "hot key + {button}" in the leftmost column, and the function in the center or right column (depending what page you are on), which doesn't make logical sense. Description of what the press actually does should be the leftmost column, and then the other columns describe what you press(ed) to assign it, or what was the default assignment. Having the leftmost column show, for example, "select + X", implies that this is the function itself, and gives no indication that the RGUI can be accessed another way. I dunno, maybe this is the British way of thinking and we Americans have it backwards, like how we list the date as the month, then day, then year....
I suppose I should just hook it all up and tinker and then come ask questions once I get stuck.
-
@PJPJPJPJ said in Button mapping and hotkeys:
No, it's not clear for someone who has never done this and never done programming. If it were clear, I wouldn't have asked again. The way the hotkeys work and are programmed is very unclear to someone who has never used a Raspberry Pi before, never worked in Retropie before, and has no programming experience
I was not referring to the whole setup process, but rather to my reply. You asked
When I start Retropie the first time and assign controller inputs (https://retropie.org.uk/docs/Controller-Configuration/), do I also get to assign the hotkey functions?
to which I replied specifically said:
the RetroPie auto-configuration for gamepads will probably be not correct for you and you'll have to adjust the configuration by creating your own auto-configuration file.
Also note, the video you reference is like 35 minutes long, very slow, shows him getting to screens I've never seen (without explanation of how he got there), and one of the first comments below says it's out of date and the current menu doesn't look like that. So there's that.
I'm not sure what video are you referring to (maybe the one from the page I linked), but I was referring to the 1st installation video linked from the 1st page of the docs, which is very recent and using the 4.4 release, which shows exactly what buttons you can map from the RetroPie menu,
I suppose I should just hook it all up and tinker and then come ask questions once I get stuck.
I think this is the best, you seem to be intimidated or overwhelmed by all the unfamiliar information and terminology, but I think once you've tinkered a bit with the real thing and you get familiar with RetroPie, it won't seem so complicated.
-
@mitu said in Button mapping and hotkeys:
I was referring to the 1st installation video linked from the 1st page of the docs, which is very recent and using the 4.4 release, which shows exactly what buttons you can map from the RetroPie menu,
The video you linked above, which I had watched already, doesn't say a thing about how to assign hotkey actions (load, save, exit, etc.) without using a hotkey (which is what this whole thread is about). It shows him assigning the hotkey to "Select" and then shows a cheat sheet with all the assignments using "select" as the hotkey. This is what I'm not wanting to do.
...you seem to be intimidated or overwhelmed by all the unfamiliar information and terminology, but I think once you've tinkered a bit with the real thing and you get familiar with RetroPie, it won't seem so complicated.
I agree and this is what I'll be doing. I appreciate your time.
-
@PJPJPJPJ Did you ever solve this? I’ve seen a bunch of cabinets that have been put together with “save” and “load” buttons, but for the life of me I can’t work out how to do it without using hot keys. Any help would be appreciated.
Also for the record, I’ve been a programmer for over 20yrs and I’m a technical lead for a large multinational digital company, and in all my years I haven’t ever come across a programming community that is as confusing, elusive and rude as the retropie one. Your thread above solidifies this for me. I hope this doesn’t put you off getting stuck into digital projects in the future.
-
The retroarch hotkeys are inside the input settings, If you disable the retroarch hotkey button then you wont need to press a combo to exit emulator or enter menu. I've been meaning to do this as the only combo I ever use is the menu and exit is inside the menu. If you can connect to the network share, I think the default config is the \\configs\all\retroarch.cfg Its a long file, and I think if you update retroarch it gets overwritten so make a backup of your changes.
Hotkeys for emulators outside of retroarch are found in the various other folders in configs. The config directory on the machine is found at /opt/retropie/configs/
-
@gromitski
I've been looking into this as well and the answer, for me, at least, seems to reside in the hardware side and not software. For example "select + start = exit" would mean that (for a dedicated exit button) a single button should have wires running to both the start and select terminals on the USB encoder device. The start and select buttons would still exist on their own though. I realize this is an old thread but have been going down a rabbit hole. -
@roguecaveman I was thinking the same and whilst this might work with an IPAC I can’t see how you would do it with one of those generic USB encoders as they have mini Molex type plugs?
Therefore I am also keen to know how to assign Exit to one button in the config? -
The 'Auto Config Buttons' dialog allows selection of single keys for each of the control functions, then, right at the end, it asks for the 'hot key' button. Without a 'hot key' assignment the control buttons work on their own. If you hold a key down for more than 2 seconds while at any selection (including for 'hot key') the dialog will assign 'nul' as the button.
If you don't have very many buttons/inputs then the use of a 'hot key' + 'game button' is the only way to control Retropie. This also is the mode you will have to use if you use genuine console pads which do not have any control buttons, just game action buttons.
If you do have spare buttons/inputs then assign the control functions to unique buttons and set the 'hot key' to nul. This can be done by running the config buttons dialog manually with - 'Settings -> Inputs -> User 1 Binds -> User 1 Bind Default All' or by manually editing the file it creates at '/opt/retropie/configs/all/retroarch.cfg'
I'm also new to this and awaiting the delivery of extra hardware to experiment with how to add an extra Zero Config board that is used exclusively for the control buttons. (Maybe configure it as Player 5? does anyone know how to do this?)
bye for now ...
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.