karabiner-elements complex_modifications manager
karabiner-elements is very awesome. but complex_modifications setting json is very ugly and complicated.
karabiner-elements-complex makes it easy to write complex_modifications setting json.
Of course you can also use pqrs-org/KE-complex_modifications. But "KE-complex_modifications" is written in Ruby.
karabiner-elements | karabiner-elements-complex |
---|---|
|
|
|
|
|
|
See samples.
$ brew install node
$ wget https://raw.githubusercontent.com/kyo-ago/karabiner-elements-complex/master/index.js
$ node index.js
$ head *.json
==> barocco-escape.json <==
{
"description": "barocco rules",
":device": "barocco",
":manipulators": [
"com-escape:grave_accent_and_tilde",
"shift-escape:shift-grave_accent_and_tilde",
"*-backslash:delete_or_backspace",
"*-delete_or_backspace:backslash",
"left_gui:left_alt",
"left_alt:japanese_eisuu",
==> ctrl.json <==
[
{
"description": "browsers",
":app": "browsers",
":manipulators": [
"com-q:opt-com-left_arrow",
"com-e:opt-com-right_arrow",
"com-b:com-open_bracket",
"cmd-s:cmd-r"
]
==> jetbrains.json <==
{
"description": "ctrl-1 to Find in Path...",
":app": "jetbrains",
":manipulators": [
"com-1:shift-com-f",
"com-o:ctrl-opt-o",
]
}
==> macro.json <==
{
"description": "macro",
":manipulators": [
"cmd-shift-c:japanese_eisuu,'const '",
"cmd-shift-o:japanese_eisuu,'console.log()',left_arrow",
"cmd-shift-i:japanese_eisuu,'if () {}',left_arrow,return_or_enter,up_arrow,right_arrow,right_arrow",
"cmd-shift-u:japanese_eisuu,'undefined'",
"cmd-shift-r:japanese_eisuu,'return'",
"cmd-shift-f:japanese_eisuu,'() => {}',left_arrow,left_arrow,left_arrow,left_arrow,left_arrow,left_arrow,left_arrow",
"cmd-shift-l:japanese_eisuu,'.length'",
...
$ npm run build
$ node dist/index.js --noUpdate # update karabiner-elements setting
Target json directory path. (default __dirname
)
Skip update karabiner-elements selected setting. (~/.config/karabiner/karabiner.json
)