Skip to main content


Karabiner is a powerful and customizable keyboard remapping tool designed specifically for macOS. It allows users to modify the behavior of their keyboards by remapping keys, creating shortcuts, and implementing various keyboard modifications. With Karabiner, users can redefine keys to perform different functions or assign complex combinations of keys to trigger specific actions. This enables users to personalize their keyboard layout and streamline their workflow, making it easier and more efficient to navigate through applications and perform tasks.


Goku is a way of configuring the keyboard using the karabiner.edn config. It is nice once you get the hang of it.

  • I kinda wish there was a way of doing the configs on a YAML format instead, I just had a feeling that this would be easier.
  • It took me a while to use Goku and the karabiner.edn file properly, I think a big mistake was to copy the entire contents of other people, as then it became a big mess.
  • A good way is to start with a simple keybinding, such as caps-lock, and then expand gradually.


Start simple; use only one hotkey and add on functionality. I used caps lock as my first "Hotkey" and added more and more as time passes. This is helpful for primarily three reasons:

  1. It is easier to get started; if you start by copying lots of configs, you might end up debugging, which is not fun, instead of exploring, which is fun.
  2. You only add what you want or feel you want to have.
  3. You understand more of what you add; you get intrinsic knowledge of all the configs and will not be confused by weird behavior from other configs.

However, I recommend starting the journey by reading other documentation regarding the configs. Here is my Karabiner.edn file



  • I find it quite hard to understand in a layer how you most effectively can map some commands ¨
  • Search GitHub for karabiner.edn inspiration.