From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Default Keymap Proposal for Blender 2.7x

Introduction

Blender is for Blender Users. One should not copy industry standards if there is no good reason to do so. Blender is for artists. Blender should be as easy as possible for artists to create their work, and some industry standards actually work toward that goal.
The Default Keymap: Revamp task page shows 5 main items that should be addressed for the keymap revamping 
- "Make it easier to learn;
- Rely less on obscure hotkey combinations;
- Prioritize the operators that get hotkeys by default;
- Make selection methods consistent across editors (including Left / Right select);
- Make hotkeys consistent across editors for similar tools."
Also, Brecht has stated that the new default keymap should have less hotkeys than the previous one. I agree it could easily have less, but I don't think it should go all the way down, like Maya, for example. There is no problem having an obscure default hotkey for rarely used actions as long as when someone adds a shortcut that is already in use there is a warning window saying so and asking if one wishes to replace. Obviously, the easier hotkeys should be assigned to the most used actions.
I base this proposal on Nathan Vegdahl's key map proposal.

A basic idea in which I also base my proposal is that Tapping a key is different from holding down a key. Having used Maya for some time now, this is one of the few things that we can take from them that would be very useful. It would resolve, for example, a problem that Nathan states about "Tab" toggling modes (because there are more than 2 modes) without changing the current keymap:

- tapping "Tab" would do what it already does (toggle between Edit Mode and another mode);
- and holding down "Tab" would bring up a menu (or a piemenu) with all the modes.
It works great, and it would resolve a lot of problems! Maya users can testify.


WHEN TO USE "TAP" AND WHEN TO USE "HOLD DOWN"?

HOLDING - Menus and actions that aren't instant (e.g. Grease Pencil drawing)
TAPPING - instant actions and toggling

The Proposal

After each shortcut proposal there is a brief explanation of why that specific key was chosen for that specific action.

SELECTION

General

  Individual Selection = LMB click

Although Blender has always had RMB select as default, and for VERY good reasons, I agree that it is important to join the standard. Why? Blender is for Blender users, but Blender users are hardly ever only Blender users. They use other programs, where selecting is done with the LMB. Although one does get used to RMB select, when tired, sometimes one finds oneself trying to select with the RMB in other programs and vice-versa.

Currently, in Blender, one can use "alt" + RMBclick to select an object that is behind the object one sees. That would have to be also the case with selecting bones in Weight Paint Mode (with the LMB instead, though).
  Box select = LMB press&drag

Many programs, like Maya, Sketchup and Unity3D, use box select just by clicking and dragging in the 3D space. Simple! There is nothing, currently, for clicking and dragging, and it is so intuitive. Why press an extra button to box select? also, it leaves "B" open for some other action, like bevel.

When I first started using Blender, I had been using Maya before that, and I could not figure out how to box select in Blender! I had to search online to find the answer, and I still shake my head in bewilderment every time I press B to box select. - esalberg

  Circle select = hold down C (when released it ceases to be in circle select "mode") 

"C" is the first letter of the word "circle". Very easy to memorize. Also, it is already the hotkey for circle select. No need to change it. However it would make more sense if it worked like the grease pencil hotkey "D", where it is only on if the key is down. As soon as it comes up it isn't in circle select anymore. It makes it coherent. Also, Deselect should be with RMB and not MMB.

  Select linked (Connected) = tap C

Currently the hotkey for "Select Linked" is "l", but "l" would be fast and easy to use for the "Loop Cut Tool". Having "C" work for "Circle Select" only on holding down the key, it makes sense to use something on tapping "C", and Connected (linked) would make sense, since it is also a selection tool.

  Toggle Select/Deselect All = tap A

"A" is the first letter of the word "All", so it is easy to memorize. It is currently the key used for this action. Blender is for Blender users, so to change it there would have to be a very good reason.

Edit Mode

  Edge loop select = Double-click LMB

There are currently no actions for Double-click, and it is very fast and intuitive for this specific action. Why not use it? Having used Maya, although I prefer Blender's overall interface, I have to give it to them that some things actually work better and more intuitively.

  Ring select = Alt + Double-click LMB

Having Edge loop select use only double-click, there is no point in having ring select have "Ctrl+Alt+Click". Only "alt+Click" is easier. The reason I wrote "double-click" and not only "click" is so it is coherent with Edge loop select. But doesn't need to be.

  Vertex (or Edge) Connect = click first vertex + double-click second vertex

This works well, and there is currently no shortcut for this very useful action (for marking seams, for example)

NAVIGATION

General

  Rotate, Pan and Zoom Views = Keep the same OR Copy the standard (Maya, 3DSMax, Unity,...)
Personally, I think keeping the same works fine and it would probably be best. Some people seem to be worried about using the MMB for navigation, since it is hard to use if you don't have a mouse. However, making navigation rely on only the LMB would interfere with making the program more user-friendly. For example, using only "LMB+drag" would probably interfere with painting and sculpt tools, for one often clicks and drags to paint and sculpt. If Click-drag is Box select it does not interfere, for there is no box select in paint or sculpt modes.
Blender is for Blender users and for artists. So we either make Blender users happy by keeping it the same, or we make artists in general happy, by making it work the same as most 3D programs.
  Front, Side, Top, Local, view selected, etc = Keep the same with some exceptions
