From Novica Paunovic:
HydraMouse enables you to assign various actions to the buttons of your mouse. It can work not only with mice with up to 5 buttons, but also with many models of multi-button mice. Features of HydraMouse are you can assign actions such as hotkeys, some of more than 100 HydraMouses predefined actions, or macros in the form of: Alt+F, U, Wait 50 ms, TAB, Enter, you can assign actions to mouse buttons, combinations of mouse buttons, combinations of keyboard keys, and mouse buttons, you may use several events for each button: Down, Up, Click, and Double-Click. For instance, you may assign different actions to Left+Right_Down and Left+Right_DblClick, you can assign actions for each application individually, or system wid, you can assign different actions to different sequences of mouse buttons, e.g., one to Left+Middle and another to Middle+Left, and you can specify that a mouse button executes alternative actions if it is clicked on an applications Title bar or the Windows Taskbar.