Adventures in pointerless computing
A few people know that I’ve been battling a repetitive stress injury (RSI) in both of my elbows. I’m hit on all sides of the elbow: tennis elbow, golfer’s elbow, and triceps tendinitis. I’m sure the stress has been building in these tendons for most of my career, but they really got bad last year once I left Yahoo. Being self-employed, I felt the need to work seven days a week and in all kinds of situations (coffee shops, dining room table, while watching TV, etc.) and, no big surprise, my arms started to rebel.
Since that time, I’ve made the appropriate adjustments to my work schedule and style. I no longer work directly on a laptop, instead using a laptop stand and separate keyboard. I favor working at home in my ergonomically setup office. I use Dragon Naturally Speaking to dictate almost every blog post, email, or other writing assignment (hence some funny typos, or I guess, speakos). I strictly stay off the computer on the weekends. I even ended up going to a physical therapist for a while. Unfortunately, the problem persists and has forced me to curtail my computing activity.
I had long since switched from a mouse to a trackball, which limits the range of motion my elbows need to make. Still, I felt like the movement from keyboard to trackball and back was placing undue stress on my right elbow. And so I decided to try computing without a pointing device. I unplugged the trackball so it wouldn’t tempt me and went on my way.
The first thing I did was to go about my normal activities and see where I got tripped up. Fortunately, Windows 7 is very keyboard accessible and so using the operating system itself is pretty easy. The search functionality from the Start menu quickly ended up being my primary way of starting applications and opening specific folders. I only need to press the Windows button on the keyboard and the search immediately comes up. Very useful.
I needed to acquaint myself with switching, minimizing, and maximizing windows on my desktop. As it turns out, these are all pretty easy:
- Windows key + down arrow minimizes the current window if it’s not maximized. On maximized windows, the window gets restored.
- Windows key + up arrow maximizes the current window.>/li>
- Windows key + left/right arrow pins the window to either the right or left of the desktop, or removes the pin (based on the direction of the arrow).
- Alt + F4 closes the current window.
- Alt + spacebar opens the system menu for a window (the one with minimize, maximize, etc. – especially useful for pasting into a command prompt).
Of course, there’s also the old reliable Alt + Tab to switch between windows. I found that I needed to keep fewer windows open because it’s very frustrating to cycle through more than a few windows at a time. Toggling back and forth between two windows is nice and easy, but anything more quickly becomes a challenge.
Next I went to my web browser, Chrome, to learn how to navigate and debug (as is part of my daily routine). You’re probably already familiar with using Ctrl + T to open up a new tab regardless of the browser you’re using. Here are some of the other shortcuts I learned about:
- Ctrl + W closes the current tab.
- Ctrl + Shift + W closes all tabs (learned this by accident).
- Ctrl + Shift + T reopen a previously closed tab.
- Alt + D sets focus to the addressbar.
- Alt + F opens the settings menu.
- F6 switches focus between the address bar, any toolbars you have installed, and the webpage.
- F12 toggles the developer tools while Ctrl + Shift + J always brings up the developer tools on the console tab.
One of my biggest fears about going pointer lists it was losing the ability to debug code. Fortunately, the Chrome developer tools have a lot of keyboard shortcuts[1] as well. I’m still making my way through those, trying to figure out the fastest way to accomplish what I’m trying to do. There are still some oddities, like trying to switch focus from the console to the source code and back, but generally the developer tools are very usable with keyboard shortcuts. I successfully set breakpoints and step through code without much trouble. Debugging CSS is something I’m still working on because no right-click means no Inspect Element.
I’m hopeful that my arms will recover and I’ll be able to go back to computing as normal, but in the meantime, I’m embracing this opportunity to learn more about how computers work when you can’t use a mouse. This whole experience has been a fantastic reminder that not everybody uses computers in the same way and small changes can make big differences.
References
Disclaimer: Any viewpoints and opinions expressed in this article are those of Nicholas C. Zakas and do not, in any way, reflect those of my employer, my colleagues, Wrox Publishing, O'Reilly Publishing, or anyone else. I speak only for myself, not for them.
Both comments and pings are currently closed.




