One of the major issues with the tool system, is that switching tools isn't easy enough using the keyboard with the default keymap.
We would like to introduce a way to make the keyboard shortcuts switch tools, without having to click on the toolbar, or opening menus. Here's how we think we can solve it:
We want to leverage muscle memory for shortcuts users already know, such as G, R, S for the transform tools, as well as K for Knife, Alt-S for Move Along Normals, and so on.
To do this, we use the concept of leader keys (also known as chained keys). This makes it so that tapping (but not holding) a modifier will change the following shortcut. In this case we think we will use Alt to switch tools.
In practice, this means users will tap Alt, then G to switch to the Move tool, and so forth.
We want to make it obvious that a leader key has been entered, so that users know that the following key stroke will differ from normal. We do this in a few ways:
Here we can see the leader key, plus the shortcuts:
After the leader key is pressed, we can also display the hotkeys inside the toolbar buttons. This gives a more direct association with the tools in the toolbar and their corresponding shortcut.
- Pressing Alt and releasing (without pressing another key) would prompt for input.
- Pressing any of the mapped keys would activate the tool immediately.
- Pressing any key not mapped - such as painting or using mouse buttons to pan the view - would cancel the prompt and perform the action (preventing unintended leader key press from Blocking other actions). Pressing escape would also cancel.