Mac: Key Remapping and Keybinding Tools
Here's a list of best Mac keyboard and mouse tools i've used for 10 or 20 years.
Go to the Mac system preferences panel, keyboard and mouse, to swap modifiers.
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.
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.
Just go to System Preferences, Keyboard and Mouse, Keyboard Shortcuts. Then click the + sign add 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 【⌘ command+c】.)
- Numerical keypad keys cannot be used as trigger. (For example, you cannot make the number pad keys as personalized extra function keys.)
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]
this lets you customize pointer devices, such as mouse, trackball, trackpad.
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.
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.
• 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
This lets you:
- Insert math symbols, emoji, insert any template text.
- Move cursor by word, page up/down, etc.
- Copy, cut, paste, undo, redo, etc.
- select word, line, paragraph, select all, etc.
- upcase word, lowercase word, etc.
- new, open, save, etc.
USB Overdrive is low-level USB tool. It lets you remap key or mouse buttons at USB level.
〔 USB Overdrive By Alessandro Levi Montalcini. At http://www.usboverdrive.com/USBOverdrive/News.html 〕
Find Keyboard Keycode
〔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.
〔 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!
Mac Keyboard/Mouse Topic
- Mac: Key Remapping and Keybinding Tools
- Mac: Swap Control, Caps Lock, Option, Command Keys
- Mac: How to Change Keybinding
- Mac Keyboard Viewer and Unicode
- Mac: How to Switch to Dvorak Keyboard Layout
- Mac: Hover to Switch Window
- Mac Keyboard Shortcuts
- Apple Keyboards ⌨
- Difference Between Apple and PC keyboards