Two finger scrolling works poorly - utouch to blame

Bug #874660 reported by Brian Teague
108
This bug affects 21 people
Affects Status Importance Assigned to Milestone
evince (Ubuntu)
Fix Released
High
Chase Douglas
Precise
Won't Fix
High
Unassigned
Trusty
Confirmed
High
Unassigned

Bug Description

Release: Ubuntu 11.10
Package ver: 3.2.0-0ubuntu1
Expected behavior: When two-fingered scrolling is enabled, a two-finger drag should smoothly scroll the document
Actual behavior: The view jumps to the end-point without scrolling.

Additional info: Input device is a BCM5974 on an Apple Macbook Air 3.1. Behavior returns to normal when I download the source package and rebuild without the libgrip patch, so it's definitely a bug in the interaction with the utouch stack. Other multitouch (libgrip/geis) gestures (pinch-to-zoom, twist-to-rotate) work just fine. Switching the touchpad to edge-scrolling works fine.

Tags: utouch
Brian Teague (bteague)
description: updated
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report

Chase, could somebody look at this?

Changed in evince (Ubuntu):
assignee: nobody → Chase Douglas (chasedouglas)
importance: Undecided → High
Revision history for this message
Chase Douglas (chasedouglas) wrote :

Hi,

When I run evince I find it working as designed. It's not optimal yet, though. Here's a description of how it works for me:

1. Start scrolling with a two touch drag
2. Evince hesitates for a half second
3. Evince then begins scrolling as appropriately, including the scrolled distance during the hesitation

The hesitation is due to the system waiting to see if a gesture has been recognized or not. In this case, the two gestures available are pinch to zoom and rotate. Once these gestures have been discarded as possibilities, scrolling can continue.

We currently can't get around the hesitation today because of the architecture of scrolling and gestures in X and uTouch. We will always have this hesitation until we can get smooth scrolling through two touch drag gestures. The simplest way to resolve this is to enable smooth scrolling through the toolkit. We are looking into this, but we don't have an estimate of when it will land yet.

Revision history for this message
Brian Teague (bteague) wrote :

I can confirm that this is the observed behavior. (I guess I'm just twitchy - my scrolls usually don't last that long.) I'd disable gesture support with --disable-gestures, but that doesn't work either - bug #876702. Thank goodness it's easy to build custom packages from source.

Chase - Thanks for looking into this and clarifying. Feel free to close the bug in whatever way you see fit.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in evince (Ubuntu):
status: New → Confirmed
Revision history for this message
On-The-Fly (onthefly) wrote :

I am experiencing the exact same behaviour like Chase Douglas described.

Revision history for this message
jsevi83 (jsevi83) wrote :

Bugs #874660 and #876702 are solved, so now "evince --disable-gestures" works properly. I edited /usr/share/applications/evince.desktop to execute "evince --disable-gestures %U" , and now two finger scrolling is working as expected.

Revision history for this message
Gabriel Hege (gabriel-hege) wrote :

Adding --disable-gestures to /usr/share/applications/evince.desktop is only a parital solution for me. I often start evince from the shell and then the annoying gestures are back...
How can anybody include such a half-baked feature without the ability to properly turn it off?

What I would expect is the possibility to turn off gestures for evince (and other possibly broken apps) through gconf or even better: Have libgrip as an optional dependency so one can just `apt-get purge libgrip0` similar to how you get rid ot the overlay-scrollbars...

Revision history for this message
Brian Teague (bteague) wrote :

If you add the two lines to your ~/.bashrc, evince and eog will start with -g (the alias for --disable-gestures):

function evince () { /usr/bin/evince -g $* & }
function eog () { /usr/bin/eog -g $* & }

Revision history for this message
Rafael P. (rafael-p) wrote :

This is a regression issue, it used to work smoothly on previous versions (though I couldn't tell when problems started).
Either it should be fixed upstream or the --disable-gestures option should be activated by default.
Please update on the status of this bug.

Revision history for this message
Chow Loong Jin (hyperair) wrote :

I just took a look at the utouch patch, and it looks like there's support for utouch drag gestures in there, so why would Evince wait for the scroll event instead?

Revision history for this message
Chow Loong Jin (hyperair) wrote :

Okay, it looks like the patch only listens for drag events on touchscreens. I'm testing out a modification to see how it feels like with touchpads.

Revision history for this message
Simon P. (simpre) wrote :

Have troubles with two-finger scrolling as well. Besides the not-so-smooth scrolling experience, evince often randomly zooms out instead of scrolling down.

Ubuntu 11.10
evince package 3.2.1-0ubuntu2.2 0
Asus EEE PC 1000H

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Ubuntu's evince switched from libgrip to native GTK touch for Ubuntu 15.04.

Changed in evince (Ubuntu Trusty):
importance: Undecided → High
status: New → Confirmed
Changed in evince (Ubuntu Precise):
importance: Undecided → High
Changed in evince (Ubuntu):
status: Confirmed → Fix Released
Changed in evince (Ubuntu Precise):
status: New → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

The Precise Pangolin has reached end of life, so this bug will not be fixed for that release

Changed in evince (Ubuntu Precise):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.