Until OS X El Capitan, I used Karabiner to swap the colon with the semicolon.

However, at least until now, the Karabiner Element doesn't support a key swap where both of keys are based on the same root key (so for example, swap between delete and backslash works but swap between single-quote and double-quote doesn't).

Is there any other hacks in Karabiner-Element that enables this swapping, or any other apps or workarounds in macOS that enables you to swap a key that built on the same base key?

  • Actually by now (2018, K-E 12.1) it's VERY easy to do key swaps that include modifier keys (here: "shift") . . . . . If you edit your ~/.config/karabiner/karabiner.json file you'd just have to add after "rules": [ this code: { "manipulators":[ {"from": {"key_code": "quote"}, "to": [ {"key_code": "quote", "modifiers": ["shift"]} ], "type": "basic"} ] },. . . . . . As you see "quote"is mapped onto itself, adding "shift" to invoke the "second letter" (printed above the "basic one" on a keyboard key). – clemsam lang Dec 11 '18 at 12:30
  • @clemsamlang Yes and I use Karabiner-Element now. – Blaszard Dec 11 '18 at 12:35

I just did a test and TextExpander will do exactly what you want. (Keyboard Maestro couldn't.)


You can easily make a custom layout with Ukelele to do this.


Unfortunately, Karabiner-Elements don't support the key swapping functionality. It only lets you remap some keys to others, and it is all it does right now.

Hammerspoon lets you swap keys, or lets you remap some keys or key combinations to others. You write in Lua to define whatever remapping you want.

  • 3
    I think you should include an example of the script for remapping a single key to give people a feel for the amount of learning and effort this involves. – Tom Gewecke Jun 20 '17 at 16:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .