Custom keybindings
By editing a text file, you can add custom keybindings.
- 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.
Qualifier names
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.)
Key names
- 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,
HOME,
PAGE_UP,
DEL,
END,
PAGE_DOWN,
DOWNARROW,
UPARROW,
RIGHTARROW,
LEFTARROW,
RETURN,
TAB,
BACKSPACE,
ESC,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F20.
- Keypad: KP_DIV,
KP_MUL,
KP_SUB,
KP_ADD,
KP_0,
KP_DOT,
KP_ENTER,
KP_1,
KP_2,
KP_3,
KP_4,
KP_5,
KP_6,
KP_7,
KP_8,
KP_9,
- Multimedia keys (not always available):
VOLUME_DOWN,
VOLUME_UP,
MUTE,
PLAY,
STOP.
- 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:
*
def hello(what):
print "hello "+what
*
ESC: keybinding.hello "world"
"*" can also be used to bind Python code directly to a key:
ESC: *
print "hello world"
*
To load custom Scheme code during startup, you can call ra.evalScheme inside the asterisks:
*
ra.evalScheme('(load "C:\Users\Username\.radium\mystuff.scm")')
*