First, install
FreeBSD 4.3-RELEASE (which is the latest release as of this writing, and supports
USB mice out of the box). Once you get the
box booting, login as
root and do:
dmesg | grep usb
And make sure you see something like what I have:
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Now, you need to load the USB mouse module, so it can attach to a mouse device that you connect. To do this, do:
kldload ums
...and plug in your mouse. Now do:
dmesg | grep ums
And you should see:
ums0: Logitech USB Mouse, rev 1.10/6.10, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
Now, for the tricky part, getting it to run under the X Window System. This actually isn't too hard, assuming you're able to get XF86Setup working for you. First, in the shell prompt, still as root, do the following:
killall moused
moused -p /dev/ums0
Use XF86Setup to get the keyboard configuration all set, then proceed to the mouse section. Here, you want to set the mouse protocol as "sysmouse", and set the mouse device as "/dev/sysmouse". I know it's really /dev/ums0, but what moused does is translate the USB signals and map them to the more ubiquitous protocol of /dev/sysmouse, which makes the mouse accessible to X11. For the record, I had no problems getting this to work, and my mouse is even hot-swappable as any USB device ought to be.