Did you know that it's possible to control HeavyM by other means than your mouse or trackpad? Because let's face it, while those are extremely useful to draw and adjust parameters while you're sitting at your desk, having to scroll for a tiny effect switch while performing live is not the most fun. That's why you can make your life easier with external controls, and use a keyboard for example.
Default Keyboard shortcuts
To make your workflow smoother and reduce the number of clicks you have to perform to access some features, we have already implemented some keyboard shortcuts in the software. The updated list of key combinations for the version you are using is accessible directly in the software from Controls → Keyboard Shortcuts List... or with the shortcut [CTRL/Cmd + /].
In addition to these default shortcuts, you can also set your own keyboard commands for HeavyM. To do so, you have to make the elements in the app interface "learn" which key they should react to.
Enabling Keyboard Learning
To assign keys, you first need to enable the keyboard Learning interface. Activate it from Controls → Edit MIDI Assignments, or head over to the Keyboard tab of the Controls Settings window (from Controls → Settings... or in the toolbar) and click on the "Keyboard Learning mode" button.
You'll then see a colored overlay on many interface elements in HeavyM.
You can set a custom key for every button or slider that has an overlay: simply click on it (it will be circled in yellow) and hit the desired key on your keyboard. This will associate the key and interface element together and you'll see it appear in the list in the Controls window.
Note: you can assign the same key to multiple commands at the same time. For example, one single key can be linked to multiple effect toggles, so that when you hit it later, all these effects turn on at once!
Unlike the default shortcuts, your custom assignments cannot be key combinations, they have to be single keys. Special keys and symbols have been blocked (for instance CTRL/Cmd, Tab, Enter, etc), if you try to assign one of these it will not be taken into account.
Once you're done, you can simply toggle the edition mode off from the same button/menu or with [Esc]. Now if you press one of the custom keys, it will trigger the associated command(s) in the software!
Note: if you press [CTRL/Cmd], [Alt] or [Shift] at the same time as an assignment, the custom shortcut will not be triggered, to prevent conflict with most default shortcuts. For instance, if you use [CTRL/Cmd + Z] and [Z] is also assigned to Seq 1 / Play, the combination will only trigger the default "Undo" command associated with [CTRL/Cmd + Z].
If you want to change an assignment afterwards, just toggle the Learning mode on again, click on the targeted control again and hit a new key.
There are 3 possibilities to delete assignments:
- When the Learning mode is ON, select an overlay and hit [Delete/Backspace]. This will remove the selected assignment.
- Right-click on a single assignment in the table in the Controls window and click on the "Delete assignment" option. This will remove the selected assignment.
- Use the "Delete all assignments" button above the table in the Controls window. This will remove all keyboard assignments in the project.
The Keyboard assignments you set are directly saved in your .hm project file.
Each assignement you configure has a set of settings, as you can see in the assignments table of the Controls window.
For Keyboard assignments, you can edit:
- The Toggle behavior: if checked, your keyboard key will work as a "toggle" button, if not, it will work as a "push" button on this assignment. Here is an example for the two states, for instance with a key assigned to a slider in HeavyM:
- Toggle is checked: if you press & release the key, it will set the slider to the max value. If you press & release it again, it will set it to the min value. And so on.
- Toggle is unchecked: if you press the key, it will set the slider to the max value. When you release it, it will set it to the min value.
- The Range: this setting appears on sliders or spinboxes for instance. By setting a Min and a Max, you can override the range of the interface element in HeavyM. For example if you set the range to 1 - 15 for the Thickness of the Border effect, when you move the fader you have assigned to it the values will only vary between 1 and 15 no matter how hard you move your fader!