Mac: Key Remapping and Keybinding Tools

By Xah Lee. Date: . Last updated: .

Here's a list of best Mac keyboard and mouse tools i've used for 10 or 20 years.

Swapping Modifiers

Go to the Mac system preferences panel, keyboard and mouse, to swap modifiers.

Mac modifier keys preference 85442
Mac keyboard preference panel (2017-09-22) for modifier keys.

Karabiner

Karabiner (was known as KeyRemap4MacBook) lets you do advanced key remapping.

For example, distinguish left Ctrl vs right Ctrl, remap Escape, remap Enter ↵ key, etc.

karabiner elements 2017 09 60028
Karabiner Elements, panel for function keys
KeyRemap4MacBook 2014-01-29
older version of Karabiner, dated 2015-01-12

Download at 〔Karabiner At https://pqrs.org/osx/karabiner/

Change Keyboard Shortcut in App

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

macOS add keyboard shortcut 2017 09 23 10370
macOS add keyboard shortcut 2017-09-23

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

Note: This mechanism is not very flexible, because:

Also, it does not always work.

Suppose you have a gaming mouse, and you've set buttons to do copy and paste, across any computer running macOS. Now, it won't work, because the copy and paste keys are changed, the 【⌘ command+c】 and 【⌘ command+v】 no longer works.

[see Mouse Reviews]

Programable Keyboards

Get a programable keyboard with onboard memory. This is the best solution. Because you can plug the keyboard in any computer and it'll work with your settings.

mistel barocco ergonomic split keyboard

see Programable Keyboards with Onboard Memory

App Launcher

App launchers are primarily designed to launch apps, open files, run scripts. You set a key to do them, or, a hotkey that pops up a dialog, then type any letter to launch or search.

Mac Quicksilver key trigger panel
Mac Quicksilver key trigger panel

Quicksilver, home page At 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, 【⌘ command+F1】).

Text Editor Key Behavior

Mac OS X's system-wide mechanism by creating a key config file DefaultKeyBinding.dict. See

This lets you:

Mac keyboard viewer us int 2017  41373

Mac: How to Change Keybinding

USB Overdrive

USB Overdrive is low-level USB tool. It lets you remap key or mouse buttons at USB level.

Excellent.

usb overdrive 2017 09 4100
USB Overdrive

USB Overdrive By Alessandro Levi Montalcini. At http://www.usboverdrive.com/USBOverdrive/News.html

Find Keyboard Keycode

install

Karabiner At https://pqrs.org/osx/karabiner/

It'll also install a “Karabiner-EventViewer”. It's in your Applications folder.

Launch it, and press key or mouse button and it'll show the keycode.

Mac keyboard mouse event viewer 65697
Mac keyboard mouse event viewer

ControllerMate

ControllerMate At 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.〕

[review of ControllerMate by Jonny, 2017-02-27.]

I've been using ControllerMate for several years now and I have to say that it is really an amazing and extremely powerful piece of software, and very flexible! The developer is also very quick to respond to questions on the forum and to come up with solutions which require coding (custom patches or add ons to download, or updates to download- depending on the situation). There is a bit of a learning curve! And while the interface is logical and straightforward, getting used to the basic underlying logic behind it all takes some time. But I can't even begin to explain all the unique and creative things you can do with it.

But I'll give a could examples... I quite easily was able to switch around and re-program lots keys on my keyboard (KM0Z1-5N6P and was able to physically switch the keys around as well to match), I also did some more complicated reprogramming using the Apps/Menu key almost like a new modifier, mainly to launch apps but also to access the higher Fn-keys (adding 10 to what's printed on the keyboard — only up to F20 though which he says is the MacOS limit).

I also customized my trackball so that if I double-middle-click-hold the ball becomes an any direction scroll “ball”.

Another major product was creating a very unique, customized programming for a Logitech G13. I did use the native software for just a couple of functions- basically for setting up the backlight colors for the various “pages” and configuring the applets. One cool thing I did that I use all the time is to setup the joystick to switch “Spaces” (Mission Control), and to move windows between my multiple monitors, and to move windows between “Spaces” depending on which of the adjacent button(s) I'm holding. It's SUPER easy and convenient! I also use those buttons (pretty much designed to be mouse buttons) as shift-life modifiers to access deeper levels of the closer buttons (in addition to and unique for the 3 ‘main’ pages which are built in). In some cases I set them up to trigger regular hotkeys, sometimes I create custom hotkeys with the keyboard control panel (typically using combos involving keys that aren't even on my keyboard or that are very difficult to type), and sometimes I have them trigger AppleScripts that native commands or use GUI control but only if the app is already running.

Honestly that barely even scratches the surface of all the things I know that ControllerMate can do which is only a fraction of what it can really do!

back to Keyboard Shortcut and Layout Tutorial

Mac Keyboard/Mouse Topic

  1. Mac: Key Remapping and Keybinding Tools
  2. Mac: Swap Control, Caps Lock, Option, Command Keys
  3. Mac: How to Change Keybinding
  4. Mac Keyboard Viewer and Unicode
  5. Mac: How to Switch to Dvorak Keyboard Layout
  6. Mac: Hover to Switch Window
  7. Mac Keyboard Shortcuts
  8. Apple Keyboards ⌨
  9. Difference Between Apple and PC keyboards