Dev:Ref/Proposals/UI/Double Key Press

提供: wiki
< Dev:Ref‎ | Proposals‎ | UI
移動先: 案内検索

Double Key Press

Double key press is an interaction method, where similar operators are grouped under the same keyboard shortcut. The shortcut key is used to evoke and toggle between grouped operators and their options. You probably already know it from Blender's rotate/trackball, where you press R once to rotate, press R again to toggle to trackball. The proposal is to push this interaction method further and make it available all around the program.

Currently available double keys

There are already a few places where double keys are used in Blender. Some of the operators are modal and some are non-modal, but they behave in the same way - press a key once, press again to toggle.

  • R - rotate
  • R, R - rotate trackball
  • I - inset
  • I, I - inset individual faces
  • G - move
  • G, G - edge/vertex slide
  • A - toggle select all/none
  • A, A - toggle select all/none
  • numpad 5 - toggle perspective/orthographic
  • numpad 5, numpad5 - toggle perspective/orthographic
  • B - border select
  • B, B - circle select (Blender 2.49)
  • X - constrain along x axis
  • X, X - along local x or user defined x axis
  • X, X, X - disable constraint

Proposed double key combinations

It's not hard to think of a few more places where the double key method could be used.

  • S - scale
  • S, S - shrink/fatten
  • E - extrude
  • E, E - extrude individual faces
  • numpad 3 - right view
  • numpad 3, numpad 3 - left view
  • numpad 1 - front view
  • numpad 1, numpad 1 - back view
  • numpad7 - top view
  • numpad 7, numpad7 - bottom view

Problems

How do we know the above listed ideas will work for everybody? We don't know and simply hard-coding double key combinations will cause problems. Already with the current implementation we run into one as soon as we change the keyboard shortcuts from their defaults. Example: remap the inset tool from I to Q. The new shortcut Q is used to evoke the tool and non-remapable I to toggle between all and individual faces. This way the benefit of double keys is lost.

I personally wouldn't mind having the proposed double key combinations added and having them non-user customizable. This is because I'm mostly using Blender's default keymap. Users with a different keymap configuration get excluded, including the new keymap that's being discussed and developed.

Ideally this would be solved by having all keyboard shortcuts, including modal controls, customizable. However, the scope then quickly grows beyond a quick addition to Blender and requires additional thought and design.

Pro vs Con

PROs

  • Adds to Blender's internal consistency, where a single rule of interaction applies to many places.
  • It's already present in Blender and doesn't seem to be a cause of many (any?) user complaints.
  • Faster access to similar tools and less finger acrobatics with keys and modifier keys.


CONs

  • To truly work across Blender, double keys need to be user-customizable.