Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I installed mupen64plus from the repositories using Synaptic. I like the emulator (for the most part, a couple of graphics glitches on TLOZ Ocarina of Time), especially its performance on my old machine, but I cannot figure out how to configure the controls for myself. I tried looking at Google Code's guide here but I can't find the file I need to edit and the link with the key ids isn't working, so even if I could find the file I wouldn't be able to change anything. So what I need is a resource with the key ids and where to find the file I need to edit.

I am running Ubuntu 12.10 32-bit. 2GB RAM, Intel CORE 2 DUO @ 2.00GHz

Here's an additional part of the question. M64py is a popular option. However, it requires that you input the paths to the various files it needs. Where are the default locations? Include for both the 32 bit system and a 64 bit system. (The files needed are Library file, Plugin directory and Data directory.)

share|improve this question

2 Answers 2

up vote 3 down vote accepted

You can configure the controls using a configuration file. The preferred method would be to use a frontend which has controller settings.


M64py is a Qt frontend for Mupen64Plus. It can be downloaded from here

It has a controller configuration ui as pictured here

You can configure the controlls from here and then launch the games from here itself or actually run mupen64plus /path/to/rom in the terminal

share|improve this answer

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+)"
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.