Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra or later.
Karabiner stopped working because of the keyboard driver architecture changes at macOS Sierra. Thus, Karabiner-Elements was made from scratch for new macOS.
Karabiner-Elements is ready to use today. It provides a useful subset of Karabiner's features that you can begin using immediately.
You can download the latest Karabiner-Elements from https://pqrs.org/osx/karabiner/
You can download previous versions of Karabiner-Elements from here: https://github.com/tekezo/pqrs.org/tree/master/webroot/osx/karabiner/files
- macOS 10.11.*
- macOS 10.12.*
- macOS 10.13.*
- Secure Keyboard Entry: Support secure entry in the Terminal, Password prompt etc.
- Modifier Flag Sync: Synchronize modifier flags across all connected keyboards.
- Simple Modifications: Map normal keys to arbitrary key functions.
- Function Keys: Map function keys to arbitrary key functions.
- Complex Modifications: Map keys by complex rules. eg key to modifiers, modifiers+key to key, send key event if pressed alone, etc.
- Devices: Apply modifications to specified keyboards only.
- Virtual Keyboard: Set the virtual keyboard's type (ANSI, ISO, JIS) and its Caps Lock Delay.
- Profiles: Support the creation of multiple profiles that the user can switch between.
- Inverted Function Keys: Invert the functionality of the function keys with regard to the fn modifier.
- Log Keyboard Events: Render the keyboard events log.
- Log Application Events: Render the Karabiner-Elements event log.
- Misc: Enable automatic updates, delete Karabiner Elements etc.
- Karabiner-Elements cannot modify eject key due to the limitation of macOS API.
- Karabiner-Elements ignores the
System Preferences > Keyboard > Modifier Keys...configuration.
How to build
- macOS 10.12+
- Xcode 9+
- Command Line Tools for Xcode
- Boost 1.61.0+ (header-only) http://www.boost.org/
To install the Boost requirement, download the latest Boost release, open the
boost folder inside of it, and move all of the files there into
(For example, the version.hpp should be located in
Step 1: Getting source code
Clone the source from github.
git clone --depth 1 https://github.com/tekezo/Karabiner-Elements.git
Step 2: Building a package
cd Karabiner-Elements make
make script will create a redistributable Karabiner-Elements-VERSION.dmg in the current directory.
If you would like to contribute financially to the development of Karabiner Elements, donations can be made via https://pqrs.org/osx/karabiner/donation.html