# Hacking your keyboard with karabiner

DevFeed: [Hacking your keyboard with karabiner](<https://devfeed.tech/articles/hacking-your-keyboard-with-karabiner-25256.md>)

Original publisher: [Read original article](<https://kau.sh/blog/hacking-your-keyboard/>)

Author: Kaushik Gopal

Published: 2019-12-25T07:00:00Z

Content type: tutorial

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [Vim](<https://devfeed.tech/topics/vim.md>)

Tags: [keyboard](<https://devfeed.tech/tags/keyboard.md>), [mac](<https://devfeed.tech/tags/mac.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [vim](<https://devfeed.tech/tags/vim.md>)

## AI overview

A tutorial on using Karabiner on macOS to customize keyboard behavior, including remapping keys for navigation on 60% keyboards, Vim-style H/J/K/L navigation, easier typing of symbols, and launching applications. An update also points to Goku as a more maintainable way to manage Karabiner rules.

## Source excerpt

Update I've since come up with an easier way to maintain my rules. This post talks of some of the cool things you can do with Karabiner. But if you want a more maintainable way of customizing all this, read my other post instead. tl;dr: brew install yqrashawn/goku/goku mkdir -p ~/.config && cd ~/.config touch karabiner/karabiner.json touch karabiner.edn # update your edn file with a sample from here https://github.com/yqrashawn/GokuRakuJoudo/blob/master/tutorial.md # or mine: https://gist.github.com/kaushikgopal/ff7a92bbc887e59699c804b59074a126 goku Background # I've been messing with mechanical keyboards recently.1 There was one in particular which is a 60% layout that I fell in love with. The trouble with 60% keyboards though is that they can be pretty constraining for some basic operations (like navigation). Notice there aren't dedicated keys for the up/left/down/arrows. Courtesy: Wikipedia Given these constraints, you have to get a little creative with how you use a keyboard. I added a bunch of mods for the keyboard using the mechanical keyboard's included software configurator. I liked these mods so much that I wanted to find a way to use these mods with any keyboard I use. The easiest way I've found on the Mac to do this is using Karabiner. Karabiner intercepts every keystroke and allows you to send alternative signals. For example, a common mod that a lot of programmers like to do is remap their Caps Lock key -> Escape. So if I tap the Caps Lock key, it instead emulates hitting the Escape key. You can do this pretty easily with Karabiner but it barely scratches the surface of Karabiner's true power. Complex modifications: ## Where Karabiner will truly shine is when you want to do slightly more complex things: for example, take the case of navigation with 60% keyboards. While they don't come with dedicated arrow keys you can emulate navigation in a pretty slick way (especiallly for us vim users). Instead of moving my fingers all the way to the bottom right of