The Planck Keyboard

I’ve been a user of mechanical keyboards for a few years now, and I love them. I like the semi-analogue quality of the devices, and the percussiveness, and the customisability. The one thing I haven’t always liked is the size and heft of conventional layouts like full size or TKL (ten key less, i.e. without a numpad but still with a dedicated set of cursor keys and Home/End/etc).

There are many more sizes of keyboard available, though, but the smallest I was ever comfortable with was laptop-style setups which are usually in the roughly 65% category, like on a MacBook Pro or my iPad’s Magic Keyboard, which means a keyboard with around 65% of the keys found on a full-sized one. I do have a 60% board here too (a Snowfox DK61), but the lack of arrow keys constantly tripped me up. I could configure it to have them, of course, but there’s still the issue of feeling I was reaching around too much to trigger various Fn shortcuts. What I really wanted was something contradictory: an even smaller keyboard that was easier to type on in terms of finger-stretching, but that still had all the functions I needed. Also, the aesthetic had to be impeccable, to earn a place on my minimalist desk with my iPad. White, sleek, clean, ascetic; that’s the vibe I like right now.

Sounds impossible, but it exists. Let me tell you a bit about my new daily driver, which is pictured below.

White Planck keyboard on wooden desk

There are two main things going on here compared to your usual keyboards. First, this layout is ortholinear, which means that the keys are arranged in a grid instead of the staggered rows that are ubiquitous. The staggered rows are probably just a historical artefact of typewriters having to avoid their levers smacking into each other, but we’ve replicated that quirk in computer keyboards without any need for such an odd design detail. There’s a school of thought that says ortholinear layouts are more natural because when you curl and uncurl your fingers they stay in a straight line vertically. Also, our fingers are much stronger making vertical movements than horizontal ones. Whether that all matters to you is your own business.

For my part, I love the look of the ortholinear arrangement of keys, and the completely interchangeable uniform keycaps. Typing on such a keyboard does require adjustment, but I was comfortable enough after a couple of hours, and by the time a few days had passed I wasn’t really feeling constrained by unfamiliarity anymore. I think it helps if you’re a fluent and Home Row-focused typist to begin with. I’m still learning, but it’s not holding me back.

Second, this is a 40% keyboard. It has the alphabetical keys, arrow keys, and the modifiers — except for Caps Lock and the right side duplicates of Shift, Control, Alt/Option, and Command/Win/Super. It has no numpad, function keys, or number keys. The spacebar is also just two units wide, instead of the more usual 6+ units. A big change.

What it does have is those two extra keys to the left and right of the spacebar, which are called Lower and Raise. In the same way that Shift or Fn change the functions of other keys to effectively introduce a different “layer” of keys, Lower and Raise each switch to alternate layers of functionality (and indeed pressing both Lower and Raise simultaneously provides a third additional layer beyond the base layer that’s printed on the keys). That’s how 40% keyboards work; you just have a lot of functionality switched over onto other layers. For example, in Raise, the Q to P keys become the numbers from 1 up to 0. It feels incredibly intuitive when you try it, because they’re still in the same place you’re used to: the top row, starting one key from the left. In Lower, those same keys turn into the Shifted versions of the numbers, i.e. exclamation mark up to closing parenthesis — or you can just combine Shift with Raise to get those instead, as you’d expect.

The other thing about 40% keyboards (and all the endless varieties of other sizes and shapes) is that they’re extremely customisable. You can make your own layers, and customise every single key, and set up macros, and backlighting, and tweak how things work. You can apply multiple functions to the same key within the same layer, depending on whether you tap it, hold it, double-tap, or double-tap and hold. The rabbit hole goes very deep. Being a mechanical keyboard, you can also of course choose from dozens of different styles of key switches (the actual mechanisms that your finger is pushing against) each with their own feel and sound, and virtually limitless sets of keycaps to install. You can change any of it at any time, and customise or repair it all yourself.

It makes sense to have full control and access to something that requires you to adapt to it at first. It should adapt to you, too.

The keyboard in the photo is a Planck, specifically a Planck EZ which is a pre-built variant with per-key RGB backlighting. There’s also a Planck kit to build yourself, albeit without backlit keys (though the PCB does have nine-LED RGB underlighting), and you’ll have to supply your own keyswitches and keycaps. I have one of those too which I built the other day, in an anodised purple case with vintage Apple-style keycaps. There’s a photo below. The keycaps are called Extended 2048, by the way.

Drop + OLKB Planck with Drop Extended 2048 keycaps

