There are two ways to add custom keybindings:
- In the "Edit" tab in the main window lower tabs, you can right-click a button and select "Add keybinding". The program will then ask you to press a key combination.
- Not all functions are included in the "Edit" tab though. Another way to add custom keybindings is to edit a text file.
- On Windows, create this file: C\:Users\<Username>\.radium\keybindings.conf
- On macOS, create this file: /Users/<Username>/.radium/keybindings.conf
- On Linux, create this file: /home/<Username>/.radium/keybindings.conf
After changing this file, either restart Radium or select "Reload keyboard configuration" from the Help menu.
Examples (this is all you need to know to get started)
- Change "Left Ctrl + z" to open the "about window":
Z CTRL_L : ra.openAboutWindow
A key binding normally starts with the name of a key (e.g. "Z"), followed by 0 or more qualifiers (e.g. "CTRL_L").
If a key binding lacks a key, it will use the key from the last defined keybinding that had a key. Example:
F12 : ra.showMixerHelpWindow
CTRL_R : ra.showKeybindingHelpWindow
SHIFT_R : ra.showFXHelpWindow
- For more examples, look at the default keybindings.conf file,
and look at protos.conf for a complete list of available functions.
The qualifiers are CTRL_L, CTRL_R, SHIFT_L, SHIFT_R, EXTRA_L, ALT_L, ALT_R, MOUSE_EDITOR, MOUSE_MIXER, MOUSE_SEQUENCER, MOUSE_MIXERSTRIPS, and UP.
Qualifiers are AND-ed together and not OR-ed. For instance, "A CTRL_L SHIFT_L" means that you have to press all the keys "a", "left ctrl", and "left shift" at the same time.
- MOUSE_EDITOR is true if the mouse pointer is placed in the editor. (Same for MOUSE_MIXER, MOUSE_SEQUENCER, and MOUSE_MIXERSTRIPS.)
- UP is true when releasing the key instead of pressing it.
- ALT_L is mapped to the Left Alt key. On a Mac, this key is sometimes called the "option" key.
- ALT_R is mapped to "Alt Gr" on a PC. On a Mac, this key is either marked "Alt" or "option", and is placed on the right side of the space bar.
- EXTRA_L is mapped to the left "windows" key on a PC. On a Mac, the key is mapped to the left "command" or "cmd" key.
- EXTRA_R is mapped to the "menu" key on a PC. On a Mac, it is mapped to the right "command" key. However, in Radium, EXTRA_R is a normal key and can not be used as a qualifier. (MS Windows limitation.)
- Alphanumeric keys: 0, ..., 9, and A, ..., Z.
- Locale-independent alphanumeric keys (QWERTY): QWERTY_0, ...QWERTY_0, and QWERTY_A, ..., QWERTY_Z.
- Name of common non-alphanumeric keys: SPACE, INSERT,
- Keypad: KP_DIV,
- Multimedia keys (not always available):
- Special keys (not always available): CALCULATOR, MAIL, HOMEPAGE.
- MENU key: Placed between SPACE and CTRL_R on a PC (the "Windows Menu" key). Mapped to the right "command" key on an Apple keyboard, but not always available.
- xLx and xRx Keys (QWERTY):
- 1L1: The key 1 step to Left of the key 1. (The key below the Esc)
- OR1: The key 1 step to Right of the key 0 (zero). (I.e. between 0 and Backspace)
- OR2: The key 2 steps to Right of the key 0 (zero). (I.e. between 0 and Backspace)
- OR3: The key 3 steps to Right of the key 0 (zero). (I.e. between 0 and Backspace)
- PR1: The key 1 step to Right of the key P.
- PR2: The key 2 steps to Right of the key P.
- LR1: The key 1 step to Right of the key L.
- LR2: The key 2 steps to Right of the key L.
- LR3: The key 3 steps to Right of the key L.
- ZL1: The key 1 step to Left of the key Z.
- MR1: The key 1 step to Right of the key M.
- MR2: The key 2 steps to Right of the key M.
- MR3: The key 3 steps to Right of the key M.
Bind Scheme code or Python code
If you want to run S7 Scheme code, or Python code, use the functions ra.evalScheme or ra.evalPython:
X CTRL_L : ra.evalPython "ra.openAboutWindow()"
C CTRL_L : ra.evalScheme "(ra:open-about-window)"
Note that any code between the asterisks are executed as Python code when Radium starts up. This makes it posssible to add custom functions and classes in a convenient way:
"*" can also be used to bind Python code directly to a key:
print "hello "+what
ESC: keybinding.hello "world"
To load custom Scheme code during startup, you can call ra.evalScheme inside the asterisks:
print "hello world"