Save your wrists and your time: lose the mouse

Note: This post is aimed at macOS users, with some cross-OS tools. Most are free and open-source.

Hi, I’m Kevin and I don’t use a mouse.

As a knowledge worker or keyboard warrior, most of my life exists between the four corners of a screen. Even if you’re young, longevity is something to think about if the keyboard is your sword 12 hours a day.

Its important to note that this post is secondary to good ergonomics [1] [2]. However, some believe that the mouse is particularly hazardous because of its poor design and need for precision. In desperation, I’ve tried all kinds of things like switching mouse hands and buying supposedly ergonomic mice. What makes sense to me is to offload the work of a mouse to the keyboard [1] [2].

Sometimes, you can have your cake and eat it too. In my experience, eliminating mouse and trackpad use has not only decreased strain on my wrists, shoulders, and elbows, but made me more productive.

The goal of this guide is to introduce tools that can 1) expose powerful new keyboard shortcuts, and 2) completely replace the mouse with your keyboard .


A) Index the UI for the keyboard

  1. Vimium “Master of chrome” (All OS, chrome and safari)
    1b. Vimac “Vimium for macOS”
    1c. iCMD $$
  2. Shortcat “Search the button” (macOS)

B) Replace mouse functions with the keyboard

  1. Karabiner & Mouse keys “Mouse killer” (macOS)
    3b. Mouse keys (Ubuntu and macOS)

C) Bonus and miscellaneous

  1. Alfred “Juiced up Spotlight” (macOS) $$
  2. Spectacle “Resize and manipulate windows” (macOS)
  3. Native shortcuts (macOS)

1. Vimium “Master of chrome” (All OS, chrome and safari)

If you ignored everything else, this is the tool I’d recommend. Because most of us habitate inside our web browsers (this tool works on Google Chrome or Safari), Vimium is essential. It’s easy to use, and I’ve never gone back to using my mouse in my browser again.

Mouse-free web browsing

As you can see above, it can take care of just about all your needs. If you’re a fan of vim, you’ve got a headstart with shortcuts. The shortcuts I use are:

findex all links to open in current tabggtop of page
Findex all links to open in new tabGbottom of page
jscroll down/find, press n to iterate
kscroll uptnew tab
dhalf a page downxclose current tab
uhalf a page upJmove one tab left
hscroll leftKmove one tab right
lscroll rightHback one page
Lforward one page

b. Vimac “Vimium for macOS” (macOS)

Update 11/22/20: I now recommend Vimac over iCMD since it’s free, open source, and just as good.

Vimac works essentially the same as iCMD below. The difference between Vimac and iCMD is that there is a scrolling mode I find useful, and that iCMD has two UI indexing modes you can activate - a lighter one and a heavier one. The advantage of this is that indexing is not yet perfect.

c. iCMD (macOS) $19

Update 9/23/20: This functionality finally exists on MacOS, but at a price.

Vimium-like UI indexing across all apps!

I’ve been waiting for someone to make this indexing functionality for MacOS overall, and iCMD has finally done it. The functionality of Vimium’s UI indexing now universal on macOS and also being able to search the menu bar ( something macOS has).

2. Shortcat “Search the button” (macOS )

⇧ (Shift) ⌘ (Command) SpaceActivate
⌃ (Ctrl) + indexSelect candidate button indexed with letters
TabIterate through candidate buttons

Shortcat is pretty useful for answering dialog boxes or clicking things with a kind of search index of the buttons on your entire screen. It can be slower since you have to search the text, and doesn’t work in all circumstances. But when it works, it does save quite a few clicks, especially because you can select the button with ⌃ (Ctrl) + index, similar to Vimium’s indexing of links. Note: The beta is free, but the paid version costs $18. The beta works quite well for me.

3. Karabiner & Mouse keys “Mouse killer” (Ubuntu and macOS)

Completely controlled by my keyboard!

Karabiner is a true replacement to mouse input, and since picking it up I’ve retired my mouse. I would list Karabiner as my first tool, but the process to set up and break in is a tad more involved. Karabiner works by mapping mouse actions (mouse up, down, left, right, click, etc) onto the keyboard. In my personal setup that lets me use either hand/side of the keyboard, I’ve mapped ⌃ (Ctrl) + wasd OR ijkl to my mouse movements. I’ve also mapped actions such as scroll, click, and right click, and have a precise and fast mouse navigation setting.

