After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 724926 - Drag scrolling does not work on tablet
Drag scrolling does not work on tablet
Status: RESOLVED FIXED
Product: libchamplain
Classification: Core
Component: view
unspecified
Other Linux
: Normal major
: ---
Assigned To: libchamplain-maint
libchamplain-maint
touch
Depends on:
Blocks:
 
 
Reported: 2014-02-22 00:42 UTC by Adam Williamson
Modified: 2014-04-17 21:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[PATCH] Add touch support to kinetic scrolling (2.31 KB, patch)
2014-04-02 22:46 UTC, Reyad Attiyat
committed Details | Review

Description Adam Williamson 2014-02-22 00:42:32 UTC
Seems a shame, as it's basically built for this, but drag scrolling does not work on a tablet in Maps - at least not on my Venue 8 Pro. Works in other things. On a regular system I can click-and-hold to drag scroll, but just doing it 'normally' with a tablet touch screen doesn't work.

Tested 3.11.90 on Fedora Rawhide.
Comment 1 Ikey Doherty 2014-03-17 20:59:07 UTC
Request this bug is re-assigned to libchamplain as pan support should be supported widget-side, as opposed to within application logic (i.e. gnome-maps)

(I'm unable to do so myself as the bug isn't mine)
Comment 2 Jiri Techet 2014-03-20 17:02:47 UTC
Would be definitely nice. Unfortunately I don't have the right hardware to test how touch events work in clutter so this will have to wait until (a) I get some touch screen PC (b) someone contributes the patches.
Comment 3 Reyad Attiyat 2014-04-02 22:46:37 UTC
Created attachment 273497 [details] [review]
[PATCH] Add touch support to kinetic scrolling

This patch will check for CLUTTER_TOUCH_BEGIN, CLUTTER_TOUCH_UPDATE and CLUTTER_TOUCH_END in the kinetic scrolling callbacks.
Comment 4 Reyad Attiyat 2014-04-02 22:51:00 UTC
I have a tablet and have got this working on my device. The patch seems to be all that is needed for panning. Zooming would have to detect when two fingers are down and being pulled apart. I think clutter, or maybe it was ST, has action support for touch events. Would this be the correct way to implement that?
Comment 5 Jiri Techet 2014-04-04 10:44:31 UTC
Hi Reyad, cool! I've already applied the patch - it's pretty minimalistic and even though I cannot test it on the tablet, it definitely doesn't break anything on the PC. Thanks.

Regarding zooming, yes, I think what you propose is reasonable. The thing is that libchamplain supports only integer zoom levels so there won't be a fluid zoom. But still even though it's not fluid it would be nice to have touch events for it.

I'd suggest something like this: measure the initial distance between two fingers. Every time the finger distance increases/decreases by some delta (which has to be set experimentally), zoom-in/zoom-out is triggered. This way zoom-in/out could happen multiple times while holding the fingers on the screen.
Comment 6 Jiri Techet 2014-04-04 10:44:54 UTC
Review of attachment 273497 [details] [review]:

Applied
Comment 7 Adam Williamson 2014-04-04 15:18:10 UTC
I'll try and test this over the weekend.

If we're going to do gestures they should presumably be implemented at the platform level (in GTK+ or somewhere like that). It doesn't seem to make sense to me to do it this far down the stack, or we'll just wind up with unnecessary reimplementation in multiple apps.
Comment 8 Adam Williamson 2014-04-17 00:12:42 UTC
Hum. Well, I was about to test this, but touch input has somehow mysteriously died on my tablet. Investigating...
Comment 9 Adam Williamson 2014-04-17 21:32:33 UTC
OK, figured that problem out, and I can confirm drag scrolling works a treat with the patch applied to libchamplain. Nice! Would be nice to have a new release, of course.