17 Comments
You could try working a bit less and working out a bit more
Amit Behere on December 4th, 2012 at 7:38 am
I don’t know what’s your code editor, but I think you would enjoy using vim. Navigate the source code using the keyboard home row is very confortable to the elbows and wrists.
Renan Ivo on December 4th, 2012 at 7:43 am
You mention the lack of right-click meaning you can’t inspect element. Is there any reason the menu key or whatever it’s called (next to right-control on my UK keyboard) doesn’t work for this? I find that it’s usually a perfectly fine replacement for right-clicking as long as you can select what you want to right-click on.
Thor on December 4th, 2012 at 9:25 am
Are you exercising regularly? Simple exercises and massage should be very helpful here.
kangax on December 4th, 2012 at 9:37 am
@Kangax – yes! I stop and stretch multiple times a day, usually every half hour. I have a stretching/strengthening routine I do every morning plus pilates and yoga. I’ve just started with deep-tissue massage, and that has helped as well.
Nicholas C. Zakas on December 4th, 2012 at 9:48 am
@Thor – that works for focusable elements (links, buttons, etc.) but not for anything else.
Nicholas C. Zakas on December 4th, 2012 at 9:49 am
@Renan – I use Sublime Text. It has a ton of keyboard shortcuts.
Nicholas C. Zakas on December 4th, 2012 at 9:49 am
For browsing without a pointing device, I’ve found vim-like key binding plugins for browsers to be extremely useful and powerful. Examples being vimperator and pentadactyl for Firefox, Chrome should have similar ones. As you can guess, you have keyboard shortcuts for everything, including opening links, switching tabs (they are treated like buffers), yanking URLs from the address bar, going to the top/bottom of the page (the standard shift + g/gg commands that you would use in any Unix tool) and yes, there’s a shortcut for right click as well! If anything, it has only improved by productivity with the browser, but being a vim user might be a prerequisite for this
Rohit Nair on December 4th, 2012 at 9:55 am
You might want to give the vimium extension a try
http://vimium.github.com/
Pedro on December 4th, 2012 at 10:13 am
@Pedro – yup, I’ve been using it. Having a hard time adjusting.
Nicholas C. Zakas on December 4th, 2012 at 10:40 am
@Rohit – yup, I’m trying Vimium right now. I’m not a big vim user, so it’s taking some adjusting.
Nicholas C. Zakas on December 4th, 2012 at 10:40 am
Some other things that have been helping me:
- Being ambidexterous as far as mouse use go
- Wacom bamboo
- Using tablet for most of my reading
- DJ laptop stand. I partially work standing.
- Low weight dumb bell wrist strengthening / endurance exercises
- I find laptop’s little touch pads more comfortable than mouse and I keep switching between them
Yusuf on December 5th, 2012 at 9:52 pm
I recommend vimium for Chrome as well. I am not a hardcore vim user so i set it up in a WASD configuration instead. Works very well.
If you don’t like the learning curve of vim, I recommend Sublime Text 2, which is also entirely keyboard driven but much easier to use.
For those times, where you do need a pointer, you should get a keyboard that has either a touchpad (front and center) or IMHO even better, get one with a pointing stick (i.e. like the ThinkPads have). They don’t offer the combination of speed and precision that a mouse has, but still work rather well for many task while requiring virtually no hand movement.
David on December 6th, 2012 at 4:17 am
Sorry to hear you’re dealing with RSI, Nicholas. I’m also quite familiar with this condition and can empathize with what you’re experiencing. (For me, right-clicking is the worst. Ugh. Thank goodness for window pinning!) After all sorts of doctor’s visits and massage treatments, I personally found the best relief from trigger point therapy that I can do myself. I highly recommend the Trigger Point Therapy Workbook (link) if you haven’t found it yet. I hope you’re able to find what works for you, so that your condition improves!
Kimberly Blessing on December 7th, 2012 at 5:29 am
It’s been a few years since I was using Windows, but I recall a setting in the Accessibility menu about enabling numpad keys to move the mouse and emulate clicks and right clicks. I think you can even customize which keys do what, but not sure about that.
Lea Verou on December 8th, 2012 at 4:03 pm
While I’m now a die hard chrome user I would recommend using firefox for one feature:
find links – hit ‘ to start a quicksearch for links on a page. It’s much easier than wearing out your tab key.
http://support.mozilla.org/en-US/kb/accessibility-features-firefox-make-firefox-and-we#w_using-a-keyboard
Also be wary that putting more strain on your typing might backfire and give you wrist problems. Take frequent breaks and continue with physical therapy.
Windows is definitely more a11y friendl, so props to them.
Jethro Larson on December 10th, 2012 at 11:55 am
Since you’re on windows 7 you can try switching between programs using win+1, win+2 and so on – much faster then using alt+tab – just like it works in Sublime Text2 when you’re using ctrl+1, ctrl+2, … to switch between different layouts. Wish you to recover soon.
Sergey Z on December 11th, 2012 at 7:52 pm
Comments are automatically closed after 14 days.