4

The Question:

Where can I find a resource to help me implement a powerful, holistic, cross-application approach to keyboard shortcuts on MacOS that maximizes productivity and minimizes movement that would hurt my wrists?

The Explanation:

Recently, I've started having wrist pain related to my keyboard/trackpad use. While I am now taking many proactive steps to address that (ergonomic keyboard, stretches, breaks, adjusting desk), I am also wanting to setup and master a comprehensive set of keyboard shortcuts (on MacOS) that will allow me to:

  1. maximize productivity with minimal keystrokes,
  2. minimize awkward stretches (ex: moving my left hand from from ASDF to cmd+ctrl+shift+g)
  3. navigate using the keyboard and avoid the trackpad/mouse whenever possible
  4. have an comprehensive and organized approach to shortcuts (ie when I want to define a shortcut in Atom for beautifying the editor there's some logic to why it's ctrl+option+b versus option+shift+b versus command+control+option+shift+b...) rather than a piecemeal, disorganized and application-specific approach.
  5. unlearn bad habits (ex: I noticed I move my entire right hand to hit shift+/ to make a ?) by defining the good habits.

I have got to believe that someone has already thought this all through and that I don't need to map out existing keyboard shortcuts for different programs, decide on a universal scheme for mapping/remapping that minimizes conflicts/confusion, write my own configuration scripts from the ground up, etc.

I am aware of:

  • Hammerspoon for automating OS X actions and assigning to keybindings
  • Alfred for quickly doing things via a "command line-like" interface.
  • Emacs and Ergomacs, which allow you to define a comprehensive set of keyboard shortcuts within the application.

What I'm looking for is essentially an implementation of emacs-like keyboard shortcuts for the whole OS, thoughtfully-organized and ergonomically-friendly

The ideal solution would combine:

  • A guide that orients the user to the approach, principles, etc
  • A software utility that handles universal mapping of the shortcuts across applications.
  • A set of pre-made config scripts that implement the beautiful, powerful, sensible approach defined in the guide.

Bonus points if this solution includes window management/resizing/positioning, and makes use of emacs-style prefix keymaps to create shortcut "domains" that simplify the shortcuts and group them into logical units.

1

The best solution I've found to date comes from Will Stern at LearnCode.Academy . He uses an Ergodox EZ keyboard, which allows for multiple layers (ie when you hold down a certain key it activates an entirely different keymap). It also has a "Hyper" key that acts as Ctrl+Cmd+Alt+Shift, which makes it easy to set up shortcuts that won't collide with other pre-existing or program-specific shortcuts. While I intend on ordering an Ergodox, it should be possible to configure a Hyper key on a standard keyboard with other keyboard utilities.

What Will does with his Ergodox configuration is he creates layer with a handful of keys that send Hyper+[somekey], and then binds that key combination to a particular function (like "move a line up") in all his main programs that he uses.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.