digdug2029Participant11/12/2015 at 17:27Post count: 2
I just fired up a retropie 3.2.1 build on a Raspberry Pi 2. I was trying to tweak the n64 emulator, so I changed the default emulator to something else (gliden64 I think).
Since then, the button configuration I globally configured via emulationstation (Xbox Gamepad userspace driver) do not work on the n64 ROMs. This includes the global hotkey to exit games. Also, none of the buttons on my Xbox 360 controller will allow me to go back into the menu to even change the emulator back to something else.
What do I need to do in order to fix the controller mappings?digdug2029Participant11/15/2015 at 02:54Post count: 2
I was able to eventually figure this out on my own. Maybe someone else will find this useful, so I’ll go through everything I went through to figure this out. I’m sure I could have made it easier on myself, but online searches kept pointing me to information that was outdated. Anyways, here you go:
First off, I previously tried screwing around with
/opt/retropie/configs/n64/retroarch.cfg. Thankfully I had a backup and just restored it to the original. Secondly, I hooked up a keyboard and regained the ability to at least choose the n64 default emulator and specific choices for individual ROMs. So from there I found a n64 compatibility list and started selecting emulators from that sheet.
If I had a game based on lr-mupen64plus (Libretto? I think it’s called sometimes), I started a game with that emulator choice and was able to pull up an on-screen menu via F1 on my keyboard to do a custom mapping for my Xbox 360 controller.
However, most of the other games I was trying used mupen64plus, and either there is no onscreen menu to do the mapping or I can’t find one. Either way, I had to edit the
/opt/retropie/configs/n64/mupen64plus.cfgfile to make the specific mappings for my controller work.
To even know what the mappings were I had to plug in a keyboard, exit emulationstation and run the following command:
jstest /dev/input/js0. It brough up text listing axis and buttons for the controller. I pressed every button, one at a time, watched what values changed for 0, and then made a notation. This is what I came up with for my Xbox 360 controller connected wirelessly to a 3rd party USB to wireless adapter (YMMV of course):
L Analog up: axis -1 L Analog down axis +1 L Analog left axis -0 L Analog right axis +0 R Analog up axis -3 R Analog down axis +3 R Analog left axis -2 R Analog right axis +2 Digital up axis -5 Digital down axis +5 Digital left axis -4 Digital right axis +4 Select button 8 Start button 9 Xbox button button 10 A button 0 B button 1 X button 2 Y button 3 L trigger button 6 R trigger button 7 L shoulder button button 4 R shoulder button button 5
I then modified the mupen64plus.cfg file and looked for the
[Input-SDL-Control1]section to modify the settings for the controller. In that section I HAD TO set
mode = 0(fully manual), otherwise it would just revert my custom mapping. Right under the
# Digital button configuration mappingssection is where I put in the customizations. Obviously these are my preferences but maybe this will be an example for someone:
# Digital button configuration mappings DPad R = "hat(0 Right)" DPad L = "hat(0 Left)" DPad D = "hat(0 Down)" DPad U = "hat(0 Up)" Start = "button(9)" Z Trig = "button(5)" B Button = "button(1)" A Button = "button(0)" C Button R = "axis(2+)" C Button L = "axis(2-)" C Button D = "axis(3+)" C Button U = "axis(3-)" R Trig = "button(7)" L Trig = "button(6)"
Lastly, it bothered me like crazy that there wasn’t a hotkey for me to exit the mupen64plus emulator from my controller. Since I did the hard work earlier to understand the configuration of every button and stick on my Xbox 360 controller, I just had to pick a single button for the hotkey (I believe that key combinations for mupen64plus are not allowed, but maybe I’m wrong). I decided to use the Xbox button, which for my controller was button 10. From looking online, I had list the joystick number. Since it tested as js0, then it’s joystick 0, or J0 for the parameter, and B10 for “button 10”. I modified the following area to allow the hotkey:
Joy Mapping Stop = "J0B10"
Frustrations with the controller on mupen64plus are now over! Hope this helped someone other than myself.herbfargusMember11/15/2015 at 03:26Post count: 1858
There are now options for multipress hotkeys with mupen64plus
An example is in the wiki:
- The forum ‘New to RetroPie? Start Here!’ is closed to new topics and replies.