Xpra: Ticket #2073: 2-finger scroll with ms edge

As per Edge does not fire wheel events when scrolling using the 2-finger scroll gesture on a Precision Touchpad (well worth a read - some of the comments are pure gold).


Sat, 08 Dec 2018 04:07:47 GMT - Antoine Martin: status changed

On regular browsers, we see pairs of events:

new: pointermove PointerEvent {isTrusted: true, pointerId: 1, width: 1, height: 1, pressure: 0, …}
new: mousemove MouseEvent {isTrusted: true, screenX: 430, screenY: 238, clientX: 430, clientY: 109, …}

With ms edge when using two finger scrolling, we see just the pointermove.

Sat, 08 Dec 2018 04:10:52 GMT - Antoine Martin: attachment set

javascript test page

Mon, 10 Dec 2018 18:39:26 GMT - Antoine Martin: attachment set

updated test page

Mon, 10 Dec 2018 20:26:46 GMT - Antoine Martin: attachment set

minimal example

Tue, 11 Dec 2018 00:56:36 GMT - Antoine Martin:

Basic workaround merged in r21198.

Still TODO: make it an option so we can choose between "zoom" and "scroll" modes for the touchpad since we can't have both... and don't enable those workarounds unless we really need them (ie: other browsers don't). That's because the touch-action attribute doesn't allow us to intercept scroll events without also intercepting zoom events.

The proper way to deal with this would be to forward all touch events to the server (#1615), without emulating a wheel event, so that the server could take the appropriate action based on the touch gesture.

Related: there are issues with uinput support (see ticket:1611#comment:29) so we don't support "smooth scrolling" via uinput.

Tue, 11 Dec 2018 20:35:12 GMT - Antoine Martin:

r21200 allows pointer events to bubble up, which allows most browsers to zoom anywhere, just not msedge..

Tue, 11 Dec 2018 23:56:20 GMT - Antoine Martin: owner, status changed

r21208 adds a rather ugly top bar menu entry so that msedge users can choose between scrolling and zooming with touch events.

Thu, 13 Dec 2018 19:41:38 GMT - J. Max Mena:

Essentially, I do not have access to a Windows 10 device with MS Edge installed to test with at this time. I'm working to update my Windows 10 tablet, but it looks like it's caught in a Microsoft catch 22:

Need disk space to update, so updates have hung.

This machine only has a 16GB Windows partition, and it's only got 3GB free and the only things I have installed on it are Google Chrome and FTL (A game totaling ~700MB).

I'll ponder this one for a bit. If this ticket is urgent, please pass it to Alex.

Thu, 13 Dec 2018 19:45:13 GMT - Antoine Martin:

Essentially, I do not have access to a Windows 10 device with MS Edge installed to test with at this time.

It's not just msedge you need but a "precision touchpad" device.

Thu, 13 Dec 2018 19:49:19 GMT - J. Max Mena:

Okay, in that case I don't think I own a single device that qualifies.

Thu, 31 Jan 2019 10:46:18 GMT - Antoine Martin:

Fix for Firefox in r21510.

Thu, 07 Feb 2019 14:49:59 GMT - Antoine Martin:

I've kept this change in my local tree - but I'm not sure what for..

--- html5/css/client.css	(revision 21584)
+++ html5/css/client.css	(working copy)
@@ -7,7 +7,7 @@
 div.window canvas {
-	touch-action: none;
+	touch-action: auto;
 body.desktop {

Sat, 09 Feb 2019 03:44:18 GMT - Antoine Martin: owner changed

Thu, 01 Aug 2019 12:01:21 GMT - Smo: owner changed

Tue, 22 Oct 2019 08:43:14 GMT - Antoine Martin: status changed; resolution set

Sat, 23 Jan 2021 05:41:29 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2073