GokuRakuJoudoを使ったら、Karabiner-Elementsの設定が1/5になった
はじめに
はじめまして。WED でエンジニアをしているtakumi12311123です。
今日は、最近使ってみて便利だった、GokuRakuJoudo について紹介していこうと思います。
GokuRakuJoudo とは
Goku is a tool that lets you manage your Karabiner configuration with ease. - by Document
GokuRakuJoudo は、Karabiner-Elements の設定を簡単に管理できるようにするツールと公式ドキュメントでは説明されています。Karabiner-Elements では、JSON で設定ファイルを作成していますが、縦に長くなってしまい、行数が増えてしまうことがありますが、GokuRakuJoudo を利用すると、行数が一気に短くなります。
Install
brew install yqrashawn/goku/goku
で完了します。
次に、Karabiner-Elements で、Profile を新たに作成します。名前はDefault
で作成します。
GokuRakuJoudo は、karabiner.edn
というファイルを読み込んでくれます。このファイルは、~/.config/
配下にあるのが推奨されています。
もし、別の Path を設定したい場合は、.zshrc
で、
GOKU_EDN_CONFIG_FILE='~/example/'
と設定しましょう。
karabiner.edn
ここからは、チュートリアルをなぞりつつ、設定していきたいと思います。
{:main [{:des "a to 1, b to 2, c to insert 1 2 3"
:rules [[:a :1] [:b :2] [:c [:1 :2 :3]]]}]}
このように、rules
で囲んで、
:rules [[:from :to]]
の順で書いていきます。
特定の Application の時のみ発火させることもできます。
{:applications {:chrome ["^com\\.google\\.Chrome$"]
:safari ["^com\\.apple\\.Safari$"]}
:main [{:des "a to 1 only in chrome and safari"
:rules [[:a :1 :chrome] [:a :1 :safari]]}]}
この時は、Google Chrome, Safari を利用しているときだけ、a を押した時に 1 になるわけです。
条件は、否定もできます。
{:applications {:chrome ["^com\\.google\\.Chrome$"]
:safari ["^com\\.apple\\.Safari$"]}
:main [{:des "a to 1 only outside chrome and safari"
:rules [[:a :1 [:!chrome :!safari]]]}]}
この時は、Google Chrome, Safari 以外の時に、a を入力すると 1 になります。
次は複雑な設定に入ります。
{:main [{:des "command a to control 1" :rules [[:!Ca :!T1]]}]}
この設定は、Command+a が押された時には、Control+1 になります。
:rules の中で、:!から始めると、Prefix で設定することができます。
;; ! | means mandatory
;; # | means optional
;; C | left_command
;; T | left_control
;; O | left_option
;; S | left_shift
;; F | fn
;; Q | right_command
;; W | right_control
;; E | right_option
;; R | right_shift
;; P | caps_lock
;; !! | mandatory command + control + optional + shift (hyper)
;; ## | optional any
Prefix を使った時の注意事項としては、最後のキーは、Prefix 以外で終わらなければいけません。
{:des "Chrome move tab key bind"
:rules [
[:!TOS :!Ttab :chrome]
]}
だと動きません。
{:des "Chrome move tab key bind"
:rules [
[:!TOleft_shift :!Ttab :chrome]
]}
だと動くようになります。
設定完了
karabiner.edn
の設定が完了したら、
goku
と打って、Done!
と表示されたら設定完了です!
Tips
スペースキー -> spacebar
タブキー -> tab
右矢印 -> right_arrow
左矢印 -> left_arrow
上矢印 -> up_arrow
下矢印 -> down_arrow
ファンクションキー -> f1, f2, ... f12
ここら辺は、Prefix もないので、参考にすると設定が楽になると思います!
おわりに
いかがでしたか。私の環境では、300 行の Karabiner の設定ファイルが、60 行程度になりました。約 1/5 です。
これで、追加の設定などもかなりやりやすくなったと思います。
これからも、自分の開発環境にはとことんこだわっていきたいです。
Discussion