![]() Then Paste this inside and save the file: Open ~/.config/karabiner.edn file in your favorite editor (create it if doesn’t exist). But holding onto the caps lock key now does nothing useful. Pretty useful given that new macbooks don’t even ship with a physical escape key (although it was too far away anyway and TouchBar is genuinely useful). Of course we could have done that in Goku configuration itself too but since macOS gives us ability to do it in settings, let’s use that.Īssuming you’ve done that and everything worked, you can now press caps lock key and instead of going into caps lock mode, you will trigger escape instead. Open Karabiner Elements (with Alfred/Spotlight) and create a Default profile.Run goku service to watch over Goku file and instantly apply changes ( brew services start goku).Install Goku (Karabiner DSL) ( brew install yqrashawn/goku/goku).Install Karabiner Elements (Press the big blue button to install latest version).Let’s install all the stuff we need first. Let’s try this magic in action and you can see for yourself if that’s something you may fancy doing to your computer. If this sparked your interest and you are reading this article on a mac. Meaning that as soon as I press save on that Goku config file, I have my keyboard modifications applied instantly. 600 line file that generates 20,000+ lines of JSON that not only is a joy to edit but has the nice feature of auto reloading config. Here is my 600 line Karabiner configuration written with Goku. Goku tool actually supports all of Karabiner Elements features but abstracts away the JSON mess so you don’t have to deal with it. When as all you really need is to just point to a key that you want to make a hyper key, then point to a key that when inside that hyper key would do some custom action (run applescript/shell-script/open-app/.).įortunately this problem was solved by creating a special DSL that has the minimum amount of syntax needed to define these kind of hyper key definitions and more. It contains too much ‘boilerplate’ that Karabiner actually needs to make its magic. There is no way a sane person would open this file and try to modify it in any meaningful way. Inside it there are definitions for how to make all of my QWERTY keyboard (minus some letters and delete/return keys because those are too far from the hjkl hand position) into custom hyper keys. Here is a gist of what my Karabiner configuration looks like in JSON format. The problem with using JSON to define Karabiner rules is that it gets unwieldy complex and nearly impossible to edit by hand. ![]() It is not enough to talk about this and praise how game changing this concept is in using a computer until you try it though. Like the useful caps lock I mentioned earlier but applied to every other key on the keyboard. The most powerful of which is the ability to create custom hyper keys. Karabiner Elements uses JSON to define rules which lets you program keys in various ways. This article is about how to take this idea of a hyper key and apply it to every key on your keyboard using Karabiner and a special DSL named Goku that makes editing your Karabiner configuration a breeze. ![]() With that article, the notion of a hyper (dual purpose) key was born but most people seemed to have stopped there. That is you could remap caps lock to act as escape key when pressed alone and some four/five key modifier when held together. I found out about the power of Karabiner by reading an old article on how you could remap caps lock key into a key that’s actually useful. Karabiner is a low level macOS kernel extension that gives you a virtual keyboard you can heavily customize to your own liking.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |