"Select With" input mode does not correctly propagate through entire user interface #51335

Closed
opened 2017-04-27 14:47:13 +02:00 by Ludvik Koutny · 8 comments
Contributor

System Information
Operating system and graphics card

Blender Version
Broken: 2.78c

Short description of error
"Select With" input mode does not correctly propagate through entire user interface. For example scrubbing through the timeline still requires RMB press even if Left click is selected in Select With toggle. This makes timeline appear non-functional to new, unsuspecting users expecting some degree of common sense.

Exact steps for others to reproduce the error
1, In user preferences, switch "Select With" input mode to "Left".
2, Click and hold down LMB on timeline to scrub.
3, Notice it is not working.

**System Information** Operating system and graphics card **Blender Version** Broken: 2.78c **Short description of error** "Select With" input mode does not correctly propagate through entire user interface. For example scrubbing through the timeline still requires RMB press even if Left click is selected in Select With toggle. This makes timeline appear non-functional to new, unsuspecting users expecting some degree of common sense. **Exact steps for others to reproduce the error** 1, In user preferences, switch "Select With" input mode to "Left". 2, Click and hold down LMB on timeline to scrub. 3, Notice it is not working.
Author
Contributor

Changed status to: 'Open'

Changed status to: 'Open'
Author
Contributor

Added subscriber: @Rawalanche

Added subscriber: @Rawalanche

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brecht Van Lommel self-assigned this 2017-04-30 02:49:38 +02:00

Scrubbing is not selection. With "Left" marker selection happens with LMB and scrubbing with RMB, with "Right" marker selection happens with RMB and scrubbing with LMB, so that seems to work as advertised.

Still users might expect scrubbing to work with LMB regardless of the choice of "Select With", however it's not so simple. In the timeline this might be acceptable, but in the graph / dopesheet / NLA editors mapping selection and scrubbing to the same button is problematic.

This is something to consider for the keymap redesign in Blender 2.8 in #37417, feel free to post suggestion on how to solve this conflict there.

Scrubbing is not selection. With "Left" marker selection happens with LMB and scrubbing with RMB, with "Right" marker selection happens with RMB and scrubbing with LMB, so that seems to work as advertised. Still users might expect scrubbing to work with LMB regardless of the choice of "Select With", however it's not so simple. In the timeline this might be acceptable, but in the graph / dopesheet / NLA editors mapping selection and scrubbing to the same button is problematic. This is something to consider for the keymap redesign in Blender 2.8 in #37417, feel free to post suggestion on how to solve this conflict there.
Author
Contributor

I do not understand how is this invalid:

1, Timeline is not graph editor. It's a separate window module, and even has it's own category in input panel of user preferences. Blender's timeline is very poor-featured and does not even allow for selection of keyframes within it, so left mouse button will not interfere with absolutely anything.
2, When it comes to graph editor, introducing LMB scrub may result into interference with Blender's LMB tweak feature, but graph editor has completely different, two dimensional axis scrubbing, unrelated to timeline. It can be handled as follow
A, When select with is set to LMB, RMB will still scrub the 2D crosshair in graph editor when clicked anywhere in the graph area.
B, LMB will still perform tweak
C, LMB over the scrubbing cursor would act in the same way viewport transform gizmos do. The hotspot around the cursor lines would be derived from the hotspot value under manipulator toggle in Interface Panel of User preferences.
D, It would be appropriate to change the cursor appearance to indicate the cursor is hovering over scrubbing crosshair, turning it into simple cross (+) icon would help a lot. A same behavior should be also introduced for View 3D gizmos, to give user feedback if cursor is hovering over the gizmo hotspot.

But back to original point. This request is not invalid. Timeline is not Graph Editor, and timeline does not offer any possibility of selection of frames within it, therefore using RMB to scrub it, especially when interaction mode is set to LMB, goes against common sense.

