Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2-finger scroll with ms edge #2073

Closed
totaam opened this issue Dec 8, 2018 · 12 comments
Closed

2-finger scroll with ms edge #2073

totaam opened this issue Dec 8, 2018 · 12 comments
Labels

Comments

@totaam
Copy link
Collaborator Author

totaam commented Dec 8, 2018

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.

@totaam
Copy link
Collaborator Author

totaam commented Dec 8, 2018

2018-12-08 04:10:52: antoine uploaded file pointer.html (3.0 KiB)

javascript test page

@totaam
Copy link
Collaborator Author

totaam commented Dec 10, 2018

2018-12-10 18:39:26: antoine uploaded file pointer.2.html (5.4 KiB)

updated test page

@totaam
Copy link
Collaborator Author

totaam commented Dec 10, 2018

2018-12-10 20:26:46: antoine uploaded file pointer.3.html (1.5 KiB)

minimal example

@totaam
Copy link
Collaborator Author

totaam commented Dec 11, 2018

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 #1611#comment:29) so we don't support "smooth scrolling" via uinput.

@totaam
Copy link
Collaborator Author

totaam commented Dec 11, 2018

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

@totaam
Copy link
Collaborator Author

totaam commented Dec 11, 2018

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

@totaam
Copy link
Collaborator Author

totaam commented Dec 13, 2018

2018-12-13 19:41:39: maxmylyn commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Dec 13, 2018

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.

@totaam
Copy link
Collaborator Author

totaam commented Dec 13, 2018

2018-12-13 19:49:20: maxmylyn commented


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

@totaam
Copy link
Collaborator Author

totaam commented Jan 31, 2019

Fix for Firefox in r21510.

@totaam
Copy link
Collaborator Author

totaam commented Feb 7, 2019

2019-02-07 14:50:00: antoine commented


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 {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant