HOWTO : Setting Up a mouse + wheel on a traditional ps/2 port
in FBSD 5.3
Ted Mittelstaedt
tedm at toybox.placo.com
Mon Feb 28 11:05:36 GMT 2005
> -----Original Message-----
> From: owner-freebsd-questions at freebsd.org
> [mailto:owner-freebsd-questions at freebsd.org]On Behalf Of Valery
> Sent: Saturday, February 26, 2005 10:35 PM
> To: freebsd-questions at freebsd.org
> Subject: HOWTO : Setting Up a mouse + wheel on a traditional ps/2 port
> in FBSD 5.3
>
>
> * Setting Up a mouse + wheel on a traditional ps/2 port in FBSD 5.3
> ... and others ... *
>
Hey Valery, a few things on this:
This only works for mice that support the intellimouse protocol.
Simplest way to find out if your mouse supports this is to kill
the moused daemon, then issue the command:
moused -p /dev/psm0 -t auto -d -f
and read the first line, it will print out the model of the mouse
(for example MouseMan+) then move the
wheel up and down should generate a stream of events on the console
If moving the wheel generates nothing, buy a different mouse.
usb and serial mice with wheels can be tested with the same procedure
except change the port -p of course.
> 1. Must know
> ps2 bus : the ps/2 bus is mapped as /dev/psm0
> /dev/psm0 : support only 'ps/2' protocol ( moused(8) )
> moused : map /dev/psm0 as a virtual port to
> /dev/sysmouse (ie like /dev/ttyv0 is a virtual tty)
> X : work with the /dev/sysmouse virtual device as
> input device.
> xorg.conf : When setting up "Protocol" to "Auto" the protocol choosed
> by X is ps/2 which don't work for me (i don't know how to
> use a wheel with it without setting up parms for
> each apps)
> xorg.conf : setting up "Protocol" to "sysmouse" is the best
> way i find
> to use my wheel. /sysmouse/ work "natively" with xterm,
> Mozilla, and so on. No needs to change anything.
>
You should NEVER set the protocol for the mouse in either Xfree86 or
xorg to anything other than sysmouse, when using FreeBSD. And, if
your going to run X you should -always- run moused.
Per the man page if you use moused, ps/2 or auto are the only acceptable
protocols that are allowed to be set for the ps/2 port.
During the FreeBSD installation for 4.X you are asked to set these up.
> 2. Parameters
> /etc/rc.conf :
> moused -p /dev/psm0 -t ps/2
moused -p /dev/psm0 -t auto
is setup by the FreeBSD installation program and it will work just as
well.
Note - many wheel mice use a push on the wheel as a second button.
>
> /etc/X11/xorg.conf :
> Section "InputDevice"
> Identifier "Mouse0"
> Driver "mouse"
> Option "Protocol" "sysmouse"
> Option "Device" "/dev/sysmouse"
> Option "Buttons" "5"
> Option "ZAxisMapping" "X"
This probably should be:
Option "ZAxisMapping" "4 5"
In fact, the only thing that generally needs to be added to this section
is:
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
> EndSection
>
> 3. Some tips
> Testing :
> 1 - kill the moused daemon
> 2 - set mouse on console : vidcontrol -m on
> 3 - launch moused on foreground to see if it's work :
> moused -f -p /dev/psm0 -t ps/2
> 4 - press ^C to end
> 5 - if result are ok, launch moused with your previous parms
> 6 - set up rc.conf && xorg.conf as above.
> 7 - try to use a lightweight wm like IceWM or twm to test,
> it respect well X parms.
>
For testing with twm:
fill an xterm with text, scroll up and down.
firefox also supports the scroll wheel.
> 4. Comments
> i don't know why, but logoff/login or reboot your computer
> in order to
> get this stuff working properly : first time i set this parms, they
> don't work. Because i was almost sure they must work, i rebooted my
> computer and they work fine. Perhaps some guy from BSD could
> explain ...
>
I don't understand how your X server got:
> My X.log whith the 'sysmouse' protocol :
.
.
> (**) Option "ZAxisMapping" "4 5"
> (**) Mouse0: ZAxisMapping: buttons 4 and 5
when you had configured
Option "ZAxisMapping" "X"
If I knew I could probably tell you why rebooting worked.
Ted
More information about the freebsd-questions
mailing list