Open Bug 767197 Opened 12 years ago Updated 2 years ago

Linux/GTK: pressing ctrl button after releasing from two finger scroll causes page zoom

Categories

(Core :: Widget: Gtk, defect, P4)

13 Branch
All
Linux
defect

Tracking

()

People

(Reporter: andrew, Unassigned)

References

Details

(Whiteboard: tpi:+)

User Agent: Mozilla/5.0 (X11; Trisquel; Linux x86_64; rv:13.0) Gecko/20120608 Firefox/13.0 Abrowser/13.0
Build ID: 20120608235114

Steps to reproduce:

This happens to me on abrowser 13.0, and many versions prior.  I use Trisquel GNU/Linux (based on Ubuntu 11.10)

First I scroll vertically on a page with two finger scrolling. (I have a synaptic touchpad.) Then I let my fingers glide off of the surface as they move, instead of stopping them on the pad.

I press the ctrl button, even after a second or so, before the page comes to a complete stop. If the top or bottom of the page has been reached, the effect still occurs if the page would have been scrolling, but isn't.



Actual results:

The page continues to scroll ever more slowly, as expected. Then after pressing ctrl, the page zooms in or out, depending on the scroll direction.



Expected results:

The page should not have zoomed when the ctrl button was pressed, since the fingers were not touching the trackpad.

Related:

https://bugzilla.mozilla.org/show_bug.cgi?id=574663
https://bugzilla.mozilla.org/show_bug.cgi?id=669979
https://bugzilla.mozilla.org/show_bug.cgi?id=591587
Depends on: 574663
Hardware: x86_64 → All
Component: Untriaged → General
I'm getting this with any type of scroll, so I don't think this is trackpad related.
I'm still getting this in Firefox Nightly 24.0a1 (2013-05-22). Every time I scroll and then hit the control key, it zooms.
This bug is alive and kicking. It does not seem to be related to the trackpad but rather to the ballistic scroll functionality - when the CTRL key is pressed while the window is still scrolling, the browser zooms and scrolls at the same time.

The fix for this bug would be to disable the zoom functionality while a ballistic scroll is in progress, this could be done by ignoring the CTRL key until the scroll is finished.
Component: General → Event Handling
Product: Firefox → Core
Hey, this bug was fixed in SeaMonkey in 2010! In my opinion this is the single most annoying thing about Firefox on a Mac. I almost always use CTRL-PgUp and CTRL-PgDn to change tabs, and I change tabs a lot, so I hit this bug probably 3 or 4 times a day on average. Can we get this confirmed?
I'm not sure if this is (entirely) Mozilla's fault. If I have CoastingSpeed set to a value > 0, my synaptics keypad (or its driver) generates "Button 4" or "Button 5" ButtonPress + ButtonRelease events, even after I have lifted my fingers off the pad. If I press CTRL or any other modifier key, those modifiers are added to the synthetic events. You can use "xev" to check for this behaviour, the modifiers are part of the "state" field, and CTRL is 4, e.g. state changes from 0x1000 to 0x1004 while CTRL is pressed. Setting CoastingSpeed to 0 fixed this problem for me, you can either use synclient for temporary adjustments or Section "InputClass" in /etc/X11/xorg.conf to disable CoastingSpeed permanently.
Summary: pressing ctrl button after releasing from two finger scroll causes page zoom → Linux/GTK: pressing ctrl button after releasing from two finger scroll causes page zoom
Status: UNCONFIRMED → NEW
Component: Event Handling → Widget: Gtk
Ever confirmed: true
See Also: → 649770, 1199737
Reproducable on Firefox 45.0.1, Fedora 23, 64bit, Xfce4 desktop.

It's exactly the same as the author's issue. It's not voted much, but it's a small issue which can be fixed easily (in my opinion), and it's very annoying. Please fix it soon  :-(

Thank you for your hard work,
It can be fixed easily... if there's a way to distinguish the "momentum" scroll events from the regular ones, programmatically. Do you know if that's the case? Comment 8 seems to imply that it is not, at least for the setup that the commenter was using.
There's no way to distinguish between the "actual" and the "coasting" events, as far as I can tell. Each scroll increment sends a block of 5 events, and the only difference is the timestamp - and the state if you press / release e.g. the Ctrl Key. However, xev doesn't display all possible events, it's possible that xinput or some other X11 extension can provide this information, but I think that the hardware itself generates those coasting events, and not even the driver can tell how the events where generated. Someone would have to convice the maintainer of the "synaptics" Xorg driver that the default settings should be changed.

ButtonPress event, serial 41, synthetic NO, window 0x6a00001,
    root 0xd6, subw 0x6a00002, time 114740993, (45,45), root:(45,74),
    state 0x0, button 5, same_screen YES

EnterNotify event, serial 41, synthetic NO, window 0x6a00001,
    root 0xd6, subw 0x0, time 114740993, (45,45), root:(45,74),
    mode NotifyGrab, detail NotifyInferior, same_screen YES,
    focus YES, state 4096

KeymapNotify event, serial 41, synthetic NO, window 0x0,
    keys:  4294967254 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

ButtonRelease event, serial 41, synthetic NO, window 0x6a00001,
    root 0xd6, subw 0x6a00002, time 114740993, (45,45), root:(45,74),
    state 0x1000, button 5, same_screen YES

LeaveNotify event, serial 41, synthetic NO, window 0x6a00001,
    root 0xd6, subw 0x0, time 114740993, (45,45), root:(45,74),
    mode NotifyUngrab, detail NotifyInferior, same_screen YES,
    focus YES, state 0
I vaguely remember experiencing this in Debian with Iceweasel but not Chromium.

However with Fedora 23 on a Corebooted x230 laptop I am neither experiencing this problem with Chromium-browser nor with Firefox.
To be clear: the touchpad doesn't create the gliding effect on my current system.
Still happens. Workaround: Go to about:config and set mousewheel.with_control.action to 1.
Priority: -- → P4
Whiteboard: tpi:+

I'm no longer running into this issue on Fedora 33 with Firefox 83.0 and Wayland on a Corebooted x230. I see that mousewheel.with_control.action is set to the default value of 3. This touchpad does create a gliding effect after releasing my fingers in Firefox, but not in all applications, such as Gnome Terminal.

$ cat /proc/bus/input/devices
...
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input5
U: Uniq=
H: Handlers=mouse0 event4 
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=660800011000003
...
Severity: normal → S3

The severity field for this bug is relatively low, S3. However, the bug has 4 duplicates.
:stransky, could you consider increasing the bug severity?

For more information, please visit auto_nag documentation.

Flags: needinfo?(stransky)

The last needinfo from me was triggered in error by recent activity on the bug. I'm clearing the needinfo since this is a very old bug and I don't know if it's still relevant.

Flags: needinfo?(stransky)
You need to log in before you can comment on or make changes to this bug.