Adventurous fix for wheel mouse not working in FreeBSD 6.0

johnwrussell at comcast.net johnwrussell at comcast.net
Tue Dec 6 23:03:54 PST 2005


After installing FreeBSD 6.0, I was no longer able to scroll using the wheel on my Logitech Optical Mouse.  I ran moused with the -fd flags and confirmed that the  mouse daemon was catching the z-axis events.  My xorg.conf looked OK to me:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Device" "/dev/sysmouse"
        Option      "CorePointer"
        Option      "AlwaysCore"
        Option      "Protocol" "Auto"
        Option      "Buttons" "5"
        Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "no"
EndSection

I struggled for days and tried dozens of things.  I came to suspect that the
problem was related to changes in the way ZAxisMapping is handled by Xorg.  Based on stuff in an Xorg mailing list, I suspect further changes, likely  to be corrective, will be in future versions of the FreeBSD xorg-server port.

However, for the adventurous and impatient, this is what I did to fix my problem: 

1.  Edit /usr/ports/x11-servers/xorg-server/work/xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c
and change from NULL to "4 5" in the following line:

530c530
<     s = xf86SetStrOption(pInfo->options, "ZAxisMapping", "4 5");
---
>     s = xf86SetStrOption(pInfo->options, "ZAxisMapping", NULL);

2.  portupgrade -Wwf xorg-server 

3.  Restart the X server with CTRL-ALT-Backspace.

I don't really know why it works, so I recommend it only for daredevils, unless someone wiser can say it is sound.

Cheers,

John


More information about the freebsd-stable mailing list