Custom Joystick Port

This is an experimental feature where you can get a “fifth joystick port”. This is not a joystick port the emulated Amiga knows about – but it is instead used to create a virtual joystick which sends custom key presses to the Amiga.

For example, you can use it to add joystick support for a game which normally only allows use of cursor keys.

Here’s an example (which speaks for itself):

joystick_port_4_mode = joystick
joystick_port_4_down = action_key_cursor_down
joystick_port_4_left = action_key_cursor_left
joystick_port_4_right = action_key_cursor_right
joystick_port_4_up = action_key_cursor_up
joystick_port_4_primary = action_key_space

With this configuration active, you’ll be able to select a host device in the “Custom Joystick Port”, both in FS-UAE and in FS-UAE Launcher. You need at least version 2.1.19. Available input actions are listed here.

Why a “Custom Joystick Port”?

Mapping joystick events to Amiga keyboard actions has been possible for a while in FS-UAE. But the existing mapping features are tied to specific devices (i.e. you can set up a rule to map a certain button on joystick number two to a keyboard key). With this new feature, you’ll instead be able to swap which device uses this configuration -even while playing.

Online Database Support

You can configure a custom joystick port for games in the online database as well. In this case, a shorthand notation is used, and the configuration becomes:

joystick_port_4_mode = joystick, left = key_cursor_left, right = key_cursor_right, up = key_cursor_up, down = key_cursor_down, primary = key_space, secondary = key_shift_right

When the game variant is loaded by FS-UAE Launcher, this shorthand configuration will be automatically expanded to the full configuration.

22 thoughts on “Custom Joystick Port

  1. Hi loving the improvements you have made so far

    I have no problem using my controller on the launcher

    but on the arcade launcher I have to initially use the keyboard]

    Is there anyway to make my controller default for the arcade launcher too?

    For future enhancement will we be able to filter our games list to favorites only?

    • Forgot to answer, yes, filtering by favorites is planned (actually a bit more flexible, you’ll be able to create game lists and only show games from one of your lists).

  2. Hi! I’m using version 2.4.1 and the custom joystick port feature is grayed out. I need it to configure custom keys for Cubo CD32 games but I don’t have the key codes

  3. Ok, I’m still fighting hopelessly with the controller mapping. it seems totally unstable.

    testing here and there with configuration files I was able to assign “menu” to joypad select button and it worked. then I tried to assign the “P” (pause) keyboard key to joystick start_button and it didn’t work. So I tried to do the same to west_button (that, strangely, in the game never worked even if in mapping tool works) and, as result, also select button was’t recognized anymore. now menu is opened with “select+start”, even if the mappings are still there in the config file:

    joystick_0_select_button = menu
    joystick_0_west_button = keyboard_key_p

    (also tried joystick_1 with no success).

    In alternative I’d like an option to automatically pause the emulator every time I access the GUI menu, is it possible? Thanks.

    • Hi, if you want to map the “west button” for the first connected gamepad to the Amiga keybord key P, the correct option is:
      joystick_0_west_button = action_key_p

      there isn’t an “action” for opening the menu, so you cannot use FS-UAE options xxxx = menu.

      (Btw, west_button is by default used as secondary fire for the Amiga – only a few games support 2nd fire button).

      • Many thanks FrodeSoheim, I’ll wait for the autopause function. 🙂
        Your above instructions don’t work, don’t know why. My personalized configuration is correct but, in the game (Cinemaware’s Wings in the specific) they’re totally ignored and emulator acts as if they’re not set (menu is open with select+start and west button is the secondary function you said). Anyway it’s not that important, as an autopause function in the menu will solve all the issues. 🙂

        I’ve a last question, I’d like to play Cannon Fodder after Wings and that game have a special action pressing left and right mouse buttons at the same time (launches bombs and missiles). Unfortunately Apple Magic Mouse doesn’t seem to support both buttons down. Is there a way to circumvent that? Thanks and sorry for all these questions, your emulator really rocks! 🙂

  4. update: i had to install xquartz for x11 (hoping that joypad configuration could be of any use) and now joypad don’t work any more in games. ironically the only thing working is select+pause to invoke GUI menu. and, no, I didn’t add any manual configuration. what can I do? thanks

  5. Sorry but it’s still all confused. I’ve read all documentation and still can’t have it working. I’ve a PS2 controller connected as “Default (PS3/PC Adaptor)”, it works in UAE but I cannot open the GUI menu (select+pause don’t work), nor assign specific commands to buttons (something like “joystick_0_right_trigger = action_save_state_1” is totally ignored).

    What I’d like to do is being able to open the GUI menu from joypad or, at least, have the save and restore save state commands on the triggers (or any other key). can you help me pleasE?


    • Most gamepads/joysticks work by default, but only with directional and a single button! To use more buttons (select, pause) you need to map them via the mapping tool. And if you start using the mapping tool, you must map all buttons or it will not work.

      Btw, XQuartz/X11 is no longer a dependency in the development versions. Also, the mapping dialog there is nicer as you can resume mapping when you open the mapping tool again instaed of having to start all over again 🙂

      • Many thanks for the quick answer. 🙂
        It turned out I was using an old version of emulator and launcher. I’ve got the new one and everything seems simpler to configure, but still I didn’t understand what is the “mapping tool”. I can go into settings > Joystick and double click on the “PS3/PC adaptor”. I can then “confirm” all joypad keys but I cannot assign keyboard ones, it only accepts pad buttons. I’d like for example to add something like “P” (pause) to arrow keys, or maybe save states commands to triggers but I don’t know why. thanks. 🙂

        • Hi, the joystick config tool is just that – it is used to “describe” the gamepad/joystick, so FS-UAE can intelligently assign actions. For example, it will use different internal assignments depending on whether you start an Amiga game or an CD32 game. It is not indented as a tool to map any key/button to any action (of course, such a tool would be useful too, but it’s different to what the joystick config tool is trying to achieve).

          • oh, that’s more clear now. 🙂
            so, let’s simplify it: is it possible to assign somehow the keyboard “P” press to the joypad? or joypad can only “play” joypad buttons?

        • Hi, I didn’t quite catch the details of the last question, but it is possible to map host keyboard keys to Amiga joystick actions, and also host gamepad buttons to Amiga keyboard actions. See for more information.

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.