Mac Keyboard Software Guide
This page is a list of tools and tutorial for remap keys, create keyboard shortcuts, layouts, etc.
There are several ways to swap modifiers. The easiest is builtin preference panel.
Karabiner (aka KeyRemap4MacBook)
For more advanced modifier remapping (For example, distinguish left Ctrl vs right Ctrl, remap Esc, remap Enter ↵ key, define Microsoft keyboard's ▤ Menu key, …), you can use Karabiner.
Seil (aka PCKeyboardHack)
Some key changes cannot be done with Karabiner. You need Seil.
Another popular tool is DoubleCommand.
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:
- It only lets you create a key for a action that has a menu. (for example, you cannot define a key to launch a app.)
- Once you created a hotkey, the original key will be lost. (for example, if you set F1 to Copy, then you'll lose 【⌘ Cmd+c】.)
- Numerical keypad keys cannot be used as trigger. (For example, you cannot make the number pad keys as personalized extra function keys.)
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.
For Microsoft keyboard, i recommend:
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 can just plug in your keyboard in any computer, any Operating System, and the keys will work the way you wanted.
The gaming keyboard's programable feature is also vastly superior than any of the keyboard software can do. Also, extremely easy to use Graphical User Interface, with macro recording capabilities. They also have profiles (which is a set of configurations). You can configure one profile for Mac, or a profile for specific app such as photoshop.
But, most of gaming keyboard's software is Microsoft Windows only. So, you'll need access to Windows machine first to configure 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.)
App Launchers, General Key Macro Utilities
• Quicksilver (software), home page @ http://qsapp.com/. A app launcher. Assign hotkey to launch/switch/open apps or files. The hotkey can be single key (For example, F1) or combo-key (For example, 【⌘ Cmd+F1】).
• $$$ Keyboard Maestro @ keyboardmaestro.com A basic key macro software. Good, but a bit expensive.
• $$$ QuicKeys @ startly.com. 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
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.)
- 〔Key Codes By Peter Maurer. http://manytricks.com/keycodes/〕
- 〔KeyBindingsEditor By Gerd Knops. @ http://www.cocoabits.com/KeyBindingsEditor/〕
- 〔USB Overdrive By Alessandro Levi Montalcini. @ http://www.usboverdrive.com/USBOverdrive/News.html〕
- 〔ControllerMate @ http://www.orderedbytes.com/controllermate/. Commercial. USB interface mapper. Seems to let you remap any USB input device's signals in flexible ways, including mouse.〕