explaingit

pqrs-org/karabiner-archived

3,789C++Audience · generalComplexity · 3/5LicenseSetup · hard

TLDR

Archived macOS keyboard remapping tool (no longer works on macOS Sierra or later). Lets you reassign keys, adjust repeat speed, and enable Emacs/Vi/Mouse Keys modes. Use Karabiner-Elements instead for modern macOS.

Mindmap

mindmap
  root((repo))
    Key Remapping
      Reassign any key
      Right Option to Enter
      Simulated numpad
    Special Modes
      Emacs mode
      Vi mode
      Mouse Keys mode
    Compatibility
      OS X 10.9 to 10.11
      Mac laptops and desktops
    Building from Source
      Xcode 8 required
      Boost C++ headers
      Disk image output
    History
      KeyRemap4MacBook origin
      Renamed in v9.3.0
      Archived now
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Remapping keys on a Mac running OS X 10.9, 10.11, such as reassigning Right Option to act as Enter

USE CASE 2

Enabling a simulated numpad on a laptop by combining the Fn key with letter keys

USE CASE 3

Studying the source code of a historical macOS keyboard driver as a learning reference

Tech stack

C++BoostXcodemacOSOS X

Getting it running

Difficulty · hard Time to first run · 1h+

Only works on OS X 10.9, 10.11. Requires Xcode 8 and Boost C++ headers to build. Does not run on macOS Sierra (10.12) or later, use Karabiner-Elements instead.

Public domain, no restrictions, use it however you like.

In plain English

This repository is an archived version of Karabiner, a keyboard customization tool for macOS. The README opens with a prominent notice: this version is obsoleted and no longer works on macOS Sierra (10.12) or later. Users needing keyboard remapping on modern macOS are directed to Karabiner-Elements, a separate project built from scratch when Apple changed the kernel architecture in Sierra. When it was in active use, Karabiner let Mac users remap any key to a different function. Examples in the README include reassigning the Right Option key to behave as Enter, or enabling a simulated numpad on laptops that lack a physical one by combining the Fn key with letter keys. Users could also adjust key repeat speed, and toggle special input modes including an Emacs mode, Vi mode, and Mouse Keys mode that controls the cursor using the keyboard. The tool supported all Mac hardware, from the MacBook range to iMac, Mac mini, and Mac Pro, running OS X 10.9 (Mavericks) through 10.11 (El Capitan). The README also notes compatibility information for older systems: a different release of the tool, then called KeyRemap4MacBook, is available for OS X 10.4 through 10.8. The software was renamed from KeyRemap4MacBook to Karabiner in version 9.3.0. Building from source requires OS X 10.11 or later, Xcode 8, and the Boost C++ library headers. The build process produces a redistributable disk image file. The code is released into the public domain. For anyone needing keyboard customization today, the successor Karabiner-Elements supports current versions of macOS and is maintained by the same developer.

Copy-paste prompts

Prompt 1
I want to remap my Right Option key to Enter on OS X 10.10 using Karabiner. Walk me through the steps.
Prompt 2
How do I enable Emacs mode in Karabiner on OS X El Capitan so I can use Emacs key bindings system-wide?
Prompt 3
I need to build Karabiner from source on OS X 10.11. What exact steps do I follow, and how do I install the Boost headers with Xcode 8?
Prompt 4
What is the difference between Karabiner and Karabiner-Elements, and how do I migrate my key remapping settings to Karabiner-Elements on modern macOS?
Open on GitHub → Explain another repo

← pqrs-org on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.