Re: (solved) Re: mouse scrolling activates back/forward in browser

Ronald Klop <[email protected]>
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <[email protected]>
On 4/15/21 9:11 PM, Michael Gmelin wrote:
> 
> 
>> On 15. Apr 2021, at 20:54, Ronald Klop <[email protected]> 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
>>> _______________________________________________
>>> [email protected] mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>>> To unsubscribe, send any mail to "[email protected]"
>>
>> _______________________________________________
>> [email protected] mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>> To unsubscribe, send any mail to "[email protected]"
> 

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.