These boards run the QMK open source firmware by default. You have various other options too, but QMK is robust and flexible, has a big user community, and has visual layout configurators and pre-built flashing (i.e. firmware-updating/installing) tools for all the major operating systems, so it’s a solid choice. If you want to write your own firmware like a lunatic, you can do that too, and good luck to you.

As I’ve said, the important thing in a compact keyboard is to make sure it meets your own unique needs, and if you can have a bit of fun with it at the same time, then so much the better. I’m going to go into my setup in some detail now. You can explore my full layout at the keyboard editor if you like, and fork it for yourself as a design aid, but be sure to come back here for the details. Here goes.

Let’s begin with a reminder of the physical layout, pictured below.

Overhead view of keyboard

Simple enough. Four rows of keys, with twelve keys in each of the top three rows, and eleven (due to the double-wide spacebar) in the final row. If you build your own Planck you can choose the layout of that bottom row, from various options: having a single 2U (two units wide) spacebar in the centre like in the photo above, having two adjacent 2U spacebars in the middle, 2U + 1U + 1U or the opposite order, or even just having the full forty-eight 1U keys in a perfect grid. I used the latter arrangement in my second and self-built Planck, since I tend to only hit the right side of the spacebar with my right thumb anyway. Your choice, as ever.

Anyway, the set of key functions you get without any modifiers pressed down is called the Base layer, and mine is normal enough. There are just a few customised conveniences to point out, as shown in the schematic below.

Base layer schematic

You’ll notice that in the top left, Tab is uppermost with Escape below it, unlike on larger keyboards. This is normal for a Planck. I experimented with putting it back in the more conventional relative order, but I found that my fingers were actually more dependent on Tab being adjacent to Q, than on Escape being topmost, so I switched it back (I use Command+Tab a lot to switch between apps). I also chose to add a dedicated Mute button at the extreme bottom left; on a small keyboard you can readily hit this button and its opposite-side counterpart with the heels of your palms, without needing to lift your fingers from the home row. I really hate when things make noise unexpectedly, and on an iPad — even with a Magic Keyboard — you’re forced to either press the hardware volume buttons or pull down Control Centre to silence the speakers. Given the amount of ads on YouTube and the continued dark pattern of boosting their audio level compared to the main video content, I use and appreciate the Mute button twenty times a day, especially since I have a ten-month-old son asleep a couple of rooms away a lot of the time.

The single-row arrangement of cursor/arrow keys is also the default for a Planck. You can move them into an inverted-T arrangement anywhere you like (remember you can pull off the keycaps and swap them too), but I’m too reliant on the position of the forward-slash/question-mark key. I’m a novelist, so I’m writing dialogue all the time. I got used to the linear arrow keys quickly enough, and I also have other cursor arrangements elsewhere, which I’ll talk about in due course.

The blue sub-legends on three of the keys are my own conveniences. The Enter/Return key is in the position usually occupied by right Shift, which I use often to get double-quotes and the aforementioned question mark, so I made it into a dual purpose key. If I tap it on its own, it’s Enter, but if I hold it down it acts as Shift. This is incredibly intuitive. You can customise the interval for which the key needs to be held in order to be considered a hold instead of a tap, right down to the millisecond. Similarly, my left and right arrow keys behave as arrows when tapped, but when held for 200ms or longer they behave as if I’m also holding the Option/Alt key. On Apple devices, this has the effect of skipping through text a whole word at a time. You can understand how that’s useful in my line of work.

I have no backlighting at all on my base layer, which serves to visually distinguish that layer quite effectively, and minimise distraction. You can set per-key, per-layer colours for every key, whole-layer colours for each layer, or a combination of the two. I use lighting on each of my other layers as a mnemonic aid. Let’s move on to the two layers that have their own dedicated buttons on the keyboard: Lower and Raise.

A quick note at this point. To me, linguistically I expected “lower” and “raise” to be relative things, because those words are verbs. I think I initially assumed that they would act cyclically, moving progressively down or up one layer in the stack each time I pressed them. That’s not the case; they’re actually just cute names for specific layers, and they always go to those layers. You can create up to 32 layers in total, and there are various sorts of extra flexibility and interesting behaviour. Trivia 1: Layers exist in a stack, and if the topmost active layer has no defined function for a given key, the keypress will “fall through” to the next highest layer, and so on. Trivia 2: The Base layer can be switched out on the fly, for example if you want to change from QWERTY to DVORAK, or COLEMAK, or WORKMAN, or even the keyboard for other languages that you speak. All of this configuration lives on your keyboard itself — there’s no driver software on the computer. That’s great, because you can take your keyboard and all your custom setup with you to any other machine with zero further setup.

