Mouseless Computing

The professional programmer encounters a variety of challenges and annoyances in the line of duty, but by far the top job hazard is Repetitive Stress Injury (RSI). We can muddle our way through less than optimal projects and coding blunders (hopefully learning as we go), but it's pretty hard to program if you can't type or double-click.

Jeff Atwood recently wrote about some great tips for caring for your hands and wrists - things like exercise, posture, breaks. I'd like to add to that by discussing some practical ways to avoid the most damaging motion in modern computing - mousing.

Step 1: Mouse Goofy

The simplest thing you can do is to just switch mouse hands. It's a bit frustrating at first, but it's the easiest change you can make and it can give you some immediate relief. I've worked with a few people over the years who switched to left handed mousing and haven't had any problems since then.

Step 2: Ditch the mouse for a better pointing device

If you have to use a pointing device, you can switch to something that puts less stress on your wrists. I switched to a trackball a few years ago (my current trackball is a Logitech Trackman Wheel); the only time I use a mouse is with left hand so I can give my right hand a break. But my primary pointing device is way better...

Wacom Graphire Tablet

I use a Wacom Graphire Tablet. It's great - pointing with a pen isn't nearly as repetitive as with any other pointing device I've used, since you can move around the screen by moving your arm without moving the wrist or hand at all. You can hold the pen in a lot of comfortable positions and easily move around in your chair. The one I've got is wireless (BlueTooth), which was a bit more expensive but a lot more flexible - I can lean back in my chair and work, for instance. Plus, an added bonus is that it's a much better pointing device for art and photo manipulation, so it's not such a conceptual shift to pop open an art program and retouch a website image when the need arises. I mapped one of the tablet function keys to right-click since my pen right-click button doesn't work that well.

There are a lot of other alternative pointing devices out there. I worked with a guy who's tried them all (howdy, Ted!) and settled on one that looks like a joystick. I'm happy with the tablet since it seems the most natural and flexible to me, but just about anything that can replace a mouse is a great step.

Here's a shot of my desk. You can see the tablet in front of the Microsoft ergo keyboard. I've got my left handed mouse a little out of reach on the left to keep me honest, and the trackball even further out of reach on the right. I don't really work with the bright yellow Wumpus sticker under the monitor; that's been known to induce siezures. I only put it there to fulfil the terms of my sweet product placement deal.

Desk

Step 3: Use your keyboard as much as possible

Browsing

I'll talk about some Windows and application specific shortcuts in a minute, but I'm going to start with the hard one first - browsing. The website is the last bastion of inaccessibility, with image buttons and AJAXified links strewn across the screen. What can you do?

Well, in Firefox, you've got some options. By far, the site I use most frequently is Google search, so the Search Keys extension helps quite a bit. Search Keys adds a number shortcut next to each search result, so you can just type the number to go to that result. One thing to be aware of - if you're in the middle of an incremental search, the number keys won't activate Search Keys (that's a good thing, otherwise you could never search a page for numbers). To close incremental search, just hit Ctrl-F, Escape. I've been using Search Keys a while now - maybe a year - and I like it a lot.
Firefox SearchKeys Extension

While using Search Keys  one day I started wondering if there was a way to avoid clicking links on other pages, which lead me to a great article on LifeHacker about Mouseless Firefox. It's got some great tips about Firefox shortcuts, but as is often the case the real goods are in the comments, which mention the Search Keys, Hit-A-Hint, and MouselessBrowsing extensions.

