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.
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?
Hi, I believe the navigation issue should be fixed in the development version 2.5.19dev, just released 🙂
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).
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
Hi, the custom joystick port is documented here: http://fs-uae.net/custom-joystick-port 🙂
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).
I have added automatic pause as a feature request: http://fs-uae.net/trac/ticket/13 🙂
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! 🙂
Hi, you can map a keyboard key to Amiga right mouse button, something like (in advanced settings):
keyboard_key_tab = action_joy_0_fire_button
and then you can (in this example) use the left mouse button together with the tab button.
BTW, pause ticket moved here: https://github.com/FrodeSolheim/fs-uae/issues/4
Yes, thanks, it’s what I did at the end. 🙂
new update: now everything works. no idea why. well, better so.
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
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. 🙂
well, I don’t know *HOW*, not why (I feel like in lemontree song). 😀
See my reply to your other comment http://fs-uae.net/custom-joystick-port/comment-page-1#comment-306802 🙂
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 http://fs-uae.net/input-mapping for more information.
Loving this feature! Makes retro gaming night much easier, cheers :O)