Note: This meandering, at times uncomfortably personal article overlaps in places with the much shorter, more straightforward Tips for creating a Moonlander keyboard layout post. If you just want advice on getting started with a Moonlander, go read that one. If you’re on the fence about trying one, try this:
I’ve been using a ZSA Moonlander keyboard as my ‘daily driver’ since a couple of days after it arrived in the mail — what, six weeks ago? I love working with it. Like my Baltz and Karas Kustoms pens, Hobonichi Techno planner, and Apple Airpods Max headphones, the Moonlander affords me the unique sensual/cognitive pleasure of using a thoughtfully designed tool that’s better at its task than anything I could have imagined. The concept of ‘a pen that’s a joy to write with’ simply didn’t exist for me before I was given the Baltz; now I have a handful of gorgeous pens and writing by hand is an opportunity to experience a tiny sort of music. The pages of the Hobonichi Techo aren’t just thin and nice to write on, they’re impossibly thin and unspeakably nice to write on. The Airpods Max’s built-in Transparency Mode isn’t just a good idea, it’s a minor miracle — as is their effortless, automatic switching between Apple devices; they provide beautiful solutions to what I hadn’t even realized were problems.
The Moonlander is like that. It is unnecessary, and it is incredible.
The first computer I used was probably a Commodore 64 at my elementary School in the mid/late-80s. I played a lot of Zork in the late 80s, and consequently became a fast hunt’n’peck typist in elementary school. In middle/high school we had a typing class, where I learned to touch-type with high accuracy at 80+ wpm. In college I spent a hell of a lot of time on my computer, and was up above 100 wpm by the time I wrote my Masters thesis. All of which is to say, I’ve beeen typing fast for a long time.
Recently I topped out at 140 wpm and 98% accuracy on a split/tented mechanical keyboard (the Kinesis Freestyle Edge RGB, my previous ‘daily driver’ and quite a fine piece of ordinary equipment). For a while I was using a really serious tenting angle — 45° or so. Challenging to learn but potentially excellent if you can solve certain setup problems, and I had.
All of which is to say: until a month ago I had a decent setup at home, I was an expert user of my writing/typing tools, and strictly speaking, I didn’t need a new keyboard, much less a Luxury Keyboard.
Well-made tools tend to be expensive
Permit me to talk briefly about money, before we talk about homerow modifiers.
The Apple Airpods Max are probably the best noise-canceling nonprofessional headphones you can buy, but they’re $500. My Baltz pen was a Christmas gift, from their first Kickstarter — $200. For a goddamn pen! A Hobonichi Techno A6 planner runs, what, $40? $50? And until recently you had to have it shipped from Japan.
The ZSA Moonlander keyboard costs about $350 all told. That’s an enormous amount of money — nearly as much as a cheap iPad, if I remember correctly.
When I was in elementary school we bought an Apple IIgs with 512kb of RAM, and it was the only best-of-its-kind item in our home — a joy to use; everything else was Good Enough for Now. In middle/high school money was really tight, and our shopping got even stingier. For a long time I understood belt-tightening to be not only necessary but morally correct behaviour, less about saving for the future (which might not happen, and anyway it’d take a miracle to save enoough) than about denying the present: you resign yourself to never owning anything really well made, and to replacing your junk painfully often; you console yourself with the idea that you did the Virtuous Thing, always and only optimizing for ‘making it through the month’ even when a longer play is possible. There’s a sad sort of ‘honour’ in being downtrodden in this way, with no good choices. You adapt to it, and start to think it’s inevitable if not natural.
This is poverty logic, though at the time I didn’t understand that.
Now my wife and I can afford well made things. In our early 40s we’ve passed through a socioeconomic phase-boundary or thermocline: on one side, the cycle of buying shitty things to replace the shitty things that wore out too soon; on this side, a quite different cycle of saving in the long term because you can afford to buy good things when you need them. We’ve moved, in other words, from constantly spending in a trickle punctuated by larger catch-up expenses, to spending in big but rare bursts. The amortized cost of sane buying at ‘higher prices’ ends up lower, if you put some thought into it, than the cheap’n’cheerful ‘low cost’ solution.
Put another way: if you walk through three pairs of Payless shoes a year, you’re spending more than if you buy a decent pair that lasts a couple of years. Same for buying a crap laptop instead of a Macbook, etc. This is ‘privilege’ and luck among other things, and it’s one of many reasons why the rich get richer while everyone else gets poorer. The system is built to reward money with more money.
A Moonlander keyboard is designed to be a forever device, one that eliminates your all your typing-related problems all at once, even the ones you don’t know you have. It is never bad; everything about it is qualitatively better than what you’re almost certainly just enduring now. After the first two weeks of adapting to the many strange things about it, it’s revealed as obviously correct. Are there better keyboards? Depends on your needs. Could be the intense contours of a Kinesis Advantage2 are right for you, etc. For me, the Moonlander is perfect.
So I sit down to use a perfect device every day, and anticipate doing so every day for at least a decade. For that, $350 is a steal.
Steve Jobs used to describe the first Mac as ‘insanely great.’ I choose to take that to mean: good in ways that defy sense; overflowing the boundaries of the comfortable and familiar. In retrospect, not only obvious but inevitable. A tool that seems ‘magical’ because its makers rejected convention, and so opened up new avenues of possibility. We might say: ‘uncompromising.’ It takes a while for such tools to become affordable for people on both sides of the phase-boundary, that’s one way they keep you in your place. A good keyboard is already worth it.
All of which is to say: if it’s even occurred to you to think about keyboard ergonomics, then you would be a fool not to let your money solve this problem.
Ordinary limits
What’s invisibly bad about ordinary keyboards?
- Non-split, non-tented (wrist problems). Again, I’m not going to sell you on this, which I now consider a nonnegotiable feature of any keyboard I’ll use in future. (My company paid for the Freestyle Edge, and if I had a software engineer job instead of a tech writer one I’d’ve asked to be reimbursed for the Moonlander — though I do want to own one outright.) Having a single typing device that you have to contort your arms/wrists/hands to use is an ergonomic disaster and you owe it to yourself to switch.
- Pinky work. On an ordinary keyboard, Enter/Return and Backspace/Delete are right-pinky keys. The left pinky deals with Tab and Escape — and both Shift keys are for pinkies as well. But all these keys involve a shift/stretch: either splaying the hand, rolling the wrist, shifting the arm, or (if you’re mad) actually just stretching out your poor pinky finger. This is lunacy. Your pinky is terrible at these tasks, and even if it weren’t slow it’d be under unnecessary strain.
- Stretching for modifiers. If you’re like me, you’re constantly hitting Cmd+S to save, Cmd+Z to undo, the various Cut/Copy/Paste commands… Bad enough on a Mac, where Cmd is largely a thumb/index key but on the bottom row; much worse on a Windows/UNIX machine, with the Ctrl key out at the edges of the bottom row. More pinky work. Typical users go through contortions to use these keys. As above, eventually muscle memory makes up for the extra stretching time, but the ergonomic cost is real.
- Numbers/symbols. Be honest: have you memorized the layout of the number-row symbols? At this point in history you should know that Shift+2 yields the @ symbol; can you hit it without looking? Most can’t — partly because the number row is a two-key stretch from the homerow, which leads to some hand-placement imprecision, and partly because of the next issue.
- Asymmetry and stagger. Maybe you’ve notice that the rows on a typical keyboard are staggered. That’s a weird historical artifact but you can live with it, obviously. But have you noticed that the stagger is goddamn asymmetrical. In other words: the qwerty row is shifted way left of the homerow, so the left index finger has a short reach to hit T while the right index finger goes much further to land full on the Y key. Never mind why things are this way; think about what it means for touch-typing numbers, and even the zxcv (bottom) row. Then consider: historical typewriter-related questions aside, if staggered rows were good in themselves, why can’t you buy a staggered numpad?
- Distant arrows. I can’t be unusual in needing to use my arrow keys all the time, all the time. The fact that I need(ed) to reach for the most remote part of my keyboard to navigate through a large piece of text — whether hunting Home/End, PageDn/PageUp, or the arrows themselves — imposes a small but nonnegligible cognitive tax, not to mention slowing my hands themselves. You can find those keys by location in physical space, sure; you can even take your eyes off the screen for a moment if you need to, no harm in it. But what if they were already under your fingers the whole time? What if all arrowkey usage was lightning-quick mode-switching, like in vim?
- Arbitrary Shift+ assignments. It makes sense, maybe, that square brackets and curly braces share keys. (For non-programmers, it makes no sense that curly braces are even available as first-class characters rather than special chorded ones, oh well.) But why isn’t there a dedicated open/closed parentheses key for prose writers? Why are parentheses way off at top right? Why must you press Shift for both? In God’s name, why are relatively frequently used symbols like % and $ still hidden up in the number row?
- Every key does only one thing. This is the essential limitation of the standard keyboard: the number of single-stroke commands is limited by the number of physical keys. asdfjkl; occupy billion-dollar real estate beneath your resting fingertips, and in a standard setup those keys serve one purpose each (plus who needs ‘k’ that often?); to get more out of them you have to reach for modifier keys, or foot pedals if you’re one of Those Fascinating People. It needn’t be this way. The keyboard isn’t just a bank of levers now; like the piano, it can benefit from smartening up.
Dvorak, Colemak, etc.
There are non-QWERTY layouts, and I’m sold on their advantages. QWERTY is an artifact of the mechanical-typewriter era, I know the history, etc. But at this point I’m not going to switch, and it’s extremely unlikely that you are, either — QWERTY is a common physical device-language, and several mnemonics are built around it (e.g. cut/copy/paste are all adjacent qwerty keystrokes). If you’re serious about absolutely minimizing your finger travel while typing, lemme propose that (1) your energy might be better spent elsewise, finger travel isn’t the only thing that matters, and (2) you probably don’t need this blogpost.
Bring the keys to you
The Moonlander’s marquee features, as I see them:
- Columnar layout. It’s confusing, then good, then intuitive. (It’s not a strictly ‘ortholinear’ layout — the columns are vertically staggered to account for finger length. This is good, though it looks silly.
- Split/tented. Yup.
- Thumb clusters. You have no idea how good these can be until you try them.
- Extreme programmability. This is the big deal.
One of the mantras of the ergonomic-keyboard community is: Don’t reach for the keys, bring the keys to you. With a programmable keyboard, you can relocate important functions within the 40-50 most commonly used keys and move little-used commands to the fringes, or to another layer. You can implement redundancies (e.g. additional Shift keys to reduce pinky stretching), combine complex chords (e.g. Cmd+Ctrl+Shift) into single keys, and group linked functions (e.g. open and close paren) together instead of scattering them. The goal is ergonomic sanity and sustainability, which is partly ‘efficiency’ and partly comfort. In an ideal world, your fingers would never have to leave the home row; this can be the next best thing.
Note that the beloved/reviled text editor vim is built around this principle: you can pop out of typing mode into navigation mode and the right homerow keys turn into arrow keys instead of letters. Hit space in nav mode, though, and you can start typing an extended command. Escape always takes you to Normal (‘do stuff other than typing’) mode; hit ‘i’ and you go right back into inserting text. Expert vim users are terrifyingly fast at navigating files and manipulating pieces of text/code. A programmable keyboard brings some of the power of that modal editor into systemwide usage. Again, the goal is to fit the work to the body — to bring commands to your hands.
Note that ZSA makes a crafty little 47-key keyboard called the Planck EZ, which also uses ZSA’s brilliant Oryx configurator. It is certainly a neat idea — its sheer portability is impressive, and the idea of ZSA’s fine build quality in a tiny board (with full-sized keys) is appealing, in an ‘expensive novelty’ way. But you absolutely should not be using something like the Planck for your ‘daily driver.’ The keyboard you spend most of your time using should be good for your body and the Planck, its many merits aside, simply isn’t. Your wrists deserve better.
How I’m doing it
My current Moonlander layout tries to take advantage of vim-like modal commands, and includes some major usability improvements over standard keyboard layout.
- Homerow modifiers. My keyboard has four Command keys, four Option, four Control, and (until I winnow my homerow down to what works best) six Shift keys. This is ludicrous, except it’s not: common commands like Cmd+S for Save are now entirely homerow chords, and my strong/fast index finger is enlisted to replace my weak/slow pinky for my most common key combinations.
- Enter, Esc, Space, and Backspace to the thumb clusters. Spacebar on the thumb makes intuitive sense, though I’d previously trained myself to hit Space with both thumbs so that took some work; Escape on the Moonlander’s infamous Big Red Button(s) is logical. It even looks like an Escape key. And hitting Enter with your thumb seems sensible, right? It’s not where you’d expect, but given the lack of a dedicated Enter key at far right, you’ve got to put that key somewhere accessible, ideally somewhere visually distinctive. You don’t hit Enter often enough to want it in the main four-finger body of keys, but it should obviously be on the main layer. So: right thumb. And Backspace for the left thumb is easily the most challenging part of the whole layout for me — yet it’s infinitely preferable to the whole-hand stretch for the top right, once you stop stumbling over it mentally. (Honestly, I’m thinking about replacing that key with Opt+Backspace, but let’s leave that aside.)
- Arrow layer. Oh, baby. This is the other trickiest part of switching to this keyboard — complicated enough to merit its own section below.
- Number pad. It turns out — and I did not expect this — that I can touch-type the number pad very quickly. Probably a combination of Nethack, old-school calculators, and telephones. At any rate, I hit the ‘Layer 3’ key with my left thumb and there’s a number pad directly beneath my fingertips, including arithmetic functions. This feature is always one of two things: totally irrelevant, or indisipensable.
- Square brackets to the right thumb. A bit random, you might think — but Cmd+[ is the Back button in a web browser, and Cmd+Shift+] is a standard ‘move to the next tab’ command. My thumbs naturally curl to the space between the thumb clusters and the left Cmd/[ keys, so one of my most commonly used browser/window nav commands is just right there. That might sound ‘handy’ to you, or ‘neat,’ but once you build muscle memory around it, it is revealed as Strictly Better than the previous setup. Honestly, I’ve forgotten where the square brackets are on a normal keyboard. They make sense where I’ve got them.
- Open/closed paren together. To make this work, you employ the Moonlander’s — or rather, the QMK firmware’s — astonishing, retrospectively obvious/inevitable quadruple-function keys, known as ‘tap dance.’ Tap the paren key and get (, double-tap it and get ). This takes getting used to, particularly the timing/speed issues — you end up with some accidental (( entries before you get fast enough. But once it’s in your hands, it’s simply strictly preferable to the old setup, which had you reaching for Shift+9 and Shift+0…
- Lights. Obviously the layers are indicated w/different lighting schemes — but crucially, individual keys are lit up in their own colours. You start out thinking this is charming but a bit ‘extra,’ as they say, and then for a while you rely on it…not least to indicate visually which ‘mode’ the keyboard is in. (I’ve done a lot of accidental arrowing-about, thinking I was in nav-mode on Layer 1 instead of insert-mode on Layer 0.)
The arrow layer
My arrow-key setup is wild, and it’s the one part of the setup that’s been slow to pay off — ergonomically it’s an instant win, and I’m even faster arrowing around on that inverted-T (like WASD but on the other side) than I was on regular arrow keys, because of my wrist angle. But key combinations are a hassle, because I’m trying to do too many new things at once, and the only solution to that is time and muscle memory (and probably a practice program).
My most frequently used arrow-key combinations are:
- Opt+Left/Right. Move to the next word-boundary.
- Opt+Up/Down. Move to the next paragraph.
- Cmd+Up/Down. Move to the top/bottom of the page or document. In the Finder, pop up and down one level on the directory tree.
- Shift+various. The hard part: select one of the above three ranges of text.
- Ctrl+Left/Right. Irritatingly, this is the ‘swipe’ maneuver to move between desktops and fullscreen applications. Right now this chord is S+leftthumb+L, which isn’t bad but I have no muscle memory at all. The trouble here is that either I don’t need this command or I need it frequently, e.g. when moving between an essay and a browser on a single screen.
Note: I use Opt+Backspace a lot, which deletes a word at a time — indeed I normally use this in place of plain Backspace, since I type quickly enough that it’s usually worth it for me to shitcan an entire word and retype it rather than delete one character at a time. Right now this has a nice convenient chord: K (i.e. Option)+leftthumb, basically just striking resting-position keys though the thumb cluster isn’t strictly the ‘homerow.’ There’s a part of me that wonders if I shouldn’t remap Backspace to Opt+Backspace…
The current solution I’ve hit on is groovy — essentially a numpad of navigation commands, with Home/End in a sane place, Opt+Up/Down as single-stroke commands, Opt+Right/Left the same, PgUp in the 9 spot, and PgDn mapped to ‘,’ — but having these oft-used commands on a ‘separate’ layer means mentally remapping one of the most basic elements of my computer interaction model. I’ve had arrow keys in basically the same spot for 35 years! Switching up is very difficult.
This is basically equivalent to learning vim’s interaction model and nav commands — in my case, at the decreasingly neuroplastic age of 43 — but for the entire system, every app, with no way back to the ancient conventions. ‘Tricky.’
Yet in the long run, I’m confident it will be worth it. And here’s why: this mental remapping is also reinforcing little-used commands that are enormously handy in my daily work, like trusty Ctrl+A and Ctrl+E (goto beginning/end of line). With homerow modifiers, Ctrl+A turns into L+A. Think about that for a second, will you? And L+E to hop to the end of the line. Instead of visualizing a layer, which I currently very slowly do, I can be hopping around lines/paragraphs by remembering simple two-letter chords. Now add the semicolon key, which doubles as Shift when held, and ‘Select the paragraph up to the caret’ is L;+A. When I remember to use it, that’s just rad.
Adapting to the new world
How slow is the learning process?
After a month or so, I’m back up above 100 wpm with ~95% accuracy. I’m not quite where I was — the brain/screen connection is no longer seamless, which has definitely affected my productivity and even the nature of my writing work — but I’m back to top-2% typing speeds, i.e. I need to be grateful to have regained expert facility so quickly and I need to practice systematically. When my son practices piano, I remind him that playing scales is boring as hell but you have to do them, have to, because (1) all they take is time, and (2) they make it possible to play actually interesting music without worrying about those low-level mechanics. And the fact is, just playing a passage over and over again won’t do the trick. Instrumentalists all know this: you have to break it down, return to the boring atomic elements. That’s the discipline.
I’ve been a fast typist so long that I’ve forgotten that it ever took discipline. Moving to sane, sound ergonomics and sustainable practices is like…well, it’s like fixing a bad embouchure. You’ve been routing around your own bad habits, and becoming aware of them and deliberately correcting them is worse in the short term — then in the long term you can do things you had convinced yourself were simply impossible. After a while, the ‘impossible’ becomes natural.
But it’s slow, yeah. Compared to some other things anyway.
The first couple weeks were rough. My first extended writing sessions after getting the Moonlander, I packed it away in its (very groovy) neoprene travel case and regressed to the Freestyle Edge for a few hours. My hands were flying — man, it felt liberating. Now I’m experiencing long moments of peak dexterity using this new tool. It’s not quite the same, it doesn’t yet feel like going home, but I’m learning not to misread my intimate familiarity with the old weird staggered single-layer qwerty setup as healthy or preferable.
And honestly, every time I pick up a stupid conventional keyboard I want to tear my hear out — they’re just full of terrible goddamn ideas.
Shoutout: ZSA’s Oryx configuration software has made adapting much much easier than it might be — it’s trivial to swap/remap keys, flash the keyboard firmware, and see how the new layout works. Its search feature, which lets you browse other Moonlander users’ publicly shared layouts, is a great way to comparison shop. Indeed that’s the killer app — and it better be, because the default Moonlander layout is notoriously terrible. My own layout started out as a clone of some other Mac user’s vim-inspired setup; I’m still paring away the unnecessaries, e.g. the mouse-emulator buttons on my Media layer.
OK, enough of this.