I tried MouselessBrowsing (didn't work for me for some reason) and settled on Hit-A-Hint. It's simple to use - in any web page, you tap the spacebar twice, holding the second time. Small numbers appear on top of every link and form field; just type the number in and release the spacebar to click the link. It takes about 30 seconds to get used to it, and you can easily browse without a mouse. Nice! I use it a lot and highly recommed it.

Firefox Hit-A-Hint Extension

The LifeHacker Mouseless Firefox article runs through a bunch of shortcuts. Here are the ones I use most often:

Control-T (new tab)
Alt-D pops you in the address bar, and Alt-D, Tab puts you in the search box
Alt-Left (Broswe Back) and Alt-Right (Browse Forward)
Control-Tab (next tab) / Shift-Control-Tab (previous tab)

IE6 doesn't seem to work as well without a pointing device. There are shortcuts (IE6, IE7), but they're really just shortcuts for controlling IE, not for clicking links in a page. The official IE solution to clicking a page link seems to be "keep clicking on the tab key". There's an addon from the University of Illinois - IEAccessible - that supposedly improves accessibility for IE. I haven't tried it.  [please recommend any options for IE in the comments below and I'll update this]

Opera has great mouseless support built in.

General Windows Shortcuts

The System Tray (oops, I mean Notification Tray) is a bit tough to get to if you don't know the trick, and it seems like everything wants to minimize there nowdays.
Win-B / Enter to show hidden icons (if necessary) / Right arrow / Right-click button (or Shift-F10)

Quick Launch also requires some keyboard trickery:
WinKey (press and release) / Tab / Right arrow

Use Alt-Tab to switch between applications. I recommend using Task Switch XP (free) to beef up the task switcher interface.

Alt-Space brings up the window command menu, which allows you to move or resize windows with the arrow keys. Very few people seem to know about or use these features, which can cut way down on mouse usage.

Use Alt-F4 to close an application

You can get to any program on your Start Menu by hitting the WinKey and using your arrow keys

Microsoft lists some general Windows shortcuts here.

The Windows Key can do so much it really demands its own post. Luckily Jeff already took care of that - see his Celebration of the Windows Key on Coding Horror.

Right clicking can make you want to reach for your mouse. Instead, use the Context Menu Key to right-click on standard Windows keyboards. You can use Shift-F10 if it's not available (laptop, etc.).

You can do quite a bit with Start / Run commands. There's a great list here.

Use a utility that allows you to copy a file's full path to the clipboard. I like ClipPath. Julie Lerman has a good list of them here. It's a simple little chore I find myself doing all the time, and ClipPath cuts down on mousing and keystrokes.

The Alt Key is your friend
Some applications show accelerator keys undelined by default, others hide them until you hit the Alt key.
Example - in most applications, Alt-F X will exit an application. Look around!

MouseKeys (built into Windows) allows you to move and click the mouse using the number keys. You can enable it by pressing Alt-Left Shift-NumLock. You can change the settings (such as how fast it moves) via the Accessibility control panel widget, which you can launch directly with Start / Run / Access.cpl.

Find shortcuts for applications you use the most

Outlook / Office - Outlook 2003 has keyboard shortcuts for just about everything you'd want to do. The Go Menu (Alt-G) lists the major areas with their shortcuts (Ctrl-2 = calendar, etc.). Office 12 enhances the keyboard sortcuts by making them a lot more obvious, using the same shortcut overlay UI technique Hit-A-Hint does.

Visual Studio - Again, Jeff's got us covered with a nice rundown of keyboard shortcuts for Visual Studio.

SQL Server 2000 Query Analyzer - See the nice list of Query Analyzer shortcuts on OdeToCode. I bet I'm in the minority here, but I always liked the Query Analyzer UI, especially because the the keyboard shortcuts were so comprehensive.

Windows Media Player - Windows Media Player 11 and I aren't really on speaking terms at the moment, but that's the subject of another post. The only way I've found to go from Now Playing to Library view involves hitting the Tab key 16 times. I'm sure there's a better way, but the fact that it's pretty well hidden is unfortunate. Another example - you can play at half speed, normal, and double speed, but in order to do anything else you're camping on the tab key. There are shortcuts to get around in Library mode (Ctrl-7, 8, and 9, Ctrl-E for search). The Media Player site has a list of shortcuts (for WMP 10); it's okay, but I can't picture using WMP without a mouse.

 

Got any tips you'd like to pass along?

26 Comments

  • Best. Post. Ever.

    Those Firefox extensions (searchkeys and hit-a-hint) are SWEET, by the way!

    Which reminds me of a new rule: your app is only as good as the ecosystem around it. Who cares about the HTML support in Firefox, it's the add-ins that make it a killer app.

  • Kyle Alons, I want to kiss you. Handy Find adds incremental searching to the entire Windows operating system across all apps. Unbelievably incredibly useful!

    And now maybe I can use IE7 without cursing every time I press CTRL+F.

  • Two words (actually jammed together into one):

    SlickRun

  • Here's a trick I employ: Add your Quick Launch directory to your path. Then, change the names of the shortcuts to meaningful names for you. Now, type Win+R key and a shortcut name. For me 'ff' is Firefox, 'ie' is Internet Explorer, 'pu' is PuTTY, etc.

    I'll be trying the Hit-A-Hint. Thanks.

  • What a gigantic and well-thought post! I can even follow along with the topic!

    My advice is to mix it up between keyboard, mouse, and tablet. Variety.

    Do plenty of stretches and take breaks.

    Go outside.

  • Hey, that's pretty cool. I need to test that sometime.

  • As a web developer, I have gotten used to several shortcuts that reduce the amount of typing and clicking:

    FF/IE In the address bar, type 'google', then press CTRL+ENTER
    View Source in FF: CTRL+U, IE: ALT+V,C
    ALT-HOME to view home page
    In FF use ALT+T,C to open the javascript console
    Press CTRL while clicking a link to open in a new tab

  • I'm a bit of a FF extension junky, but I hadn't come across Hit-A-Hint before - very handy!

    Another quick tip for launching common applications is to pin them to your start menu and then you can just use WindowsKey-First letter of appname-return to launch it. If more than one app shares the same first letter then pressing it repeatedly will cycle through them in turn.

  • For Firefox there's actually other shortcut keys for the location bar and search box:

    CTRL + L (location)
    CTRL + K (search)

    Bit less of a stretch for the ol fingers...

  • Thanks, Jonathan. I think I got them fixed now. Nifty Corners js include wasn't working in IE after weblogs.asp.net upgraded to CS 2.0.

  • hit-a-hint is amazing, because web browsing just seemed to be broken re the keyboard. This has really, really helped.

    The surprise star, for me, is MouseKeys. Why isn't this hint thrown around more to techies? It's amazing to think that I never need to use the mouse again, ever, unless I fancy it. I've never really used the keypad before, but now it's been repurposed. Thanks for the hints.

  • The Microsoft page that lists Windows keyboard shortcuts lists this shortcut for people who have a Microsoft Natural keyboard and have IntelliType installed:
    Windows Logo+S: Toggles CAPS LOCK on and off

    So what are they saying here, that the Caps Lock key on their keyboards will break easily? :-)

  • is just one software for it?

  • When navigating a web page in Internet Explorer, the PageUp, PageDown, Home and End keys do different things depending on what control you are on e.g. if on a dropdown list, the PageDown key makes the list expand. Some controls don't do anything in response to such keys - novice users are confused by this to say the least, possibly thinking that their computer has frozen! This is annoying if I really wanted to Page Down to see that rest of the page. To get around this I just mouseclick on any unoccupied area of the web page and then PageDown does what I expect. Is there a key combination I could use, rather than grabbing the mouse?

  • Yes, whatever it takes to preserve the bodies capacity to do work is well worth the effort. We were simply not designed to do the things we ask our body to do. Everyone is different. And, it's up to the individual to learn what they can handle and take appropriate action to increase internal resistance and reduce external stresses.

  • I’ve used your keyboard shortcuts since the first time I saw your post. I tell you, they’ve made my work a bit faster and with less idle moments. I’ve never been so busy yet fulfilled at the end of the day.

  • I would like to add Autohotkey and NumpadMouse Script comes with it, find it in Script showcase off from help file.
    It is the best replacement for MouseKeys that comes with windows

    - San

  • SlickRun
    Firefox + vimperator
    and gvim as notepad-replacement.

  • Use global keyboard shortcuts to run favorite programs, web pages and more.
    My favorite so far - "The Wonderful Icon" shortcut manager. I rarely open Start menu.
    I love to use dead "Scroll Lock" key for opening browsers. e.g.:

    Scroll Lock = Firefox
    Win + Scroll Lock = IE
    Ctrl + Scroll Lock = Chrome

    I also use shortcuts to run various dictionaries, wiki and bugtracker web pages, IDEs, Photoshop, favorite file manager and for global volume control etc.

  • Hello, of course this post is genuinely pleasant and I have learned lot
    of things from it concerning blogging. thanks.

  • There's certainly a lot to know about this issue. I like all of the points you have made.

  • Hello, this weekend is pleasant in favor of me, for
    the reason that this time i am reading this great educational article here at my home.

  • Everyone loves it when folks come together and share ideas.
    Great website, keep it up!

  • I read this paragraph completely regarding the resemblance of latest and preceding technologies, it's amazing article.

  • If some one needs to be updated with most up-to-date technologies then he must
    be pay a visit this website and be up to date
    all the time.

  • hello.thanks for your posted,i really love your site,thanks

Comments have been disabled for this content.