Skip to content

narze/GokuRakuJoudo

 
 

Repository files navigation

https://travis-ci.com/yqrashawn/GokuRakuJoudo.svg?branch=master https://coveralls.io/repos/github/yqrashawn/GokuRakuJoudo/badge.svg

GokuRakuJoudo

Goku is a tool to let you manage your Karabiner configuration with ease.

Karbiner Elements uses JSON as it’s config file. This leads to thousands lines of JSON (sometimes over 20,000 lines). Which makes it really hard to edit the config file and iterate on your keymap.

Goku use the edn format to the rescue.

Why use Goku?

Below are two Karabiner configuration snippets that map caps lock to an escape key.

karabiner.json

karabiner.edn

In practice this means that you can see multiple Karabiner rules on you screen as you edit your config with Goku. Which speeds up the iteration speed significantly as you can create new rules as little as few characters.

Install

brew install yqrashawn/goku/goku

Usage

Create a profile named “Goku” in Karabiner GUI tool.

resources/images/karabiner-profile.png

Goku reads karabiner.edn file which holds your Karabiner config. This file should be placed inside `~/.config/` directory on your mac. If you use a dots dir to hold your config files, you can symlink `karabiner.edn` and Goku will pick up the changes too.

Goku provides two commands:

goku: Will update karabiner.json once. gokuw: Will keep watching your karabiner.edn and on saving, will update your configuration.

Run command brew services start goku to use it as a service (runs gokuw in background). When Goku is ran as service, the logs are kept inside ~~/Library/Logs/goku.log~.

Tutorial

Read through the Tutorial about how you can write the configuration in Goku.

If there’s any question or advice, just open an issue or join Karabiner Telegram group and ask your questions there.

Note

  • consumer_key printing_key and mouse_key don’t support special modifier i.e. :!Ca
  • mouse key has no abbreviation keyword in main rules

Changelog

Check CHANGELOG file.

About

karabiner configurator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Clojure 99.1%
  • Other 0.9%