You can painlessly import my mouse key setup to Karabiner here. There are also multiple other mouse key settings you can try.

b. Mouse keys (native macOS )

Apple’s inferior take on a keyboard-mouse

If Karabiner is too low-level for you, macOS’s native mouse keys is an alternative, with some caveats. I find it rather tacky and slow for my tastes (even cranked up to the max speed). Left click and right click exist, but there is no mouse-wheel scroll function. Having an external numpad is also essential, or you’re stuck using your main keys and toggling mouse keys to alternate keyboard and mouse function.

⌥ (Option) 5 timesActivate or deactivate mouse keys
Numpad 5Click
⌃ (Ctrl) Numpad 5Right click
Numpad 8 2 6 4Up Down Right Left respectively
Numpad 7 9 1 3NW NE SW SE respectively

This also exists on Ubuntu and is more usable (mainly due to mouse speed) but needs some tuning to get used to.

4. Alfred “Juiced up Spotlight” (macOS )

Update 10/1/20: I previously had not covered the premium version, and now have, updating Alfred’s position on my list from 5 to 4.

Some swear by Alfred’s as a force multiplier, and there is a rich community of support. I didn’t understand it until I tried it myself. I’ve since retired Spotlight for Alfred. The free version offers a taste of it’s power, with lots of tedious actions exposed as keywords. But the real power comes from the custom workflows you can build or get from open-source: any action you could want to automate now at your fingertips you can use in Alfred. For example, by making bash to keywords in alfred, a basic task like toggling bluetooth or connecting to a device is now an option in alfred, thanks to someone who built this plugin.

⌥ SpaceActivation

Features in free version

  • Fast index of search results command + num
  • Better more customized search
  • Keyword for more specific task such as Google, wiki, Open for file search, Define, = fast calculator
  • Other chained actions you can now execute like logout, lock, quit, forcequit, shutdown, restart, or empty trash.

5. Spectacle “Resize and manipulate windows” (macOS )

If you multi-task on a single screen or with many screens, this is the tool for you. With lots of shortcuts, you can resize and reposition any programs into whatever order you want quickly.

⌘⌥FFull screen
⌥⌃←Left half
⌥⌃→Right half
⌥⌃↑Top half
⌥⌃↓Make smaller
⌥⌃⇧→Make larger
⌘⌃←Top left quadrant
⌘⌃⇧←Bottom left quadrant
⌘⌃→Top right quadrant
⌘⌃⇧→Bottom right quadrant

(Note that the settings can be changed on install, these are my settings I’ve changed to not conflict with the native copy and find shortcuts)

If you use dual monitors there’s also the option to zap a window into the next or previous screen.

Your toolbox, your choice.

That’s it for now from third party tools. Some of these tools work well in isolation, and others work better together in combination with each other and with native app shortcuts or OS shortcuts. For example, in Chrome, I limit my tabs to 9 with a chrome extension so I can navigate with command + tab number 1-9 (native chrome shortcut), use Vimium for clicking and indexing links, Karabiner for scrolling, and Alfred to quickly google or wikipedia in a new tab.

For that reason, I’d highly recommend spending even ten minutes getting intimate with all the shortcuts of your OS and the applications you use frequently. For me, knowing OneNote and Sublime Text shortcuts is essential.

In my opinion, shortcutting is much better than moving a cursor, even if controlled by a keyboard.

6. General Mac shortcuts

My favorites:

⌘TabSwitch to last program. Hold ⌘ to navigate through open programs.
⌘wClose current front window or tab
⌘`Switch to last window of current program.
⌘hHide the current window
⌘mMinimize the current window to the dock
⇧⌘/Activate menu search for fast access

The future

Eye-tracking or head-tracking mouse. This is a popular idea I’ve been researching recently. There is some existing software I want to try out. I’ll report more on this in the future. Head tracking is also now a part of macOS Catalina, which I’ll also give a go and maybe write about.

Brain computer interfaces (BCIs). Let’s hold out for our godfather Elon Musk to make Neuralink a reality. The next step is when the computer I/O is no longer limited by dexterous digits.

I hope you find this post useful. Please feel free to give me feedback, and comments on tools I may have neglected.

Disclaimer: I’m not giving any medical advice here. If you have problems, please go see someone for your wrists, and prioritize ergonomics.


Like this post? Subscribe for more.

Kevin Chow
Kevin Chow
Fledging Computer Scientist
comments powered by Disqus