Trackpad is inverted in Linux (Wayland) #107676

Closed
opened 2023-05-06 06:01:38 +02:00 by Caden Mitchell · 11 comments

System Information

Operating system: Fedora 38
Desktop Environment: GNOME (Wayland)
Graphics card: AMD Radeon RX 5700 XT

Blender Version

Broken: 3.5.1

Short description of error

With natural scrolling enabled in my system settings, scrolling on my touchpad in Blender orbits the scene in the exact opposite direction of where I scroll. If I switch the system configuration to "traditional" scrolling, the direction in Blender feels more... natural.

I'm thinking Blender needs an input setting to invert the touchpad orbit direction. It seems like this is a case where I'd want to override the system's scrolling direction, only in this software. Also, it feels backwards to me because I am used to the way touchpad input is handled on macOS. macOS also has touchpad scroll orbiting AND natural scrolling, and it feels like the Blender interaction on macOS is flipped compared to this. I think Blender may have it wrong on the Linux version.

Exact steps for others to reproduce the error

Use multitouch trackpad on Linux in Wayland to orbit a scene in Blender with natural scrolling. It feels wrong. It feels like the opposite of Blender's default orbit navigation on other systems with natural scrolling and it feels wrong.

**System Information** Operating system: Fedora 38 Desktop Environment: GNOME (Wayland) Graphics card: AMD Radeon RX 5700 XT **Blender Version** Broken: 3.5.1 **Short description of error** With natural scrolling enabled in my system settings, scrolling on my touchpad in Blender orbits the scene in the exact opposite direction of where I scroll. If I switch the system configuration to "traditional" scrolling, the direction in Blender feels more... natural. I'm thinking Blender needs an input setting to invert the touchpad orbit direction. It seems like this is a case where I'd want to override the system's scrolling direction, only in this software. Also, it feels backwards to me because I am used to the way touchpad input is handled on macOS. macOS also has touchpad scroll orbiting AND natural scrolling, and it feels like the Blender interaction on macOS is flipped compared to this. I think Blender may have it wrong on the Linux version. **Exact steps for others to reproduce the error** Use multitouch trackpad on Linux in Wayland to orbit a scene in Blender with natural scrolling. It feels wrong. It feels like the opposite of Blender's default orbit navigation on other systems with natural scrolling and it feels wrong.
Caden Mitchell added the
Priority
Normal
Status
Needs Triage
Type
Report
labels 2023-05-06 06:01:39 +02:00

This is most likely a duplicate of #104272. From that bug it seems like Blender is ready to go with detecting the setting but it needs upstream Desktop environments to update their Wayland components to at least Wayland 1.22:

Wayland 1.22 has been released, Linux libraries have been updated.
Note that Linux distributions will have to upgrade Wayland too - however the solution on Blender's side has been applied.

Are you able to check which Wayland version you currently have access to under Fedora?

This is most likely a duplicate of #104272. From that bug it seems like Blender is ready to go with detecting the setting but it needs upstream Desktop environments to update their Wayland components to at least Wayland 1.22: ``` Wayland 1.22 has been released, Linux libraries have been updated. Note that Linux distributions will have to upgrade Wayland too - however the solution on Blender's side has been applied. ``` Are you able to check which Wayland version you currently have access to under Fedora?
Jesse Yurkovich added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-05-07 03:52:18 +02:00
Author

This is most likely a duplicate of #104272. From that bug it seems like Blender is ready to go with detecting the setting but it needs upstream Desktop environments to update their Wayland components to at least Wayland 1.22:

Wayland 1.22 has been released, Linux libraries have been updated.
Note that Linux distributions will have to upgrade Wayland too - however the solution on Blender's side has been applied.

Are you able to check which Wayland version you currently have access to under Fedora?

I believe I'm already on 1.22...?

> This is most likely a duplicate of #104272. From that bug it seems like Blender is ready to go with detecting the setting but it needs upstream Desktop environments to update their Wayland components to at least Wayland 1.22: > ``` > Wayland 1.22 has been released, Linux libraries have been updated. > Note that Linux distributions will have to upgrade Wayland too - however the solution on Blender's side has been applied. > ``` > > Are you able to check which Wayland version you currently have access to under Fedora? I believe I'm already on 1.22...?

Hmm, in that case, I'll have to defer to the platform module to see what be up here.

CC @ideasman42

Hmm, in that case, I'll have to defer to the platform module to see what be up here. CC @ideasman42

@Caden-Mitchell what version of gnome are you using? (the compositor may also needs to support this).

@Caden-Mitchell what version of gnome are you using? (the compositor may also needs to support this).
Author

@ideasman42 GNOME 44.2. This is the latest version packaged by Fedora.

@ideasman42 GNOME 44.2. This is the latest version packaged by Fedora.

Gnome (mutter) doesn't yet support this, reported an issue. Closing as a duplicate of #104272.

Gnome (mutter) doesn't yet support this, [reported an issue](https://gitlab.gnome.org/GNOME/mutter/-/issues/2804). Closing as a duplicate of #104272.
Blender Bot added
Status
Archived
and removed
Status
Needs Info from Developers
labels 2023-05-11 04:03:32 +02:00
Author

