Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Apr 2021 21:14:25 +0200
From:      Michael Gmelin <freebsd@grem.de>
To:        Ronald Klop <ronald-lists@klop.ws>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: (solved) Re: mouse scrolling activates back/forward in browser
Message-ID:  <806D1887-2275-48C5-9CA4-715E3F57C6DB@grem.de>
In-Reply-To: <dcef9454-285c-fa97-ed42-4b15b74cd77c@klop.ws>
References:  <dcef9454-285c-fa97-ed42-4b15b74cd77c@klop.ws>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 16. Apr 2021, at 21:05, Ronald Klop <ronald-lists@klop.ws> wrote:
>=20
> =EF=BB=BFOn 4/15/21 9:11 PM, Michael Gmelin wrote:
>>>> On 15. Apr 2021, at 20:54, Ronald Klop <ronald-lists@klop.ws> wrote:
>>>=20
>>> =EF=BB=BFOn 4/15/21 9:53 AM, Ronald Klop wrote:
>>>> Hi,
>>>> When I use the scrollwheel of the mouse my browser triggers back/forwar=
d. What happens is this:
>>>> If I scroll up (button 4) after scrolling down (button 5) it triggers b=
utton 8 and 9.
>>>> I see it generating a ButtonPress 8/9 if I go down and than up. And a B=
uttonRelease 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 connect=
ed mouse.
>>>> What makes it a little more complex is that this is running FreeBSD 14 i=
n VirtualBox on Windows 10 with. NB: It happened in Virtualbox 5 and now in 6=
 also.
>>>> This started around a year ago.
>> That=E2=80=99s because we switched to udev/libinput by default around tha=
t time.
>>>> https://lists.freebsd.org/pipermail/freebsd-ports/2020-March/117879.htm=
l But didn't have time to look into it.
>>>> Any thoughts or similar experiences?
>>>> Regards,
>>>> Ronald.
>>>=20
>>>=20
>>> Some more googling found this: https://forums.freebsd.org/threads/mouse-=
wheel-strange-behavior-with-firefox.57494/
>>>=20
>>> Just removed button 8 and 9.
>>> xmodmap -e "pointer =3D 1 2 3 4 5 6 7 0 0 10 11 12"
>>>=20
>>> Still don't understand the root cause of this, but this helps a lot.
>>>=20
>> Could you share the output of:
>> - libinput list-devices
>=20
>=20
> 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
>=20
> 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
>=20
> 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
>=20
> 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
>=20
>=20
>> - xinput list
>=20
>=20
> =E2=8E=A1 Virtual core pointer                        id=3D2    [master po=
inter  (3)]
> =E2=8E=9C   =E2=86=B3 Virtual core XTEST pointer                  id=3D4  =
  [slave  pointer  (2)]
> =E2=8E=9C   =E2=86=B3 System mouse                                id=3D6  =
  [slave  pointer  (2)]
> =E2=8E=9C   =E2=86=B3 IntelliMouse Explorer                       id=3D9  =
  [slave  pointer  (2)]
> =E2=8E=9C   =E2=86=B3 (unnamed)                                   id=3D10 =
   [slave  pointer  (2)]
> =E2=8E=A3 Virtual core keyboard                       id=3D3    [master ke=
yboard (2)]
>    =E2=86=B3 Virtual core XTEST keyboard                 id=3D5    [slave =
 keyboard (3)]
>    =E2=86=B3 System keyboard multiplexer                 id=3D7    [slave =
 keyboard (3)]
>    =E2=86=B3 AT keyboard                                 id=3D8    [slave =
 keyboard (3)]
>=20
>=20
>> Then, for each mouse device shown by `xinput list', the output of `xinput=
 list-props <device>'.
>=20
>=20
>=20
> $ 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
>=20
> $ 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
>=20
> $ 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
>=20
> $ 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
>=20
> $ 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
>=20
>=20
>> (xinput run in a xterm or similar using some utf-8 locale, e.g. LANG=3Den=
_US.UTF-8).
> xfce4-terminal with LANG=3DC.UTF-8
>=20
>> And just to be sure, double check which config files exist in /etc/X11 an=
d /usr/local/etc/xorg.d.
>=20
> /etc/X11 is empty
> /usr/local/etc/xorg.d does not exist
> /usr/local/etc/X11/xorg.conf.d/ is empty
>=20
> NB: all information above is retrieved while the xmodmap setting was activ=
e. I don't know if that matters.
>=20

It would be interesting to see the =E2=80=98xinput list-props=E2=80=99 ones w=
ithout the xmodmap setting active for comparison.

This is with a touchpad and a USB mouse ans you=E2=80=99re using virtual box=
, correct?

Also, could you maybe share your virtual machine configuration (I don=E2=80=99=
t know where it=E2=80=99s stored on windows, but it should be an XML file so=
mewhere in $HOME/VirtualBox VMs/VM Name).

Best,
Michael

> Regards,
> Ronald.
>=20
>=20
>=20
>=20
>> Best,
>> Michael
>>> Regards,
>>> Ronald.
>>>=20
>>>=20
>>>> 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"
>>>=20
>>> _______________________________________________
>>> 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?806D1887-2275-48C5-9CA4-715E3F57C6DB>