KE-complex_modifications
complex_modifications for Karabiner-Elements.
https://ke-complex-modifications.pqrs.org/
Add rules
-
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
-
Put a JSON generator file (
.rb
,.erb
or.js
) into src/json. (Or put a.json
file directly into public/json directly.) -
(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 },
-
Run
make
command on Terminal.
If you've a generator file intosrc/json
, formatted json file will be auto generated in thepublic/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
-
Copy a json file to
~/.config/karabiner/assets/complex_modifications
.cp public/json/your_awesome_configuration.json ~/.config/karabiner/assets/complex_modifications
-
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.
- Fork this repository to your github account.
- Update or add new rules by following Add rules section. Don't forget to run
make
- Stage modified files (
git add
) and commit it (git commit
)
NOTE : Themake
command will auto generatepublic/build/dist.json
file. But do not stagepublic/build/dist.json
file.
(public/build/dist.json
file is already ignored by .gitignore)
- Push to your forked repository.
- Click "New Pull Request" button, then the maintainer will review your commit.
Karabiner-Elements Usage
Import file from another site
- Put a json file to your site.
- Make a link
karabiner://karabiner/assets/complex_modifications/import?url=<JSON_URL>
. - 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
.