Page MenuHome

Left Click Select tweaks and fixes
Open, NormalPublic

Tokens
"Like" token, awarded by yrrnn."Love" token, awarded by 0o00o0oo."Like" token, awarded by KartoonHead."Like" token, awarded by zaha."Like" token, awarded by ike."Love" token, awarded by NNois."Like" token, awarded by fiendish55."Like" token, awarded by johnsyed."Love" token, awarded by fabioroldan."Like" token, awarded by xrg."Like" token, awarded by michaelknubben."Like" token, awarded by vinc3r."Like" token, awarded by rawalanche.
Assigned To
None
Authored By

Description

Recently, an initial version of the updated approach to the left click keymap was added to Blender 2.8.

This makes it possible to use the active tools, as well as selection, both with the left mouse button. However, there are a few issues still with how it works. Here's a list of things we should improve:

General

  •  In all Editors, it should be possible to deselect by clicking in an empty area. Currently only in the 3D viewport.
  •  It should be possible to click over a Gizmo to select items underneath it, as long as you don't drag.
  •  As a general rule, Ctrl-click should deselect (just as shift-clicking adds to your selection)
  •  We can support a way to do 'tweak' actions (select and move at once) via a new Select (and tweak) tool, that does not use border select.
  • Tweak threshold does not take into account DPI, which may lead to too many accidental tweak events.

