Saturday, April 22, 2006

About iMouse

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?

16 Comments:

Anonymous Anonymous said...

It'd be really nice if you had an option to turn on/off the two different ways of right clicking. I like the caps-lock thing, but the click-and-hold doesn't quite work as I had expected and turns out to be quite a nuisance. If I could disable that then this application would work for me.

Nice job other than that, though!

6:29 AM  
Anonymous Anonymous said...

Without changing anything, you can stil use the CapsLock+Click function after you disable iMouse. Just that the indicator won't show up well. =)

3:53 PM  
Blogger Livecn said...

Hi Javier,

I will try to add that feature as soon as I have time.

The program is indeed old and it may not even compile now. I will work on it anyway. =)

12:20 PM  
Blogger Livecn said...

Hi Javier,

I have updated iMouse. Please download it from
http://livecn.huasing.org/imouse/

Now you can specify the time in the "Options" window, which can be reached by clicking on the system tray icon and then choose the "Options" from the menu.

The time is in milliseconds. By default it's 300 ms. If you make it too small, you may have problems of "always right click". Anyway, try it and you will know.rk

1:00 AM  
Anonymous Anonymous said...

Hi! Does it work with trackpads (e.g. MacBook Pro)?

Thanks!

5:16 AM  
Blogger Livecn said...

To re2st:

Yup, iMouse works with TrackPads (both MacBook and MacBookPro's).

It works with anything that can generate a left-mouse-click event in Windows. =)

8:40 AM  
Anonymous Anonymous said...

Sorry, not working with me.. I'm on Windows Vista now.. :(

Will you support Windows Vista?

10:03 AM  
Blogger Livecn said...

Hi Re2st,

I have no Vista development environment so I'm afraid iMouse cannot work in Vista for a while.

Sorry. :(

11:28 AM  
Anonymous Anonymous said...

Livecn, is there a way to use imouse, right click, if you are just running macosx, without windows? i see that the download is .exe, is there a way to hack it so i can load to my macbook pro running mac software only? thank you

9:01 PM  
Blogger Livecn said...

To max:

Sorry, no. iMouse only works in Windows as it's using Windows APIs and stuff.

I would like to write such thing for MacOSX if I had a mac. :(

6:07 PM  
Anonymous Anonymous said...

Well done livec .. Tks so much 4 d program :)
It works great 4 me

3:40 PM  
Anonymous williams said...

that a great programe. thank for making thing easy for the computer science.

5:14 AM  
Blogger Sansar Choinyambuu said...

nI remember it as working on my Windows 7 Ultimate, but on my netbook OS Windows 7 Starter it's not working.
I need it really on Starter OS.

6:55 PM  
Anonymous fckyeahchowder said...

Ummm. I dont think its working...

4:11 PM  
Anonymous Anonymous said...

THE FUUUUCKKK

4:13 PM  
Blogger Bæstien
to be the Beast !!!
said...

Can put in the new version, the choice of sources of sound (sound card):
- n°1 Master Volume
- n°2 PCI sound card ..
- n°3 USB sound card ..
--------Traduc in french---
Pouvez mettre dans la nouvelle version , le choix des sources de son(Carte son ):
- n°1 Volume général
- n°2 Carte PCI ..
- n°3 Carte USB ..
++
Congratulation , great work and very practice
Sébastien

6:20 PM  

Post a Comment

<< Home