# “Virtual mouse” using the keyboard

(For Windows.)

I'm looking for a kind of program that I hope exists. If it doesn't I might try to create it.

I passionately hate using the mouse. I've learned how to use the keyboard for 99% of the tasks I have to do on the computer, but the aforementioned passion is strong enough for me to want to find a solution for the remaining 1% as well.

Here's the solution I want: I press a predetermined keyboard hotkey. (I'm thinking Start-J but to each his own.) Suddenly the screen real-estate in all of my monitors is divided into a grid, with every cell showing a letter. Pressing that letter on the keyboard will further divide that cell into sub-cells, repeating the process until we've narrowed down a small-enough area, and then the program generates a click.

Is there a program that does this, well? It needs to be awesome. Otherwise I might as well build my own.

• How exactly would this work for dragging etc? I think there are better ways of avoiding using a mouse, e.g trackpads, touchscreens etc. Also you need to specify which OS you are talking about. – James P Jul 23 '12 at 13:04
• Dragging can be done by pressing ctrl, and then having another session for the drag target. I want a solution that's keyboard-only, not trackpads, touchscreen, trackballs or what-have-you. I specified OS now, it's Windows. – Ram Rachum Jul 23 '12 at 13:41
• @James Except keyboard junkies, there may also be disabled people that may benefit from such a tool. – Bernhard Jul 23 '12 at 13:46
• I remember this back in 1997 with Dragon Dictate (which was the forerunner of Dragon Naturally Speaking that allquixotic mentioned). It was certainly useful for voice-recognition, but you shouldn’t really need it if you tune MouseKeys correctly and use the accelerator keys (Ctrl to speed up/jump, Shift to slow down). – Synetech Jul 23 '12 at 14:24

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!

• Thanks for the extensive answers. Nuance's solution looks very similar to what I've imagined. The mSoftware solution is not good because it works only with the keypad, which (a) has only 9 buttons, unlike the ~35 buttons in the center of the keyboard, which will be much faster, and (b) I don't use keyboards with keypads at all. – Ram Rachum Jul 23 '12 at 14:06
• Well if you have something very specific in mind and you're a programmer, I'd say go ahead and start work on it, because chances are nobody's done it before if you want something different than what mSoftware MouseGrid provides. Do us all a favor and make it open source, though -- it seems like it'd be generally useful. I'd toss you some beer money if you succeed. Your only other option is to beeline down the pages of google results for "mouse grid" until you eventually stumble upon something that does what you want (what are the chances?). – allquixotic Jul 23 '12 at 14:11

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. 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.

A solution that resembles too much what you said is a software called Voice Finger, its file size is small, aroung 1 Mb. It actually is an "improved" version of Windows default Mouse Grid. It uses numbers and letters as coordinates like you said. It also covers all monitors, if you have several. And it often requires just one command to click, unlike the several steps necessary in Dragon and Windows default options.

• I tried is; it's for voice commands only, not keyboard. – Ram Rachum Jan 9 '13 at 12:35