This document explains how to use keyboard shortcuts in FS-UAE, how FS-UAE and system keyboard shortcuts can interfere, and how the emulated Amiga keyboard works.
FIXME Keyboard joystick emulation doc
FIXME Write about custom keyboard joystick emulation devices
FIXME Keyboard CD32 emulation doc
FIXME Reference option full_keyboard
Keyboard shortcuts are listed in a separated file. You can also read about shortcut modifier keys, how to alter those, and find information specific to your operating system.
If you don't have a joystick or gamepad attached to your computer, then you can use keyboard joystick emulation instead.
Grabbing the input means that FS-UAE asks the operating system to lock the mouse to the FS-UAE window, and to send as many key presses as possible directly to FS-UAE. This is necessary in order to:
So, when input is grabbed, most key pressed are sent directly to FS-UAE and is not intercepted by the operating system. This is especially true when running FS-UAE in full-screen mode, but it also depends on the operating system.
Note: If you do not want to grab as many keyboard keys as possible you can disable the option keyboard_input_grab. But please note that you may be prevented from using some Amiga keys.
Since most key presses are sent directly to FS-UAE when input is grabbed, most desktop shortcuts and multimedia keys will not work. This means that you will not be able to (for example) use the volume controls on your keyboard -- if you have those -- while FS-UAE has grabbed the input.
In order to use such keys or keyboard shortcuts, you can do one of the following:
When keyboard input is grabbed, on some operating systems (Linux, BSD), Alt-Tab while generally not work, since the key presses are sent directly to FS-UAE. In order to still allow Alt-Tab to work on these platforms, FS-UAE does the following:
Since the input grab is released when you press Mod, the operating system will be able to intercept Alt+Tab when you subsequently press Tab while still holding Alt as long as Alt is the modifier key in FS-UAE. If the system uses another modifier key for window switching, this workaround will not work unless FS-UAE is also configured to use the same modifier key.
Note: On Windows and OS X, the operating system always intercepts Alt+Tab and Cmd+Tab respectively, so window switching should always works regardless of input grab in FS-UAE.
The SDL library used by FS-UAE intercepts Alt+F4 and Cmd+Q and uses this to close the application. This means that even with full keyboard emulation enabled, you are prevented from using Amiga+F4 or Amiga+Q.
This will continue to be the case until SDL supports
SDL_HINT_HANDLE_OS_HOTKEYS = 0.
FIXME: Might be outdated information by now! Double-check
Information about how the keyboard is mapping is moved to a separate file. You can also read about custom keyboard mapping there.
The following shortcuts work, but you should be aware that the Ctrl key press will be sent to the emulated Amiga before you have completed the shortcut combination, so the key press may have side effects on the emulated Amiga:
FIXME Remove items from this list which is listed elsewhere:
The following shortcuts will only have an special effect while in net play mode:
If you create a custom shortcut, for example:
keyboard_key_ctrl_p = action_pause
Then you should be aware that the emulated Amiga will see the Ctrl key press before you have pressed P. The Amiga will not see the P key press however, since this triggers the shortcut instead.
This may or may not be a problem for you. But it isn't possible to avoid automatically because FS-UAE cannot know if you are going to press a key combination or not. In this case, if you do not want the Amiga to see the Ctrl key presses, you can for example also add:
keyboard_key_ctrl = action_none
But then of course, you'll have no way to press the Amiga "Ctrl" key - unless you also map another host key (combination) to Amiga "Ctrl", for example:
keyboard_key_ctrl_c = action_key_ctrl
The number row of the Amiga has one more key than on PC keyboards. By default, this key is moved to the key left of Return (two rows down), and this key again is moved to the Insert key. If you want to, you can change the mapping so the extra key is moved directly to the Insert key, while leaving the one next to Return alone:
keyboard_key_insert = action_key_backslash keyboard_key_backslash = action_key_2b
You can disable the F12 menu key with the following option, but please note that it will still function as alternative modifier key:
keyboard_key_f12 = action_none