3 ms·
If you're using Karabiner, I HIGHLY recommend putting the time in to learn how to use Goku[1]. I initially found it when trying to find an easier way to express
by monroewalker 5y ago
If you're using Karabiner, I HIGHLY recommend putting the time in to learn how to use Goku[1]. I initially found it when trying to find an easier way to express the extremely verbose Karabiner config json but was turned off by the unfamiliar clojure-like EDN data format and the somewhat lacking documentation. A couple years later I had the right combination of free time and frustration from managing my Karabiner config that I actually took the time to setup Goku. I've found it not only drastically simplified the setup I already had, but made it so much easier to extend it and really take advantage of Karabiner.
It mostly provides more convenient syntax for what you do in Karabiner, but it also provides new abstractions that it converts into the appropriate rules. "simlayers" for example are keyboard layers entered by pressing the trigger key and quickly pressing a layer key within a short timeout window. I've used this to set shortcuts like w+e to open IntelliJ, w+r to open chrome, s+d to open Alfred's clipboard history, etc.. Caveat being that there's a slight delay on your simlayer trigger keys entering their actual character since the layer timeout must be hit before the default keydown behavior of inserting a character is used. Also it's common to occasionally press a second key before releasing a first key while just typing naturally, so best to avoid using keys that you often roll into others while typing as trigger keys..
[1] https://github.com/yqrashawn/GokuRakuJoudo https://github.com/yqrashawn/GokuRakuJoudo