Date: Fri, 16 Apr 2021 21:05:07 +0200 From: Ronald Klop <ronald-lists@klop.ws> To: Michael Gmelin <freebsd@grem.de> Cc: freebsd-x11@freebsd.org Subject: Re: (solved) Re: mouse scrolling activates back/forward in browser Message-ID: <dcef9454-285c-fa97-ed42-4b15b74cd77c@klop.ws> In-Reply-To: <6FC4DD6A-188F-44C3-87EF-CF008A463FB6@grem.de> References: <717e4ad7-07f5-c5fa-9f16-832eb724dc48@klop.ws> <6FC4DD6A-188F-44C3-87EF-CF008A463FB6@grem.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 4/15/21 9:11 PM, Michael Gmelin wrote: > > >> On 15. Apr 2021, at 20:54, Ronald Klop <ronald-lists@klop.ws> wrote: >> >> On 4/15/21 9:53 AM, Ronald Klop wrote: >>> Hi, >>> When I use the scrollwheel of the mouse my browser triggers back/forward. What happens is this: >>> If I scroll up (button 4) after scrolling down (button 5) it triggers button 8 and 9. >>> I see it generating a ButtonPress 8/9 if I go down and than up. And a ButtonRelease 8/9 if I first go up and than down. >>> I have no config in /etc/X11. Xorg logs: https://www.klop.ws/Xorg.0.log >>> This happens on the trackpad of the laptop and with a bluetooth connected mouse. >>> What makes it a little more complex is that this is running FreeBSD 14 in VirtualBox on Windows 10 with. NB: It happened in Virtualbox 5 and now in 6 also. >>> This started around a year ago. > > That’s because we switched to udev/libinput by default around that time. > >>> https://lists.freebsd.org/pipermail/freebsd-ports/2020-March/117879.html But didn't have time to look into it. >>> Any thoughts or similar experiences? >>> Regards, >>> Ronald. >> >> >> Some more googling found this: https://forums.freebsd.org/threads/mouse-wheel-strange-behavior-with-firefox.57494/ >> >> Just removed button 8 and 9. >> xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 10 11 12" >> >> Still don't understand the root cause of this, but this helps a lot. >> > > Could you share the output of: > - libinput list-devices Device: System mouse Kernel: /dev/input/event0 Group: 1 Seat: seat0, default Capabilities: pointer Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: disabled Nat.scrolling: disabled Middle emulation: disabled Calibration: n/a Scroll methods: button Click methods: none Disable-w-typing: n/a Accel profiles: flat *adaptive Rotation: n/a Device: System keyboard multiplexer Kernel: /dev/input/event1 Group: 2 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Rotation: n/a Device: AT keyboard Kernel: /dev/input/event2 Group: 3 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Rotation: n/a Device: IntelliMouse Explorer Kernel: /dev/input/event3 Group: 4 Seat: seat0, default Capabilities: pointer Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: disabled Nat.scrolling: disabled Middle emulation: disabled Calibration: n/a Scroll methods: button Click methods: none Disable-w-typing: n/a Accel profiles: flat *adaptive Rotation: n/a > - xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ System mouse id=6 [slave pointer (2)] ⎜ ↳ IntelliMouse Explorer id=9 [slave pointer (2)] ⎜ ↳ (unnamed) id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ System keyboard multiplexer id=7 [slave keyboard (3)] ↳ AT keyboard id=8 [slave keyboard (3)] > > Then, for each mouse device shown by `xinput list', the output of `xinput list-props <device>'. $ xinput list-props 2 Device 'Virtual core pointer': Device Enabled (117): 1 Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 $ xinput list-props 4 Device 'Virtual core XTEST pointer': Device Enabled (117): 1 Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 XTEST Device (229): 1 $ xinput list-props 6 Device 'System mouse': Device Enabled (117): 1 Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (240): 0 libinput Natural Scrolling Enabled Default (241): 0 libinput Scroll Methods Available (242): 0, 0, 1 libinput Scroll Method Enabled (243): 0, 0, 0 libinput Scroll Method Enabled Default (244): 0, 0, 0 libinput Button Scrolling Button (245): 2 libinput Button Scrolling Button Default (246): 2 libinput Button Scrolling Button Lock Enabled (247): 0 libinput Button Scrolling Button Lock Enabled Default (248): 0 libinput Middle Emulation Enabled (249): 0 libinput Middle Emulation Enabled Default (250): 0 libinput Accel Speed (251): 0.000000 libinput Accel Speed Default (252): 0.000000 libinput Accel Profiles Available (253): 1, 1 libinput Accel Profile Enabled (254): 1, 0 libinput Accel Profile Enabled Default (255): 1, 0 libinput Left Handed Enabled (256): 0 libinput Left Handed Enabled Default (257): 0 libinput Send Events Modes Available (258): 1, 0 libinput Send Events Mode Enabled (259): 0, 0 libinput Send Events Mode Enabled Default (260): 0, 0 Device Node (261): "/dev/input/event0" Device Product ID (262): 0, 0 libinput Drag Lock Buttons (263): <no items> libinput Horizontal Scroll Enabled (264): 1 $ xinput list-props 9 Device 'IntelliMouse Explorer': Device Enabled (117): 1 Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (240): 0 libinput Natural Scrolling Enabled Default (241): 0 libinput Scroll Methods Available (242): 0, 0, 1 libinput Scroll Method Enabled (243): 0, 0, 0 libinput Scroll Method Enabled Default (244): 0, 0, 0 libinput Button Scrolling Button (245): 2 libinput Button Scrolling Button Default (246): 2 libinput Button Scrolling Button Lock Enabled (247): 0 libinput Button Scrolling Button Lock Enabled Default (248): 0 libinput Middle Emulation Enabled (249): 0 libinput Middle Emulation Enabled Default (250): 0 libinput Accel Speed (251): 0.000000 libinput Accel Speed Default (252): 0.000000 libinput Accel Profiles Available (253): 1, 1 libinput Accel Profile Enabled (254): 1, 0 libinput Accel Profile Enabled Default (255): 1, 0 libinput Left Handed Enabled (256): 0 libinput Left Handed Enabled Default (257): 0 libinput Send Events Modes Available (258): 1, 0 libinput Send Events Mode Enabled (259): 0, 0 libinput Send Events Mode Enabled Default (260): 0, 0 Device Node (261): "/dev/input/event3" Device Product ID (262): 2, 1 libinput Drag Lock Buttons (263): <no items> libinput Horizontal Scroll Enabled (264): 1 $ xinput list-props 10 Device '(unnamed)': Device Enabled (117): 1 Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (236): 0 Device Accel Constant Deceleration (237): 1.000000 Device Accel Adaptive Deceleration (238): 1.000000 Device Accel Velocity Scaling (239): 10.000000 > > (xinput run in a xterm or similar using some utf-8 locale, e.g. LANG=en_US.UTF-8). xfce4-terminal with LANG=C.UTF-8 > > And just to be sure, double check which config files exist in /etc/X11 and /usr/local/etc/xorg.d. /etc/X11 is empty /usr/local/etc/xorg.d does not exist /usr/local/etc/X11/xorg.conf.d/ is empty NB: all information above is retrieved while the xmodmap setting was active. I don't know if that matters. Regards, Ronald. > > Best, > Michael > >> Regards, >> Ronald. >> >> >>> Output of xev: >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183573903, (25,45), root:(968,1279), >>> state 0x1000, button 5, same_screen YES >>> LeaveNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183573903, (25,45), root:(968,1279), >>> mode NotifyUngrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 0 >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183575432, (25,45), root:(968,1279), >>> state 0x0, button 5, same_screen YES >>> EnterNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183575432, (25,45), root:(968,1279), >>> mode NotifyGrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 4096 >>> KeymapNotify event, serial 38, synthetic NO, window 0x0, >>> keys: 29 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 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183575432, (25,45), root:(968,1279), >>> state 0x1000, button 5, same_screen YES >>> LeaveNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183575432, (25,45), root:(968,1279), >>> mode NotifyUngrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 0 >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183576483, (25,45), root:(968,1279), >>> state 0x0, button 4, same_screen YES >>> EnterNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183576483, (25,45), root:(968,1279), >>> mode NotifyGrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 2048 >>> KeymapNotify event, serial 38, synthetic NO, window 0x0, >>> keys: 29 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 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183576483, (25,45), root:(968,1279), >>> state 0x800, button 4, same_screen YES >>> LeaveNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183576483, (25,45), root:(968,1279), >>> mode NotifyUngrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 0 >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x3200002, time 183576483, (25,45), root:(968,1279), >>> state 0x0, button 8, same_screen YES >>> EnterNotify event, serial 38, synthetic NO, window 0x3200001, >>> root 0x51d, subw 0x0, time 183576483, (25,45), root:(968,1279), >>> mode NotifyGrab, detail NotifyInferior, same_screen YES, >>> focus YES, state 0 >>> KeymapNotify event, serial 38, synthetic NO, window 0x0, >>> keys: 29 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 >>> $ xev | grep -i button # for a shorter list >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 8, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 9, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 4, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x800, button 4, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 8, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 9, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> ButtonPress event, serial 38, synthetic NO, window 0x3200001, >>> state 0x0, button 5, same_screen YES >>> ButtonRelease event, serial 38, synthetic NO, window 0x3200001, >>> state 0x1000, button 5, same_screen YES >>> _______________________________________________ >>> freebsd-x11@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11 >>> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org" >> >> _______________________________________________ >> freebsd-x11@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-x11 >> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dcef9454-285c-fa97-ed42-4b15b74cd77c>