This task is to check if it is reasonable to remove the emulate middle mouse option.
Blender 2.7x didn't allow left-click-select and emulate middle mouse to be enabled at once, this never worked - it's just that in 2.8x we allow both options to be enabled at once with key-conflicts.
Since I don't use a touch-pad on macOS / ms-windows, I'm not sure how common it is that middle-click gestures are enabled without having to manually configure it.
Are there systems where using a middle-click still isn't practical?
Options could be:
- Remove this preference.
- Remove this preference when Left Click Select is enabled //(matching 2.7x)//
- Remove the keys that use Alt-LMB //(means re-working the keymap in some places)//.
- Use an alternative shortcut that doesn't conflict //(Not sure there are any good options for this)//.
- Implement this ourselves my pressing left/right mouse buttons at once //(only works for physical mouse buttons, incurs a delay in handling mouse-button press events)//.
Unless this is given some attention it's likely Alt-LMB will be used more, to the point Emulate-Middle-Mouse isn't useful.
----
There are currently conflicts using with emulate middle mouse
- Viewport, Alt-MMB-drag to change views.
- Grease Pencil, Circle Primitive
- Weight Paint Gradient
- Loop select //(Worked around with double-click, but not very convenient since selecting boundaries requires quad-click).//
Here is a full list of potential conflicts in the default keymap.
Are we serious about resolving these or would it be better to drop this option?
----
From a search of the code, using [[ https://github.com/ideasman42/nirw-search | nirw-search ]]:
`prep -M --no-index --no-prompt "\"type\": ('LEFTMOUSE'|params.select_mouse|params.action_tweak|params.action_mouse)" "alt\": True"`
```
("uv.select_loop", {"type": params.select_mouse, "value": params.select_mouse_value, "alt": True},
("uv.select_loop", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "alt": True},
("uv.select_loop", {"type": params.select_mouse, "value": 'DOUBLE_CLICK', "alt": True},
("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
("graph.clickselect", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
("graph.clickselect", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "alt": True},
("graph.clickselect", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True, "alt": True},
("graph.clickselect", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True, "alt": True},
("node.backimage_sample", {"type": params.action_mouse, "value": 'PRESS', "alt": True}, None),
("node.move_detach_links_release", {"type": params.action_tweak, "value": 'ANY', "alt": True}, None),
("action.clickselect", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
("action.clickselect", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "alt": True},
("action.clickselect", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True, "alt": True},
("action.clickselect", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True, "alt": True},
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "alt": True},
("clip.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
("clip.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
("gpencil.annotate", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True, "key_modifier": 'D'},
("gpencil.annotate", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "alt": True, "key_modifier": 'D'},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
("gpencil.select", {"type": params.select_mouse, "value": params.select_mouse_value, "alt": True},
("gpencil.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "alt": True},
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("paint.weight_gradient", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("paint.weight_gradient", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True, "alt": True},
("mesh.loop_select", {"type": params.select_mouse, "value": params.select_mouse_value, "alt": True},
("mesh.loop_select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "alt": True},
("mesh.edgering_select", {"type": params.select_mouse, "value": params.select_mouse_value, "ctrl": True, "alt": True},
("mesh.edgering_select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "ctrl": True, "alt": True},
("mesh.loop_select", {"type": params.select_mouse, "value": 'DOUBLE_CLICK', "alt": True},
("gpencil.primitive", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.primitive", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.primitive", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.primitive", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
```