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 685784 - Scroll using a finger touch device
Scroll using a finger touch device
Status: RESOLVED OBSOLETE
Product: evince
Classification: Core
Component: general
git master
Other Linux
: Normal enhancement
: ---
Assigned To: Evince Maintainers
Evince Maintainers
touch
Depends on:
Blocks:
 
 
Reported: 2012-10-09 07:03 UTC by Germán Poo-Caamaño
Modified: 2018-05-22 14:48 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Germán Poo-Caamaño 2012-10-09 07:03:15 UTC
When using a touch screen (e.g. a laptop convertible to tablet) evince should allow to scroll a document (by default) using the finger.
Comment 1 David King 2013-04-10 13:04:22 UTC
This seems to work fine in (at least) 3.8.0.
Comment 2 Germán Poo-Caamaño 2013-04-10 16:36:40 UTC
I am using master and I still need to use 2 fingers to scroll a document.
Comment 3 David King 2013-04-10 18:16:16 UTC
I am using an ExoPC as touchscreen and Fedora 19 (GTK+ 3.8.0), and a single finger drag on a document scrolls it here. Which hardware are you using? If you run evince with "GDK_DEBUG=events" and scroll around in the window, do you get lots of "touch" events or lots of "smooth scroll" events (with both 1 and 2 finger scrolling)?
Comment 4 Germán Poo-Caamaño 2013-04-10 20:10:27 UTC
I am using a Lenovo X220T (laptop convertible to tablet), which has a wacom touchscreen.

When I run "GDK_DEBUG=events evince" in my jhbuild, I do not get any touch event (1 or 2 fingers).  If I use the mouse wheel, I get smooth scroll.  If I use 2 fingers, the text scrolls, but there is no event in the terminal.

I think it is mapping the mousepad events as touchpad.  Other applications like xournal and mypaint work fine with the touchscreen.  However, I think they implemented the behaviour for eraser, stylus and finger in the application (I am not sure I am saying something reasonable).

My jhbuild has GTK+3.8, compiled with XInput2:


configure:23686: checking for XGetEventData
configure:23686: gcc -o conftest -g -O2 -Wall     -L/home/gpoo/code/evince/install/lib  conftest.c  -lX11 -lXext -lm   >&5
configure:23686: $? = 0
configure:23686: result: yes
configure:23700: checking X11/extensions/XInput2.h usability
configure:23700: gcc -c -g -O2 -Wall     conftest.c >&5
configure:23700: $? = 0
configure:23700: result: yes
configure:23700: checking X11/extensions/XInput2.h presence
configure:23700: gcc -E     conftest.c
configure:23700: $? = 0
configure:23700: result: yes
configure:23700: checking for X11/extensions/XInput2.h
configure:23700: result: yes
configure:23715: checking for XIAllowTouchEvents
configure:23715: gcc -o conftest -g -O2 -Wall     -L/home/gpoo/code/evince/install/lib  conftest.c  -lX11 -lXext -lm   -lXi >&5
configure:23715: $? = 0
configure:23715: result: yes


FWIW, these are the devices I have:

$ xsetwacom --list
Wacom ISDv4 E6 Pen stylus       	id: 10	type: STYLUS    
Wacom ISDv4 E6 Finger touch     	id: 11	type: TOUCH     
Wacom ISDv4 E6 Pen eraser       	id: 15	type: ERASER
Comment 5 José Aliste 2013-04-10 20:18:02 UTC
Germán, have you tried the patch for implementing smooth scrolling in evince?
Comment 6 Germán Poo-Caamaño 2013-04-11 16:32:29 UTC
José,  I have not tried that yet.  I will shortly.
Comment 7 David King 2013-04-16 22:06:42 UTC
I updated the smooth scrolling patch in bug 674098. I do not have any Wacom hardware to test, unfortunately, so I do not know how to get either touch or smooth scroll events from the device.
Comment 8 Germán Poo-Caamaño 2013-04-22 18:16:52 UTC
I applied both patches but still no luck.  I do not think the problem is in our end (evince), but something in between X (libwacom, xinput?) and GTK+ (GDK?).
Comment 9 Germán Poo-Caamaño 2013-04-22 18:24:13 UTC
It might be Wacom (and maybe this should be in gnome-control-center).

