I have a Logitech 2 button optical USB mouse, with a wheel, and I cannot
get it to work properly in x. If I move the mouse around, the cursor
goes to the top-left corner, and bounces around that area. I have tried
different protocols, such as Microsoft and IMPS/2, and tried to follow

the steps outlines on various sites, but I am lost.

Most recently, I tried the guide at
http://www.linux-usb.org/USB-guide/x194.html, but got confused at the
very first part. It says:
"In the kernel configuration stage, you need to turn on USB Human
Interface Device (HID) support in the USB support and Mouse Support in
the Input core support."
I'm not sure what they mean by kernel configuration stage? Do they mean
during the initial setup? Will I have to rebuild my kernel to get this
to work? It also says I'll need to load the input.o, hid.o, and
mousedev.o modules. I don't have these. Are these in the kernel
source, for me to add when I rebuild?

Since you're getting activity from the mouse, that means the kernel has
support for the mouse -- no need to (re)compile a kernel.

Since you're tried different protocols, that leads me to three possible
conclusions: 1) you haven't tried the right protocol; 2) your mouse is
"broken" in regard to the protocols available; and 3) your X mouse
driver is conflicting with the console mouse driver (gpm). Of these, I
suspect #3 is your problem.

To test #3, press Ctrl-Alt-F1 to switch to the first virtual terminal;
move the mouse. Do you see a square cursor moving around? If so, you
have gpm running, and it's nearly certain that you just need to get the
two drivers to play nice together.

Another way to test #3 is to run "ps ax | grep [g]pm"; if you see a line
like:

180 ? S 0:00 /usr/sbin/gpm -m /dev/input/mice -t imps2 -Rraw

then yep, you've got gpm running; you just need to get the two drivers
to play nice together.

If that's the case, post that info and we'll help you to get the two
drivers to work together.