Giter VIP home page Giter VIP logo

honsa / karabiner-elements Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pqrs-org/karabiner-elements

0.0 0.0 0.0 100.34 MB

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

Home Page: https://pqrs.org/osx/karabiner/

License: The Unlicense

Makefile 0.78% Shell 0.90% Ruby 0.03% C++ 80.78% Objective-C 2.37% AppleScript 0.12% C 1.43% CMake 0.49% Python 0.14% Swift 12.96%

karabiner-elements's Introduction

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

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.

karabiner-elements's People

Contributors

tekezo avatar josephmilla avatar talha131 avatar honsa avatar aspacca avatar d3v1anx avatar jnozsc avatar ugultopu avatar saagarjha avatar quarkw avatar ipetepete avatar gaomd avatar hakubo avatar carlsmith avatar zlargon avatar mefuller avatar mchowning avatar cpanelricky avatar rolandwalker avatar sitaktif avatar rys avatar smlewis avatar wwwjfy avatar vsubhuman avatar vova avatar zabriskije avatar rcmdnk avatar ys64 avatar kozo2 avatar justinhaaheim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.