Page Zoom conflicts Inertial Scrolling on Linux and Windows
Reported by
r...@lab.net,
Jun 24 2013
|
|||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1541.2 Safari/537.36 Steps to reproduce the problem: 1. Open a relatively long page in a tab 2. Scroll down on the trackpad 3. Finish the physical scroll control operation 3. Press the control key What is the expected behavior? Nothing should happen when pressing the control key without any other coincident action. What went wrong? While the control key is held down, Chrome converts any remaining inertial scroll into a page zoom instead. Did this work before? No Chrome version: 29.0.1541.2 Channel: dev OS Version: My specific configuration is a laptop running Ubuntu 13.04 with two-finger scrolling enabled. PS I detest control+mouse-scroll as a zoom feature, I *constantly* get accidental zooms when performing unrelated operations. I would disable this feature completely if I could.
,
Nov 27 2013
I have Chrome 31 and this is still a problem on linux. Essentially the same thing as was in Mac, so may be it would make sense to disable ctrl-scroll zoom on linux too?
,
Nov 27 2013
I can confirm this is still an issue on Windows too https://code.google.com/p/chromium/issues/detail?id=254612
,
Nov 28 2013
,
Nov 28 2013
this issue is reproducible and existing in all the channel, making as non regression issue.
,
Jan 20 2014
seeing this on ubuntu 12.10
,
Apr 30 2014
If this is still happening in Aura, this bug suggests it's an Xorg "feature" misfiring, but switching to smooth scrolling events and doing inertia in the client is the future and avoids this. https://bugs.freedesktop.org/show_bug.cgi?id=38909 (I don't have a Linux install with a touchpad, so I can't verify if it's been fixed in Aura. It reproduces in a VM on my Mac, but that might be the host OS's inertial scrolling. I asked a friend and he was able to repro on 34, so adding Proj-DesktopAura.)
,
Apr 30 2014
> 34 (Oops, off-by-one error. Not actually confirmed to still be happening in Aura.)
,
Apr 30 2014
Still reproducible using my touchpad with the dev channel, FWIW: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1964.2 Safari/537.36 Ubuntu 13.04 David, thanks for the interesting pointer to the xorg bug, I never noticed that in evince etc.
,
Apr 30 2014
> David, thanks for the interesting pointer to the xorg bug, I never noticed that in evince etc. Comment 25 on that bug suggests GTK (GTK3 I assume) uses the new events these days, which might explain why it's not in Evince. I want to say it was in all programs when I saw this bug a few years ago (which is why I knew about this Xorg behavior), but I could be misremembering.
,
Apr 30 2014
I just verified the same behavior occurs in evince and Firefox 29 and qupzilla (qt-based web browser), so it's a quite persistent and universal issue apparently. Sad face.
,
Sep 8 2014
On Ubuntu 14.04, this happens on both Chromium 37.0.2062.94/FireFox 32.0. For the time being, here's a less-than-perfect workaround (ie. completely disable 'coasting'/'flicking'): http://askubuntu.com/questions/301766/turn-off-trackpad-scroll-momentum Suggested change: Effectively ignore/cancel existing flick/scroll events from trackpad/mouse when Ctrl is pressed. Scenarios: * Scroll occurring, Ctrl pressed = no zooming * Ctrl held, scrolling occurs = zooming enabled, user can 'zoom-by-flick'
,
Oct 30 2014
I can confirm this on Google Chrome 38.0.2125.111 (Official Build 290379), using Ubuntu 14.04. It also happens when you're in inertia scroll and switch/close tabs using Ctrl+Tab/Ctrl+W.
,
Jun 5 2015
,
Jun 11 2015
For a workaround: 1. Install xbindkeys 2. Add these lines to ~/.xbindkeysrc to disable ctrl + scroll: "/bin/true" Control + b:5 + release "/bin/true" Control + b:4 + release
,
Jun 3 2016
Able to reproduce on Windows and Linux, Chrome 51.0.2704.79. The Mac fix issue 178972 removed this feature, but on Windows and Linux side we should keep this feature and check if Control key was pressed during a scroll. e.g. In |WebContentsImpl::HandleWheelEvent|, ask |MouseWheelEventQueue| if it's during a scroll https://cs.chromium.org/chromium/src/content/browser/web_contents/web_contents_impl.cc?sq=package:chromium&dr=CSs&rcl=1464952570&l=1750 However |MouseWheelEventQueue| doesn't have this information yet, which will be fixed by the scrolling latch issue 526463.
,
Jun 3 2016
Issue 606323 has been merged into this issue.
,
Jun 3 2016
Issue 254612 has been merged into this issue.
,
Jan 19 2017
Just to update: this is blocked on a resolution to issue 526463 but that's quite close to shipping so hopefully we can take a look at this in the coming quarter.
,
Jan 27 2017
Thanks for the update!
,
May 20 2017
Is this a dupe of #6136?
,
May 23 2017
issue 6136 didn't have a clear reproduce step in description, but this should be a dupe according to reporter's later comment: issue 6136 #c5. Merging into this issue as we have clearer reproduce steps and discussion here.
,
May 23 2017
Issue 6136 has been merged into this issue.
,
Oct 24 2017
This issue is highly annoying and it affects a large number of users. Please prioritize. 1. https://superuser.com/questions/243127/disable-ctrl-mouse-wheel-zooming-in-chrome 2. https://superuser.com/questions/428712/lock-disable-the-zoom-on-chrome-browser 3. https://askubuntu.com/questions/758560/delayed-touchpad-scroll-event-causes-crazy-zooming-if-top-of-the-page-is-reached 4. https://askubuntu.com/questions/301766/turn-off-trackpad-scroll-momentum There are even extensions that disable this behavior: https://chrome.google.com/webstore/detail/no-mousewheel-zoom/ckhlfagjncfmdieecfekjbpnnaekhlhd
,
Oct 24 2017
Linux workaround: unfortunately the xbindkeys solution from comment #16 no longer works for current Chrome versions. A workaround is to disable inertial scrolling completely at the OS level. For Synaptic touchpads, run this commands: synclient CoastingSpeed=0
,
Oct 24 2017
According to #20 this should still be blocked by issue 526463. Re-assigning to bokan@ as I no long work on this issue.
,
Oct 24 2017
,
Jan 16
This issue still exists in ubuntu 16.04 and google chrome: 63.0.3239.132 The workaround as mentioned by dandv@google.com is to set `synclient CoastingSpeed=0` or add `Option "CoastingSpeed" "0"` to synaptics config in Xorg (/usr/share/X11/xorg.conf.d/70-synaptics.conf in ubuntu 16.04). The problem is, that without "coasting" browser is less attractive to scroll. +1 to fix that and also fix the 526463
,
Jan 18
Issue 801874 has been merged into this issue.
,
Jan 29
I have a fix that ignores zooming if the first wheel event in the sequence doesn't have the ctrl modifier. After today's discussion with dtapuska@ and bokan@ we decided to fix the issue by distinguishing wheel events from wheel and trackpad on Windows, and Linux, and disable ctrl zoom for wheel events from trackpads.
,
Feb 12
This is a Synaptics driver bug, not a Chrome bug. Pressing the ctrl key should stop an inertial scroll (it seems to already do this, but not immediately, press another key while inertial scrolling to see this). The bug also happens in every other program that supports ctrl-scroll to zoom (Windows Explorer, Notepad++).
,
Feb 12
re comment 33 Years ago I remember using the Synaptics driver and not getting anything like this at all because the Synaptics driver did stop the inertial scroll on Ctrl key press. The Wacom driver on the other hand didn't, so one could argue it was a driver bug. They both send mouse wheel events. With Precision Touchpad (PTP) however, mouse wheel events are only sent as a fallback when PTP events aren't handled by the application. I imagine having Chrome handle PTP events natively ( Issue 575670 , Issue 647140 and Issue 779372 ) might fix the issue.
,
Feb 28
The fix for this should be landing in the next day or two behind a flag. We're hoping to have this fixed in M67.
,
Mar 25
Will this new flag allow us to disable ctrl+scroll/fling/coast zoom completely? Or only if control was pressed after the first wheel event (comment 31)? I think it would be nice to have a flag that never allows zooming regardless whether ctrl was pressed before or after the first wheel event. I imagine there wouldn't be any driver issues with that approach.
,
Mar 26
The flag is for turn on Windows Precision Touchpad support. So on Windows after the flag ctrl+scroll/fling/coast will completely disable and you can use pinch gesture to zoom.
,
Mar 26
Thank you, that sounds great! But then maybe this shouldn't be blocked on Issue #599497 ? If I'm not mistaken that's about distinguishing flings from actual scroll events (as in comment 31 here) on linux, which I guess isn't even necessary based on comment 37. So maybe it's already possible to disable ctrl+scroll/fling/coast zoom completely on linux too (even if pinch has issues), and you don't really have to deal with #599497 before making this flag available on linux as well.
,
Mar 26
re comment #38; no we need to invest in work to distinguish touchpad events from wheel events. In the current world they all look the same. So what you are asking is for us to disable ctrl-wheel entirely cause we don't know it came from the touchpad. The correct solution is to block on 599497. If you are a xinput2 expert we are always open to contributions from the community.
,
Mar 27
> If you are a xinput2 expert we are always open to contributions from the community. I'm sorry, I'm really not :) I know nothing about linux drivers, I was just catching up on tickets related to this. > no we need to invest in work to distinguish touchpad events from wheel events. In the current world they all look the same. By wheel events are you referring to scrolling with an actual mouse wheel only (and not with a touchpad)? Because I didn't realise distinguishing mouse and touchpad scroll events is an issue as well. I haven't seen that mentioned anywhere. > So what you are asking is for us to disable ctrl-wheel entirely cause we don't know it came from the touchpad. Yes, I think that would be a very reasonable compromise. Personally, I'd even prefer that, even if it disables zoom for a mouse too. Again, my assumption is you wouldn't have to fix any linux driver issues in that case (i.e. #599497), and you could just disable zoom for all scroll related events regardless the actual device, and when exactly Ctrl was pressed. And if you do manage to fix #599497 later on then I imagine you would re-enable zoom but only if Ctrl was pressed before scrolling started. Although, even then, I'd still use an extension to disable that too: https://chrome.google.com/webstore/detail/zoomtoscroll/iaehfjjafflijdgfoglcpgjpgabghcel <- on linux this can't prevent zoom if Ctrl was pressed after scrolling started, only if Ctrl was pressed first. IMO the latter happens just as often unintentionally.
,
Mar 27
Re #40 - I believe removing ctrl-wheel zooming was discussed long, long ago but torches and pitchforks came out so I guess a good chunk of folks use it, I don't think we'll remove it. Once issue 599497 is fixed we can make it so that high-precision touchpads never cause ctrl-zooming (since that's a very unintuitive gesture) but actual mouse wheel+ctrl does zoom.
,
Apr 25
Re: #41 That's ridiculous - it doesn't need to be removed. Just the ability to disable it with a simple option would eliminate a ton of unnecessary aggravation for users who experience this issue...
,
May 29
This is a very annoying behaviour. There was an entire chrome extensions https://chrome.google.com/webstore/detail/no-mousewheel-zoom/ckhlfagjncfmdieecfekjbpnnaekhlhd/ used by 10k users that served only to work around this issue (I do not know the author and have no ties with this extension). Since last chrome update it does not work, and this is a torture.
,
May 29
bigobangux@, I don't know how the extension works. I tried a common approach to prevent ctrl zoom and it works. So you may need to contact the author to update. And it is not related to this issue. This issue is about to prevent zooming when pressing ctrl and scroll on touchpad. https://jsfiddle.net/9jmgL11m/2/
,
May 29
This issue fixed by sending event with precise delta flag in Issue 599497 . |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by r...@lab.net
, Jun 24 2013