• Stars
    star
    17,856
  • Rank 1,398 (Top 0.03 %)
  • Language
    C++
  • License
    The Unlicense
  • Created almost 8 years ago
  • Updated 6 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.

Build Status License

Karabiner-Elements

Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra or later.

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 11 Big Sur
  • macOS 12 Monterey
  • macOS 13 Ventura
  • macOS 14 Sonoma

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:

  • macOS 12+
  • Xcode 13.3+
  • Command Line Tools for Xcode (xcode-select --install)
  • xz (brew install xz)
  • XcodeGen (brew install xcodegen)
  • CMake (brew install cmake)

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.

  • src/vendor/Karabiner-DriverKit-VirtualHIDDevice/dist/Karabiner-DriverKit-VirtualHIDDevice-*.dmg
  • 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.

More Repositories

1

KE-complex_modifications

Karabiner-Elements complex_modifications rules
JavaScript
1,249
star
2

ShowyEdge

A visible indicator of the current input source for macOS.
Swift
292
star
3

Karabiner-DriverKit-VirtualHIDDevice

C++
206
star
4

Tinkle

Swift
76
star
5

osx-event-observer-examples

Objective-C++
64
star
6

Karabiner-VirtualHIDDevice

Karabiner-VirtualHIDDevice is a virtual HID device driver for macOS.
C++
55
star
7

TrueWidget

Swift
38
star
8

osx-hid-inspector

C++
25
star
9

repository-overview

Overview of pqrs.org repositories
20
star
10

BulletGBA

C++
14
star
11

disable-draganddrop-tb

A Thunderbird add-on which disables drag and drop on the folder tree in order to prevent unintended folder movement.
JavaScript
9
star
12

Vulkanon

C++
8
star
13

NesterDC

C
5
star
14

cpp-osx-iokit_service_monitor

C++
4
star
15

cpp-osx-launchctl

C++
4
star
16

cpp-osx-iokit_hid_element

C++
3
star
17

pqrs.org

HTML
3
star
18

cpp-osx-iokit_registry_entry

C++
2
star
19

cpp-osx-accessibility

C++
2
star
20

cpp-osx-system_preferences_monitor

C++
2
star
21

cpp-process

C++
2
star
22

cpp-osx-iokit_iterator

C++
2
star
23

cpp-osx-system_preferences

C++
2
star
24

cpp-osx-iokit_types

C++
2
star
25

gh-pages-karabiner-elements.pqrs.org

Makefile
2
star
26

gh-pages-ke-complex-modifications.pqrs.org

2
star
27

dcgnuboy

C
1
star
28

objc-weakify

Objective-C
1
star
29

cpp-osx-json_file_monitor

C++
1
star
30

cpp-osx-iokit_hid_manager

C++
1
star
31

cpp-thread_wait

C++
1
star
32

cpp-osx-cg_event

C++
1
star
33

cget-recipes

Python
1
star
34

cpp-osx-codesign

C++
1
star
35

cpp-osx-iokit_hid_value

C++
1
star
36

KE-complex_modifications-core

TypeScript
1
star
37

cpp-osx-iokit_hid_system

C++
1
star
38

cpp-osx-os_kext_return

C++
1
star