metikular

Keyboard love: the ZSA moonlander

Serge Hänni, 16.11.2021, updated 17.03.2022

As a software developer we write a lot on the keyboard. Although it is our main tool we work with, there seems to be little consideration for good keyboards in the public. Keyboards in computer shops look quite similar without much drive for innovation. Most people probably work with the keyboard they got at work by chance from their IT department. Those usually look around to find just any keyboard, neglecting the user’s preference or ergonomics.

There is a small community interested in mechanical keyboards, which are keen to find the right tactile feeling for their key switches. There are many different switches, with different feeling, from silent to loud clicking sounds. Some newer keyboards support hot-swapping, which means that switches can easily be replaced without the need for soldering. With those keyboards it is even possible to use different switches for different keys. Maybe you want to have clicky keys which need a bit of force, but the shift key you use with your pinky should be smoother to click. You can even customize your key caps, e.g. if you need that "cat key 😺" instead of the Windows key.

I used to think that the mechanical keyboard community focuses on old keyboards, with heavy keys, high key profile and very loud clicking noises. However, there are low profile keys available as well and there is also a small part of the community interested in silent mechanical keyboards.

Note
What about mice?

The same thoughts put into better and more individual keyboards can also be done for mice. I personally use a trackball mouse, which makes my hands feel less stressed. A standard mouse needs to be moved across the desk. You need more space and need to move your whole arm and wrist. The advantage of the trackball is that your arm remains stable and you use your thumb to control cursor movement. It requires a bit of practice to be able to be precise and I still feel that the trackball is not as precise as a normal mouse. This does not make a difference when surfing the web, but is a bit cumbersome in graphics applications which require pixel accuracy. Games which require mouse precision are also much harder with a trackball. You can still use a standard mouse for these cases though.

Are there different keyboards?

Yes, there are!

What you can consider:

  • Keyboard size. How big should the keyboard be? Most people know the full sized keyboard with the numpad on the right. Bluetooth keyboards are usually smaller, they do not have a numpad and integrate the cursor keys into the main block of the keyboard. For mechanical keyboards there are a lot of different sizes. If you want to, you can even build your own personal shape and size.

  • Keyboard model. Usually a keyboard consists of one piece. As your hands are close to each other on the keyboard, your arms need to rotate inwards, stressing your shoulder and neck. There are split keyboards which consist of two parts, one for each hand. These parts you can move apart shoulder-wide, so that your arms are in a straight line from your shoulders to the keyboard. They even fit a cat in between! Or a touchpad, notepad, coffee, ..

  • Keyboard layout. There are different keyboard layouts apart from the standard QWERTY layout found on most English keyboards. Every natural language or even every country has usually their own keyboard layout. For example, the Swiss German keyboard layout is different to the German keyboard for Germany. This is quite easy for latin languages only needing A to Z compared to non-latin languages such as Asian languages, which have much more symbols than we could ever fit on a keyboard. The origin of the standard layouts is still a bit unclear. It is sometimes claimed that it was developed to avoid mechanical issues on typewriters, but some claim other reasons. What is clear today, is that the optimal layout for you personally depends on your specific usage. If you write a lot of prose in Swiss German, you need easy access to often used special characters such as umlauts. If you are programming, you seldomly need umlauts, but require easy access to special characters such as parantheses or the semicolon. There are applications which are able to record every key you press and then generate a heatmap, so that it is easier to understand whether a particular layout is a good fit for you.

Motivation

I never felt really comfortable on a normal keyboard, as you need to move your hands quite unnaturally together and cannot keep them apart as wide as your shoulders. Back in the days, I had a Microsoft Multimedia keyboard for a while, which had a split layout on one piece. I found it rather awkward to type, however, I never was fond of high profile keys due to the big movement required to push keys. I seldomly used the extra multimedia keys, as they felt quite sluggish and were too far away for your hands to easily access them.

microsoft multimedia keyboard
Figure 1. Microsoft Multimedia Keyboard (image from Amazon)

