(solved) Re: mouse scrolling activates back/forward in browser
Ronald Klop
ronald-lists at klop.ws
Fri Apr 16 19:05:11 UTC 2021
On 4/15/21 9:11 PM, Michael Gmelin wrote:
>
>
>> On 15. Apr 2021, at 20:54, Ronald Klop <ronald-lists at 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 at freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>>> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
>>
>> _______________________________________________
>> freebsd-x11 at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
>
More information about the freebsd-x11
mailing list