The mouse should be easily reconfigurable per application, window or tab. To have an icon in the system tray indicating the current mouse profile and to easily switch to another using hot-keys, mouse buttons or via a click on the icon. Each click or chord of the mouse can be remapped to whatever mouse click or key combination the user requires. As an example X-Mouse Button Control does this on Microsoft Windows.
What's the use case? What are you trying to do where this would be helpful?
If the mouse keys and buttons are reconfigured to suit the user, that's one profile, however some programs/tabs might be better with other mappings (or defaults) that's another profile. A couple of simple examples: * In the web browser to have the mouse wheel mostly do scroll up and down by user specified number of lines but with maps to do zoom in and out. * Middle button for paste but in some other program to do double click, or run a small key macro.
Gotcha. This would of course require the ability to configure what the buttons do in the first place, which means it's blocked on Bug 34362 and Bug 171295.