So there was some motivation to get a split keyboard to relax my arms. However, there was a different motivation for me to get a split keyboard. My cat Ella is dilligently helping me work by lying on my desk in front of me. She usually cuddles against my chest, forcing me to keep my arms to the left and right of her. I thus need to awkwardly put my hands together on the keyboard. My hands are then angled already, but my keyboard is not. In certain situations (i.e. positions of my cat), I am forced to use different fingers for certain keys as I am not able to move my hands (especially if she puts her head on my wrist - which is super cute, but you cannot really move your hand anymore).

ella
Figure 2. My lovely cat helping me work

I therefore was looking for a high quality split keyboard and finally settled on the ZSA Moonlander.

The ZSA Moonlander

moonlander
Figure 3. The ZSA Moonlander (image from https://www.zsa.io/moonlander/)

The first keyboard ZSA created was the Ergodox, which is based on an open source keyboard. It is good to see that a company was able to build their business on open source hardware and especially simplify the process to get hold of such a keyboard. The alternative would be to order a PCB and all components, and solder them together yourself. That is certainly doable if you know how to solder, but building a nice case is not. 3D printed cases do not look as nice and are not as sturdy as proper molded ones.

16th of November 2021

The ZSA moonlander has been shipped! 🎉 It should arrive this Friday.

You get a free game with your shipment called Epistory. You venture into an origami-like looking world and need to type to gather experience, clear ways and get rid of monsters chasing you. I tried the game with my existing keyboard. It is quite fun, but stressful. I notice my weaknesses when typing, especially certain character combinations I can’t find fast.

The game works on Linux, but required to run it with Proton Experimental, as otherwise there were no sound effects and no music.

epistory
Figure 4. Epistory - a typing adventure

19th of November 2021

Although the keyboard was shipped, the shipment got delayed on the way. No information yet when it will be delivered. I will look into different keyboard layouts in the meantime and check my typing speed on a standard keyboard to be able to compare it to the new one later on.

18th of December 2021

I got the keyboard on the 22nd of November, almost four weeks ago. It makes a good first impression. The keyboard feels sturdy, the white color looks nice and the keys feel quite comfortable. The online software to configure the keyboard (Oryx) is quite self-explanatory.

ella moonlander
Figure 5. Always able to reach the keyboard now!

Switches

Before buying the keyboard, ZSA offers a questionnaire which helps you find the right switch. I decided to order the Kailh silver switches, because these have the tiniest activation distance offered in the Moonlander. At some point, I’d like to try low profile switches, such as the Kailh choc. Unfortunately, the Moonlander does not offer them.

After almost a month of testing, I’m not yet convinced by the Kailh silver switches. When I compare them to the feel of a standard Apple keyboard, the mechanical Kailh switches still need much more actuation force (i.e. finger strength) and a larger distance to activate them. They sound much louder and quite squeaky, i.e. a high pitched noise which is not that regular either. Although I can get used to the sound, the less activation distance and force is required, the less stress there is on my fingers and my hand, and thus the less injuries I have to fear.

To reduce the distance to bottoming out the keys, I ordered thick o-ring dampeners. These are put below the keycap and thus reduce the possible travel distance of the key. As the material is not stiff, they also dampen the blow when bottoming out the key. The o-rings did not massively reduce the sound or the squeaky portion of it, just a bit.

Note
Activation force and distance

Reddit user Drunken_Moon corrected my perception about activation force and distance when comparing the Apple keyboard with the Moonlander.

Apparently, the force required to press a key is 50 gf for the Kailh silver switches, but 66 gf for the Apple keyboard [1]. So in theory, the Kailh silver switches should be easier to press than the ones on the Apple keyboard. However, as the distance to bottoming out the keys is much larger with the Kailh switches, the perceived force might be larger, because the fingers travel farther and thus require more force.

The distance until a key activates according to Drunken_Moon is slightly larger for the Kailh silver switches (1.1mm), compared to the Apple keyboard (0.9mm) [2].

Unfortunately, I still keep bottoming out the keys and hope that the o-rings help to train myself not to do so. As the activation of the key happens way before bottoming it out, it is not necessary to press the key down as much as possible. I noticed that I need to concentrate myself on just slightly tapping the key instead of pressing them down. This works quite well when training, but not yet so great in day-to-day work. I’m still lacking the muscle memory to do it when thinking about what to write instead of how to write it.

Keyboard layout

The moonlander uses a staggered ortholinear layout instead of a staggered layout found on most keyboards. This means that all keys are arranged in columns. Instead of aligning the rows perfectly into a grid as well, the rows are slightly offset from each other vertically.

As the keys are arranged in perfect columns, some keys should now be used with different fingers when touch typing compared to a standard QWERTY keyboard. For example, c is usually hit with the index finger, but on the moonlander it is right below the middle finger. This is true for z and x as well. In the beginning, my main problem was those keys as I constantly hit the wrong one.

I started out with the standard keyboard layout on the Moonlander. It is quite similar to a standard QWERTY keyboard. I assume that this is by design to ease the transition. Interestingly, the space bar is located in the thumb cluster of the left hand and the enter key on the thumb cluster of the right hand. I noticed that I hit the space bar with my right thumb on a standard keyboard. So that required a bit time to get used to (I often saw the effect of an enter being pressed when typing instead of the spacebar - not so great when writing chat messages).

I also had the impression that I now use my left hand much more and my right hand is often idling. I didn’t yet record my keystrokes though to create a heatmap to check whether that perception is correct or not.

After getting acquainted with the standard layout, I slowly started to change single keys (that is the huge advantage of having a programmable keyboard). I also started to at some lighting to some keys (e.g. violet for keys switching layers, blue for special input keys such as space and tab, red for backspace and orange for the linux key).

I tried to use the normal number keys on the Moonlander and also used special characters using shift and the number keys. I couldn’t really get used to the location of those keys as the keys are too far away for my fingers. This was the moment I started to use the layer feature. I first tried the keys in the standard Moonlander layout to momentarily switch to another layer with symbols and numbers on it. I then switched those keys to be a and ; respectively. I also changed some of the symbols on that layer. The right hand has the standard Moonlander numpad, which I use to enter numbers. On the left there are all different parantheses, which I often use when programming.

The standard Moonlander layout puts the Ctrl key on z. When long pressing z, it becomes a Ctrl key. This is okay for the usual copy and paste shortcuts (ctrl+c and ctrl+v), but of course the undo shortcut ctrl+z no longer works. There is an additional Ctrl key, the red key on the right thumb cluster. You usually have to move your hand away from the mouse though, as most applications I use that standard undo shortcut in are mouse-heavy applications. When typing in vim, undo is mapped to the u key.

I did notice that I don’t really have a usage for those big red keys at the moment. Let’s see if I have an idea for them in the future.

Interestingly, I noticed that I sometimes use my left hand to reach over to the right part of a standard keyboard, when my right hand is using the mouse. This happens in some applications to reach for keyboard shortcuts to switch tools, or also in games (think about the i key to open the inventory). That is obviously much harder on the Moonlander, because the right keyboard part will too far away.

I still do have all my keycaps on the Moonlander (some actually remove them to get a 36 keys keyboard). My perception is that I do not use some of the keys at all. I do have to confirm that by measuring it though. I will certainly think about whether I could get along with less keys. The motivation to use less keys is the little finger movement you then need, because everything is really close together. That’s also quite useful, if your cat decides to put her head onto your arm and you are thus quite unable to reach for larger distances on the keyboard.

Typing speed

My typing speed on a standard QWERTY keyboard was about 80-100 wpm. On the Moonlander it initially dropped down to 40 wpm. After a week with daily typing training, I got to 60 wpm. After two weeks, I got it up to around 80 wpm. After a month, I’m currently at about 90-100 wpm, which equals the speed I had before on a standard QWERTY keyboard. I do have to note that although I’m confident with most keys, I still have slow typing times for some of them (especially special characters). I then notice that I need to concentrate myself and think about which keys to hit, which slows me down while typing and also breaks concentration on the work being done currently. Further training on these special characters is thus required.

I mostly used monkeytype for training as I liked the practice feature after taking a test, which lets one practice slow words or words with errors. It was also one of the few tools which supports writing numbers and some special characters.

Typing on a standard QWERTY keyboard

After a month of exclusively using the Moonlander, I already notice my typing capabilities on a standard keyboard to decline. Which finger to use for z, x and c is completely unclear to me. I often hit the space bar with the right thumb, thinking that this would be the enter key. I also noticed (interestingly) that I still use my right thumb for the space bar as well.

I’m not that happy yet with the location of the enter and space bar key on the Moonlander. Switching them is probably not a good idea, as a lot of games rely on the space bar to be used with the left hand, as the right hand uses the mouse.

Negative things found

Unfortunately, after two weeks, a rubber foot broke off. They seem to be taped to the bottom and the one on the bottom left of the left keyboard part broke off. When moving the keyboard, it sometimes falls of again, and I have to readjust it to stop the keyboard from being unstable. I’ll try to glue that back on again and see how well that works. Update March 2022: Glued the rubber foot back on and it is holding up fine for now!

There are LEDs on top of the keyboard, which are not visible though in normal typing conditions because the high profile keys block your view on them. I am unsure whether they are controllable, but they light up depending on which layer you are using. As I have a hard time seeing them though, it is much easier for me to rely on the color of the background lighting of the keys itself, as these can be changed depending on the layer as well.

Future things to try

I tried to tilt the keyboard slightly, but it felt unstable for my taste. However, I only tightened the screws by hand and not using the included tool. So it might be more stable then. I didn’t notice a huge improvement though, so I’ll first focus on getting comfortable with the rest of the keyboard before trying tilting again (although Reddit user Sonderfall-78 mentions a blog post detailing the strain on arms, shoulders and neck when using a standard keyboard, so I definitely will try tilting the Moonlander in the future).

I didn’t try gaming yet in the last month, but I’m curious how that will work out.

Is it cat friendly?

One of my main motivation to get a split keyboard was my cat lying in front of me on the desk. This certainly worked out quite well - I am now always able to reach my keyboard. In the beginning, my cat did not like the keyboard at all (I assume its sound and/or smell), but she quickly got used to it. I never felt myself in an akward position since typing with the Moonlander. If my cat is lying directly in front of me, my arms are still shoulderwide apart in a quite comfortable position. It’s also quite easy to move the keyboard parts around when the situation requires a different position. I also believe that my general position when sitting has improved. It is still a long way to unlearn bad habits though.

When I installed the o-rings, I noticed what I had feared already. Because of the open nature of the keyboard build, there is a lot of cat hair building up below the key caps. The advantage of the mechanical keyboard is that the key caps can easily be removed. Regular cleaning will certainly be necessary though. Reddit user the-chauffeur mentions that I also need to remove the switches and clean those and below them as well.

Otherwise, I can only suggest to try a split keyboard if you have a friendly cat sharing the desk with you.

Conclusion for now

All in all, I am quite happy with the Moonlander. At some point, I would love to try a low profile split keyboard such as the Gergoplex. As most of these are sold as a soldering kit and my skills lack a bit in that regard, I will move that project to the future.

As software engineers, the keyboard is one of our main tools we work with daily. Show your keyboard some love, try out different keybaords and think what you like about them!

[1] A. Laforge, C. Galvani, and O. Gariepy, “Apple Magic Keyboard 2017 Keyboard Review.” 2021, Accessed: 21.12.2021. [Online]. Available: https://www.rtings.com/keyboard/reviews/apple/magic-keyboard-2017.

[2] Drunken_Moon, “Reddit comment.” 2021, Accessed: 21.12.2021. [Online]. Available: https://www.reddit.com/r/ergodox/comments/rkkfg3/comment/hpbeetp/?utm_source=share&utm_medium=web2x&context=3.

Zell, “How I set up my Moonlander.” 2020, Accessed: 21.12.2021. [Online]. Available: https://zellwk.com/blog/moonlander/.