Fixing the wrong keyboard layout on Varmilo VA88Mac Nordic

I got a new mechanical keyboard for my work-from-home setup, the Varmilo VA88Mac with Cherry MX brown switches, and a nordic keyboard layout. I was pretty happy that I found this keyboard since it’s really hard to find a mechanical keyboard for a Mac with a Nordic (Finnish / Swedish) layout. My last keyboard was a Matias Quiet Pro for Mac but unfortunately, it’s no longer being manufactured with a Nordic layout. Also, I wanted a tenkeyless keyboard since I don’t have a lot of use for a numpad. What’s more, the Matias design isn’t super modern, since it’s patterned after the keyboard that came with the 1999 first-generation iMac.

Varmilo VA88Mac Nordic, alongside Magic Trackpad and LG UltraFine 5K

The Varmilo keyboard has a clean modern look and nice switches but there’s one big problem: the keyboard layout is wrong. While all the other keys work perfectly, including the scandic characters Ä, Ö, and Å, the keys § and < are inverted and their position is the wrong way around. While this might not be a problem for some people, I do a lot of programming so I use these keys heavily and it’s very distracting that they are in the wrong place.

The problem keys a Mac keyboard layout

I tried contacting Varmilo support and they gave me a new firmware to flash on the keyboard but it didn’t help with the issue. I’m not sure if this is a problem with the specific vendor or if this is a bug in macOS.

Fortunately, I was able to fix the problem using a third-party utility called Karabiner Elements. I spend a considerable amount of time trying to find a way to fix the issue in a way that both the internal keyboard and the external keyboard have the correct layout. Here are the steps to fix the keyboard layout:

  1. Disconnect the external keyboard.
  2. Install Karabiner Elements.
  3. After installation, you will need to trust the Karabiner device driver, the app will give you instructions how to do that
  4. Plug in the Varmilo VA88Mac keyboard
  5. A macOS wizard called Keyboard Setup Assistant may pop up. Click through it to identify the keyboard as ISO type (not as ANSI or JIS).
  6. Put the keyboard in “Mac mode” if you haven’t already. This can be done by holding down the “fn” and “A” key for a few seconds. The caps lock key will blink to confirm this. If you ever want to put the the keyboard back in “Windows mode”, this can be done by pressing the “fn” and “W” key.
  7. Open Karabiner Elements
  8. Select “Simple Modifications” tab
  9. In the “Target Device” dropdown menu, select “Varmilo Keyboard (AONE)”
  10. Click “Add item”
  11. For the “From key”, select “grave_accent_and_tilde (`)” and for “To key” select “non_us_backslash”
  12. Click “Add item” again and add the same configration in reverse: For the “From key”, select “non_us_backslash” and for “To key” select “grave_accent_and_tilde (`)”

If you’ve done this correctly, your screen should look like this:

Congratulations, your keys should not be in the correct place, both on the MacBook internal keyboard and the external one!

If the above steps didn’t work, please do the following steps to clean all previous keyboard settings and try again:

  1. Disconnect the external keyboard
  2. Delete the file “/Library/Preferences/com.apple.keyboardtype.plist”, if it exists.
  3. If you have Karabiner Elements previously installed, uninstall it and delete the directory “~/.config/karabiner/”.
  4. Restart the computer
  5. Try the above steps again.

Last updated on 28-09-2021.

Moved steps to clean keyboard settings to another list. Added information about Keyboard Setup Assistant.