[Bf-funboard] New Keymap ideas

Matjaz Lamut matjaz.lamut at gmail.com
Tue Apr 10 15:15:38 CEST 2012


Hello,

I read on the mailing list about the initiative to re-think Blender's
keymap and like every blenderhead out there, I have ideas to share. Instead
of directly emailing Nathan, I thought I'd join the general discussion, but
outside the commotion of Blenderartists forum. So here it is. The obvious
problem to solve is the current state of the keymap, finger-breaking
acrobatics, interfering with fluid workflow, inconsistencies and more. I've
been thinking of three things to help solve this.

---- Double key. ----
You press a key once to start a tool, and press it again to start a very
similar tool. This is already present in Blender.

R - rotate
R, R - rotate trackball

If you remember 2.49 had something similar for border and circle select.

B - border select
B, B - circle select

Let's see what happens when we use this approach some more, e.g.

E - extrude
E, E - extrude individual faces

I - inset
I, I - inset individual faces

S - scale
S, S - shrink/fatten (similar behaviour as scale)

It's also very similar to what the user does when selecting, deselecting
things. Pressing A once and A, A twice. It's not identical
functionality-wise, but on the keyboard, the finger does the same thing,
presses a key twice to toggle the tool. I believe the double key approach
works rather well, it's fast, it doesn't involve finger acrobatics, groups
tools together and it's a general rule many tools can follow. This then
means a more consistent behaviour inside Blender. Also, I'd limit tool
toggling to 2 pressed max as I favour simplicity


--- Tool constraints ---
Tool constraints, when you press additional keys to limit and guide the
effect of the active tool. It's something already present in blender,
across multiple tools. Here are a few sequences.

G - grab,
X - constrain to x axis,
1, 2 - 12 units

Ctrl + M - mirror
X - across the X axis

But, we could expand this behaviour

G - grab
N - constrain to selection's normal

G - grab
E - constrain to edges (edge/loop slide tool)

G - grab
V - constrain to vertices (vertex slide)

E - extrude
N - constrain to normal

Constraint keys are in my opinion one of the greatest strengths Blender has
as they allow for a very fluid workflow, easy access of options while
keeping the tools robust. In addition it's another behaviour already
present in Blender and is something the users are already familiar with.


--- Radial menus ---
A menu with maximum of 8 entries you evoke to pick an option. Reading about
the confusion when switching modes, TAB, ctrl+TAB, V, "pose mode or edit
mode?" and some modes not even having shortcuts I believe it's best to put
such things in menus. The upside is the entries are all nicely sorted,
there's less confusion when switching modes. The downside is, regular menus
are usually slower than direct shortcuts. To get rid of the slowness I
propose radial menus & sticky keys combo.

Normally:
You press TAB (or Space) to evoke a radial menu, you hover your cursor over
an entry, mouse click to select.

Even faster would be:
Hold TAB key, hover mouse over an entry, release TAB key. Mode switched.

This way it would be possible to pack all sorts of operators into radial
menus, operators that are currently taking up valuable shortcuts. Radial
menus would fit nicely with swithing modes, viewport shading, pivot point,
proportional editing falloff and probably some other. Currently there are
no radial menus in Blender, but there are too many benefits they bring when
organizing the commands, to ignore them.


Aaaaand this is it. Would love to hear your opinion.

Regards,
Matjaž Lamut


More information about the Bf-funboard mailing list