HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pqrs-org
Karabiner-Elements
C++2016–2026
pqrs-org / Karabiner-Elements

Karabiner-Elements

Karabiner-Elements is a powerful tool for customizing keyboards on macOS

52Distinct people
61Mentions
1Explicit recommenders
23.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Karabiner-Elements is a powerful tool for customizing keyboards on macOS

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I recommend using Karabiner-Elements[1] if you need to customize USB HID devices of any make or model (instead of installing flakey Logi sw). 1:…

blacksmith_tb used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year61 dated mentions

Observed mentions: 2016-09-20 17:27:59 UTC to 2026-03-08 03:37:53 UTC.

051015202016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 22 mentions; 2 submissions, 20 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 10 mentions; 3 submissions, 7 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC22220
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC514
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC707
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC707
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC1037
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC211
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Karabiner-Elements Karabiner-Elements is a powerful key remapper for macOS. Download You can download Karabiner-Elements from the official site. Alternatively, if you use Homebrew, you can install Karabiner-Elements with brew install --cask karabiner-elements. Old releases You can download previous versions of Karabiner-Elements from the release notes. Supported systems macOS 27 Golden Gate Apple Silicon Macs macOS 26 Tahoe Both Intel-based Macs and Apple Silicon Macs 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 support Karabiner-Elements development financially, donations can be made at https://karabiner-elements.pqrs.org/docs/pricing/. Localization To edit translations or add a language, see the localization guide. For developers System requirements to build Karabiner-Elements macOS 15+ Xcode 26+ Command Line Tools for Xcode (xcode-select --install) xz (brew install xz) XcodeGen (brew install xcodegen) CMake (brew install cmake) How to build the package Step 1: Get the source code Get the source code by running the following commands 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 Step 2: Prepare code signing identities Code signing is required for the Karabiner-Elements background services to run. Prepare the appropriate code signing identities for your Apple Developer Program status. If you are not enrolled in the Apple Developer Program: Use a development code signing identity. In Xcode Settings, add your account under Apple Accounts, then create an Apple Development certificate from Manage Certificates. If you are enrolled in the Apple Developer Program: Create Developer ID Application and Developer ID Installer certificates if you do not already have them. After preparing the code signing identities, run the following command in Terminal.app to get the identity hashes. security find-identity -v The output will look like this. The strings such as C3107C61DB3605DA2D4549054B225DAFB1D6FA2D and BD3B995B69EBA8FC153B167F063079D19CCC2834 are identity hashes. 1) C3107C61DB3605DA2D4549054B225DAFB1D6FA2D "Developer ID Installer: Fumihiko Takayama (G43BCU2T37)" 2) BD3B995B69EBA8FC153B167F063079D19CCC2834 "Developer ID Application: Fumihiko Takayama (G43BCU2T37)" 3) C0D6EBFEAD3C0EB6DB91C3514FF647917A0B5112 "Apple Development: Fumihiko Takayama (YVB3SM6ECS)" Set these values in environment variables as follows. To avoid forgetting these settings, you can add them to your shell configuration file, such as .zshrc. # Specify the identity hash for Developer ID Application or Apple Development. export PQRS_ORG_CODE_SIGN_IDENTITY=BD3B995B69EBA8FC153B167F063079D19CCC2834 # Specify the identity hash for Developer ID Installer or Apple Development. export PQRS_ORG_INSTALLER_CODE_SIGN_IDENTITY=C3107C61DB3605DA2D4549054B225DAFB1D6FA2D Step 3: Build a package Build a package by running the following command in Terminal.app. make package The make script will create a Karabiner-Elements-VERSION.dmg in the current directory. The package is included in the dmg file. Step 4: Install the package you built Open the dmg file and install Karabiner-Elements from the pkg file inside it. The permissions you grant to Karabiner-Elements, such as background service startup and Accessibility access, are based on the code signing identity. Therefore, if you switch from the officially distributed package to your own build, these permissions become invalid and must be granted again. macOS System Settings may not update its UI when permissions are invalidated by a signer change. In that case, reset the permissions by following these steps. Install your package. In System Settings, disable or remove the following permissions. Disable both of the following background services: Karabiner-Elements Non-Privileged Agents v3 Karabiner-Elements Privileged Daemons v3 Remove the Accessibility permission. Restart macOS. Open Karabiner-Elements and grant the permissions again. After these steps, the Karabiner-Elements package you built should work. Note about pre-built binaries and Swift packages Karabiner-Elements uses some pre-built binaries and Swift packages during the build. Pre-built binaries in the source tree: vendor/Karabiner-DriverKit-VirtualHIDDevice/dist/Karabiner-DriverKit-VirtualHIDDevice-*.pkg (the latest one) Swift packages resolved by Xcode/SwiftPM during the build include: Sparkle for Karabiner-Updater AsyncAlgorithms, CodeEditor, and other packages used by individual apps The make package command does not rebuild the pre-built binaries listed above. These binaries are copied into the distributed package. Swift packages are resolved by Xcode/SwiftPM from their package repositories during the build. If you want to rebuild or modify them, please follow the instructions for each upstream project.
Read the full README on GitHub

What Hacker News says

61 sources
Cap locks should be control the way god intended it! :) You can use the hidutil if you want to script changes yourself: https://developer.apple.com/library/archive/technotes/tn2450... Or Karabiner Elements: https://github.com/pqrs-org/Karabiner-Elements/blob/master/R... I have an Filco Japanese keyboard and the default settings on macOS even when the keyboard is set to Japanese (QWERTY JIS) gets the 英数 (alphanumeric) key, and かな (kana) key wrong (and they are supported on the built in laptop keyboard).
In Sensible macOS Defaults
nikivi·Sep 10, 2020Submission

Karabiner Available for macOS Big Sur

Tekezo [released a new build](https://twitter.com/tekezo/status/1303725699061092352) for [Karabiner Elements](https://github.com/pqrs-org/Karabiner-Elements) that works on latest macOS. It's super powerful tool to rebind keybindings especially when combined with [Goku compiler](https://github.com/yqrashawn/GokuRakuJoudo) that transforms few lines of edn into 1,000s lines of JSON. My config in JSON is more than 30,000 lines but in edn is [just 800 lines](https://github.com/nikitavoloboev/dotfiles/blob/master/karabiner/karabiner.edn).
3 points · Open discussion

Showing the 15 most recent of 61 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.