EDIT:
Just noticed blender offers some form of selection in timeline, using markers as you said. But markers seem to be very fringe, rarely used feature. A solution in this case is trivial. LMB should scrub the timeline as long as there's no marker under a cursor. When cursor is hovering over a marker, marker should be scrubbed instead of frame cursor. Two things are crucial here:
A, Marker's hitbox for cursor should be small enough, ideally contained only in bottom half of the timeline, so that you can click above the marker and start scrubbing frame cursor even if marker is in that location.
B, In the same spirit as mentioned above, cursor appearance should change when cursor is hovering over marker's hitbox.

One more thing. I think that the cursor icon that appears when hovering over viewport customization corners, a cross icon, would be ideal for this.

I do not understand how is this invalid: 1, Timeline is not graph editor. It's a separate window module, and even has it's own category in input panel of user preferences. Blender's timeline is very poor-featured and does not even allow for selection of keyframes within it, so left mouse button will not interfere with absolutely anything. 2, When it comes to graph editor, introducing LMB scrub may result into interference with Blender's LMB tweak feature, but graph editor has completely different, two dimensional axis scrubbing, unrelated to timeline. It can be handled as follow A, When select with is set to LMB, RMB will still scrub the 2D crosshair in graph editor when clicked anywhere in the graph area. B, LMB will still perform tweak C, LMB over the scrubbing cursor would act in the same way viewport transform gizmos do. The hotspot around the cursor lines would be derived from the hotspot value under manipulator toggle in Interface Panel of User preferences. D, It would be appropriate to change the cursor appearance to indicate the cursor is hovering over scrubbing crosshair, turning it into simple cross (+) icon would help a lot. A same behavior should be also introduced for View 3D gizmos, to give user feedback if cursor is hovering over the gizmo hotspot. But back to original point. This request is not invalid. Timeline is not Graph Editor, and timeline does not offer any possibility of selection of frames within it, therefore using RMB to scrub it, especially when interaction mode is set to LMB, goes against common sense. EDIT: Just noticed blender offers some form of selection in timeline, using markers as you said. But markers seem to be very fringe, rarely used feature. A solution in this case is trivial. LMB should scrub the timeline as long as there's no marker under a cursor. When cursor is hovering over a marker, marker should be scrubbed instead of frame cursor. Two things are crucial here: A, Marker's hitbox for cursor should be small enough, ideally contained only in bottom half of the timeline, so that you can click above the marker and start scrubbing frame cursor even if marker is in that location. B, In the same spirit as mentioned above, cursor appearance should change when cursor is hovering over marker's hitbox. One more thing. I think that the cursor icon that appears when hovering over viewport customization corners, a cross icon, would be ideal for this.

The timeline is one of multiple editors that has time along the X axis, like the sequencer or graph editor. We try to be consistent in the UI, so scrubbing should work the same in all editors that support it. And there does exist marker selection the timeline which this conflicts with, and maybe keyframe selection in the future.

Making scrubbing work like tweak would make it slower to use, currently you can just click anywhere rather than dragging, and if the current frame is outside of the visible range it would be even more complicated to use. Further in the graph editor you often need to edit keyframes at the current frame, so having the cursor lines take priority over that would be a problem.

The timeline is one of multiple editors that has time along the X axis, like the sequencer or graph editor. We try to be consistent in the UI, so scrubbing should work the same in all editors that support it. And there does exist marker selection the timeline which this conflicts with, and maybe keyframe selection in the future. Making scrubbing work like tweak would make it slower to use, currently you can just click anywhere rather than dragging, and if the current frame is outside of the visible range it would be even more complicated to use. Further in the graph editor you often need to edit keyframes at the current frame, so having the cursor lines take priority over that would be a problem.

By the way, the reason it's marked invalid is because we do not classify this as a bug. It's a valid concern, but this is a UI design discussion, which we do not handle as bugs in the tracker.

By the way, the reason it's marked invalid is because we do not classify this as a bug. It's a valid concern, but this is a UI design discussion, which we do not handle as bugs in the tracker.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#51335
No description provided.