Example of an Exception:
  view selected = Numpad "." AND Keyboard "."
Most things work well the way they are. There is the problem that some laptops don't have a NumPad. That makes it hard to do things like "view selected". Maybe there should be a more universal key for "view selected" other than the "numpad .", like the "non-numpad .". The "non-numpad ." key is currently used for pivot changing to 3D cursor. And the "," key is used for pivot changing to "bounding box center". To me this is a waste of hotkeys. One would be enough - tapping "," (comma) would toggle between the two and holding it down would give us a menu (or piemenu) with all the options.

TRANSFORM

General

  Grab, Rotate and Scale = G, R and S (everything can remain the same in this field)

Everything works well. No good reason to change. However, note that most programs use W, E, and R for Grab, Rotate, and Scale. In this case though Blender does it better, using hotkeys that actually signify what they do.

  Toggle Manipulator Widget on/off = tap "w"
  Menu (or pie menu) with Manipulator types = hold "w"

Currently, "W" is used for the specials menu. But it makes sense to use it for widget changing since it is the first letter of "widget". "W" for "specials menu" is not easy to memorize. I would use "O" for "Specials Menu" and call it "Special Options". Currently, "O" is used for proportional editing. I would use "P" for proportional editing. "P" is currently used for Game Engine Play in Object mode and for "Separate" in Edit Mode. To Play with the Game Engine I would use F12, like the render engines. And to "separate" some other hotkey (it is preferable that it is the same as joining objects in Object Mode).

  Toggle "pivot on 3D cursor"/ "pivot on median point" = tap ","
  Menu (or pie menu)  with all pivot position options = hold ","

"," is already used, currently, for actions related to the pivot position. Besides that, I don't think it would be too hard to memorize.

EDITING

General

  Menu Add Object = hold Space bar
  Search = tap Space bar

"Shift+a" is awkward for such a used task like adding an object. Space bar works well, as it used to be in Blender 2.4x. However Space bar is also good for searching. In Maya, holding down Space bar brings up the menu, and tapping it gives us 4 views. It works well, but it does 2 things that aren't related. Why not keep the current functionality in Blender for tapping the Space bar, and add the holding Space bar functionality for adding an object. Don't know if it sounds confusing, but it's not.

Objection by esalberg: Holding down the spacebar will take longer to create new objects than pressing Shift+A. Shift+A is a strange hotkey, and should be changed, but holding down keys is for less important and less used functionalities of Blender.

  Menu (or pie menu) with all modes to choose from = hold Tab
  Toggle Edit Mode/ non-Edit Mode = tap Tab

Currently tapping Tab toggles between Edit Mode and non-Edit Mode. This proposal would only add a function to holding Tab, which would give us all Modes to choose from.

  Menu Specials Options (vertex, edge, face and specials menus hybrid) = hold "o"
  Repeat last Option used (if any) = tap "o"

Special Options is kind of a substitute for the Specials Menu. "W" has nothing to do with "Special". "o", however, is the first letter of "Options". Also, I would propose a better thought out menu, but that's another topic.

  Menu (or pie menu) Proportional Editing options =  hold "p"
  Toggle Proportional Editing On/Off =  tap "p"

