Karabiner-Elements is a powerful key remapper for macOS.
You can download Karabiner-Elements from the official site.
Alternatively, for users of homebrew, Karabiner-Elements may be installed with brew install --cask karabiner-elements
.
You can download previous versions of Karabiner-Elements from here.
Documentation can be found here: https://karabiner-elements.pqrs.org/docs/
If you would like to contribute financially to the development of Karabiner-Elements, donations can be made via https://karabiner-elements.pqrs.org/docs/pricing/
System requirements to build Karabiner-Elements:
xcode-select --install
)brew install xz
)brew install xcodegen
)brew install cmake
)Get source code by executing the following command in Terminal.app.
git clone --depth 1 https://github.com/pqrs-org/Karabiner-Elements.git
cd Karabiner-Elements
git submodule update --init --recursive --depth 1
(Optional) If you have a codesign identity:
Find your codesign identity.
security find-identity -p codesigning -v | grep 'Developer ID Application'
The result is as follows.
1) 8D660191481C98F5C56630847A6C39D95C166F22 "Developer ID Application: Fumihiko Takayama (G43BCU2T37)"
Your codesign identity is 8D660191481C98F5C56630847A6C39D95C166F22
in the above case.
Set environment variable to use your codesign identity.
export PQRS_ORG_CODE_SIGN_IDENTITY=8D660191481C98F5C56630847A6C39D95C166F22
Find your codesign identity for installer signing.
security find-identity -p basic -v | grep 'Developer ID Installer'
The result is as follows.
1) C86BB5F7830071C7B0B07D168A9A9375CC2D02C5 "Developer ID Installer: Fumihiko Takayama (G43BCU2T37)"
Your codesign identity is C86BB5F7830071C7B0B07D168A9A9375CC2D02C5
in the above case.
Set environment variable to use your codesign identity for installer signing.
export PQRS_ORG_INSTALLER_CODE_SIGN_IDENTITY=C86BB5F7830071C7B0B07D168A9A9375CC2D02C5
Build a package by executing the following command in Terminal.app.
make package
The make
script will create a redistributable Karabiner-Elements-VERSION.dmg in the current directory.
Karabiner-Elements uses some pre-built binaries in the source tree.
src/vendor/Karabiner-DriverKit-VirtualHIDDevice/dist/Karabiner-DriverKit-VirtualHIDDevice-*.pkg
(the latest one)Sparkle.framework
in src/apps/SettingsWindow/
The above make package
command does not rebuild these binaries.
(These binaries will be copied in the distributed package.)
If you want to rebuild these binaries, you have to build them manually.
Please follow the instruction of these projects.