The one written for your mouse by the manufacture. John
I have a Logitech MX1000 mouse, the supplied software lets you make a single keymap of the various buttons which isnt much use when Im playing games as I would have to change the map everytime I change game or application.
Now I am currently using Microsoft intellimouse 5.2 which allows program specific settings so when I change games the keymap alters accordingly. The trouble is the intellimouse software dosent recognise all the buttons on the MX1000 (the tilt wheel for example) Ideally I would like a compromise between the two.
Is there such a thing that will allow program specific settings for ALL the mouse buttons?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic