Ask HN: tips for working with Mac OS X without using the mouse? (RSI)

49 points by thibaut_barrere ↗ HN
I noticed that avoiding the mouse is very useful to lessen the effects of RSI.

Do you have tips (useful tools, hints, ...) on how to avoid the mouse for almost all tasks on Mac OS X (I'm a developer, most of the day) ?

108 comments

[ 3.5 ms ] story [ 158 ms ] thread
Divvy will help tons:

http://www.mizage.com/divvy/

Otherwise, consider getting a trackpad / trackball for when you have to use the mouse. Or even using your mouse with your left hand (my brother does this).

Thanks for all this - trying out Divvy right now, and will definitely consider buying a trackpad.

I already switch hand from times to times and it helps, too.

My pleasure. One more tip - try switching mice from time to time. I used to use a MS mouse at home and a Razer mouse at the office to reduce strain - different shapes reduced problems. The Razer you control with your fingers, palm on the desk, while the MS mouse I had in my palm, moving my whole hand. Using both every day reduced strain :)

http://store.razerzone.com/store/razerusa/en_US/pd/productID...

Wow, this is great. One thing I've missed for years from Windows is being able to easily tile windows in a sane manner.
Can't say enough good things about this. It's basically eliminated my need to mouse to move and resize windows. Massive timesaver.
I'd say try becoming ambidextrous with the mouse, and switch hands every month or so.

And under Keyboard -> Keyboard Shortcuts make sure Full Keyboard Access is on 'All Controls' so you can focus/select buttons with tab.

Also, make that useless Caps Lock key into Ctrl :)

Ctrl+F2 = Access Menu bar Ctrl+F3 = Access Dock

I will give someone 1 american dollar if they can tell me how to get menu bar selections to wrap back around to the top when I get to the bottom of the menu.

EDIT - the magic mouse has been fantastic for eliminating the need for precise clicking when scrolling - that swipe to scroll feature is amazing, especially in tabular apps like Sequel Pro and Excel.

I did the same thing (full keyboard access and Caps Lock=>Ctrl), so I don't have much to add.

For your question, I just noticed you can use Page Up/Down to go to the top/bottom of the menu.

Is there a way to select which functions keys should work as function keys and which one work as the Apple special keys (Exposé, volume control…)? The reason I ask is that I always found it inconvenient to use shortcuts like Ctrl+F2 because I have to move my hand much more to get to the fn key. But at the same time, Exposé is too useful to be left behind it.

I'm not sure if this helps in your particular case, but I believe some of Exposé's functions are mapped to four-fingered multitouch swipe gestures on the touchpad (up and down).
Thanks, but yeah, in my case, it doesn't work since my MacBook is too old to support it. But I tried it and it seemed very useful indeed.
(comment deleted)
It's interesting that you mention the magic mouse. I switched to a Mac about 2 months ago and can't believe how uncomfortable the magic mouse is. Apple understand aesthetics but obviously haven't a clue about ergonomics. I've reverted to my 10 year old Logitech trackball although I do miss the fast smooth scrolling of the magic mouse.

Any suggestions for a better trackball or did all innovation cease 10 years ago?

Not quite a trackball, but apple released a separate track pad not that long ago. There are two input devices that Apple does way better than most - keyboards and trackpads. Magic mouse was a complete disaster, unfortunately.
I'm not sure if trackpads have the same ergonomic properties as a trackball. It's possible but I might wait and see if any research or anecdotal evidence emerges
Chalk me up for anecdotally noticing a huge improvement when switching to the touchpad.

It's worth noting that the Apple trackpad is not only way bigger than a laptop's touchpad, it's also angled so you're not resting your hand on its edge. Also, if you've never used an Apple touchpad on a recent Macbook/Pro (the ones that are glass instead of plastic), you'll probably be surprised at how good the accuracy/tracking. They're much better quality than the Synaptics touchpads that are common in PCs.

I find myself supporing my fingers over my Magic Trackpad, which is tiring. At the very least I have to raise all my fingers except the ones I want to use in a gesture.

My other preferred device is a thumb-ball trackball. I have a logitech trackman, and the discontinued one from Microsoft. I find those much more comfortable, if a bit problematic for high precision. I just wish I could get a bluetooth one.

I have all of the input devices mentioned in this thread, and cannot find anything to compare to the old Kensington "Expert Mouse" track balls, with the heavy ball the size of a billiards ball, a scroll wheel around it, and 4 buttons.

The ball's diameter allows pinpoint accuracy when needed, the weight allows a flick with momentum to carry the cursor across two 30" screens, the scroll wheel is under your ring finger for simultaneous use.

That said, the recent magic trackpad is growing on me.

Love my Kensington Expert Mouse trackball. Much better than the thumb operated variety IMO.
IIRC the thumb operated ones are optimized for ergonomics while the finger operated ones for accuracy.
Thank you all, thank you really! I will definitely summarize all this into a blog post.
http://store.apple.com/us/product/MC380LL/A (you don't have to put it on the side of the keyboard or you could get one of the tinier al. keyboards)

Not the same as mouse-less operation but a lot less strain than reaching for and moving a mouse.

A nice thing about the Magic Trackpad is you can set it to "tap to click" and just set it on your lap. It's not the ideal setup, but it's pretty nice.
I'm a ruby/php developer who works on a Macbook Pro 9 hours a day and I've learned to work w/o a mouse. Took a while to get used to, but now I keep my mouse in my desk drawer and only pull it out if someone borrows my computer.

First it starts with the setup. At work I have an external monitor and keyboard. I keep my MBP to the right so I can use the touch pad here and there when I can't use the keyboard for certain things.

Here are some tips/programs/plugins I use:

1) Vim (not macvim) and screen - This dynamic duo is the greatest invention. I recommend it to anyone who has the time to learn. Once you do, you'll never go back.

2) Vimperator - Firefox plugin - This one has changed my browsing experience for the better. Once you learn all the commands you'll be flying through pages.

3) Remap your CAPSLOCK key to ESC - Once you start using vim and vimperator, the esc key becomes more useful. I remapped my CASPLOCK key to ESC so its quicker to reach. I used the program called PCKeyboardHack.

4) Learn your keyboard shortcuts.

6) Try to replace programs you use often with console versions. For example I dont use any gui programs to access databases. Diffs/text search/file searches are all done through command line.

7) Spotlight - I don't use Dock, sometimes I forget its even there. I would disable it if I could.

8) pbcopy - command line program that you can use to copy to your gui clipboard. Try piping contents of a file to it. Becomes very handy.

Most of my day I spend using Vimperator and Terminal. So it's easier for me to not have to use a mouse.

7) +1 Spotlight or Quicksilver if you prefer. There is also Alfred http://www.alfredapp.com/

If you listen to music while working, I also find Coversutra http://www.sophiestication.com/coversutra/ or Bowtie http://bowtieapp.com/ very useful.

+1 for Launchbar.

After going back and forth between Quicksilver and Launchbar for a while, I eventually settled on Launchbar because I found it to be a bit faster. I think Quicksilver is more powerful, but I never really used the additional capabilities so it ended up being a pretty easy choice for me.

Even after Spotlight was added to OS X, I stuck with Launchbar because it takes a few less keystrokes for many tasks and it has search templates (so searching Google, a dictionary, or a thesaurus requires only a few keystrokes). Quicksilver can also do something similar, I'm not sure about the other options.

For vim and many other old programs ctrl+[ is equal to escape. So what I've done is map caps to control which lets me easily hit things like ctrl+c, ctrl+u or when needed escape. Mac also comes with a program that can map caps->ctrl in the keyboard section of system preferences.
try tmux instead of screen. Supports vertical splitting. tmux is in macports.
The latest version of screen also supports vertical splitting.
I'm not trying to besnarky, but why even use a MAC. It seems like Linux is a better fit and less expensive. MAC is really about the UI, and if you don't take advantage of that you are just left with an almost Unix environment.
I appreciate that you're trying not to be snarky, but that's a vast oversimplification of the differences between Mac and Linux.
Can you explain why?
(comment deleted)
I'd rather not. It's off-topic and a dead horse if there ever was one.
To me it's really nice UI + convenience/simplicity of use + all the command line goodness. I use it for a couple of reasons:

- simplicity and reliability (I'm on mac since 2006) - it just works, for everything I do actually

- an ecosystem of tools that are decently priced and very simple and reliable (such as 1password, knox, deskshade...)

- interop with our (i)phones

- the UI is really pleasant to my eye (fonts)

- I'm still in love with TextMate after all those years (Allan if you read this, take your time)

But then everyone is free to use what they like, no need for the neighbours to use the very same platform :)

Not to pile on, but It's "Mac", short for Macintosh. MAC is, as far as I can think, only for Media Access Control (as in MAC address).

That said, my first thought for the low barrier to no-mouse would be Linux as well, but as others have said there is more to OSX than just a pretty face.

yeah, sorry. entered from my "auto-correcting" android phone. too lazy to fix.
Considering the time most of us spend on a computer, the cost differences between a Mac and a PC are negligible over the lifetime of the purchase, people should use what they prefer and what they're most productive with.

A $300 to $500 difference over two or three years of primary usage is probably a difference of pennies per hour of usage, and that's assuming that you won't waste more time maintaining a Windows or Linux install and that you're equally productive on each OS, which generally isn't the case.

A common misconception about the OSX UI is that its main virtue is visual. For me, an equally-prominent virtue is the far-superior ability to control it using the keyboard and a universal scripting framework (applescript/automator). No linux WM that I know of has such a unified UI paradigm.
I'd like to add that you can control the Dock with the keyboard as well. You need to enable it in System Preferences, and by default the keycomby is really stupid, but I mapped it to ctrl+cmd+space. You can even navigate stacks with it. For me works better than Spotlight.

Also, you probably wouldn't use the Dashboard, which _can_ be disabled.

> Spotlight - I don't use Dock, sometimes I forget its even there. I would disable it if I could.

While my replacement isn't spotlight (I just use Proxi with a bunch of switch-directly-to-application-X hotkeys), I don't use the Dock either and would disable it if I could do so easily, without losing Dashboard, Spaces, and everything else that runs as part of the Dock process. (Although I actually still use command-M and Witch to minimize and unminimize windows to & from the Dock via the keyboard.)

In Tiger there was a nice hidden preference that allowed you to put it at the top of the screen, under the menu bar, where it would only come out if you really wanted it to (because the mouseover activation row was only one pixel tall and not at the top edge of the screen but rather the bottom edge of the menu bar), and was thus effectively pretty much disabled. Sadly, that option disappeared in Leopard. The best alternative I've found so far is to make the Dock really really tiny -- you can make it smaller than the System Preferences GUI will let you via 'defaults':

  # defaults write com.apple.Dock tilesize -int 1
I find Quicksilver to be absolutely essential to my OS X keyboarding, http://www.blacktree.com/quicksilver I always disable the spotlight trigger and assign Quicksilver to the oh-so-easy command-space trigger. Try it! It's faster than spotlight and vastly more extensible.
Get a launcher app. Quicksilver has long been a favorite of Mac users, but I'm much more fond of a newcomer called Alfred (http://www.alfredapp.com/). There are a few others, as well.

The idea is to extend the command-line metaphor to parts of OS X where a regular shell isn't useful, and most such tools provide a whole lot of functionality besides just launching apps.

Automator Automator Automater (Free drag and drop scripting toolkit already installed on the machine).
i like my apps fullscreen to eliminate all the other noise and using spaces to navigate.

fullscreen macvim is actually a beautiful editor.

just get rid of your mouse for awhile, even if it kills your productivity. it'll make you figure out the keyboard shortcut for everything.
I'd add two points to the excellent comments above. My RSI was aggravated by use of the mouse. I found that using a trackpad with tap-to-click enabled helped significantly. But even more important was moving all of my informational surfing, twittering, emailing, etc. to the iPad. That probably accounted for a couple hours of computer use a day. Perhaps I'll come down with "iPad wrist" in the future, but for now the different gesture patterns don't trigger the RSI pain.
This might be old news to you, but it took me a while to discover after I started using OS X:

Cmd-Tab switches between applications (as I'm sure everyone knows), but it's less useful on OS X than Ctrl-Tab is on Windows or Linux because it doesn't switch between individual windows in those applications.

Cmd-Tilde (~) was the missing link for me. It switches between windows in the current application. Those two are probably the most important keyboard shortcuts I know on OS X.

Plus, another endorsement for Quicksilver. That's always the first application I install, and I now find it really frustrating to use any computer that doesn't have it installed.

And maybe you should set your Dock to auto-hide, so you're not so tempted to move the mouse over there to monkey with things.

That is Cmd-` (~ would require a Shift)

And after Cmd-Tab, Cmd-~ takes you backwards in the list of apps. So if you Cmd-Tab too many times, Cmd-~ takes you back instead of having to cycle through.

Likewise, in Safari Cmd-} (aka Cmd-Shift-]) and Cmd-{ take you forward and backward through the tabs. This also works in Terminal.

Cmd-L puts the focus on the location bar in Safari if you want to type in a URL (or tab over to the search)

Quicksilver is cool, but I just use Spotlight for launching apps. Cmd-Space turns on Spotlight.

If you use TextMate, I highly recommend the TextMate book from Prag Press.

Those are some of my favorites.

Only had a MBP for a few days (first Mac), but isn't Safari tab-cycling also via Ctrl-Tab, and Ctrl-Shift-Tab to go in reverse? At least on the laptop keyboard, involving the square brackets would necessitate a fairly long stretch, or using both hands?

Being new to the Mac, I'd be happy to hear more shortcuts!

It seems you haven’t noticed that there is a Command key both to the left and to the right of the keyboard, so Command-[ and -] are pretty easy to do one-handed if you use the Command key on the right. I think Ctrl-Tab is just there for compatibility with Windows browsers that use that as their main tab-switching shortcut.
Oops! I use my left hand for keyboard shortcuts while the right hand is occupied with the mouse so didn't even think to look for Command or Option on the right side!
An interesting thing about osx shortcuts is that you can change almost all of them with system prefs -> keyboard -> keyboard shortcuts. (for programs individually and for the whole system)
That is great! I didn't know about Cmd-~ either. Thanks!
Also, Cmd-Shift-Tab and Cmd-Shift-` will walk you through Apps and Windows (respectively) in the opposite direction.
In OpenOffice spreadsheet, Command-Tilde toggles between it evaluating your formulas as you expect and it displaying the formulas in the cells. If you don't know this, it can be very confusing to figure out what happened after you hit Command-Tilde out of habit trying to switch windows.
Use Cmd-w to close windows and Cmd-q to quit applications.

Also, when Cmd-Tab'ing, you can hold down Cmd and hit q to quit an application. It's a quick method for closing a lot of applications.

Clipboard history is a hidden gem on Quicksilver.

Just enable on Triggers, I set Shift-Ctrl-Cmd-V, and then I can use 1-9 to paste any of the 9 most recent clipboard items. I can use the mouse to select any of the most recent 250 clipboard items.

Check out jumpcut too. It has a mode to pop up a bezel where you can keyboard your way through the various copy/paste buffers you've used. I use quicksilver, but I also run jumpcut just for its paste buffers.
+1 for Jumpcut - I tried Quicksilver clipboard history and found it slowed my whole machine down. Jumpcut has really good keyboard shortcut support, too.
I use Witch (http://manytricks.com/witch/) which can you can setup to use alt/option-tab for window switching. This switches correctly, as in, with the same behavior as Cmd-Tab (LRU list). It is not free, but very handy.
Visor http://visor.binaryage.com/ hasn't been mentioned but it's how you should be opening and running your terminal.

Turn on and spend a few minutes learning the keyboard shortcuts in GMail if you use it (conveniently, they map nicely to vi). This alone probably has saved me days of mousing, plus it can make ripping through your inbox kind of fun.

I also strongly second vimperator (the only reason I'm still using Firefox) and sizeUp.

Finally, just try unplugging your mouse occasionally to see how you're doing and what is still causing you to reach for it. Then sharpen the saw :)

I couldn't live without Visor, I have it set to ctrl-~ and a full screen terminal. It's lovely, I spend most of my time there with vim and screen.
I have caps-lock mapped to ctrl and visor set to ctrl-<CR>. So my terminal is always two pinkies away :)
Oh, caps-lock to control goes without saying :)

I do like the idea of a double-pinkey jab as a shortcut.

Seems substantially similar to DTerm -- which BTW, doesn't require SIMBL http://www.decimus.net/dterm.php
Tried it and I much prefer Visor. But I tend to want to go into Terminal and stay there rather than just running single commands.
I haven't seen anyone mention Optimal Layout yet in the thread, so I will:

http://most-advantageous.com/optimal-layout/

It lets you move, resize, and tile windows easily with just the keyboard, and you get a better Cmd-Tab that switches by window (though unfortunately it binds to Alt-Tab by default, and I haven't figured out how to override that).

I think it's better than both Divvy and SizeUp.

Also, +1 for vimperator and Quicksilver.

While not 100% perfect, nor supported by every app in Mac OS X, you can enable voice commands under "Speech" in System Preferences. This will allow you to do certain things without touching your mouse or keyboard (minus a "listen" hot key)!

Your Mac will need a mic of course (most have them built in, except for Mini and Pro desktops I believe...).

My mostly mouse-less OSX toolbox:

1. SizeUp, small window management tool with keyboard shortcuts

2. QuickSilver

3. Ctrl + tab

4. Things quickentry ctrl + alt + cmd + space (that one is actually very helpfull)

When you're working/coding you should never have to use the mouse, except for say, positioning windows, etc.

Use the Keyboard Preferences to add or change shortcuts for your most-used commands. This can be done system-wide or on a per-application basis.

For example, give the "Access Menu Bar" command a better shortcut, such as Option+Space; give Window Zoom a shortcut (I use command+control+Z), etc.

In your most-used apps, explore the menu bar to see what keyboard shortcuts are already available, learn them, assign shortcuts for commands you use the most.

And make sure the software you write can also be navigated using the keyboard, assign thoughtful keyboard shortcuts, etc.

A lot of great tips here. I tried hard to get used to things, but I always felt that I was fighting the Mac window manager. I now have Virtualbox running Linux on my Mac. In full screen mode it is the same as running Linux. I use Xmonad, a tiling window manager with great support for keyboard shortcuts.

My other pain point was that Mac doesn't have autocopy, although I am not sure if that is good or bad for your RSI.