I myself couldn't run a GUI for mupen, so I ended up figuring out how to configuire it and run it in the Terminal. The file I used to configure the controllers is:
There I found the area where it talked about the joysticks and figured by trial and error that if I see on my controller a number (the buttons are numbered) I type that number minus one in the config file, and for the buttons I was not using I just leave it blank, as in "". I'll leave the code I used:
# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change
version = 1
# Specifies whether this controller is 'plugged in' to the simulated N64
plugged = True
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
plugin = 2
# If True, then mouse buttons may be used with this controller
mouse = False
# Specifies which joystick is bound to this controller: -2=Keyboard/mouse, -1=Auto config, 0 or more= SDL Joystick number
device = 1
# SDL joystick name (name check disabled if this is empty string)
name = "DragonRise Inc. Generic USB Joystick "
# Scaling factor for mouse movements. For X, Y axes.
MouseSensitivity = "2.00,2.00"
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "4096,4096"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "32768,32768"
# Digital button configuration mappings
DPad R = ""
DPad L = ""
DPad D = ""
DPad U = ""
Start = "button(9)"
Z Trig = "button(6)"
B Button = "button(1)"
A Button = "button(0)"
C Button R = "axis(3+)"
C Button L = "axis(3+)"
C Button D = "axis(4+)"
C Button U = "axis(4+)"
R Trig = "button(7)"
L Trig = ""
Mempak switch = ""
Rumblepak switch = ""
# Analog axis configuration mappings
X Axis = "axis(0-,0+)"
Y Axis = "axis(1-,1+)"