Anyway, on to my Lower and Raise layers. They’re very similar, differing only in a few keys: they’re basically my fill-in layers for the keys that aren’t physically present on the keyboard, in both regular and Shifted variants. Here are the schematics for both.

Lower layer schematic

Raise layer schematic

The only differences between them are in the top row (numbers in Raise, and shifted numbers i.e. punctuation/symbols in Lower), and also the final three keys of the second row and final two of the third. I use Raise much more often than Lower, and I added a few backlight mnemonics to help me. The numbers are all green, since the Phone icon is green on iOS and I associate that with numbers, and I also highlighted the - and = keys with red and green. Lastly, I added colour to the square brackets (which I use in keyboard shortcuts to switch tabs in certain apps), and to Page Up and Page Down which I use often when reading or editing. Here’s how the lighting looks.

Raise layer lighting

My Lower layer has the same lighting for - and =, and it uses yellow instead of green for the shifted numbers. I know instantly which layer I’m in from the contrast between green and yellow.

I mentioned earlier that Lower+Raise together produce a third additional layer (or a fourth layer overall, including Base). This layer is called Adjust, and as the name implies it lets me adjust various settings on both the keyboard and my iPad. Here’s a schematic.

Adjust layer schematic

The layout here is a combination of logical grouping, reachability, and symmetry. The beauty of customisation is that you can make things work for your own weird brain. Let’s go from left to right in columns. First, the Oryx key at the top left: Oryx is the visual configurator for the Planck EZ (and also for the same company’s ergonomic spaceship-like keyboards), and it has a feature where you can do live training on the web for your own specific keyboard and layout. The top-left button on my Adjust layer lets me connect to that feature if I’m ever on a regular computer (iPads don’t support the WebUSB protocol that makes it work, though). I’ve got it squirrelled away here in case I ever choose to try that training feature.

Below that, there’s my media cluster. The Mute button is exactly where it is on the Base layer, then my volume down and up, and above those I have the logically related playback and skip functions. Further to the right, I have my iOS screenshot buttons at the top: one for a full-screen screenshot, and one that takes a new screenshot and loads it straight into Markup so I can annotate it with the Apple Pencil. Those keys just fire Command-Shift-3 and Command-Shift-4 respectively. Below them, I have two buttons which control the keyboard hardware itself; one to toggle all board audio chirps for things like powering up or going into firmware-flashing mode, and one that toggles the musical keyboard mode — yes, the Planck is also a chiptunes-like musical keyboard, just for fun. I’ve got that one highlighted mostly so I can avoid it, because it would probably wake my son.

The big cluster is my “screen and visual” control pad. I can change the brightness of the iPad’s screen, or lock the device entirely (the latter key just sends Command-Control-Q, which is iPadOS’ global keyboard shortcut to lock the screen, by the way). The six buttons below those control the RGB backlighting LEDs under each key. I can switch them off entirely, or enable and cycle through dozens of pre-made animations. Some let you control the colours, and some are reactive to keypresses. It’s silly, but it’s a lot of fun to play with. There are also keys to change the hue and brightness of some of the effects. I could add saturation keys too, but I like to keep saturation at maximum anyway.

The top-right button puts the board into firmware-flashing mode, and the two buttons I haven’t mentioned yet are the ones symmetrically just outside of the Lower and Raise buttons: Numpad and Gaming. Those are two custom layers I created, and the buttons are how they’re reached. We’ll talk about those in a moment, but first here’s a photo of the mnemonic backlighting I added to the Adjust layer, whose layout is quite complex.

Adjust layer backlighting

Those colours make it incredibly easy for me to find the lighting toggle, screenshot buttons, volume and playback controls, and layer triggers. I’m already relying on newly-developed muscle memory most of the time, but the lights are a big help when I need to check.

I love using an iPad as my primary and only computer, and iPadOS gets better every year. It can still be lacking, though, in terms of keyboard control for navigation and triggering functionality. As a mechanical keyboard user and very long-sighted person (who thus likes to keep the iPad at arm’s length or further when typing), I really hate having to reach over my keyboard to tap the screen just to flip some switch or change a setting. It’s even painful for my shoulder after a while. It’s a big help to be able to control music, volume, screen brightness, and locking the device without even lifting my fingers from the keys, and it made me think about the other ways that my Magic Keyboard is less than ideal. The first annoyance that sprang to mind was typing numbers.

I’ve always hated having numbers in a row along the top of the letters. I understand why they’re there, and I also hate the space that a dedicated numpad takes up on a desk, but I massively prefer using a numpad to enter even a couple of digits at a time. My brain just knows where the numbers are in that layout, and I can type them really quickly. A numpad is also the part of a conventional keyboard that’s always been in an ortholinear arrangement, if you think about it. The logical step was to make a dedicated numpad layer, with enhancements. Here’s the schematic.

