Merge lp://staging/~jderose/ubuntu/saucy/gnome-settings-daemon/tune-syndaemon2 into lp://staging/ubuntu/saucy/gnome-settings-daemon

Proposed by Jason Gerard DeRose
Status: Needs review
Proposed branch: lp://staging/~jderose/ubuntu/saucy/gnome-settings-daemon/tune-syndaemon2
Merge into: lp://staging/ubuntu/saucy/gnome-settings-daemon
Diff against target: 4202 lines (+1384/-2531)
9 files modified
.pc/applied-patches (+1/-0)
.pc/git_keybindings_add_screen_reader_toggle.patch/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in (+0/-212)
.pc/sync_input_sources_to_accountsservice.patch/configure.ac (+0/-609)
.pc/sync_input_sources_to_accountsservice.patch/plugins/keyboard/gsd-keyboard-manager.c (+0/-1708)
.pc/tune-syndaemon.patch/plugins/mouse/gsd-mouse-manager.c (+1354/-0)
debian/changelog (+7/-0)
debian/patches/series (+1/-0)
debian/patches/tune-syndaemon.patch (+20/-0)
plugins/mouse/gsd-mouse-manager.c (+1/-2)
To merge this branch: bzr merge lp://staging/~jderose/ubuntu/saucy/gnome-settings-daemon/tune-syndaemon2
Reviewer Review Type Date Requested Status
Luke Yelavich (community) Needs Information
Review via email: mp+181565@code.staging.launchpad.net

Description of the change

See https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1215463

On a modern laptop with a large touchpad/clickpad, your palms tend to brush the touch surface as you type. The problem is that on Ubuntu, this creates an annoying amount of cursor wiggle. Competing platforms don't have this problem, so this needs to be improved on Ubuntu.

Part of the problem is the is that `xserver-xorg-input-synaptics` driver doesn't do effective palm detection (it seems), and part of the problem is that `gnome-settings-daemon` launches `syndaemon` such that it *never* disables cursor movement.

Currently syndaemon is launched like this:

  syndaemon -i 1.0 -t -K -R

The "-t" option tells syndaemon to never block cursor movement. It will only block accidental vertical scrolling (which is darn near impossible to do on a modern system with two finger scrolling), and block accidental tap-to-click (which seems unlikely something you can do by mistake with your palms). So from a user perspective, "Disable while typing" currently does nothing.

I'm proposing that syndaemon instead be launched like this:

  syndaemon -i 0.5 -K -R

Without the "-t" option, syndaemon will block cursor movement, vertical scrolling, and tap-to-click. And the "-i 0.5" means it will block it for 500ms (half a second).

System76 has been shipping a patched `gnome-settings-daemon` (Raring) on all our products for the last two months, and we've received no support issues about it (if this caused noticeable usability issues, I'm confident we'd have heard about it).

We've also done a lot of testing and tuning on the timeout threshold, and 500ms seems like about the sweet spot. It's long enough to be decently effective for most typists, but not so long that the user will catch the trackpad still disabled when they move from typing back to "cursoring" :P

Note that this isn't a prefect solution, and you really can't do this especially well with a static timeout anyway (would be better to be dynamic based on typing speed). For slow typists, 500ms often isn't long enough. But for now, I feel it's better to find that sweet spot where it at least gives some improvement for most users, without causing any negative impact for any users.

To post a comment you must log in.
Revision history for this message
Jason Gerard DeRose (jderose) wrote :

Question: as far as I know, you're supposed to add changes in the .pc directory for UDD workflow. Just wanted to double check as this diff looks like such a mess :)

Revision history for this message
Luke Yelavich (themuso) wrote :

Given this is the upstrea default, I wonder whether its worth discussing it upstream. WHilst this is a trivial patch, it is yet another patch that Ubuntu has to carry, and we already carry a lot of patches against this package.

I suggest filing a bug upstream and discussing the desire to remove the -t flag, and indeed discuss why upstream decided to use the -t flag in the first place.

review: Needs Information
Revision history for this message
Jason Gerard DeRose (jderose) wrote :

Thanks for the feedback, Luke!

Yes, I plan on discussing this upstream, but I'd first like to get consensus from Ubuntu on this change, as it doesn't help System76 if the change is accepted upstream but Ubuntu disagrees with it.

Also as Ubuntu isn't tracking the upstream gnome-settings-daemon releases closely anymore, it will likely take more than one full cycle by the time the change would land in Ubuntu. Based on the current pattern, if we got this change accepted into gnome-settings-daemon 3.10, it wouldn't land in Ubuntu till Ubuntu 14.10.

For what it's worth, it would really help System76 if this change could be accepted into Saucy, as then we don't have to maintained a patched version in our PPA.

254. By Jason Gerard DeRose

Merged 3.6.4-0ubuntu17 from lp:ubuntu/saucy/gnome-settings-daemon

255. By Jason Gerard DeRose

Added 3.6.4-0ubuntu18 entry in changelog

256. By Jason Gerard DeRose

Added DEP-3 headers to tune-syndaemon.patch

257. By Jason Gerard DeRose

Clearer

258. By Jason Gerard DeRose

Merged from 3.6.4-0ubuntu19 lp:ubuntu/saucy/gnome-settings-daemon

259. By Jason Gerard DeRose

Add changelog entry for 3.6.4-0ubuntu20

Revision history for this message
Doug McMahon (mc3man) wrote :

hope you all aren't going around in circles on this
The current settings are the result of this bug, caused when g-s-d went to 2 sec
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/801763

That resulted in this bug, maybe others
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/962958

And the current settings from
https://bugzilla.gnome.org/show_bug.cgi?id=673055

Unmerged revisions

259. By Jason Gerard DeRose

Add changelog entry for 3.6.4-0ubuntu20

258. By Jason Gerard DeRose

Merged from 3.6.4-0ubuntu19 lp:ubuntu/saucy/gnome-settings-daemon

257. By Jason Gerard DeRose

Clearer

256. By Jason Gerard DeRose

Added DEP-3 headers to tune-syndaemon.patch

255. By Jason Gerard DeRose

Added 3.6.4-0ubuntu18 entry in changelog

254. By Jason Gerard DeRose

Merged 3.6.4-0ubuntu17 from lp:ubuntu/saucy/gnome-settings-daemon

253. By Jason Gerard DeRose

Updated changelog

252. By Jason Gerard DeRose

Added tune-syndaemon.patch so that syndaemon is called with '-i 0.5 -K -R'

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches