I just configured an 8Bitdo NES30 Pro on my RPi3 (RetroPie 3.6) using Floob’s video tutorial and am having troubles getting the hotkeys in mupen64plus (mostly for “exit emulator”) to work.
I suspect the problem has something to do with the fact, that the “Joy Mapping Stop” values are auto-generated when starting up the emulator. These values don’t work for me, since the mupen64plus.cfg – to my knowledge – uses the button numbers shown by jstest. This leads to problems in my case for the following reasons (or at least that’s what I think the problem is):
The button numbers in my controller specific config file (in the retroarch-joypads folder) are different from those shown when using jstest. E.g. in the controller specific config file “select” and “start” are 21 and 22 (matches up with the values in Floob’s video), but jstest shows 10 and 11 for the very same buttons… The controller config works whith all emulators I’ve tried so far (except for megadrive, where I had to enable the 6 button controller and remap the buttons a,b,x,y,l,r)…
The InputAutoCfg.ini entries for my controller in the n64 folder also got generated flawlessly (but use the low button numbers which are shown in jstest, not the ones from the retroarch-joypads config). Normal controls in mupen64plus work as they should. It’s just the hotkeys I can’t get to work.
I tried to set “Joy Mapping Stop” to “J0B10/B11” in the mupen64plus.cfg, but as soon as I start the emulator, it gets overwritten by “J0B21/B22” – which does not work to exit the emulator – so I suspect it actually needs the jstest values in order to work.
Does anybody know, why my controller.cfg in retroarch-joypads uses different button numbers than shown by jstest and/or how I can overwrite the values used in mupen64plus.cfg permanently?
Thank you in advance for the help!
In case this is relevant:
I used a different mode than the one shown in Floob’s video tutorial in order to pair my controller (“power + R” instead of “power”). This is a new mode added with a later 8bitdo firmware and lets me configure L2 and R2 in ES (which didn’t work with the other mode). However, apart from the additional entries for L2 and R2, the generated values in retroarch-joypads/controllername.cfg are the same.
Then I manually made my settings in /opt/retropie/configs/n64/mupen64plus.cfg by adding the button IDs shown by jstest:
# Joystick event string for stopping the emulator
Joy Mapping Stop = "J0B10/B11"
# Joystick event string for switching between fullscreen/windowed modes
Joy Mapping Fullscreen = ""
# Joystick event string for saving the emulator state
Joy Mapping Save State = "J0B10/B7"
# Joystick event string for loading the emulator state
Joy Mapping Load State = "J0B10/B6"
This fixed my problem – the hotkeys are working now.
I still don’t understand where those other button IDs retroarch uses are coming from though…