by Adam Pash

Click to viewNot only do keyboard shortcuts boost my productivity, the mouse is also one of the biggest causes of RSI in my right hand. So I hate leaving the keyboard to grab for my mouse.


In my mission to abandon the mouse forever, this week I've put together a small freeware application called Mouser that operates your mouse from the comfort of your keyboard. Read on to see how it works and download it for yourself.


Note: The idea for this program came to me via Gina, who told me about a great app demo'ed at Hack Day by Google employee Jordan Sissel. In this slideshow, Jordan illustrates (with screenshots) an application that continuously splits the screen in half to zoom the mouse in on a desired location, all from the keyboard.

I loved the idea, so I sat down with my trusty friend AutoHotkey and went to work. I'm calling the little app Mouser (very original, no?). Check out the video below to see Mouser in action.

Download Mouser



Download Mouser AutoHotkey source

Note: The yellow highlighting around the mouse is not an effect of Mouser - it's just intended to help you keep an eye on the mouse for the low-res screencast. Most of the moves I make can be accomplished with Firefox shortcuts, but it serves as a good illustration for how Mouser works.

As you can (sort of) see from the video, Mouser provides sort of an on-screen binary search for you mouse. Whenever you want to move your mouse, just hit Ctrl-M to activate Mouser (you can modify the shortcut and other settings by right-clicking Mouser in the system tray). By default, a red box around the mouse cursor will blink to help you find your mouse's location. You can navigate your screen by using either the arrow keys or a set of pre-defined home row keys (the home row is my personal preference). Once your mouse gets to its destination, hit enter to click. If you prefer keeping your hands on their home row positions to moving down to the arrow keys, the keyboard shortcuts are:

i: up



j: left



l: right



,(comma): down



k: left-click r: right-click



Escape: exit script without click


Each time you move your mouse in any direction, the screen area you moved away from is off limits. You continue halving the distance in the remaining screen real estate until your mouse is at the exact pixel you want (or, more realistically, until whatever you want to hit is clickable - although you can click with pixel-precision if that's what you're looking for - normally it's not).

You may think that Mouser would require a lot of moves to get you where you want to go, but as Jordan describes it with fancy mathematics I've long since forgotten (did I ever understand it?), the worst case scenario for a 1920x1200 pixel screen is a total of 21 moves to get to any pixel on the screen. Rest assured, though, on average it will take 8 moves or less to get to the areas you'll be clicking on.


Although the Mouser visualizations are very helpful, you'll find that once you get used to using the program, you need them less and less. Additionally, turning off the visualizations in the settings allows you to move around the monitor somewhat more quickly than you can with the visualization turned on.


While Mouser may not ultimately replace your mouse (let's be honest - the mouse is certainly a helpful tool, and it'll always have its place on the desktop), it's a good step toward making your mousing actions more accessible via the keyboard.

In the age of battery-powered wireless mouses, with Mouser you'll never be totally out of luck in the event that your battery goes dead (which happens to me more than I'd like to admit). Also, as an added bonus, Mouser turns the mundane act of mousing around your monitor into a something new and fun.


If you're interested in more of this mouseless business we champion so often here, you may be particularly interested in a few of my recent faves:


Adam Pash is an associate editor for Lifehacker with an unnatural love for the keyboard. His special feature Hack Attack appears every Tuesday on Lifehacker. Subscribe to the Hack Attack RSS feed to get new installments in your newsreader.