Two-Handed Chording

Power typists, especially Emacs users, make use of key chording. That is, simultaneously pressing a modifier key (Shift, Alt, Control) and a target key. Even just typing a capital letter requires key chording with Shift.

Many typists use only their left hand for pressing modifier keys. This is a handicap to be overcome.

I suggest always pressing a modifier key with the opposite hand as the target key. For example, to type a capital "A" (Shift-A), you press Shift with your right hand and A with your left.

To type a capital "J" (Shift-J), press Shift with the left hand and J with the right.

Both hands are involved. This applies to all modifier keys, not just Shift.

I find this method to be faster, more accurate, and more comfortable than my previous method of contorting one hand to press both a modifier and a target.

However, two-handed chording requires a keyboard setup with each modifier available on each side.

Because the brain's visual/spatial/motor systems are roughly symmetrically wired, it's easier to remember and faster to perform symmetric hand movements. The ideal keyboard layout would not only have each modifier on each side, but also have them arranged symmetrically.

This is easy on a Kinesis keyboard, but when using a conventional keyboard (e.g. on a MacBook), there is also a way.

Configuring a MacBook Keyboard

MacBook keyboard modifiers are mostly symmetric, except there is no right-side Control. This is especially bad for Emacs users.

We are given a left-side Control, but it's small, squished between other modifiers, and far away. We need a better Control key on both sides.

For the left side, Caps Lock is the best option. To any well-mannered typist, Caps Lock is useless anyway. We should repurpose it for Control. (Sun Microsystems was doing this in the 90s.)

The right-side symmetry of Caps Lock is the Return key. At first it seems ridiculous to remap Return to Control, but there's a clever way to do it.

To do this on macOS before Sierra, you can use the Old Karabiner.

On macOS Sierra, this is an issue, but I got it working using Tony Wang's Fork of Karabiner-Elements.

How: just install the latest release and edit ~/.config/karabiner/karabiner.json to be:

  "profiles": [
      "name": "Default profile",
      "selected": true,
      "simple_modifications": {
        "caps_lock": "left_control",
        "return_or_enter": "right_control"
      "standalone_keys": {
        "return_or_enter": "return_or_enter"

Emacs Meta

Note to Emacs users: the Command key is not very useful inside I suggest rebinding Command to Meta because it's bigger and easier to press with the thumbs. To do this, use emacs-mac-port and add to init.el:

(setq mac-command-modifier 'meta
      mac-command-key-is-meta t)


The above configuration will give you symmetric modifiers:

It took me a few days to remap my brain to learn these new locations and perform two-handed chording, but it was worth it for the improved speed, accuracy, and comfort.

Reader Comments