All Projects → pqrs-org → Karabiner Elements

pqrs-org / Karabiner Elements

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

Programming Languages

C++
36643 projects - #6 most used programming language
objective c
16641 projects - #2 most used programming language
swift
15916 projects
c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Karabiner Elements

Windowwalker
Keyboard Alternative to Alt-Tab on Windows
Stars: ✭ 145 (-98.95%)
Mutual labels:  keyboard
Keyman
Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Stars: ✭ 156 (-98.88%)
Mutual labels:  keyboard
Autokbisw
Automatic keyboard/input source switching for OSX
Stars: ✭ 176 (-98.73%)
Mutual labels:  keyboard
Mbp Ubuntu
UBUNTU 20.04 for MacBook Pro 16,1 (16,1 wifi not working atm)
Stars: ✭ 146 (-98.95%)
Mutual labels:  keyboard
Vue Keyboard
A simple virtual keyboard for Vue.js.
Stars: ✭ 152 (-98.9%)
Mutual labels:  keyboard
Mx alps hybrid
KiCad Library of custom MX-Alps footprints
Stars: ✭ 160 (-98.85%)
Mutual labels:  keyboard
Keyboardstateevents
LiveData notification when keyboard opens or closes, plus some handy extension functions
Stars: ✭ 140 (-98.99%)
Mutual labels:  keyboard
Configurator
Client-side component of the configurator
Stars: ✭ 184 (-98.67%)
Mutual labels:  keyboard
Hidusbf
USB Mice Overclocking Software (for Windows)
Stars: ✭ 152 (-98.9%)
Mutual labels:  keyboard
Keyboardtextfield
KeyboardTextField is a lightweight, simple, non-invasive keyboard accompanying input box! Write in Swift!
Stars: ✭ 170 (-98.77%)
Mutual labels:  keyboard
Android Xnumberkeyboard
Android number keyboard view. Android自定义的数字键盘。
Stars: ✭ 149 (-98.93%)
Mutual labels:  keyboard
Metago
MetaGo provides fast cursor movement/selection for keyboard focused users in vscode
Stars: ✭ 151 (-98.91%)
Mutual labels:  keyboard
Angular Star Rating
Star Rating Angular Component written in typescript, based on css only techniques.
Stars: ✭ 162 (-98.83%)
Mutual labels:  keyboard
Keyboardjs
A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
Stars: ✭ 1,881 (-86.44%)
Mutual labels:  keyboard
Keybd event
For simulate key press in Linux, Windows and Mac in golang
Stars: ✭ 175 (-98.74%)
Mutual labels:  keyboard
Binarykeyboard
A keyboard with two buttons that types in binary.
Stars: ✭ 141 (-98.98%)
Mutual labels:  keyboard
A Keyboard
javascript keyboard
Stars: ✭ 160 (-98.85%)
Mutual labels:  keyboard
Mac Keyboard Brightness
🔆 Programmatically get & set the keyboard & display backlight brightness on Macs. Flash your keyboard to the music! (only works on <2015 Macs)
Stars: ✭ 185 (-98.67%)
Mutual labels:  keyboard
Chromium Vim
Vim bindings for Google Chrome.
Stars: ✭ 2,150 (-84.5%)
Mutual labels:  keyboard
Nrf52 Keyboard
A ble keyboard firmware using nrf52810/52832
Stars: ✭ 168 (-98.79%)
Mutual labels:  keyboard

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 official site.

Old releases

You can download previous versions of Karabiner-Elements from here.

Supported systems

  • macOS 11 Big Sur
  • macOS 12 Monterey

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 11+
  • Xcode 13.1+
  • 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 a 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 a 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/PreferencesWindow/

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].