Awesome
Karabiner-Elements
Karabiner-Elements is a powerful key remapper for macOS.
Download
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
.
Old releases
You can download previous versions of Karabiner-Elements from here.
Supported systems
- macOS 15 Sequoia
- Both Intel-based Macs and Apple Silicon Macs
- macOS 14 Sonoma
- Both Intel-based Macs and Apple Silicon Macs
- macOS 13 Ventura
- Both Intel-based Macs and Apple Silicon Macs
Usage
Documentation can be found here: https://karabiner-elements.pqrs.org/docs/
Donations
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/
For developers
How to build
System requirements to build Karabiner-Elements:
- macOS 13+
- Xcode 15.0.1+
- Command Line Tools for Xcode (
xcode-select --install
) - xz (
brew install xz
) - XcodeGen (
brew install xcodegen
) - CMake (
brew install cmake
)
Steps
-
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.
Note about pre-built binaries in the source tree
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
insrc/apps/SettingsWindow/
The above make package
command does not rebuild these binaries.<br/>
(These binaries will be copied in the distributed package.)
If you want to rebuild these binaries, you have to build them manually.<br/> Please follow the instruction of these projects.