GNOME Bugzilla – Bug 759304
Changes to touchpad scroll methods
Last modified: 2015-12-15 13:44:10 UTC
Following the re-design of the Mouse panel, we hit problems with the scroll methods controls which weren't very usable. We'd like to change the defaults for the org.gnome.desktop.peripherals.touchpad schema, scroll-method. When the touchpad is two-finger scrolling capable, always enable it, whatever the contents of the settings. When the touchpad only supports edge scrolling (usually older devices, and usually smaller devices), allow disabling the edge scrolling with "disabled". Any other value would enable two-finger-scrolling. Ideally, we'd change the scroll-method key, but it's easier to do it that way.
See https://bugzilla.gnome.org/show_bug.cgi?id=759305
Created attachment 317200 [details] [review] backends: Force 2-finger scroll by default if available When the touchpad is two-finger scrolling capable, always enable it, whatever the contents of the settings. When the touchpad only supports edge scrolling (usually older devices, and usually smaller devices), allow disabling the edge scrolling with "disabled". Any other value would enable two-finger-scrolling. Ideally, we'd change the scroll-method key, but it's easier to do it that way.
Comment on attachment 317200 [details] [review] backends: Force 2-finger scroll by default if available If that's the desired hardcoded behavior I guess it makes sense... As you say, ideally the scroll-method setting would need changing. An alternative I can think of is adding a "default" option to the enum, which allows mutter to choose 2fg/edge scrolling, and g-c-c only ever sets default/disabled. That'd still leave the possibility of disabling scrolling on 2fg capable touchpads, but I'd trust it'd only be possible if you fiddle with dconf-editor manually.
Created attachment 317414 [details] [review] backends: Force 2-finger scroll by default if available When the touchpad is two-finger scrolling capable, always enable it. When the touchpad only supports edge scrolling (usually older devices, and usually smaller devices), allow disabling the edge scrolling.
Comment 3 has a version that changes the semantics of the scroll-method GSettings key, which I don't really like. Comment 4 has a version which uses the new key in the patches in bug 759305. I believe that it's the version that Garnacho prefers (and so do I). When we've chosen which way to go, I'll update the "Mouse & Touchpad" panel patch.
Review of attachment 317414 [details] [review]: Indeed, I think this approach is better for the long run. As said, the gsettings-desktop-schemas change is technically a break, but one contained to mutter/g-c-c/g-s-d. Sounds reasonable enough, better than adding non-obvious small print to the current setting. I guess would be great to release gsettings-desktop-schemas with the patch and bump mutter dependency though...
Created attachment 317418 [details] [review] backends: Force 2-finger scroll by default if available When the touchpad is two-finger scrolling capable, always enable it. When the touchpad only supports edge scrolling (usually older devices, and usually smaller devices), allow disabling the edge scrolling. This requires a newer gsettings-desktop-schemas as the scroll-method key was removed, and the edge-scroll-enabled key added.
Created attachment 317419 [details] [review] backends: Fix cut'n'paste error in click method setting GDesktopTouchpadScrollMethod was used instead of GDesktopTouchpadClickMethod which became visible now that the former has been removed from gsettings-desktop-schemas.
Attachment 317418 [details] pushed as a27b259 - backends: Force 2-finger scroll by default if available Attachment 317419 [details] pushed as 996aeae - backends: Fix cut'n'paste error in click method setting