iMouse is a Windows application to enable right-button functionalities for single-button mice.
It should be very helpful for those who run Windows XP on their Mac Book Pros (thanks to Boot Camp!), which have only one button trackpads.
Windows applications heavily depends on right-button, and iMouse comes to rescue - just click and hold for more than 0.3 seconds to enable right-button mode on your single-button mouse/trackpad, and the mouse will enter right-button mode. The next click will then be a right-click (or a right-button drag, or whatever). Alternatively, pressing and holding the Capslock key will also enable the right-button mode (it is so smart that if you push the button quickly, you will still get to switch the Caps mode). Note that the Capslock will be switched back to its original state after the right-button mode is enabled. (If you still don't get it, just try iMouse.)
However, iMouse is not exactly like what a single button mouse would do in MacOSX (that is, click and hold and the context menu would directly popup.). Instead, iMouse enables the right-button mode for the single button. I did this because of two reasons. One, programmingly it is hard to "de-register" a left-button-down message for the current window (I tried and gave up). Secondly, in Windows the right-button is more than just a context-menu trigger, it does other things. (For example, right-click and drag a file. Try it and you will know.)
The following is the letter I sent to Russ regarding his suggestions of making iMouse behave exactly the same as in MacOSX.
Hi Russ,
One more reason I didn't implement this is that, in Windows, right-click has different meanings than in MacOSX. It is more than just a way to trigger context menu. (It is even more so when using some applications such as 3D Studio and so on).
For example, in Windows, with a two-button mouse, you can right-click a file and drag it from a folder to another. Once you release the right-button, a menu will popup for you to choose the actions you want: Copy, Move, Create Shortcut, or Cancel. It is very hard to mimic this action with a single button mouse in the way you stated in your last Email. How long should I wait before poping up the menu? What if the user is dragging the file around, hovering, but hasn't decided which folder he wants to drag the file in? If the menu popups up in this case, it will be too annoying.
Furthermore, another critical reason is that in Windows, a right-button click is actually performed in two stages: right-button-down and right-button-up. The context menu is probably triggered by right-button-up. But if iMouse only mimics right_button_up, it would not be able to perform right-button-down actions which is useful in many applications.
I had two design goals of iMouse: To make it mimic right-button actions as much as possible, and to make it as predictable as possible. I think current design has pretty much achieved those and therefore I would like to keep it for the moment.
Hope it helps you understand why iMouse is like this.
[Update]: Why not Ctrl+Click?