(solved) Re: mouse scrolling activates back/forward in browser
Michael Gmelin
freebsd at grem.de
Fri Apr 16 19:14:30 UTC 2021
> On 16. Apr 2021, at 21:05, Ronald Klop <ronald-lists at klop.ws> wrote:
>
> 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.
>
It would be interesting to see the ‘xinput list-props’ ones without the xmodmap setting active for comparison.
This is with a touchpad and a USB mouse ans you’re using virtual box, correct?
Also, could you maybe share your virtual machine configuration (I don’t know where it’s stored on windows, but it should be an XML file somewhere in $HOME/VirtualBox VMs/VM Name).
Best,
Michael
> 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