There is a program that does exactly as you say, but since it is built as an accessibility solution, I don't think you can activate it using the keyboard. Instead, it makes you speak into your microphone to dictate commands.

The program is called Dragon NaturallySpeaking and it is by Nuance. It is very expensive. The user experience for the mouse screen division algorithm is precisely as you asked in your question, but I'm 60% sure (based on using the program professionally for a total of about 30 hours) that there is no way to activate it using only the keyboard.

The program is designed for users with limited motor control. Also, the mouse grid functionality has no ability to perform "drag and drop" or any other type of tricks except for single and double left or right-clicking on the screen, and it also supports a rudimentary scroll wheel that works like a mouse's scroll wheel.

I can't recommend that you use this product (nor should I, since that'd be off topic) primarily because I don't think it does what you want it to do, namely you can't activate the mouse grid with the keyboard.

BUT, what this program does teach is that implementing a program like this is not only possible, but it's already been shipped in a working product. All that needs to happen now, is for someone to come along and do the same thing, but instead of using voice as input, use the keyboard as input.

My personal recommendation for mouse haters (raises hand; I hate them too) is to try a keyboard with a TrackPoint. "TrackPoint" is actually the IBM brand name of a fairly generic device which can be described as a small inertial joystick that sits in the middle of your keyboard with a rubber cap over it, and it often has the appearance of a pencil eraser. They come in various qualities and designs, but I've found that the best ones (for me) are in Lenovo ThinkPad laptops.

You can also buy a Lenovo ThinkPad USB Keyboard with TrackPoint, which is a desktop-oriented standard desk keyboard with a USB cable, that provides the same TrackPoint experience as you'd get on a modern ThinkPad laptop. The use of the TrackPoint allows you fine-grained motor control of the mouse, left and right-clicking and scrolling, without having to take your hands off the keyboard. It's as good as having a "key" on your keyboard that is the mouse.

In fact, I can type and mouse, at the same time, with both hands on the keyboard. It's a bit of an acquired skill but once you have it, it's suitable for anything from gaming to high-productivity programming, sysadmin, etc.

If you insist on a pure software solution, I think the answer for now is that you'll have to write it yourself. But you could do something like download the trial of Dragon NaturallySpeaking and just see how their mouse grid works (you'll have to dictate to the program), to give you some design ideas when you're writing your program.

Edit: A link to the Mouse Grid functionality explained in Dragon: http://www.nuance.com/naturallyspeaking/customer-portal/documentation/userguide/chapter4/ug_chapter4_moving_clicking_mouse.asp

Edit 2: It helps to Google. Once I thought of the term "mouse grid" a bit more, I decided to google it for kicks. I found this: http://8887.eu/mSoftware/index.php/home/windows-software/mouse-grid.html It appears to do exactly what you want, and you can control it with the keypad. Win!


Windows 7 has something similar built in. With a voice command, a grid appears. Then you say a number, that cell is divided, you say a number ... until you are satisfied and indicate that with another voice command. enter image description here You can also directly name most items on the scree, e.g. "My Computer", "Favourites", etc.

Now, as awesome as this may sound, my one hour experience with this tactic is that it is very very slow, inefficient, frustrating. To add it is closed-source and nonportable.

Just stick with the NumLock mouse pointer navigation keys, mkay? They move directly the mouse pointer in quite a useful way. I am using Ubuntu lately, and here you have to enable this option somewhere in the keyboard options page. Other OS-s - I dunno.