Stephen Ostermiller's Blog

Dvorak-Qwerty Layout for Ergodox EZ Keyboard

I've been using a Dvorak keyboard layout for close to 30 years. Ever since I started, I've relied on software to remap the keys on standard keyboards.

Linux is my preferred operating system and it supports Dvorak extremely well. It even has Dvorak layouts that change back to Qwerty when you press the modifier keys (like ctrl and alt). Mac OS also has such a layout, but it only supports Qwerty for the command modifier key. Good enough for me when I've used it.

My new job uses Windows, and it looks like that OS doesn't support a Dvorak layout that switches back to Qwerty when the modifier keys are pressed. Because of this limitation I've been investigating hardware solutions. I bought a programmable keyboard that stores the layout in the keyboard and sends keystroke signals to the computer based on my preferred layout.

I considered the Kinesis Advantage 2 and the Ergodox EZ keyboards. I ultimately decided on the Ergodox because it is small enough to fit in my laptop bag. Used keyboards on Ebay are about half price, so I purchased a lightly used one.

The Good

  • The keyboard is programmable as advertised.
  • The adjustable tilt and split halves make it comfortable to type on.
  • Having multiple thumb buttons is a huge improvement compared to standard keyboards. I've put space, backspace, enter, tab, escape, and delete on thumb buttons because I use them frequently.
  • You can program multiple layouts (called layers) and configure a button to switch between them.
  • You can have a single button send multiple keystrokes. For example I have a button that sends alt-F4 to close applications with a single button press.
  • The software for modifying the layout is easy to install and use.
  • It is easy to share your layouts through the manufacturer's website.
  • I like the optional feature that can be enabled to hold a key to auto-shift it.
  • When held, a modifier key can both send the key and switch layers, so it can implement the Dvorak-qwerty layout in hardware.

Could be Improved

  • The Ergodox EZ doesn't have dedicated number pad, function, or media keys. As a workaround you need a layer to be able to press those buttons. I don't find this the be as nice as dedicated buttons. I endu up using the number pad far less with this keyboard than I used to with a full-size keyboard.
  • The functionality for switching layers while holding a modifier key doesn't work as well as I would like.
    • The best functionality LM (momentary layr toggle with modifier), MO (momentary layer toggle), and TO (direct layer switch) are only available when a key is held. I had started with the functionality for when keys are tapped and not found what I was looking for. It would be nice if the UI showed that the other functionality is present even if unavailable when looking in the layer switch menu for tapped keys.
    • LM (momentary layr toggle with modifier) sometimes doesn't output the modifier for me when I want it to. For example if I have it switch to the qwerty layer when ctrl is pressed, and type c, I sometimes get an actually c character. I think this happens when I let go of ctrl slightly before the c key.
    • MO (momentary layer toggle) to a layer that has each key send both the letter and the modifier has one big drawback: ctrl mouse button functionality isn't availble.
    • I ended up using LM with a modifier to a layer that also specifies the same modifier embedded in each key. This seems to avoid the missing modifier problem while allowing ctrl-mouse clicks.
  • The layout editor doesn't have a batch mode or search and replace. It is time consuming to create similar layers.
  • The graphical layout editor doesn't let you specify the LEDs for each layer, it chooses them automatically. It would be nice be to be able to specify these without editing the source code for your layout and compiling manually.

My Layout

Leave a comment

Your email address will not be published. Required fields are marked *