5-Button Trackball

Steve D groups at xscd.com
Fri Feb 6 20:14:13 PST 2004

On Friday 06 February 2004 07:24 pm, Jeff Elkins wrote:

> I'm using a 5-button Microsoft Trackball/Explorer (a gift) that
> functions perfectly under Debian Unstable/KDE3.1
> Section "InputDevice"
>       Identifier "Mouse0"
>       Driver     "mouse"
>       Option "Protocol"        "auto"
>       Option "Device"          "/dev/sysmouse"
>       Option "ZAxisMapping"    "4 5"
>       Option "Buttons"         "5"
> EndSection
> but only three of the buttons are functional. Are there any tips
> for making this beast work with FreeBSD 5.2?
--- --- ---

I don't know if this will help you, but I'll describe how I got my 
trackball (a Logitech Marble Mouse USB) to work with FreeBSD 
(currently using 5.1). I used xev in X during the process in order to 
see what X thought was happening when I pressed various buttons or 
moved the trackball on the mouse.

Like you, I use the FreeBSD mouse daemon (moused) in the XF86Config 
file (Option "Device"  "/dev/sysmouse"). My trackbal has two large 
buttons, one on either side, and two smaller buttons located just at 
the top side of the larger buttons, one on each side. Those are 
normally used for scrolling in Windows or the MacOS.

Although the trackball has only four buttons, I used 'Options 
"Buttons" "5"' in XF86Config because I set the mouse daemon to 
emulate a third (middle) button with the -3 option.

In addition, I wanted to enable scrolling. So my XF86Config looks like 
yours with respect to the following:

       Option "ZAxisMapping"    "4 5"
       Option "Buttons"         "5"

So, even though my trackball only has four buttons, I told X that it 
has 5 (four physical buttons and an additional virtual middle button 
supplied by the mouse daemon, used by pressing both the left and 
right buttons at the same time). In addition, because I am asking X 
to use the mouse daemon (/dev/sysmouse), I gave the mouse daemon an 
extra flag:

-z 4

which tells the mouse daemon to report a z-axis movement (vertical 
scrolling) when the fourth button is pressed and held while the 
trackball is moved. When X starts and I press the fourth button (the 
small button above the large left button) while moving the trackball, 
the FreeBSD mouse daemon (moused) reports z-axis movement to X just 
as though I were repeatedly pressing a fourth and fifth button for 
"up" and "down" scrolling, so the 'Option "ZAxisMapping" "4 5"' in 
XF86Config works.

So, to summarize, in my XF86Config file I have:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "Auto"
        Option      "Device" "/dev/sysmouse"
        Option      "Buttons" "5"
        Option      "ZAxisMapping" "4 5"

--notice that there is no 'Option "Emulate3Buttons"' in my XF86Config 
file--the FreeBSD mouse daemon does the emulation instead, both on 
the command line and for XFree86--

and my /etc/rc.conf file includes:

# the port listed above refers to my USB, not a PS/2, trackball
moused_flags="-3 -z 4"

Best wishes,

Steve D
New Mexico, US
I have not a particle of confidence in a man who has no redeeming 
vices. -Mark Twain

More information about the freebsd-questions mailing list