Custom Controller Configuration

Controller configuration is specified in configuration files bundled with FS-UAE. The folder share/input/ contains the bundled configuration files. There is one .ini file per controller type.

FS-UAE Launcher comes with a joystick / gamepad configuration tool (started from the settings dialog). This tool will create configuration files for you and it is highly recommended.

Custom configurations can be placed in the directory:

(My) Documents/FS-UAE/Controllers/

The name of the ini file is the system name of the controller, converted to lowercase, with an underscore between each work. Characters other than letters and numbers are also converted to underscore, and there is never more than one underscore between each word, and the name will not start nor end with underscore.

Example: Controller (Xbox 360 Wireless Receiver For Windows) becomes


This forum thread has some more information:

Universal configuration file (recommended)

If you have a general-purpose gamepad with button layout more or less like PlayStation/Xbox controllers (e.g. a hat, two analog sticks, 4 buttons to the right, start/select and shoulder/trigger buttons), you can create a config which maps the controller events to generic event names (which again is automatically mapped against amiga input events). In this way, the same configuration can be shared with other emulators using the same configuration file format without having to create an explicit configuration for amiga, super nintendo, c64, and so on.

Here is a complete example for this kind of configuration file:

include = common/gamepad
axis_0_neg = lstick_left
axis_0_pos = lstick_right
axis_1_neg = lstick_up
axis_1_pos = lstick_down
axis_2_neg = rstick_left
axis_2_pos = rstick_right
axis_3_neg = rstick_up
axis_3_pos = rstick_down
button_0 = west_button
button_1 = south_button
button_2 = east_button
button_3 = north_button
button_4 = left_shoulder
button_5 = right_shoulder
button_6 = left_trigger
button_7 = right_trigger
button_8 = select_button
button_9 = start_button
button_10 = lstick_button
button_11 = rstick_button
button_12 = menu_button
hat_0_left = dpad_left
hat_0_right = dpad_right
hat_0_up = dpad_up
hat_0_down = dpad_down

What you must to is to check (with a joystick test application) what button number each physical button on your gamepad has, and update the configuration accordingly.

Example: If you test a button labelled  “start” on your controller, and you want to map this to the generic event “start_button”, you press “start” in a joystick tester program. Let’s say the program indicates that this is button 5! In the config file, the first button is numbered 0, so if the joystick test program calls the first button “1”, you must subtract one from the number, and you get:

button_5 = start_button

This line is important to include:

include = common/gamepad

– since this imports the common gamepad configuration file which maps the generic button names to Amiga joysticks.

Additional information

Axes on your controller are identified as axis_x_neg/axis_x_pos where x is the zero-based index (the first axis is 0). Hat events are referred to with hat_x_left, hat_x_right, hat_x_up and hat_x_down (x is hat number – the first hat is 0). Button events are simply button_x (where button_0 is the first button on the controller).

Also, remember to check the log file to see whats going on when FS-UAE starts. You will probably get some hints to what’s wrong if it does not work.

If you create a configuration file to support your controller, I would very much like a copy of this file to include with FS-UAE in future releases.

Amiga-specific configuration file

If you have a controllers which looks nothing like a “standard” gamepad, if can be better to create a specific configuration file and map the Amiga joystick events directly.

If you created a universal configuration you do not have to add [menu] or [amiga] sections.

The ini file should contain a section [amiga] with a mapping between controller events and amiga joystick events. You should also create a [menu] section where you provide mapping for the menu navigation (if you want to navigate the menu).

Here is an example for a joystick with one stick and 4 buttons:

axis_0_neg = left
axis_0_pos = right
axis_1_neg = up
axis_1_pos = down
button_0 = primary
button_1 = back
button_2 = select
button_3 = start

axis_0_neg = left
axis_0_pos = right
axis_1_neg = up
axis_1_pos = down
button_0 = 1
button_1 = 2
button_2 = 3

Amiga events are named left, right, up, 1 (fire), 2 (secondary fire) and 3 (tertirary fire). (see common/gamepad.ini for Amiga CD32 controller mapping).