@ideasman42 Sorry for the necro bump. I am an avid touchpad user and this issue still affects me. Also, the issue you made for the Mutter project has had no activity since you opened it. Can we please get a Blender preference to "Invert touchpad gestures"? Even if the Mutter issue were resolved, you cannot know for sure that a user who uses natural scrolling globally would even want natural scrolling in Blender. A user could conceivably want Blender to be inverted, or vice versa.

Furthermore, I believe natural scrolling is the de facto default in GNOME and KDE so, if the WM (Mutter in this case) does not advertise a preference, Blender should probably be defaulting to natural scrolling, not inverted scrolling which feels really bad. Presently, Linux touchpad users like my just have to put up with this issue with no satisfactory workaround, eg. preference or system protocol. Ideally, we have both imo.

I only necrobumped this because I see there's already several duplicate issues, and I'd rather re-open this one to have it fixed than throw another one out there in the mix. This issue really bugs me!

@ideasman42 Sorry for the necro bump. I am an avid touchpad user and this issue still affects me. Also, the issue you made for the Mutter project has had no activity since you opened it. Can we please get a Blender preference to "Invert touchpad gestures"? Even if the Mutter issue were resolved, you cannot know for sure that a user who uses natural scrolling globally would even want natural scrolling in Blender. A user could conceivably want Blender to be inverted, or vice versa. Furthermore, I believe natural scrolling is the de facto default in GNOME and KDE so, if the WM (Mutter in this case) does not advertise a preference, Blender should probably be defaulting to natural scrolling, not inverted scrolling which feels really bad. Presently, Linux touchpad users like my just have to put up with this issue with no satisfactory workaround, eg. preference or system protocol. Ideally, we have both imo. I only necrobumped this because I see there's already several duplicate issues, and I'd rather re-open this one to have it fixed than throw another one out there in the mix. This issue really bugs me!
Blender Bot added
Status
Needs Triage
and removed
Status
Archived
labels 2024-04-10 04:50:07 +02:00
Author

Side-note: I used the touchpad gestures EXTENSIVELY on macOS, which is probably why I'm so partial to this. I only use an Apple Magic Touchpad for my Linux desktop, and imo it is generally better integrated in the desktop than macOS, but Blender's distinct lack of support options for touchpad users on Linux makes it a much worse experience for me. To be clear, I don't disagree that the WM should advertise the preference, but Blender desperately needs a solution for its users in the mean time.

Side-note: I used the touchpad gestures EXTENSIVELY on macOS, which is probably why I'm so partial to this. I _only_ use an Apple Magic Touchpad for my Linux desktop, and imo it is generally better integrated in the desktop than macOS, but Blender's distinct lack of support options for touchpad users on Linux makes it a much worse experience for me. To be clear, I don't disagree that the WM should advertise the preference, but Blender desperately needs a solution for its users in the mean time.

@Caden-Mitchell last I looked into this the protocol was still quite new, I'd have expected the major Wayland compositors to have supported it by now.

From testing GNOME/KDE/SWAYWM none of them seem to support it yet.

Although it could also be a configuration issue in the case of SWAYWM as checking the code it looks as though it should be supported.

EDIT I looked into this again and the reason none of the compositors worked was the version of the seat requested was too old. Committed a fix for this, however only KDE-6 and recent WLROOTS compositors work. GNOME-46 doesn't work though, so a workaround might still be needed.

Submitted a PR to manually set the scroll direction since as far as I can tell this functionality is not yet supported anywhere. !120563

@Caden-Mitchell last I looked into this the protocol was still quite new, I'd have expected the major Wayland compositors to have supported it by now. ~~From testing GNOME/KDE/SWAYWM none of them seem to support it yet.~~ ~~Although it could also be a configuration issue in the case of SWAYWM as checking the code it looks as though it should be supported.~~ _*EDIT* I looked into this again and the reason none of the compositors worked was the version of the seat requested was too old. Committed a fix for this, however only KDE-6 and recent WLROOTS compositors work. GNOME-46 doesn't work though, so a workaround might still be needed._ Submitted a PR to manually set the scroll direction since as far as I can tell this functionality is not yet supported anywhere. !120563
Blender Bot added
Status
Resolved
and removed
Status
Needs Triage
labels 2024-04-12 16:19:47 +02:00
Blender Bot added
Status
Needs Triage
and removed
Status
Resolved
labels 2024-04-13 08:30:45 +02:00

Fixed 8d86fb43a4 for compositors that use version 9 or newer of the wl_seat_interface (KDE6 & recent WLROOTS based compositors).


There is still the question of supporting a controlling this manually for older compositors but this isn't a bug in Blender.

Fixed 8d86fb43a4eab6e538796fd0d9f310e58a209315 for compositors that use version 9 or newer of the wl_seat_interface (KDE6 & recent WLROOTS based compositors). --- There is still the question of supporting a controlling this manually for older compositors but this isn't a bug in Blender.
Blender Bot added
Status
Archived
and removed
Status
Needs Triage
labels 2024-04-14 15:06:51 +02:00

Committed a workaround for GNOME-46 & KDE 5 (& other Wayland compositors without version 9 of the seat API). d644873252.

Committed a workaround for GNOME-46 & KDE 5 (& other Wayland compositors without version 9 of the seat API). d6448732521a64809c6827745f8d002f082bbd38.
Campbell Barton added
Status
Resolved
and removed
Status
Archived
labels 2024-04-26 13:31:42 +02:00
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
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#107676
No description provided.