Unfortunately, I have a coworker who bought a bunch of Windows compatible keyboards for our office. So, despite using a Mac I decided that I can live with a Windows keyboard at the office— as they are virtually the same. The only complication is that Windows keyboards have an opposite mapping for the cmd and alt keys.

On a standard Mac keyboard it goes control, alt/option, command. (Moving out to in)

On a Windows keyboard it goes control, command, alt/option.

This small change can be pretty annoying given the difficulty in copying and pasting etc. So every morning at the office, I have to do a keyboard remapping through the settings. And once I get home and back to my external Mac keyboard I have to reverse that remapping. It is pretty annoying.

So after much searching, I found this great tool: Karabiner-Elements. It lets you perform a keyboard remapping by setting defaults maps and saving it in a JSON format. That map gets read and voilà you are good to go.

That JSON gets stored in


Here is a look at my JSON.

I have two mappings, one labeled Mac and another Windows. The Windows has the mappings which says something like this

from “right_command” → “right_option”

Happy remapping and stay tuned for the next article on how Karabiner-Elements, and HIDs work! My favorite keyboard.