Feature Proposal: Enable two finger touchpad scrolling by default

Chase Douglas chase.douglas at canonical.com
Fri Mar 18 14:39:32 UTC 2011


On 03/17/2011 10:54 AM, Duncan McGreggor wrote:
> Reaction summary
> ================
> 
> Folks seem to be rightly concerned about a fallback option being present
> for devices that don't support two-finger scrolling. I think we may be
> in agreement if I say this:
> 
> If there is no fallback in place for Natty, we cannot enable two-finger
> scrolling by default.
> 
> Follow up
> =========
> 
> Some folks had mentioned the possibility of doing this in
> gnome-settings-daemon, so I asked around a bit. I've talked with Seb and
> Henrik Rydberg, who simultaneously (on two different IRC channels came
> to the following conclusion:
> 
> This should be done at the driver level in X.
> 
> Seb's reasoning was multi-fold: we don't want to limit a fix to GNOME
> only -- we have to think of kubuntu and xubuntu. Additionally, relying
> on session software for this fix will most likely result in a buggy
> experience; best to control this at the source.
> 
> Henrik said that we should check so see what the synaptics driver is
> telling us by default, and use that to initialize the setting in the
> desktop. The driver does all the checks necessary to enable what the
> hardware can handle.
> 
> Actions
> =======
> 
> Henrik and Chase will discuss this further to determine the level of
> effort, potential impact on the system as a whole, and then reply to
> this thread with their findings, planned approach, requesting further
> feedback and sanity checking.

I've had a chance to take a deeper look at all the code impacting this
change. Here's a brief overview:

1. When X starts, the X synaptics input module enables vertical
scrolling for all supported methods. For example, on my synaptics
trackpad it enables both two finger and edge scrolling. One can verify
this by running an application at the login screen ($ DISPLAY=:0 sudo
<application>) and testing scrolling.

2. When gnome-settings-daemon starts it enables one of the following:

* No scrolling
* Edge scrolling
* Two finger scrolling

It does not have the ability to enable both edge and two finger
scrolling at the same time, nor does it have any option to just use what
the synaptics input module enabled at X start. The default g-s-d schema
(/usr/share/gconf/schemas/desktop_gnome_peripherals_touchpad.schemas) is
set to edge scrolling. Further complicating the issue,
gnome-mouse-properties greys out two finger scroll if it's not supported
by any attached hardware. In contrast, edge scrolling is always an
available option, even when there's no attached hardware that can
support it.

I have come up with one solution, but it involves UI and gnome changes.
I have not run this by anyone who is a real UI designer or a gnome
developer, so this is just me thinking off the top of my head:

Modify gnome-mouse-properties so it presents two checkboxes, one each
for edge and two finger scrolling, instead of the current radio
selection. Don't disable any scroll options that aren't supported by
hardware currently attached to the computer (maybe you will connect a
Magic Trackpad with full scrolling support later on). Then, fix g-s-d so
it can support this set of options. Finally, set both edge and two
finger scrolling enabled by default in the schema.

Given the scope of work here, I think this needs to be pushed off to
oneiric.

Thanks,

-- Chase



More information about the ubuntu-desktop mailing list