Mupen64 Controller Mapping for Gameshell

Hello all. I’m pretty new to this community, but the first thing that I wanted to do was try to play some of my old favorite N64 games.

With the help of Javelinface, I was able to get Mupen64 running smoothly in V0.5 and the last problem I had was mapping the controls to have all the buttons I needed to play the games I wanted to. I took an hour or so today to figure out how to map every key to the Gameshell to however you’d like. Please use the Map photo of the Gameshell keyboard and my legend to map whichever buttons you want within the mupen64plus.cfg file. That file is located in /home/cpi/.config/mupen64plus. Once you open the file to edit, go down to “[Input-SDL-Control1]” and scroll a little further down to where it says digital button mapping configurations and use the photo below and the legend to map the controls how you want! One or two might be a bit off and know that the light key ones are backwards. SO LK1 PRI is H, not HOME. It all worked for me, so give it a go! Please let me know if you had any questions and I’ll help as much as I can. Again, I’m new to this stuff.

!!!Legend base off of the photo above!!!

Button Name PRI/SHFT

START 13/43
SELECT 32/45
X 117/121
Y 105/111
A 106/104
B 107/108
LK1 104/278
LK2 121/280
LK4 111/281
LK5 108/279


You absolute legend! This is sure to be useful for many people!
There should be a way to have a per game config file, allowing you to have say individual action.config file per rom.
I can’t wait to see custom key bindings on a per game basis!

1 Like

Yeah. That is way beyond my skill level. I was just able to figure out what the individual buttons coincide to in terms of the numeric value. Other than that, I will probably be useless in the future. Just help people with what I’ve learned from the rest of the community!

1 Like

Thanks, but i cant get the remaining 2 c buttons mapped,

Can anyone post their config with the c buttons all mapped correctly, heres what i have now:

Digital button configuration mappings

DPad R = “key(100)”
DPad L = “key(97)”
DPad D = “key(115)”
DPad U = “key(119)”
Start = “key(13)”
Z Trig = “key(104)”
B Button = “key(106)”
A Button = “key(107)”
C Button R = “key(111)”
C Button L = “key(32)”
C Button D = “key(117)”
C Button U = “key(105)”
R Trig = “key(108)”
L Trig = “key(121)”
Mempak switch = “key(44)”
Rumblepak switch = “key(46)”

Everything is working okay except i the C buttons arent configured right…

It really depends on the game.

Here is @Themanagement123’s config, optimised for banjo kazooie:

Start = "key(13)"
Z Trig = "key(104)"
B Button = "key(117)"
A Button = "key(106)"
C Button R = "key(111)"
C Button L = "key(121)"
C Button D = "key(107)"
C Button U = "key(105)"
R Trig = "key(108)"
L Trig = "key(278)"

Here is mine, optimised for star fox 64.

Start = "key(13)"
Z Trig = "key(121)"
B Button = "key(117)"
A Button = "key(106)"
C Button R = "key(108)"
C Button L = "key(105)"
C Button D = "key(107)"
C Button U = "key(104)"
R Trig = "key(111)"
L Trig = "key(32)" 

The layout of the N64 pad is very different to a gameshell, or even a snes.

Thanks., ill just swap out the banjo one for mine, since i know it uses all the C buttons and so it should work with ocarina.

Both the banjo and star fox ones use all the c buttons. See the layouts.

Ocarina of time uses C left, down and right for assigning tools.
C up is used for Navi.

The banjo layout uses the north input button; Y according to the diagram, for C Up; is Navi.
The star fox layout uses the same Y input button for C Left; a tool button.

Unless you like to summon Navi a lot, I would recommend not wasting the Y button on the gameshell on this. Perhaps mapping select fo Navi would make sense.

I personally use the star fox layout for Zelda too, using the light key L1 for C up (Navi) and R1 for C right (tool3)
Since I never use Navi, and only really ever need 2 tools at once, this works out for me.

It’s honestly not that hard to map out your own key bindings. @Themanagement123 did an amazing job at laying out the keys.

There’s an argument/parameter you can add to a custom script to tell different games to use different key bindings. I don’t know how to make an exception list on the action.config, so I need to have each game have its own icon.

It’s hard to say what the “correct” binding for the C keys is to be honest. It’s just personal opinion.