New issue
Advanced search Search tips

Issue 629362 link

Starred by 3 users

Issue metadata

Status: Archived
Owner: ----
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Touchscreen treated as normal mouse without --touch-devices

Reported by ande...@mit.edu, Jul 19 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.75 Safari/537.36

Steps to reproduce the problem:
1. Open a long web page.
2. Try to scroll it by moving a finger up and down on the touch screen.

What is the expected behavior?
The web page scrolls.

What went wrong?
The finger movements are interpreted as normal mouse clicks and trigger text selection instead of scrolling.

Did this work before? N/A 

Chrome version: 52.0.2743.75  Channel: beta
OS Version: Ubuntu 16.10
Flash Version: Shockwave Flash 22.0 r0

This is similar to  bug 486492 , which was closed last year.  Following some of the pointers there, I ran

$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Elantech PS/2 TrackPoint                	id=14	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=15	[slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger touch	id=10	[slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus	id=11	[slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser	id=17	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=12	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=16	[slave  keyboard (3)]

and started Chrome with --touch-devices=10; then touch scrolling works as expected.  However, the comments on that issue are clear that --touch-devices is intended only for debugging and it’s supposed to work by default.

The output of xinput list --long is attached, in case that’s helpful.  The Finger touch (id=10) device is listed with Type: XITouchClass, Touch mode: direct.
 
xinput-list-long.txt
10.8 KB View Download

Comment 1 by mustaq@chromium.org, Jul 20 2016

Cc: sadrul@chromium.org
cc-ing sadrul@ in the likely case he knows what's going on here.

Comment 2 by sadrul@chromium.org, Jul 20 2016

I have an Acer T230H touchscreen, and touch works as expected in chrome (in both attached and floating mode). Try floating the touchscreen device 'xinput float 10' (you can undo by 'xinput reattach 10 2'), and see if that helps.

Also, can you run 'xinput test-xi2', use the touchscreen for a bit, and attach the output in this bug? (when you touch the screen, you should see TouchBegin/TouchUpdate/TouchEnd events in the log)

PS: consider running with a different profile (e.g. with this flag: --user-data-dir=/tmp/chrome-test) to make sure some setting from chrome:flags isn't affecting it.

Comment 3 by ande...@mit.edu, Jul 21 2016

For me it works in floating mode but not attached mode.  Same in a fresh profile.  xinput test-xi2 logs in both modes are attached, though I do not see TouchBegin/TouchUpdate/TouchEnd events in either mode.  I’m using a ThinkPad Yoga 14 type 20FY.
test-xi2-attached.txt
136 KB View Download
test-xi2-floating.txt
54.0 KB View Download

Comment 4 by sadrul@chromium.org, Jul 28 2016

With attached, it looks like x11 is not sending touch events even in 'xinput test-xi2'. So there's not a lot chrome can do about it if x11 isn't sending the right events.
I'm having a similar problem with a Surface Pro 3 running Fedora 25 beta, which uses Gnome on Wayland by default. Touch behavior works as expected in all Gnome apps, but Chromium does not respond to tapping and pinching. Sometimes it partially responds with a 'hover' behavior, e.g., showing a tooltip in my bookmarks bar. (When reverting to Gnome on Xorg, Chromium behaves as expected.)

xinput reports:
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:14                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-touch:14                       	id=8	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:14                    	id=7	[slave  keyboard (3)]

Running with --touch-devices=8 or 2 does not change anything; also tried with a new user profile as suggested above.

xinput test-xi2 produces output as expected, like this for a simple tap:
EVENT type 22 (RawTouchBegin)
    device: 2 (8)
    detail: 95
    valuators:
          0: 82.00 (82.00)
          1: 212.00 (212.00)

EVENT type 7 (Enter)
    device: 2 (8)
    windows: root 0x273 event 0x1400001 child 0x0
    mode: NotifyNormal (detail NotifyVirtual)
    flags: [focus] [same screen]
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    root x/y:  81.00 / 211.00
    event x/y: 81.00 / 82.00
EVENT type 6 (Motion)
    device: 2 (8)
    detail: 0
    flags: emulated
    root: 81.98/211.85
    event: 81.98/82.85
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        0: 82.00
        1: 212.00
    windows: root 0x273 event 0x1400001 child 0x1400002
EVENT type 8 (Leave)
    device: 2 (8)
    windows: root 0x273 event 0x1400001 child 0x0
    mode: NotifyNormal (detail NotifyVirtual)
    flags: [focus] [same screen]
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    root x/y:  81.00 / 211.00
    event x/y: 81.00 / 82.00
EVENT type 23 (RawTouchUpdate)
    device: 2 (8)
    detail: 95
    valuators:
          0: 82.00 (82.00)
          1: 212.00 (212.00)

EVENT type 24 (RawTouchEnd)
    device: 2 (8)
    detail: 95
    valuators:
          0: 82.00 (82.00)
          1: 212.00 (212.00)

Seems like everything is basically there but Chromium still doesn't know where to find the touch device input even when forced with --touch-devices ... might there be another simple workaround to give it a shot? This is the only thing stopping me from using Wayland full-time.

Comment 6 Deleted

By the way, this occurs both with the build that ships with Fedora 25beta (53.x) and a recent developer build: 54.0.2840.59

It also occurred with the Chromium build that ships with Fedora 24 (on Wayland), before I upgraded to 25beta.
update: touch works again with the latest updates to Fedora25 beta (presumably to Xwayland) and Chromium 54.0.2840.59. For reference, xinput now reports:
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:14                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:14            	id=7	[slave  pointer  (2)]
⎜   ↳ xwayland-touch:14                       	id=9	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:14                    	id=8	[slave  keyboard (3)]

Project Member

Comment 9 by sheriffbot@chromium.org, Oct 30 2017

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment