Stopped into Future Shop the other day to buy a boring, entry-level optical mouse, since I'm sick of all the ball-cleaning (HLAGHALHGL) and want to join the 20th century with a wheelmouse. For some reason no-one including the salesperson could understand, the MS Intellimouse Explorer Optical was marked down to $30 (regular $70), so I picked one up. Wow, neato! Extra buttons and everything. (The sale, if you're interested, lasts until Sept. 18.)
I had to get the extra thumb buttons working though (as X buttons 6 and 7 -- 4 and 5 are scroll-up and scroll-down). I found IMWheel, which sits between applications and the X server's mouse driver and intercepts anything that is not X, Y, or buttons 1-3. You can configure it to pass buttons 4-5 through in all or some applications, to make the scrollwheel work normally, but you can also customize any button 4-7 with control, alt, shift or a combination of modifiers (or none) to send an arbitrary set of keystrokes. I now have a scrollwheel-driven mutt, and thumb buttons to switch channels in xchat, and control-scrollwheel tab navigation in Mozilla, and workspace-switching buttons in Fluxbox, and so on.
If you have a scrollmouse, even if you don't have extra buttons, you should check IMWheel out. Of course, you quickly encounter the Custom Keybinding Problem:
<coraline> mendel: amazingly inconsistent interfaces, with per-application behaviours? golly, it sounds like you're working under X windows!
I think I will go back and buy another Intellimouse for work. Really comfy in the hands too. I avoid Microsoft's software when possible, but they really do a decent job on hardware.
Also: My sweetie cooks for me. I have it so good.