Fix #89906: Consistent track pad zoom directions #111141

Open
YimingWu wants to merge 3 commits from ChengduLittleA/blender:fix-89906 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Member

UI: Fix trackpad scroll direction

Fixed handling of "Zoom Axis" and "Invert Zoom" options.

Fixed inconsistency of zoom direction, it is now consistent across all
editors and between trackpad, mouse and gizmo.

Fixed Crtl + scroll direction for editing a value, upward always
increases the value.

Fix #89906.

This patch was originally authoredby Yevgeny Makarov (@jenkm). Recreated
as a PR on gitea.

UI: Fix trackpad scroll direction Fixed handling of "Zoom Axis" and "Invert Zoom" options. Fixed inconsistency of zoom direction, it is now consistent across all editors and between trackpad, mouse and gizmo. Fixed Crtl + scroll direction for editing a value, upward always increases the value. Fix #89906. This patch was originally authoredby Yevgeny Makarov (@jenkm). Recreated as a PR on gitea.
YimingWu added 1 commit 2023-08-15 16:13:13 +02:00
Fix #89906: Consistent track pad zoom directions
All checks were successful
buildbot/vexp-code-patch-coordinator Build done.
3135865906
Previously, ctrl-drag and trackpad gesture zoom directions are not
consistent across editors, now fixed as:
- Ctrl-drag always zoom out
- Trackpad double finger down always zoom in
- Trackpad double finger down always scroll the content of the panel
towards bottom

This patch was originally authoredby Yevgeny Makarov (@jenkm). Recreated
as a PR on gitea.

How it's designed to work

The zoom/orbit direction should be consistent between trackpad, mouse and gizmo.

To zoom-in panels, 3D view, nodes, image editor, etc.
(moving toward the screen, the mouse cursor moves upwards)

  • Ctrl + move your fingers on the trackpad towards the screen.
  • Ctrl + middle mouse button, move the mouse forward away from your.
  • Click on the viewport gizmo and move mouse cursor up.
  • Mouse wheel up.

To rotate 3D view to the left:

  • Move your fingers on the trackpad to the right.
  • With the middle mouse button, move the mouse/cursor to the right.
  • Click on the viewport gizmo and move the cursor to the right.

Increase value when hovering the cursor over a button:

  • Ctrl + move your fingers towards the screen (upward), as scroll wheel up.

Natural Scrolling

Switching the "natural scroll direction" option should only affect scrolling e.g. panels or file lists, and panning 2D/3D views, to match the behaviour of OS applications in general. Zooming, rotation and button value changes should not be affected; upward always means increase.

## How it's designed to work **The zoom/orbit direction should be consistent between trackpad, mouse and gizmo.** **To zoom-in panels, 3D view, nodes, image editor, etc.** _(moving toward the screen, the mouse cursor moves upwards)_ - Ctrl + move your fingers on the trackpad towards the screen. - Ctrl + middle mouse button, move the mouse forward away from your. - Click on the viewport gizmo and move mouse cursor up. - Mouse wheel up. **To rotate 3D view to the left:** - Move your fingers on the trackpad to the right. - With the middle mouse button, move the mouse/cursor to the right. - Click on the viewport gizmo and move the cursor to the right. **Increase value when hovering the cursor over a button:** - Ctrl + move your fingers towards the screen (upward), as scroll wheel up. ## Natural Scrolling Switching the "natural scroll direction" option should only affect scrolling e.g. panels or file lists, and panning 2D/3D views, to match the behaviour of OS applications in general. Zooming, rotation and button value changes should not be affected; upward always means increase.
Iliya Katushenock added this to the User Interface project 2023-08-16 17:15:29 +02:00
Iliya Katushenock added the
Interest
Modeling
label 2023-08-16 17:15:33 +02:00
YimingWu added 1 commit 2023-08-19 10:43:05 +02:00
YimingWu added 1 commit 2023-08-19 11:01:36 +02:00
First-time contributor

Maybe I'm doing something wrong, but I applied this patch to 4.0.2, and it doesn't seem to fix #92221.

Trackpad zoom speed seems to still be different based on either the horizontal or vertical position in the view depending on which is selected as the mouse zoom axis.

