Karabiner-Elements

From Mac apps, in the HARD wiki · Updated
This article is about the Karabiner-Elements app for Mac. For every app, see Mac apps.

Karabiner-Elements changes what keyboard keys do, including shortcuts and rules for particular apps. It’s made by pqrs.org, based in Japan.

What it is

Karabiner-Elements lets people swap keys, change shortcuts and use different keyboard rules in different apps. It is free and open source.

It captures keyboard input to change it according to your settings. It can also read which app and interface element has focus. The maker says this information stays on your Mac and keystrokes are not sent externally.

Its background services and virtual keyboard driver are documented parts of how it works. Rules can also run commands with your user account’s access. Update checks send the app version, and the server records your IP address and the time.

Who makes it

pqrs.org is the software website of Takayama Fumihiko, a developer based in Japan. Its website is pqrs.org.

Is it the real one?

Every Mac app carries a signature from the developer who made it. Apple checks who the developer is before handing out the certificate, and macOS refuses to open an app whose signature has been tampered with.

The real Karabiner-Elements is signed by Fumihiko Takayama, Apple team ID G43BCU2T37. A copy signed by anyone else isn’t from pqrs.org. HARD’s Mac app checks this for you; to check by hand, open Terminal and run codesign -dv "/Applications/Karabiner-Elements.app", and look for that TeamIdentifier.

Its bundle ID, the name macOS knows it by, is org.pqrs.Karabiner-Elements.Settings or org.pqrs.Karabiner-EventViewer or org.pqrs.Karabiner-Elements.Preferences or org.pqrs.Karabiner-MultitouchExtension or org.pqrs.Karabiner-Updater or org.pqrs.Karabiner-DriverKit-VirtualHIDDevice or org.pqrs.Karabiner-VirtualHIDDevice-Daemon or org.pqrs.Karabiner-VirtualHIDDevice-Manager. Download it only from karabiner-elements.pqrs.org, not from an ad or a link someone sends you.

What it connects to

In normal use, Karabiner-Elements talks to these places on the internet. A firewall that asks before apps connect, like the one in HARD’s Mac app, will show them.

AddressWhy
appcast.pqrs.orgChecks for updates.
github.comHosts official installer downloads.
ke-complex-modifications.pqrs.orgOpens in your browser to find community rules.

What it can see

macOS asks you before an app can use these. You can change them any time in System Settings → Privacy & Security.

PermissionWhat it’s for
AccessibilityReads the active app and focused interface element for app-specific rules; also allows keyboard input capture.
Input MonitoringReceives keyboard input for remapping in version 15.9.0 and earlier; usually covered by Accessibility in version 16.0.0 and later.
Driver ExtensionsAllows its driver to provide a virtual keyboard and mouse.
Login ItemsAllows its background services to keep handling keyboard input.

References

  1. Karabiner-Elements official website karabiner-elements.pqrs.org
  2. pqrs.org apps and developer profile pqrs.org
  3. Takayama Fumihiko’s GitHub profile github.com
  4. Karabiner-Elements privacy karabiner-elements.pqrs.org
  5. Karabiner-Elements security architecture karabiner-elements.pqrs.org
  6. Required macOS settings karabiner-elements.pqrs.org
  7. Pricing karabiner-elements.pqrs.org
  8. Check for updates karabiner-elements.pqrs.org
  9. Release notes, including the older Settings bundle identifier karabiner-elements.pqrs.org
  10. Use more complex modifications karabiner-elements.pqrs.org
  11. Settings app build configuration raw.githubusercontent.com
  12. EventViewer build configuration github.com
  13. MultitouchExtension build configuration raw.githubusercontent.com
  14. Updater build configuration raw.githubusercontent.com
  15. Virtual keyboard driver and bundled component identifiers github.com
  16. Published security advisories github.com
  17. The signature on a real installed copy, read by HARD with codesign.