http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Multitouch#Gesture_List
Comment 10 Germán Poo-Caamaño 2013-04-22 18:26:55 UTC
This also could related that the wacom I talking about it is multi-touch.  In the same link, below there are comments regarding to GNOME and GTK+ (mostly pointers to us, though).
Comment 11 David King 2013-04-23 08:17:55 UTC
(In reply to comment #9)
> It might be Wacom (and maybe this should be in gnome-control-center).
> 
> http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Multitouch#Gesture_List

I had a look at that article, and wondered if you could try disabling the in-driver gesture recognition?

http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Multitouch#Disable_xf86-input-wacom_In-driver_2FGT_Gestures

Once you have done that, the multi-touch events should be passed on to X clients, and the touch scrolling of GTK+ should be used (which seems to use a single-finger drag for me).
Comment 12 Germán Poo-Caamaño 2013-04-24 18:38:55 UTC
(In reply to comment #11)
> (In reply to comment #9)
> > It might be Wacom (and maybe this should be in gnome-control-center).
> > 
> > http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Multitouch#Gesture_List
> 
> I had a look at that article, and wondered if you could try disabling the
> in-driver gesture recognition?
> 
> http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Multitouch#Disable_xf86-input-wacom_In-driver_2FGT_Gestures
> 
> Once you have done that, the multi-touch events should be passed on to X
> clients, and the touch scrolling of GTK+ should be used (which seems to use a
> single-finger drag for me).

I turned the gestures off, but no luck.

FWIW, this are my settings:

$ xsetwacom list
Wacom ISDv4 E6 Pen stylus       	id: 10	type: STYLUS    
Wacom ISDv4 E6 Finger touch     	id: 11	type: TOUCH     
Wacom ISDv4 E6 Pen eraser       	id: 15	type: ERASER    

$ xsetwacom get "Wacom ISDv4 E6 Finger touch" all
Option "Area" "0 0 2776 1569"
'Button' requires exactly 1 value(s).
Option "ToolDebugLevel" "0"
Option "TabletDebugLevel" "0"
Option "Suppress" "2"
Option "RawSample" "4"
Option "PressureCurve" "0 0 100 100"
Option "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
Option "Touch" "on"
Option "Gesture" "off"
Option "ZoomDistance" "121"
Option "ScrollDistance" "54"
Option "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Option "Rotate" "none"
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Option "Threshold" "0"
Option "ToolType" "278"
Option "ToolSerial" "0"
Option "ToolID" "0"
Option "ToolSerialPrevious" "1"
Option "BindToSerial" "0"
Option "TabletID" "230"

$ xinput list-props 11
Device 'Wacom ISDv4 E6 Finger touch':
	Device Enabled (132):	1
	Coordinate Transformation Matrix (134):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (254):	0
	Device Accel Constant Deceleration (255):	1.000000
	Device Accel Adaptive Deceleration (256):	1.000000
	Device Accel Velocity Scaling (257):	10.000000
	Device Node (251):	"/dev/input/event7"
	Wacom Tablet Area (264):	0, 0, 2776, 1569
	Wacom Rotation (265):	0
	Wacom Pressurecurve (266):	0, 0, 100, 100
	Wacom Serial IDs (267):	230, 1, 3, 0, 0
	Wacom Serial ID binding (268):	0
	Wacom Pressure Threshold (269):	0
	Wacom Sample and Suppress (270):	2, 4
	Wacom Enable Touch (271):	1
	Wacom Enable Touch Gesture (273):	0
	Wacom Touch Gesture Parameters (274):	121, 54, 250
	Wacom Tool Type (275):	"TOUCH" (278)
	Wacom Button Actions (276):	"None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0)
	Device Product ID (250):	1386, 230
	Wacom Debug Levels (277):	0, 0
Comment 13 Bastien Nocera 2014-08-29 17:40:50 UTC
It kind of works for me in 3.13.90, but the selection mode is still too easy to trigger.
Comment 14 GNOME Infrastructure Team 2018-05-22 14:48:24 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/evince/issues/307.