Page MenuHome

Loop cut and slide with tweak action on right mouse gets cancelled in same mouse click (using left mouse select)
Closed, InvalidPublic

Description

System Information
Operating system: Win10 64 bit
Graphics card: GTX1070

Blender Version
Broken: 2.80, 3dc9da3a74ee), 2.79
Worked: N/A

Short description of error
Loop cut and slide with tweak action on right mouse gets canceled in same mouse click when using left mouse select. So basically I would like to invoke an operator (loop cut and slide) with a right mouse tweak action, then release the mouse button with the operator still running, then confirm with the left mouse button.

The problem is that the operator gets canceled with the same mouse click that invoked it when the right mouse button is released which seems like a bug to me.

With a tweak action it's impossible to confirm at all with the mouse (press tweak action, hold it and move the mouse to make a loop, left click, nothing happens) which seems like another bug. With a press action on the right mouse button the same cancellation behavior is still there but it is possible to confirm the operator with left click. The click action works the best because it's not canceled after letting go of the right mouse button.

While right click is the cancel operator I think it should only cancel when the invoked operator has had its hotkey released once, even if it's a mouse click. For example, try holding the grab hotkey and clicking right mouse with left mouse select. In my opinion this shouldn't happen, the grab key should have to be released once first.

Exact steps for others to reproduce the error
Based on the default startup or an attached .blend file (as simple as possible).
(from startup blend)

  1. Add a cube if there isn't one.
  2. In the keymap, set loop cut to right mouse tweak south.
  3. Set input to left select.
  4. Enter edit mode.
  5. Move mouse down and press right mouse (for tweak action) to invoke loop cut, then release it.

Result: Operator is cancelled when the invoking hotkey is released.
Expected: Operator doesn't cancel and you can move the mouse around with operator still running even after letting go of invoking hotkey once.

  1. Change loop cut to middle mouse tweak south.
  2. Move mouse down and press middle mouse (for tweak action) to invoke loop cut, then release it.

Result: Operator doesn't cancel and you can move the mouse around with operator still running even after letting go of invoking hotkey once.

Details

Type
Bug

Event Timeline

William Reynish (billreynish) closed this task as Invalid.

Tweaking doesn't happen with the right mouse button by default.

If you have set a custom keymap to do this, you'll also have to change all other input around to avoid conflicts and related issues. You can do this in the keymap editor.

As far as I know there are no tweak actions in Blender by default, so yes, it's a custom keymap.

It's not a conflict, it's a bug with tweak actions (well normal mouse actions too) and right mouse since right mouse is also used for cancel. The result is the inability to use modifiers + right mouse or right mouse tweak actions for any modal operators.

It happens because the behavior seems to be:
Right mouse pressed (invoke operator) - Right mouse released (cancel operator)
instead of
Right mouse pressed (invoke operator) - Right mouse released (as operator is invoked with same mouse click, do nothing)

As you say yourself, it *IS* a keymap conflict in your custom keymap with using right-click for tweak and also cancel. You'll have to sort out this conflict in your own keymap.

So right click can only be used for cancel and nothing else? That seems like a waste of a button then.

Also I disabled (with the checkmark) all right mouse actions but right click still canceled operators. Is this behavior hard coded then and not in the keymap at all?

So right click can only be used for cancel and nothing else? That seems like a waste of a button then.

No, I never said that at all. What I said was, that if you create a custom keymap, you'll currently have to address conflicts yourself. In this case there's a conflict between right-click for cancel and right-click for tweak. You'll need to change one of those.

I tested this more and found out that

  1. There is a tweak action by default (grab) on right click and it works.
  2. Actually everything other than loop cut works on right mouse.

So this is actually a bug related to loop cut. I think more specifically the event handling for the modal part.

Maybe there's a better fix but I just commented out the right mouse case, you can no longer cancel the yellow line placing part but it doesn't cancel instantly. You can still cancel the slide part with the right mouse button.