• Stars
    star
    1,251
  • Rank 36,032 (Top 0.8 %)
  • Language
    JavaScript
  • License
    The Unlicense
  • Created almost 7 years ago
  • Updated 1 day ago

Reviews

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

Repository Details

Karabiner-Elements complex_modifications rules

Build Status License

KE-complex_modifications

complex_modifications for Karabiner-Elements.

https://ke-complex-modifications.pqrs.org/

Add rules

  1. Clone repository.

    git clone --depth 1 https://github.com/pqrs-org/KE-complex_modifications.git
    cd KE-complex_modifications
    git submodule update --init --recursive --depth 1
  2. Put a JSON generator file (.rb, .erb or .js) into src/json. (Or put a .json file directly into public/json directly.)

  3. (Optional) Update public/groups.json if you want to add your rules into specific category.

    Add the following entry into groups.json.

    {
        "path": "json/your_awesome_configuration.json", // required
        "extra_description_path": "extra_descriptions/your_awesome_configuration.html" // optional
    },
  4. Run make command on Terminal.
    If you've a generator file into src/json, formatted json file will be auto generated in the public/json/your_awesome_configuration.json.

    make

complex_modifications documents

Testing complex_modifications webpage on local server

public/index.html does not work properly if you open it via file://....
Launch a local web server by make server in terminal and open http://localhost:8000.
(You can quit the local web server by the control-c shortcut in terminal.)
Before run make server, make sure you've run make command to auto generate public/build/dist.json file.

Karabiner-Elements cannot import the json from the local web server due to the no https connection between local web server.
Please import the json via file copy. (See Test your own rules.)

Testing your own rules

  1. Copy a json file to ~/.config/karabiner/assets/complex_modifications.

    cp public/json/your_awesome_configuration.json ~/.config/karabiner/assets/complex_modifications
  2. Import rules from Karabiner-Elements Preferences. Karabiner-Elements Preferences > Complex Modifications > Rules > Add rule

How to publish your own rules

If you want to publish your own rules into complex_modification repository, follow this step.

  1. Fork this repository to your github account.
  2. Update or add new rules by following Add rules section. Don't forget to run make
  3. Stage modified files (git add) and commit it (git commit)

    NOTE : The make command will auto generate public/build/dist.json file. But do not stage public/build/dist.json file.
    (public/build/dist.json file is already ignored by .gitignore)

  4. Push to your forked repository.
  5. Click "New Pull Request" button, then the maintainer will review your commit.

Karabiner-Elements Usage

Import file from another site

  1. Put a json file to your site.
  2. Make a link karabiner://karabiner/assets/complex_modifications/import?url=<JSON_URL>.
  3. Open the link from web browser.

Updating the web application

Note: You don't need to update the web application if you just want to add new json.

If you want to modify the web application, the source code is in src/react. Follow the instruction in src/react/README.md.

More Repositories

1

Karabiner-Elements

Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.
C++
17,856
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-launchctl

C++
4
star
15

cpp-osx-iokit_service_monitor

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-osx-cg_event

C++
1
star
32

cpp-thread_wait

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