Node Editor

  •  Holding Shift to select more does not work in the Node Editor (There's a conflict with Add Re-route, which we need to remove or remap) (see D4055)
  •  In the Node Editor, it should be possible to move more than just one node by dragging, if more are selected
  •  In the Node Editor, We should remap the cut connections shortcut to Ctrl-RMB, to avoid conflicting with Ctrl-LMB used in the Box Select tool (see D4055)
  •  In the Node Editor, there's a conflict between the Box Select tool and dragging the node sockets. Box select should only invoke if outside the node socket threshold.

3D View

  •  When using gizmos, it's impossible to select items that are underneath the the gizmo handles. We can solve this by differentiating between a click and a drag, just like we do outside the gizmos.
  •  In 3D View, we should make Shift+doubleclick toggle loops, rather than always extend (consistent with alt-click behaviour, and makes it possible to deselect loops too)
  •  (Fixed) In 3D View, when using the selection tools, if you drag a box selection in an empty area, it should deselect (already works in Edit Mode, but for some reason not in Object Mode.
  • When LMB select & and MMB emulation are enabled, de-selecting edge loops isn't possible T59292
  • Transform's drag option 'None' doesn't work with LMB select T58655

Animation Editors

  •  We should use RMB for the contextual menus here too, to be consistent with the rest of Blender.
  •  In the Graph Editor, dragging on a handle should move the handle, rather than start a box selection.
  •  In the animation editors, clicking in an empty area should both deselect and set the playhead to that position.
  •  In the animation editors, Shift-RMB should scrub the playhead anywhere
  • 3D Cursor transform should be possible with Shift+RMB (for easy snapping).
  •  In the animation editors, we should make this change, so that dragging in the groove at the top moves the playhead, while the scrollbar at the bottom scrolls. This is needed to make left click both perform selections, and have a way to scrub the playhead too:

Outliner

  •   Box Select by dragging from the left gutter. We can use this empty area to our advantage, so that users can always start a box selection by dragging from here and around items.

  •   Select all items in-between when holding shift / select individual items by holding Ctrl.

When holding shift to select multiple items, we can select all the items in between.

Details

Type
To Do

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

re:

  • It should be possible to click over a Gizmo to select items underneath it, as long as you don't drag.

This has some implications:

  • Selection will have to happen on click, if only for the cases gizmo's overlay a selection. This may be annoying or seem glitchy if its only happening *sometimes*.
  • Either we limit gizmos never to respond of press/click events (making them less useful) or add a flag for gizmos not to respond to press events, only dragging.

Hmm, yes, I see. This was reported by users who want to keep the gizmo on, but also still be able to select things reliably, without the gizmo getting in the way and stealing the input while using LMB select.

Seems like a fairly basic thing, and is supported in some other apps (eg 3Ds Max)

Some apps solve this by having a fast way to hide gizmos (Maya)

Other apps don’t allow selection while using a tool at all (Modo)

Not sure which solution best.

Thinking more, making the gizmos respond only to dragging is more consistent with the general tools paradigm - the same applies to dragging in the viewport. But, if the gizmos feel sluggish it’s also not nice.

Making gizmos respond to dragging may be OK in general way but I don't think it's something we should enforce in all cases.

Enforcing dragging means for eg, you wont be able to click and make small changes to the cameras lens.

Depending on how its implemented it could break the view-axis click action where dragging orbits the view and click sets the view axis.

I've just tested 3ds Max, and it happens exactly as Campbell had described. If cursor is both over a gizmo handle and selectable item, then on click (mouse press and release) without cursor being moved, item is selected. When the mouse cursor is just on a selectable item, without gizmo on top, then the selection already happens on button down, not after the release.

I've been using 3ds Max for over 8 years and never noticed anything odd about this behavior. So any concerns about it appearing glitchy are probably not very relevant.

In general, it's crucial that there is very easy and straightforward way to very quickly and comfortably switch between selection tool and transform tools. Selection tool can currently be accessed conveniently using W key, but unfortunately, transform tools shortcuts are hidden behind weird spacebar+letter key combos which are a bit counter intuitive, making switching between transform tools and selection tool feel less accessible. If switching between selection and transforming is so easy it's effortless, then people are not going to be very concerned about switching back and forth in rare cases where this issue appears.

Regarding enforcing dragging. All the transform tool gizmos do absolutely nothing on click only. The only way to interact with them is to actually click and drag. If the issue is something as miniscule as adjusting camera lens using gizmo (which I can guarantee you almost no one will ever do), then simply apply this new behavior only to the tools in edit mode.

Other apps don’t allow selection while using a tool at all (Modo)

This function is a toggle in Modo.

Enforcing dragging means for eg, you wont be able to click and make small changes to the cameras lens.

This could be a good thing? Fewer possibilities for input error then.

If cursor is both over a gizmo handle and selectable item, then on click (mouse press and release) without cursor being moved, item is selected. When the mouse cursor is just on a selectable item, without gizmo on top, then the selection already happens on button down, not after the release.

That seems like a solution that would work. There are a lot of ifs and buts making it perhaps a bit complicated to implement, but it would make things more consistent and reliable for the user: Click to select, drag to use tool.

Hello,

What about Pose Mode + Weight Painting on mesh?
With Left Click Select, LMB is always painting, without any action on bones

It's Ctrl+LMB to select bones.

Uncertain if this is related to this change, but it feels harder to connect nodes now than before. I often activate box select by accident because the node connection hitbox is so small.

@Petter Lundh (plundh) Yes that is a problem. When I test it, it just seems random if it starts a node connection or a box selection. The two are fighting and a random one wins. Instead, box select should only fire if outside the hitbox margin defined by the socket connection.

Drag action in tools should include box, circle and lasso selection. A bug is that none moves the object. And also this type of selection configuration must be shared by all the tools.

@Fabio Roldan (fabioroldan) Yes, indeed, the Drag Action = None behaviour is a bug, basically. Drag Action options could be added to other tools as well, yes.

In Blender 2.8 Beta: When saving a customized keybinding (adding a preset) the "Preferences" box where you can choose left/right click and spacebar Action disappears, I believe this is a bug?

@Thales Davidsen (Thales), it's intentional, these only work for the builtin keymap. For custom presets it's not possible to make automatic changes to the keymap in a reliable way.

@Thales Davidsen (Thales) That's not a bug, no. The keymap preferences are only for the built-in keymap. It's some code in the keymap Python file.

I guess custom keymaps can add this too manually by adding the required logic.

@Brecht Van Lommel (brecht) , ok thats a pitty, but I if its a technical limitation I understand at least Blender have the option to choose left/right moste software do not have this choose anyway. Does this also apply to the Spacebar Action? I have found mysealf changing the keybinding and then later on forgot to change the spacebar action from "Play" to "search". Is their any way I can go back and change the spacebar Action after I have saved the new keybinding preset?

@Thales Davidsen (Thales) You can simply go to Preferences > Input to set this however you want. But this is not really relevant to the topic of improving left click selection.

@Brecht Van Lommel (brecht): Here's a patch to fix three issues in the Node Editor: D4055

  • Shift-click to select multiple nodes
  • Re-route mapped to shift-RMB
  • Cut Connections mapped to Ctrl-RMB to fix conflict with Box Select.

Another thing to discuss related to the keymap, is that some users would like to be able to do box select while the transform gizmos are visible. I see two ways to do this:

  1. Add Box Select to the Drag Action dropdown inside the transform tools
  2. Add some new way to make transform gizmos visible while other tools are active

I strongly prefer solution #1. It fits neatly within the current paradigm and causes no conflicts. Solution #2 can potentially cause lots of confusion and conflicts, because what if you then have the transform gizmos enabled while enabling the Shear tool, for example. You get two gizmos on top of each other.

Also, from a user POV, the mental model is that the gizmo is part of the tool. Seeing the Move tool gizmo when the Move tool is not active will just create all sorts of confusion.

We already have the concept of Drag Action (some apps call this setting 'Haul') so all that is needed is to add selection there.

This is much more like what other DCC apps do. In short, if we are going to add this capability, #1 is how I think we should do it.

some users would like to be able to do box select while the transform gizmos are visible.

Yes. This is truly needed indeed, and I'd go with option #1 too.
But please consider adding to the Drag Action dropdown the Lasso and Circle select as well, so we don't get limited to just Box select. Like:

There are situations where the Lasso or the Circle are more handy than the Box select, so it would be great to have access to those as well.

Yes, for sure, those could be in there too.

Another thing to discuss related to the keymap, is that some users would like to be able to do box select while the transform gizmos are visible. I see two ways to do this:

Yeah, many users are waiting for this ability.
And yes, solution #1 seems to be the best.

KiJeon (0o00o0oo) added a comment.EditedFri, Feb 1, 11:39 AM

Thanks for tackling the issue of not being able to box select while in transform mode, very welcome development!
Tried to replicate this myself by doing different things to the keymap before but I kept running into different problems, so quickly gave up. Glad to see it will officially be remedied.

Out of the two options, I think #2 is ideal, but #1 would be the quick(er) fix.

It's fine for hotkey users who enable tools via hotkey, but it's a little weird selecting a tool and seeing the manipulator going away.
For instance, the expected behavior for people coming from other programs might be like how Maya does extrusions: https://youtu.be/3mvIl3nyz7Q?t=31

If I extrude, being able to also quickly adjust transformation of that extrusion without having to switch tools is a much more fluid workflow.

Also, customized manipulator per tool giving quick access to useful tool options in the viewport would be fantastic. For tools where transform manipulator would actually hinder (though I frankly can't think of one), it could be hidden when it makes sense. But even with Shear, for me, it's welcome to have the transform manipulator.

Another approach
Or maybe another approach to explore is if the user can [Shift]+select/enable multiple tools? It would basically allow for one tool per category.
For instance, Shift selecting Transform, Extrude, and Box Select. If user selects the Knife tool, Extrude would be toggled off, but Transform and Box Select are still enabled.

One more thought would be that PS And Affinity use shift+shortcut to do the toggle. E.g w to change to select tool. Shift+w toggles select mode?

@William Reynish (billreynish) Could it be possible to place the 3D cursor at the world axis when Shift+RMB clicking an empty area? Effectively creating a context-sensitive way to reset the cursor orientation. I think that this could be implemented by creating a secondary orientation method using empty selection.

Another thing to discuss related to the keymap, is that some users would like to be able to do box select while the transform gizmos are visible. I see two ways to do this:

  1. Add Box Select to the Drag Action dropdown inside the transform tools
  2. Add some new way to make transform gizmos visible while other tools are active

    I strongly prefer solution #1. It fits neatly within the current paradigm and causes no conflicts. Solution #2 can potentially cause lots of confusion and conflicts, because what if you then have the transform gizmos enabled while enabling the Shear tool, for example. You get two gizmos on top of each other.

    Also, from a user POV, the mental model is that the gizmo is part of the tool. Seeing the Move tool gizmo when the Move tool is not active will just create all sorts of confusion.

    We already have the concept of Drag Action (some apps call this setting 'Haul') so all that is needed is to add selection there.

    This is much more like what other DCC apps do. In short, if we are going to add this capability, #1 is how I think we should do it.

Maybe this deserves a new separate task, don't you think?
I mean, this is truly needed.

Ne Dudgi (nedudgi) added a comment.EditedFri, Feb 15, 8:09 PM

Hey, thanks for addressing this. Here's my recommendation.

Another thing to discuss related to the keymap, is that some users would like to be able to do box select while the transform gizmos are visible.

I think dragging on a blank area action should not be limited to Box select. The blank area drag action should use whatever selection method is active on the left-side toolbar. So if I choose lasso select mode, then activate the move gizmo, then start dragging on a blank area, I would expect a lasso selection to start. Here it is in action in 3ds Max.

I was able to tweak the current keymap in Blender to achive this functionality to some degree. See here, (first the original functionality, then my tweak):

The problem is that I can only specify one selection mode in the keymap editor (either box, lasso, circle). It would be ideal to have for example a 'view3d.select_modal' operator that uses whatever selection mode is active on the left-side toolbar.

  1. Add Box Select to the Drag Action dropdown inside the transform tools

If such an operator were available, I think most of the problems would go away, and you wouldn't need an extra dropdown on the status bar, because the active selection method is already indicated on the left-side toolbar (see image, sorry for the serial-killery lettering :) )

If I as a user took the time to pick a selection method on the toolbar, I don't want to have to specify it at yet another place on the GUI, especially if I can cycle through the selection methods with a shortcut (also worth a recommendation, but that's another story :) ).

I have another thinks, like maya user, I love possibilities with move, scale and rotate gizmos, when I tweak on empty area and have access to grave scale etc. on maya that’s works by tweaking on empty area with middle button, but tweaking with lmb works like box, lasso etc. selection. With shift you extend selection and with Ctrl you deselect. Can create some gifs if you need that.

I use maya viewports navigation now so I have mmb free for me. But if it will be possible to tweak with some hotkey and access to gizmos middle round functionality on blank area it will be awesome for new blender users.

@ThinkingPolygons (ThinkingPolygons)

This is actually very easily achieved with some minor keymap tweaks.

Selection (box, laso) from the empty space.
Move, scale and rotate only when you click and drag on the object. It should be optional at least.
In Maya you can choose the type of interaction as blender with the middle button.