Numpad layer schematic

A confession: this is actually both a numpad and a mouse, so with iPadOS’ pointer support for the last year or two, I don’t even need to touch the screen to do a lot of clicky stuff — and all without putting yet another device on my desk. Yes, I could reach over the Planck to use the Magic Keyboard’s trackpad, but that’s also an ergonomic nightmare that I like to avoid. My mouse keys here have a custom acceleration curve and so on thanks to QMK, and a few really nice features. First, I have two different left-click buttons, because I sometimes find myself reaching for both those positions to click. I also have a right-click button and a two-direction scrollwheel (they’re inverted because that’s how iOS scrolling works; it’s relative to the content via direct manipulation, not the screen). I could add horizontal scrollwheel buttons too, and indeed further mouse buttons, but I don’t seem to need them.

I also have two different buttons to get back to my Base layer, including one in the top-left position that feels logical, and then there’s the numpad cluster itself. I modelled it on physical numpads, and it includes the usual numeric layout plus all the calculation symbols and punctuation I need. There’s an Equals button, plus Backspace in its usual place from the Base layer, and a numpad Enter key in the same place where regular Enter usually lives. I can’t adequately express how enjoyable it is to use. It just feels like a numpad. No more hitting 5 when I was going for 6 along the top row, or vice versa.

Naturally I added some lighting to distinguish all these keys, even though I have them memorised now. Green for numbers, just like in Raise, with distinct highlights elsewhere. Here’s a photo.

Numpad lighting

I can’t seem to take a photo that adequately captures the vividness and fidelity of the RGB LEDs, but you get the idea.

The last layer I created is an experimental and perhaps whimsical one, inspired by my realisation that the keyboard was serving as at least three input devices already: a regular keyboard, a numpad, and a mouse. The other thing I sometimes use a computer for is retro gaming, and when I think of gaming, I think of the Super Nintendo. Here’s a schematic.

Gaming layer schematic

It’s a Super Nintendo joypad, complete with some fairly standard emulator keys for Select and Start. There’s a direction-pad incorporating the standard gaming WASD keys but with an extra down-arrow in the proper cross configuration, YXBA buttons, and even L and R. Select and Start are on the Lower and Raise keys for easy thumb access, and I moved L and R down to rest comfortably where my pinkies can get to them while I keep my other fingers on the main controls. Lastly, there’s the same back-to-Base-layer button that I have on my numpad layer. I’m pretty proud of this setup. It feels really comfortable to me.

It goes without saying that I chose lighting that reflects the Super Nintendo/Famicom joypad button colours that we had here in Europe and in Japan, plus subtle purple for Select and Start as a nod to the (more boring, honestly) colours of the north American version of the console. Here’s a photo.

Gaming layer lighting

Those are all my customisations for now, but I’ll inevitably continue to tweak things as I go. I also have my second Planck with its full 48-key layout (called Grid, as opposed to this keyboard’s 2U centred spacebar layout which is called MIT), and I think I’ll use it as a place to try out more extreme configurations.

The next step after 40% boards and ortholinear layouts tends to be ergonomic keyboards, split boards, alternate letter layouts like COLEMAK etc, and even fewer keys. There’s always something new and weird to try.

I’m going to keep tweaking my layout as I find rough edges, or discover new needs or things I want to play with. I’m fascinated by this stuff, and always interested in what others are doing with their boards. You can let me know your thoughts or suggestions, if you like: I’m matt at this domain for email, and I’m @mattgemmell on Twitter.

I’ll close with a few suggestions for those getting used to a new keyboard layout. First, feel free to cheat by looking up what the keys do, whenever you need to. A good way to do that is to either print out your layout, or put it on your computer desktop as wallpaper. Then you’re only ever a keyboard shortcut away from it. You’ll be able to remove it in a week or two. To construct schematics like mine, use the keyboard layout editor.

Second, you’ll soon reach the point when your fingers want to move in a certain way, but your brain isn’t confident with the new layout yet and wants to stop and verify the movement first. Trust your fingers. They’ll learn quicker than your conscious mind.

Lastly, practise. I recommend this typing training site, because instead of just making you type twee phrases over and over, it instead aims to introduce one or two letters at a time, as if you were learning a language. You’ll be typing gibberish for a while, but your hands will really learn where everything is.

I can also highly recommend typing four thousand words about your new keyboard layout. That’ll really help you get familiar with where the keys are.

Thanks for reading.