Home

Awesome

Build Status License

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

Usage

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:

Steps

  1. 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
    
  2. (Optional) If you have a codesign identity:

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

    2. Set environment variable to use your codesign identity.

      export PQRS_ORG_CODE_SIGN_IDENTITY=8D660191481C98F5C56630847A6C39D95C166F22
      
    3. 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.

    4. Set environment variable to use your codesign identity for installer signing.

      export PQRS_ORG_INSTALLER_CODE_SIGN_IDENTITY=C86BB5F7830071C7B0B07D168A9A9375CC2D02C5
      
  3. 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.

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.