Mac OS X: Keyboard Layout, Keymapping, Keybinding, Software ⌨

, , …,

This page is a list of tools and tutorial for {keybinding, keymapping}.

Swapping Modifiers

There are several ways to swap modifiers. The easiest is builtin preference panel.

osx keyboard modifier switch
“Keyboard & Mouse” control panel under System Preference in Mac OS X 10.4.x. 〔➤ Mac OS X: How to Swap Control, Caps Lock, Option, Command Keys

Karabiner (aka KeyRemap4MacBook)

For more advanced modifier remapping (⁖ distinguish left Ctrl vs right Ctrl, remap Esc, remap Enter ↵ key, define Microsoft keyboard's ▤ Menu key, …), you can use Karabiner.

KeyRemap4MacBook 2014-01-29
Karabiner @

Seil (aka PCKeyboardHack)

Some key changes cannot be done with Karabiner. You need Seil.

PCKeyboardHack screenshot
PCKeyboardHack. seil (keyboard tool for Mac) @


Another popular tool is DoubleCommand.

DoubleCommand Mac OS X keymap tool
DoubleCommand by Michael Baltaks. @

Add/Change Keyboard Shortcut in Specific App

Mac OS X since 10.4 lets you add/change keyboard shortcut in a specific app.

Just go to System Preferences, Keyboard & Mouse, Keyboard Shortcuts. Then click the + sign at button.

Note: This mechanism is not very flexible, because:

Microsoft IntelliType

IntelliType Mac
Microsoft IntelliType Pro for Mac.

Buy a Microsoft keyboard then use the bundled IntelliType Software. Note: depending on what keyboard model you buy, not all features of IntelliType will be available. But basically, if the keyboard cost $30 or more, or has many special keys, most features will be there.

Highly recommended. With this solution, you get a functional keyboard, and with a software that does all launcher/shortcut common needs. No need to spend hours tweaking keymaps or config files.

For detail, see: Microsoft IntelliType Review.

For Microsoft keyboard, i recommend:

Microsoft sculpt ergonomic keyboard 41754
Microsoft Sculpt Ergonomic Keyboard Review

Firmware Programable Gaming Keyboards

Most gaming keyboards have reprogramable keys by firmware. This is the best solution, because, once a key is set in firmware, you do not need extra software for it to work. You can just plug in your keyboard in any computer, any Operating System, and the keys will behave as if you have program'd them. For example, you can program any key swapping, or set F12 to send 【Ctrl+w】.

But, most of gaming keyboard's software is Microsoft Windows only. So, you'll need access to Windows machine first to program the keys. After that is done, you can use it on the Mac. (check with the keyboard maker to see if they have Mac software.)

I recommend Logitech G710+ Mechanical Keyboard, or Truly Ergonomic Keyboard.

App Launchers, General Key Macro Utilities

Mac Quicksilver key trigger panel
Mac Quicksilver key trigger panel

Quicksilver (software), home page @ A app launcher. Assign hotkey to launch/switch/open apps or files. The hotkey can be single key (⁖ F1) or combo-key (⁖ 【⌘ Cmd+F1】).

• $$$ Keyboard Maestro @ A basic key macro software. Good, but a bit expensive.

• $$$ QuicKeys @ A comprehensive automation software, with key macro features, and also key macro recording abilities. I used it in 1990s for 10 years and find it the best. It was the number one most touted productivity enhancement software in Mac community in the 1990s. The company changed hand a few times over the years. The first Mac OS X version released around 2001 is not so good. Since then i haven't used it. Don't know how good it is today.

Text Editor Keybinding Behavior, Insert Date, Custom keys for Math/Unicode Symbols

mac unicode char

You can use Mac OS X's system-wide mechanism by creating a key config file DefaultKeyBinding.dict. See: Creating Keyboard Layout in Mac OS X.


If you use emacs, see, all you need to know about emacs keybinding

Advanced Key Interface Mapping; Low-Level Tools and Utilities

If you are really serious about key mapping, that you want to change any key to any key. For example, weird things like making Tab ↹ as ⌘ Cmd, make ⌥ Opt type Space, make the number keypad keys as extra function keys, re-interpret the USB signals as they come in, then, these are the tools. (Note: i haven't really used them.)

blog comments powered by Disqus