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

Vladimir Kondratyev vladimir at kondratyev.su
Sun Apr 18 21:31:15 UTC 2021


On 2021-04-18 20:49, Michael Gmelin wrote:
> On Fri, 16 Apr 2021 21:38:29 +0200
> Ronald Klop <ronald-lists at klop.ws> wrote:
> 
>> On 4/16/21 9:14 PM, Michael Gmelin wrote:
>> >
>> >
>> >> 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"
> 
> Hi Ronald,
> 
> I could reproduce the issue in VirtualBox. When checking the output of
> `libinput debug-events' I can see button press and release events for
> BTN_SIDE and BTN_EXTRA (which maps to back and forward by default) 
> every
> time scrolling changes direction. After that, the proper AXIS events 
> are
> shown. Scrolling left and right also emits those events - therefore X11
> sees button 8 and 9 instead of buttons 6 and 7. So far so good. The
> problem also happens when an evdev driver is used, so it's not a
> libinput problem.
> 
> Instead of removing buttons with xmodmap, you can also use
> 
>   xinput set-button-map "IntelliMouse Explorer" 1 2 3 4 5 6 7 0 0
> 
> e.g., in ~/.xinitrc, the effect is the same.
> 
> An alternative approach is to change virtualbox to use the USB Tablet
> driver:
> 
>   VBoxManage modifyvm "VM Name" --mouse usbtablet
> 
> (or using the VirtualBox GUI) and then, inside the VM, do:
> 
>   pkg install utouch-kmod xf86-input-evdev
>   echo "utouch_load=YES" >>/boot/loader.conf

utouch-kmod is not required in 13+ anymore. Built-in hms(4) driver 
handles
absolute mouses too. To enable it just insert in to /boot/loader.conf

hw.usb.usbhid.enable=1
usbhid_load="YES"

> Create a file called /usr/local/etc/X11/xorg.d/99-vbox.conf,
> containing:
> 
>   Section "InputClass"
>       Identifier "VirtualBox Mouse"
>       MatchIsTouchscreen "on"
>       MatchDevicePath "/dev/input/event*"
>       Driver "evdev"
>   EndSection
> 
> and reboot, then start X.

libinput can handle such a devices, but it expect them to be tagged by 
udev
as mouse rather than touchscreen. I made a pull request that fixes 
libudev:
https://github.com/FreeBSDDesktop/libudev-devd/pull/21, so you can test 
it
now or wait for it to be merged.

> (in case you're not rebooting, do "kldload utouch; kldunload uhid").
> 
> You also need to make sure that Mouse Integration is enabled in
> VirtualBox.
> 
> This will essentially have the same net-result: Vertical scrolling
> works okay, no forward/back button issues, no horizontal scrolling. So
> it's not necessarily worth the trouble, but I wanted to document it
> anyway for future reference.
> 
> Ideally, there would be a solution that would allow the mouse to
> actually emit horizontal scroll events. I suspect that the reason why
> this isn't working with PS/2 emulation is in our IntelliMouse Explorer
> driver, but I don't know for sure.
> 
> Best,
> Michael

-- 
WBR
Vladimir Kondratyev


More information about the freebsd-x11 mailing list