The older one at https://archive.blender.org/developer/D8521?id=43774 did fix it in previous versions.

Maybe I'm doing something wrong, but I applied this patch to 4.0.2, and it doesn't seem to fix #92221. Trackpad zoom speed seems to still be different based on either the horizontal or vertical position in the view depending on which is selected as the mouse zoom axis. The older one at https://archive.blender.org/developer/D8521?id=43774 did fix it in previous versions.

@Martin-E There in #92221 was a difference between when the setting was set to Horizontal or Vertical Zoom Axis. Now you have a difference, most likely because of the Zoom to Mouse Position option, which is different and looks like the expected behavior.

@Martin-E There in #92221 was a difference between when the setting was set to Horizontal or Vertical Zoom Axis. Now you have a difference, most likely because of the Zoom to Mouse Position option, which is different and looks like the expected behavior.
First-time contributor

@jenkm

Even with zoom to mouse position off, I am still getting the following behavior:

If I have zoom axis set to horizontal, the trackpad zoom is faster the further to the right the cursor is.

If I have zoom axis set to vertical, the trackpad zoom is faster the further to the top the cursor is.

Are you not seeing the same?

You previous D8521 patch had the trackpad zoom consistent anywhere in the view whether zoom to mouse position was on or off.

@jenkm Even with zoom to mouse position off, I am still getting the following behavior: If I have zoom axis set to horizontal, the trackpad zoom is faster the further to the right the cursor is. If I have zoom axis set to vertical, the trackpad zoom is faster the further to the top the cursor is. Are you not seeing the same? You previous D8521 patch had the trackpad zoom consistent anywhere in the view whether zoom to mouse position was on or off.

Are you not seeing the same?

Yeah, I see it. But it's also with the mouse, MMB-drag zoom, so it's a different issue. Report it.

> Are you not seeing the same? Yeah, I see it. But it's also with the mouse, MMB-drag zoom, so it's a different issue. Report it.
First-time contributor

Yeah, I see it. But it's also with the mouse, MMB-drag zoom, so it's a different issue. Report it.

My report was that this is broken with the trackpad zoom (#92221, claimed fixed here, but isn't).

Are you saying that the report should say it's broken in all situations, and not just trackpad zoom? If so, I will make another one, but this patch should probably not say it fixes #92221.

> Yeah, I see it. But it's also with the mouse, MMB-drag zoom, so it's a different issue. Report it. My report was that this is broken with the trackpad zoom (#92221, claimed fixed here, but isn't). Are you saying that the report should say it's broken in all situations, and not just trackpad zoom? If so, I will make another one, but this patch should probably not say it fixes #92221.

@Martin-E - Oh, you're absolutely right.

There are a lot of trackpad related bugs that overlap with each other. This patch fixes another bug where the Zoom Axis affects trackpad zoom speed.

You see this was fixed in the older D8521 because you use the pinch-zoom gesture rather than Cmd + scroll, and there were changes regarding pinch-zoom. Unfortunately there is no updated patch for this, only a task #110852.

The bug you reported is also present with the Cmd + MMB-drag and Cmd + trackpad scroll, and is not fixed by these trackpad patches. I will update the description in your report to be more accurate.

@Martin-E - Oh, you're absolutely right. There are a lot of trackpad related bugs that overlap with each other. This patch fixes another bug where the Zoom Axis affects trackpad zoom speed. You see this was fixed in the older D8521 because you use the pinch-zoom gesture rather than Cmd + scroll, and there were changes regarding pinch-zoom. Unfortunately there is no updated patch for this, only a task #110852. The bug you reported is also present with the Cmd + MMB-drag and Cmd + trackpad scroll, and is not fixed by these trackpad patches. I will update the description in your report to be more accurate.
This pull request has changes conflicting with the target branch.
  • source/blender/editors/space_view3d/view3d_navigate_fly.cc

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u fix-89906:ChengduLittleA-fix-89906
git checkout ChengduLittleA-fix-89906
Sign in to join this conversation.
No reviewers
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
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
Asset Browser Project
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
3 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#111141
No description provided.