105 thoughts on “Custom Controller Configuration

  1. I cannot find any folder in my FS-UAE files labeled “share”. Where am I supposed to find it?

    • The information is outdated, I think they are inside fs-uae.dat now, if I recall correctly. Regardless, it does not really matter, you don’t need to find them. To configure your controller, just use FS-UAE Launcher settings and do it visually from the Controllers page.

  2. hi there.

    within the launcher, i have set up a archon to use two joysticks (the database has it set to joystick and mouse). i start the game but it has switched back to joystick / mouse.

    i can hit f12 to bring up the side bar menu and make my changes there again to two joysticks and everything works fine. but it doesn’t seem to save the changes i made. back to square one when i restart.

    anyway to save the controller change? thanks!

    • Hi, when using the automatic database entries, there is no local save function for customizing it yet. It is possible to submit fixes to though.

      I’ve already fixed the Archon game entry to always use two joysticks (joystick_port_0_mode = joystick) 🙂

        • thanks man, i’ll give it a try.

          i did run the updates yesterday and i lost the list of games over to the left and i freaked out! i was able to select restore to default to bring the list back and realized i don’t have any of the official games downloaded.

          i run launch box and point to my amiga rom folder.

          tonight i’ll try dumping all those roms into the correct fsuae folder and see if they get recognized

  3. Hi. I have a 8BitDO SFC30 gamepad.

    I want to map the controller so that the pause-function is triggered when I press the right shoulder button. (I mean the pause that is triggered when you press Alt + P on the keyboard.) In the path “/home/pi/Documents/FS-UAE/Controllers/” I have found a file belonging to my controller. It has the name “8bitdo_sfc30_gamepad_16_6_1_0_linux.conf”.

    When I open this file there is a section [default] with several entries. The one that I was looking for is:

    button_7 = right_shoulder

    So I replaced “right_shoulder” with “action_pause” but it doesn’t work.
    I also tried adding “right_shoulder = action_pause” to the end of the file but this also doesn’t work.

    Please can you help me. Which file do I have to edit anyway? Can you tell me the exact path and file name. And what exactly do I have to add for my concern?

    • Hi, the config file you found is for describing the layout of the controller and you cannot assign arbitrary actions there.

      But you can add something like this to advanced settings in FS-UAE Launcher:
      joystick_0_right_shoulder = action_pause
      joystick_1_right_shoulder = action_pause

      The advantage of FS-UAE handling it this way, is that your preference will also work if you use another controller 🙂

      • I have added

        8bitdo_sfc30_gamepad_button_7 = action_pause

        to the big textbox in the advanced settings of the launcher. This works.
        But the way you described it is clearly better because it works with other controllers, too.

        Thank you very much for your help.

  4. Hi,

    I’m using FS-UAE in Ubuntu 18.04 LTS, it works great but my generic retro snes gamepad doesn’t show up as an USB device. I have tried following this article, added .ini-file in the controller folder (both in documents/FS-UAE/controllers and in snap/FS-UAE/Common/controllers/), made a copy of .ini for this type of controllers, but with no luck. In other threads I only find fixes for window users. The USB does simply not show up as a detectable device in the launcher. It works fine with Retropie that I also have installed on the same computer.

    Any help would be much appreciated.


    • Hi, you are using an unofficial (snap) version of FS-UAE. Other people have reported issue with this and controllers. Please uninstall the version you are using now, and install the official Ubuntu version from instead. I’m quite sure that will fix the problem!

  5. Hi,
    First, thanks for a great emulator!

    I’ve been struggling with getting my gamepad to trigger a certain key in a game. For some strange reason I can’t trigger the key “?” in a game.

    The custom configuration that is added are:
    joystick_0_left_shoulder = action_key_question
    joystick_0_right_shoulder = action_key_space

    I tested that both shoulder actually works by adding another key instead of “action_key_question” like _key_a etc. and that works fine. What could be wrong?
    The actual key I’m hitting on my os x keyboard to produce a “?” on Amiga is shift + “-” which is underscore on my keyboard, I also tried it in settings (action_key_underscore) but
    still no “?”.

    Any help appreciated, thanks!

    • Hi, you can see the available actions here: (action_key_question isn’t one of them). The available actions correspond to physical Amiga keys, and not symbols, and as you discovered, “?” isn’t really a key on the Amiga, but a combination of two keys. You can unfortunately not map two actions to the same joystick buttons, so if you want to be able to “type ?” via the gamepad, then you need to map one buttons to Amiga shift (action_key_shift_left), and the other to action_key_div (the “slash” button on Amiga US keyboards) and then press both joystick buttons at the same time.

      • ok, I mixed things up when reading about the keyboard events where keyboard_key_question exists, sorry about that.

        It finally worked out but I had to address my controller directly by the device name rather than using joystick_0_left_shoulder as they also was mapped
        to other default actions, removing the entries in controller config for the buttons needed and using events like playstation_r_3_controller_button_11 mapped to
        needed actions worked fantastic.

        Thanks for your help!


  6. Hi. I’m trying to set up the Speed-link competition pro so that button 3/Y is autofire rather than pause which is its current (annoying) function.

    tried the following lines in advanced settings but no luck, what am i missing?

    SPEED LINK Competition Pro_button_3 = action_joy_1_autofire_button
    joystick_button_3 = action_joy_1_autofire_button
    joystick_button_y = action_joy_1_autofire_button

    • Hi, you can try: speed_link_competition_pro_button_3 = action_joy_1_autofire_button (the joystick name is normalize by lowercasing it and collapsing spaces into underscore). You can also refer to the first device on the system with joystick_0_button_3 = action_joy_1_autofire_button. Notice the insertion of _0. Hope this works for you 🙂

  7. Hello,

    Trying to bind del key of amiga keyboard to button of xbox one gamepad.
    I tried this “button_4 = action_key_del” but it isnt working.
    For example “button_4 = 1” is successfully binding fire to buttton 4 of gamepad.
    Should i activate keyboard emulating or something?

    • Hi, in the controller config, you cannot generally use the “actions”, you can only use the controller config to map to joystick events for the ports, as well as a few special actions (such as menu). Being able to specify any action would indeed by use, but it isn’t possible right now.

      You can sort of make it work by using advanced settings in FS-UAE Launcher / config file in FS-UAE, for example:
      joystick_0_button_4 = action_key_del should work, if your xbox one gamepad is the first in the list of recognized joysticks on your system.

      • Finally make it work. I set first port for joystick and xbox controller and second port for PAD32 and Mac OS keyboard.

  8. Hi

    First up great emulator and I’m enjoying playing some of the old Amiga games I had and many that I bought from Amiga Forever..

    One issue I am having is with my wired xbox 360 controllers. They are not recognised by FS-UAE.

    I’ve booted the emulator up 4 times now and I only once have they worked. The joysticks are always plugged into the computer and directly into USBs, that is no USB hubs. Any help greatly appreciated

  9. Hi there,

    I figured it out by trial-and-error:
    For the PS1 Gamepad I had to enter the following into the advanced settings of the FS-UAE Launcher. The Arcade mode were taking then the right settings as well!
    hid_6666_0667_button_0 = action_joy_1_fire_button
    hid_6666_0667_button_1 = action_key_space
    hid_6666_0667_button_2 = action_joy_1_up
    hid_6666_0667_button_3 = action_joy_1_autofire_button

    And this one for the Competition Pro USB version:
    mosic_usb_2a4k_gamepad_button_0 = action_joy_1_autofire_button
    mosic_usb_2a4k_gamepad_button_1 = action_key_space
    mosic_usb_2a4k_gamepad_button_2 = action_joy_1_fire_button

  10. Hi there,

    I started now with a Gamepad configuration for Turrican II. Normally I would need these functions on the PS1-Gamepad: Fire, autofire and Space. Fire is no problem (north and south button have the same function here), but is it possible to create also a button with autofire instead of switching it on and of via the F12-menu?

    • hey Cmd.Keen, sorry for the late reply.. just happened to be browsing through this..

      the actions you need to set the mappings to are these:

      if you are using it as a CD32 use:
      joystick_port_1_mode=cd32 gamepad

      and map any of these inputs to the action you need

      if you are using it as a simple joystick (3 buttons max) use:

      and map any of these inputs to the action you need:

  11. Is there some up to date instruction on how to make a joystick button make the latest beta and/or dev version of FS-UAE send a keyboard key to the game? Please, stepwise instructions.

    I can go to settings… > joystick > and doubleclick on xinput controller. This shows an image of a joystick. But it looks like I can only there pick a hardware button on my joystick that will send a joystick event to the game? And it looks to be correct already. But again I want to remap a button to instead send a keyboard key to the game.

    I am probably missing something but there is no information in the GUI on how to use it and this page doesn’t describe that settings page either. If I change some button and then change it back again I can click save. I see that there is a textfile xinput_controller_15_6_0_0_windows.conf in \Controllers. In it there is text like this

    include = universal_gamepad
    axis_0_neg = lstick_left
    axis_0_pos = lstick_right
    axis_1_neg = lstick_up
    axis_1_pos = lstick_down

    Is it there I should manually make changes in order to get my joystick button to send a keyboard key? Do I edit the entries under [default]? Or do I make a new section (what title?). I guess I should put some code for a keyboard event on the right side of an = sign. Should I on the left side of it put something like button_12 or something like west_button ?

    I’m sorry if these are stupid questions but I do not see an answer to them here in the documentation. The documentation seems to presuppose that the user knows the interface very well already, which a new user of course do not.

    • One more thing. I would want to map the joystick differently for different games. For example in the game North and South I want a button to send the left shift key, and in other games some other keys. Do I manually create one copy of the .conf file in \Controller (once I understand how to set buttons in it) and then link each configuration file to each individual game? The controls will of course be mostly the same for all games.

      • Hi, I will provide an answer if you leave a proper email address. No point in replying if you don’t see the answer!

    • Hi, I will provide an answer if you leave a proper email address. No point in replying if you don’t see the answer!

      • I would also like the answer to this. Just got a nice setup going and need to be able to map controls on a per-game basis.

  12. Hi,
    i´ve a big Problem. I´ve tried to use the NES30 controller and it doesn´t work.
    My Questions: 1. where´s the config folder for my joypad? (Mac)
    2. it does not show in the settings/joystick screen.
    Can you help me please?

    • Hi, the joystick device should appear in FS-UAE Launcher settings (and in FS-UAE) if it is recognized by the operating system as a joystick device. Have you checked if other applications detect it as a *joystick/gamepad* device? Perhaps a driver is needed for the device?

      • Hi! Thx for the Answer.
        The Device is detected in all other Programs like OpenEmu etc. I can see it in the Joystick list in the main screen. But in the Preferences it´s not.
        Can I put a own config for the Controller?
        Wheres the Folder for it?
        My USB Joystick works fine but the NES30 is not in the list.
        Sorry for my bad English, I´m from Germany and big THX for your great work!!!

          • Ok I´ve updated to the latest Version.
            But same Problem as before. In the Main Screen “Joystick” the 8Bitdeo is available. In the Preferences it´s not.
            Can I Config it manually? Where´s the path for the config file?

          • And another Problem.
            When I will change the Keys from “Up Arrow” To “W Key” it does´t have a effect!
            keyboard_key_w = action_key_cursor_up
            I´ve wrote it in the Preferences-Advance
            The NES30 can work as a Bluetooth Keyboard. But the Fire Key is another. (it´s not the ALT or CMD)
            Strange ;(

          • keyboard_key_w = action_key_cursor_up probably does not do what you think. What this does is: when you press W on your keyboard, the Amiga sees a keypress on the Amiga “cursor up” key.

  13. Hi FrodeSolheim, please help.

    I’ve a Microsoft wired 360 pad. It perfectly works in OSX (I use Xbox 360 Controllers utility in OSX) and it’s automatically recognized by FS-UAE.
    However all my attempts to personalize buttons are failing miserably. 🙁

    I spent all the night trying to assign the “i” key to the west button and nothing worked. These are some of my tries:
    joystick_0_west_button = keyboard_key_i
    joystick_1_west_button = keyboard_key_i
    west_button = keyboard_key_i
    Controller_west_button = keyboard_key_i
    Controller_button_2 = keyboard_key_i
    Joystick_button_2 = keyboard_key_i
    button_2 = keyboard_key_i

    Everything is ignored.

    Any idea? Joypad is seen as “Controller” by the program

    • Hi, you need to use action_key_i on the right hand side instead of keyboard_key_i (You only use keyboard_key_i on the left hand side if you want to map an action to the i key on the host keyboard).

        • Sorry, got another little issue.

          I’m personalizing the joypad for “Elite” game.
          It uses “space” to accelerate and “slash” to reduce speed.

          While I was able to assign space to the right trigger with: Controller_right_trigger = action_key_space
          I’ve no luck with:
          Controller_left_trigger = action_key_slash

          If I assign any other key, like action_key_space it works, so I guess there’s something wrong with the slash key? The key that correctly works on keyboard is / that usually on Mac does - (minus) but I guess it’s a UAE button remapping? Anyway in the game it correctly reduces speed.
          Before game starts there’s a quick workbench screen where I can test the joypad mapping for a pair of seconds and action_key_slash doesn’t write anything.

          action_key_backslash works (but of course it’s not used in the game)

          Sorry to keep bothering you with boring questions but there are lots of bad pirates out there that demand to be punished. 😉

          • An alternative could be combining mouse 2nd button with mouse down movement (it’s an alternative way to lower speed), but I don’t know if it’s possible to map two actions to one key.
            I’ve tried to do this in the config file:
            Controller_left_trigger = action_joy_0_2nd_button
            Controller_left_trigger = action_mouse_0_down

            but it seems only the second one is working.

          • No, at this point, only one action can be assigned to each input event.

          • Omg, you saved me again.

            I was looking at the Custom Input Mapping page and assuming it was ok to change any:




            I was wrong of course.

            Many many thanks again Frode, the Intergalactic Federation of Free Planets will be happy to assign you a Gold Merit medal. 🙂

  14. Pingback: FS-UAE: Emulador de Amiga | Cógeme la matrícula

  15. Hey Frode….

    Ii just got a Ps4 controller today. Got some a wierd issue with it.

    In general, everything works fine (using osx yosemite) – pad is detected named “wireless controller” and I am able to map all the buttons using the launchers controller setup as expected. In game everything performs correctly except “menu_button” – this will. It work whatever button i map it to – there are no problems mapping any of the other controls to the pad. Menu button is working normally also on my PS3 pad but that’s an in-built mapping.

    Obviously I am just using f12 atm but it’s not ideal…. Any thoughts? The controller setup section detects the button I am using without problems. Is there anythibg I can send over to help detect the issue?

    Also, would it be possible to get fs-uae to detect OS X devices by their “relabelled” names?

    • Hi, is this with FS-UAE 2.4.1? If so, can you try the latest development version instead?

      • Hi Frode,

        This is with the latest dev version – i dont tend to use the release version!

        • Hmm, that’s strange, I tried it myself and it works just fine here…
          – You can of course send me the controller config file (to and I can compare with mine.

    • I’m just guessing here – perhaps the “D-Pad” isn’t part of the joystick interface, but instead appears as a keyboard with “cursor keys” or something like that?

      * If you have the config files for some of the emulators you have configured, you can send those to and I can check
      * You can also try the “joystick calibration dialog” in Windows to test the buttons, and see if the D-Pad is usable there.

    • Thanks, I got the config file from snes9x 🙂 It looks like my guess was correct (the relevant bits from your snes9x config file):

      Joypad1:Up = Up
      Joypad1:Down = Down
      Joypad1:Left = Left
      Joypad1:Right = Right
      Joypad1:A = (J0)Button 0
      Joypad1:B = (J0)Button 1
      Joypad1:Y = (J0)Button 4
      Joypad1:X = (J0)Button 3
      Joypad1:L = (J0)Button 6
      Joypad1:R = (J0)Button 7
      Joypad1:Start = (J0)Button 11
      Joypad1:Select = (J0)Button 2

      Here we see that the (keyboard) cursor keys are mapped to the SNES directional pad, while buttons on joystick 0 is mapped to the other SNES controller buttons. This means that your gamepad D-Pad is actually pretending to be a keyboard with cursor keys.

      For easy configuration, FS-UAE requires that a joystick device actually is *one* device, and not using hacks like this (presents itself as two devices). It looks like your gamepad is configurable/reprogrammable, so perhaps you can reconfigure to be *a single joystick device*?

      Another possibility is to only map the joystick “buttons” and use FS-UAE custom input mapping to map the cursor keys to the Amiga joystick (you can add these lines to advanced settings in FS-UAE Launcher):
      keyboard_key_up = action_joy_1_up
      keyboard_key_down = action_joy_1_down
      keyboard_key_left = action_joy_1_left
      keyboard_key_right = action_joy_1_right

      This should work fine, but there is a catch. In this case, the cursor keys (= the d-pad on your “gamepad”) is always mapped to the primary joystick port. So if you insert your gamepad in the mouse port, the buttons will be mapped to the Amiga joystick in the mouse port, but the cursor keys (“D-Pad”) will still be mapped to the joystick port.

      In short, it will work fine as long as you use the gamepad as primary Amiga joystick. If you get your gamepad reconfigured as a proper gamepad (D-pad is also joystick buttons/hat/axes), it will work properly when you use it in both Amiga ports.

  16. Hello

    Been using your emulator & I have to say it’s brilliant upgrade from my WinFellow emulator. Anyhow, I have a FC-30 Bluetooth joypad & the fire button works for games like SWIV, Super Twintris etc… but, the digital pad does not work to move at all? I have gone to the custom key mapping section but it lets me change all buttons on the pad except the move pad?

    • Hi, what OS do you have, and does the gamepad work in other games/applications? -And you meant that you have tried the mapping tool in FS-UAE Launcher, but that the d-pad cannot be mapped in this tool?

      • It works on the snes 9x emulator for mapping & sega fusion emulator too. I’m on windows 8 using a tablet asus t100. Can the joypad be used the (+) part that is for movement.

        • So to confirm the wireless bluetooth controller I have is basically a Super Nintendo joypad, the buttons can be mapped using your launcher & then going to settings:

          L, R, Select, Start, B, X, Y & A.

          It’s just the movement pad that doesn’t let you configure it?

  17. Hello,
    Could I ask on how can I play Amiga games with my 360 wireless controller?. Here is my problem, fs use detects my controller and when playing games I can go left, right, up and down but the x,y,a,b buttons also go up down left and right and the fire button is on the right position of the “star” joystick. I tried to use a keyboard and mapping the keys using an external program “joystick mapper” and I gave the left alt key and left control key buttons on the 360 controller but it doesn’t work. How can I fix this?. Thank you.

    • Hi, your problem sounds a bit weird. On most platforms, the wireless controller should be recognized automatically. Perhaps you’ve got a problem because you’re using a “joystick mapper” program? Please try without, and also try mapping all the buttons through the joystick setup dialog in FS-UAE Launcher preferences if it does not work out of the box!

    • No, sorry, this is not configurable, not yet anyway. Can you describe your problem in more detail?

      • It s not a problem, It s normal, I prefer my pad less sensible for platform game (To use my analog pad as numeric pad).
        I can’t configure it directly in windows because somes applications need this “sensitivity” ^^.

        In platform game if you press down and just a little right or left in same time it s deadly.

  18. Hi Dude !!!

    How can i associate the left and right amiga mouse button to the left and right shoulders button on my xbox360 joypad ???

    thanks for the answer 😀

  19. Hi there,

    I have trouble configuring the second pad. I managed to fix the first one like that:

    # gamepad 1
    include = universal_gamepad
    hat_0_left = dpad_left
    hat_0_right = dpad_right
    hat_0_up = dpad_up
    hat_0_down = dpad_down
    axis_0_neg = lstick_left
    axis_0_pos = lstick_right
    axis_1_neg = lstick_up
    axis_1_pos = lstick_down
    #button_10 = lstick_button
    axis_2_neg = rstick_left
    axis_2_pos = rstick_right
    axis_3_neg = rstick_up
    axis_3_pos = rstick_down
    #button_11 = rstick_button
    button_0 = west_button
    button_3 = north_button
    button_2 = east_button
    button_1 = south_button
    button_8 = menu_button
    button_9 = start_button
    #button_12 = menu_button
    #button_4 = left_shoulder
    #button_6 = left_trigger
    #button_5 = right_shoulder
    #button_7 = lstick_right

    It’s right there:

    That is, one file only.

    I try to follow FrodeSolheim’s advice, but still, in the end I only get one file and for one pad only. What should I do? Any ideas?

    • Hi, if the second device is the same as the first one, they are supposed to share config. Please set up the launcher to use both gamepads (one in each port), start FS-UAE, close it down after confirming it does not work, and send the resulting FS-UAE.log.txt to 🙂

    • Hi, I checked the log file you send me, and everything looks fine except one thing: Port mode of joystick port 0 is set to mouse – it needs to be switched to joystick mode when you want to use a secondary joystick.

      • Hi there, You were right about the modes, I didn’t set it right. I changed it the way you told me to and it works. I can’t believe I overlooked it 🙂 Thanks once again! I think this emulator is really great. It would be even greater if you could load profiles not just floppy discs during the game after pressing F12. Then you could control everything with the pad only.

  20. Would it be possible to assign two joystick buttons to one and the same Amiga button/direction?
    I am more used to console gaming and prefer having a button for jumping instead of pressing up on the d-pad. I managed to configure it that way, but there is a problem when a game changes gameplay style. A good example would be Turrican 2. All works smoothly in the “normal” levels, but then the game switches gears in the shmup levels and now a button for “up” does not work that well anymore :-).

    • Yes, you can have both D-PAP up mapped to Amiga joystick up, as well as any number of other buttons at the same time. Infact, if you use the joystick config tool which is a part of FS-UAE Launcher, you’ll get a setup like this automatically. The “east button” is mapped to Amiga joystick up by default, and the “north button” is also mapped to fire along with the “south button” – so you can move your fingers from south/west (fire/2ndfire) to east/borth (jump/fire).

      • Hi frode, I tried this but really couldn’t make both up and the south button on the gamepad configured as “up”. It’s either one or the other, I can’t force in the joystick config both buttons for “up”.

        • No, you cannot do it like that. In Launcher settings, you tell FS-UAE what buttons your gamepad/joystick has. So you map up to up, and the south-most button as south-button (etc). Then start FS-UAE. FS-UAE will then make sure both the up button and east buttons are mapped to Amiga joystick up. If you want the “south” button on your gamepad to be up, you can of course lie about your layout and swap for example with the west button. For reference, here is the full mapping:

          (So as you can see, what you tell FS-UAE is dpad_up, lstick_up, east_button and right_shoulder are all mapped to Amiga joystick up):

          dpad_left = left
          dpad_right = right
          dpad_up = up
          dpad_down = down
          south_button = 1
          west_button = 2

          lstick_left = left
          lstick_right = right
          lstick_up = up
          lstick_down = down
          east_button = up
          north_button = 1
          right_shoulder = up
          left_shoulder = down
          left_trigger = toggle_autofire
          right_trigger = autofire
          select_button = pause
          start_button = menu_alt

  21. Hey, in the 2.3.8 dev version, are you supposed to see the configuration files in the preferences > joysticks window?

      • Okay. So I’ve got a controller (it’s an impulse controller) that identifies itself as a keyboard. It works out of the box with directions (as these are cursor keys effectively), but it’s fire buttons map to a, w, v, m. So I need to map these keyboard keys to fire buttons basically.

        I’ve put this in a impulse_v1_0_c1b761.ini in controllers, but nothing seems to work (device shows up in FS-UAE launcher joystick menus as IMpulse v1.0 C1B861):


        impulse_v1_0_c1b761_key_cursor_left = action_joy_1_left
        impulse_v1_0_c1b761_key_cursor_right = action_joy_1_right
        impulse_v1_0_c1b761_key_cursor_up = action_joy_1_up
        impulse_v1_0_c1b761_key_cursor_down = action_joy_1_down
        impulse_v1_0_c1b761_key_a = action_joy_1_fire_button
        impulse_v1_0_c1b761_key_w = action_joy_1_2nd_button
        impulse_v1_0_c1b761_key_v = action_joy_1_3rd_button

        I’ve tried replacing the impulse_v1_0_c1b761 bit with ‘keyboard’ but that doesn’t work either. Any ideas? I also can’t seem to get anything appearing in the custom joystick port area to try to deal with it. So I’m now at a bit of a loss.

        • Ignore me – I figured it out

          Had to put kyboard_key_a = action_joy_1_fire_button etc in to advanced config bit. All good now.

  22. Hi,

    thanks for your great work! 🙂

    Unfortunately the Joystick configuration doesnt seem to save my configuration. So I can’t use the joytick in games. Any Idea?

    My System is Debian 32 bit.

    Thanks & Regards,

    • To be more precise: I have a XBOX controller which should be supported out of the box and works in other applications. I can configure it through the GUI but the save button doesn’t seem to have any effect.

    • I think it most likely already worked, but in the stable version the config isn’t loaded by the joystick configuration program, so it might look like the config has not been saved (though it really has been). In the development version, I have fixed it so you can see your previous config when you re-open the configuration tool.

      The XBox controller is supposed to be supported out of the box (there’s configs for it bundled with FS-UAE), so please to send your config (it is stored in Documents/FS-UAE/Controllers) so I can check what is different about it, and include it with future FS-UAE releases (if applicable) 🙂

  23. Hi, first of all – Thank you for that great Emu! -. I am trying to get my gravis gamepad running with fs-uae, but it does not seem to work. Every time i plug it and start fs uae it asks me to install some kind of “old” mac software (x11). Is there any way to walk around this?

    Greetings, Justin

    • Hi, I don’t know why plugging the joystick in causes any difference, but I have discovered a packaging error which makes FS-UAE Launcher depend (unnecessarily) on X11. This will be fixed 🙂

  24. Hi,

    how is it possible to configure the competion pro USB.
    Just to have the traditional gameplay feelings 🙂

    • Hi, this joystick should work out of the box, no configuration needed. If it does not work, please provide more details and check that it is recognized by the operating system 🙂

  25. Hi guys !! Is possible to configure the right stick on xbox 360 wireless controller to emulate the Amiga mouse ??

    thanks !!

  26. Hi, I gave FS-UAE on OS X (Snows Leopard) a try, installed the recommended Xbox 360 driver and got it instantly running without one Xbox 360 controller but somehow i can’t get it running with two of them, although both respond correctly to the driver. The second one simply refused to work no matter what i tried. From the “docs” i’m not sure how to set this up and whenever i tried to define the controller configuration, i got two windows opened but with the same controller name.

    Can you use two Xbox 360 controllers on a Mac and if so how do you set this up correctly? Thanks in advance

    • Hi, there should be no problems with multiple controllers, as long as they both are separate joystick devices. The controllers will share configuration. I don’t know if you have used FS-UAE with or without the launcher, but FS-UAE Launcher has a interface to define the controller mapping if the device is not supported out of the box. You only need to do this once for each controller model.

      In the FS-UAE and FS-UAE Launcher interface, you should see two joystick devices:
      – “Name of XBox Joystick Device”, and
      – “Name of XBox Joystick Device #2”
      And you should put one in each joystick port. Make sure joystick port 0 is in joystick mode, and not mouse mode.

      If it does not work, you should run FS-UAE with both joystick attached, exit FS-UAE, and then send Documents/FS-UAE/Logs/FS-UAE.log to

      • Hi Frode, And thanks for the amazing work on FS-UAE. I am having a great time with it.

        One small thing: I appear to be having an issue similar to e789 above. I have two Wiimotes connected via WJoy on OSX Mavericks and with FS-UAE 2.2.3. They present themselves as two different devices (no “#2”), and although I have configured them with identical custom controller config files, they only work in port 1 (even though I have set port 0 to “Joystick” mode). I can switch which Wiimote I use at runtime with the F12 menu, but neither of them work in port 0.

        I will email you the config and log files in case it helps (and if you have time to look at it), but I’m posting it here just in case anybody else is having the same issue.

        Best regards, Jens

        • Hi, if both devices work (individually) in the joystick port, but not in the mouse port, then something is fishy. Please send config and log to 🙂 (Ideally, send fs-uae.log after you have tried to start with both joysticks in separate ports).

          • Ah, something was in fact fishy. I think it was an error on my end — I had log files and everything packaged up to send to you and then thought I should in fact check it one more time. Lo and behold, now everything is fine. Apologies for the confusion.

            I will email you the minimal config file for the Wiimote (directions+fire button), just in case you want to include it in a future version of FS-UAE. (In fact, Wiimotes via WJoy identify with different IDs so perhaps it is not so useful, but I’ll send it anyway.)

  27. I’m using a retro 9-pin Amiga joystick together with an Amiga-USB adaptor, something I’d think is quite popular, could you add this to your default/built-in gamepads.

    • Yes I could, but I haven’t got this device and do not have the details needed to create the configuration. If you create a configuration for it (see docs) and send to me, I’ll include it in later versions.

      • I just got me a couple of these USB-Amiga/Atari 9pin adaptors, and connected my trusty old Zipstik Pro joystick’s to them. Mine show up as “Retro Joystick interface v1.2” (so I’m guessing there is other versions named “Retro Joystick interface” and “Retro Joystick interface v1.1” as well), I simply copied the configuration file for Speedlink competition pro; FS-UAE\share\fs-uae\input\mosic\speed_link_competition_pro.ini naming it retro_joystick_interface_v1_2.ini and I removed all other buttons then button_0, as my zipstik has 2 buttons but the work as 1.

        This config worked for me:

        # Retro Joystick interface v1.2

        name = Retro Joystick interface v1.2
        type = joystick/joystick

        axis_0_neg = left
        axis_0_pos = right
        axis_1_neg = up
        axis_1_pos = down
        button_0 = primary

        axis_0_neg = left
        axis_0_pos = right
        axis_1_neg = up
        axis_1_pos = down
        button_0 = 1

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.