Proportional Editing starts with the letter "p". Currently "p" in object mode is to run the game engine. Why not have "F12" to render or run the game engine depending on the engine that is being used? That would free "p" in object mode. In Edit Mode "p" is "Separate". It would make sense that "Separate" in Edit Mode and "Join Objects" in Object Mode would have the same hotkey, since they do the inverse of each other. They could both adopt "Ctrl+j" (Join's current hotkey), or something else, and it would free "p" for proportional editing.

  Menu (or pie menu) Hide options (hide; hide inverse; show hidden) =  hold "h"
  Hide = tap "h"

Tapping "h" is currently used for Hiding, and there is no good reason I can see to change this. Holding down the "h" key, to be coherent with the rest of the proposal, would bring up a menu with hiding options. That would free up "shift+h" and "alt+h" from "hide inverse" and "show hidden".

  Duplicate = Shift+"d"

One could use "tapping d" for Duplicate, since only "holding down d" is in use (for drawing with Grease Pencil). However, it would be a nuisance to accidentally duplicate without noticing. For this reason, keeping "Shift+d" is a good option. It's the current shortcut in Blender, and it doesn't strain one's hand to press this combination.

  Menu Snapping = Shift+"s"

It is how it works currently, and it is easy to press without straining.

Object Mode

  Move to layer = hold "m"

It is currently the hotkey for this action. For coherency reasons in this proposal, it is better that it is "hold m" and not "tap m" ("hold" is for menus and tapping is for quick actions)

Edit Mode

  Menu (or pie menu) Mesh Select Modes (Vertex, Edge, Face) = hold "q" or hold RMB
  Jump from one Mesh Select Mode to another = tap "q"

In a QWERTY keyboard, "q" is right beside "Tab" and it makes sense that Mesh select modes is beside Mode switching. However, some keyboards aren't QWERTY, so "q" might not make sense for lots of people. This is a tricky one. Maybe it could just remain "Shift+Tab"...

  Menu Extrude options (Individual, Region,...) = hold "e"
  Region Extrude = tap "e"

Tapping "e" is already used for extrude region. Holding down "e" would add the possibility of doing individual extrude, for example, because a menu with more extrude options would appear.

  Loop cut = "l"

Currently, Loop Cut is done with "Ctrl+R". Such a used tool should not have such an awkward shortcut. "L" is the first letter of "loop". Makes sense to use it.

  Bevel = "b"

Having "box select" use only LMB click&drag, "b" is free for a tool like bevel. No need to press "Ctrl+b", when you can press only "b".

  Menu (or pie menu) Merge options (at center, at last, at first, etc...) = hold "m"
  Merge vertices at *repeat last merge option* = tap "m"

Currently, "Alt+m" is used for merging. It would be faster to have it be "m", since it has no function in Edit Mode. Tapping "m" would merge without asking questions (it would repeat last merge option, and if there was none it would merge at center). Holding down "m" would bring up the menu that currently appears when one presses "Alt+m".

  Menu with fill types (face, edge, beauty fill, bridge, vertex connect,...) = hold "f"
  Make face or edge = tap "f"

Making faces or edges is currently done by pressing "f". It would be good to have a menu with other types of "fillings". We could activate the menu by holding down "f".

  Menu (or pie menu) inset options = hold "i"
  Inset region = tap "i"

What is said about extrude can apply here. It doesn't mean tapping "i" can't continue to toggle between inset region and inset individual, but to be coherent it would be good to have this also as a menu that is activated by holding down "i".

  knife tool = tap "k"

For this specific tool it might be better to have the action be activated by a tap, rather than by holding the key, because one might want to use snap and other commands and it would strain one's hand to press all the buttons.

  Menu (or pie menu) UV mapping = hold "u" (it should include Mark and Clear Seams)

Currently, "u" is already used for UV Unwrapping. Because Seams have to do with Uv Unwrapping, maybe the menu should include marking and clearing of seams. Also, for coherency reasons, one would hold down "u" rather than tapping "u" (although in this case it wouldn' make much of a difference, because there is no option for tapping "u").

OTHER HOTKEYS

  Position 3D cursor = Ctrl+LMB click

The 3D cursor shouldn't be changed from its place by mistake as often as it is. We change it because we accidentally press the LMB and it changes place. If we have to press control to change it from its place it makes it easier to control where it is at all times.

  Personal Menu = hold RMB 

There is nothing for the RMB. On holding down RMB, a menu created by the user (like Maya's Shelf) would appear. The user could fill this menu with the options he most uses.

  Render or Play game (depending on the engine selected) = F12

Why have different buttons for rendering and playing the game. The same button could do one or the other depending on the Engine that is currently active. If the game Engine is active then F12 would be "play Game". If a Rendering Engine was active then F12 would be "render image".

  Menu (or pie menu) with all shading option = hold "z"
  Toggle wireframe/non-wireframe = tap "z"

Tapping "z" is already used for toggling wireframe/solid shading. This would add the "holding down" functionality so that we can have more options.

  Menu with all keyframe Options (Loc, Rot, Scale, LocRot,...) = hold "i"
  Insert LocRotScale keyframe = tap "i"

Currently, when we tap "i", a menu appears asking us in which channels we want to add a keyframe. In this proposal, "i" would automatically add a keyframe in all channels. If, however, we wanted to add the keyframe only to a few channels, then we could hold down "i" and the menu would appear from which we could choose.

  Grease Pencil (Draw) = hold "d"

"d" is the first letter of "draw", and that is what we do with the grease pencil. Makes sense to keep it as it is.

  Play/Pause animation = Enter

I've tried using "Enter" for play/pause in Blender, and it works fine.Also, it is a big button, so it isn't awkward to press. I got this habit from Adobe Flash, that also uses "Enter" for play/pause.

OTHER NOTES

1. Currently there is a Tris to Quads (Alt+J) and a Quad to Tris (Ctrl+T). Why not have only one combination toggle between them both? Even if in this keymap you wish not to give this operation a hotkey combination, then, at least, make it so that when one adds a shortcut to one of these it automatically adds it to the other one.

Other examples - Join meshes and Separate should have the same hotkey. Why not? (Ctrl+J)

2. Commands that would be a nuisance to press by mistake should not have 1 button hotkeys

REFERENCES

- Current Blender Keymap
- Current Maya Keymap
- Own Ideas
- Ideas by Andrew Price, Brecht Van Lommel, Jonathan Williamson and Nathan Vegdahl.
- Current Adobe Flash Keymap