Skip to content

smlewis/Karabiner-Elements

 
 

Repository files navigation

Build Status License

Karabiner-Elements

Karabiner-Elements provides a subset of the features planned for the next generation Karabiner for macOS Sierra. The current version of Karabiner does not work with Sierra, so Karabiner-Elements was created to keep Sierra users up and running until a new version of Karabiner is published.

Project Status

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/latest/karabiner-elements-latest.dmg

System requirements

  • OS X 10.11.*
  • OS X 10.12.*

Usage

Detailed usage instructions are provided in the Usage README.

Features

  • 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.

Limitations

  • 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

System requirements:

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 /opt/local/include/boost/.

(For example, the version.hpp should be located in /opt/local/include/boost/version.hpp)

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

The make script will create a redistributable Karabiner-Elements-VERSION.dmg in the current directory.

Donations

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.en.

About

The next generation Karabiner for macOS Sierra

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 77.1%
  • Objective-C 16.7%
  • Shell 2.2%
  • C 2.0%
  • Makefile 1.5%
  • Ruby 0.3%
  • AppleScript 0.2%