Trying out a custom 34-key split keyboard layout

I recently got to build two split keyboard setups, and I'd like to talk a bit about the layer system I'm experimenting with on the smaller, 34-key layout, because I think I'm onto something with it.

Eager to try the layout?

If you have a Ferris Sweep of your own you can use it by downloading ferris_sweep-frank_noirot.json from my kit repo on GitHub, uploading it to config.qmk.fm and clicking Compile followed by Download Firmware.

The keyboard

I was fascinated by the work that Ben Vallack has been doing on his YouTube channel to pare down his keyboard layout to be as ergonomic and efficient as possible. Last year he walked through a layout system that he created for himself on the 34-key Ferris Sweep layout, whose PCB layout he also showed how to lightly modify.

I decided that the low ~$50 price for this setup combined with the potential big rewards after some experimentation made it a worthwhile investment. I had a struggle putting it together but after setting it aside for a few months I came back to it and got both sides working with the default keyboard layout1.

I was immediately not that into it, because it seemed to disallow the kind of rolling that fast typing requires (Ben makes this point in his video as well), so I decided to have a go with creating my own.

Layout philosophy

I agree with Vallack's stated design goal for his layout of reducing "chording", where you have to hold a key down to enter layers. I've added the following principles for myself:

  • Isolate keys with different tap/hold functions to the thumbs
  • Prioritize writing prose unencumbered whenever possible
  • Eliminate delay-based interactions

I really didn't want to introduce any delay-based holds at all into my layout. Vallack says they don't bother him, but I just can't accept throttling any of the speed if I can help it. I'm already not the fastest typist, so I want my keyboard to help me as much as I can.

Layout overview

On to the details of the layout itself. My layout has 6 layers total: 4 that are "tap-through" layers and two that operate as "peek-in" utility layers. The layers are arranged as follows:

  1. Prose writing
    1. Left utilities
    2. Right utilities
  2. Keyboard movement
  3. Mouse movement
  4. Functions and long number sequence input

The peek-in layers really only operate from the prose writing layer2, and are activated by holding the right and left primary thumb key, respectively.

Layer 0: prose writing

At its most basic, this layer is focused on writing English prose in the way that is most comfortable for the user. All of the non-thumb keys are purely alphabetical and punctuation, so this layout will accept any letter arrangement without issue. I am sticking with QWERTY for the time being so I don't have to rewire my entire brain while learning this new layer system, but I would love to experiment with alternatives like Colemak or the ISRT layout that Vallack uses someday.

Layer 0 of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: Q, A, Z. Left ring: W, S, X. Left middle: E, D, C. Left index first column: R, F, V. Left index second column: T, G, B. Left thumb 1: Space on tap, Layer 4 on hold. Left thumb 2: Shift. Right thumb 1: Backspace on tap, Layer 5 on hold. Right thumb 2: toggle Layer 1. Right index 2: Y, H, N. Right index 1: U, J, M. Right middle: I, K, Comma. Right ring: O, L, period. Right pinky: P, apostrophe, forward slash.

The only other thing of note is that I opted to demote the semicolon to one of my peek-in layers, and replaced it with the single/double quote key, because I've found that I write far more contractions than complex sentence clauses3. But I want to focus more on the four thumb cluster keys.

My inner left thumb key controls Shift and operates just like normal on layer 0, allowing me to write sentence case fairly naturally (although I am still tapping with my left pinky to try to shift occasionally still). Tapping my right inner thumb key enters Layer 1,

My home thumb positions (I rest my thumbs on the outer thumb keys) serve as Space and Backspace, respectively. I'm left-handed and I like the metaphor that my left thumb "pushes" the prose forward, while my right thumb pushes it back, but you could swap it if you tend to tap the spacebar with your right or prefer a "pulling" metaphor.

Holding either of my outer thumb keys opens a left or right utility layer, respectively. I've been calling them "peek-in" layers because they feel like two halves of the same utility layer that I'm getting to peer into one half at a time by holding a thumb. While I picture the tap-through layers as stacking above the keyboard, I picture each of these layers moving off sideways from the home layer.

In each of them is a top number row, coding punctuation, primary action keys like Tab and Enter, and modifier keys. An important part of these layers is that the hand opposite them simply passes through to whatever the normal Layer 0 key would be. This allows me to do the critical keyboard shortcuts by opening the peek-in layer opposite the letter I need for the shortcut: for example to open a new browser tab, I open Layer R to use the Command key in my right hand, and the passthrough allows me to access T with my right index.

Layer L

Left peek layer of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: Number 1, Ampersand, Shift. Left ring: Number 2, Left Parenthesis, Control. Left middle:Number 3, Right Parenthesis, OS. Left index first column: Number 4, Tab, Alt. Left index second column: Number 5, Tilde, Escape. Left thumb 1: None (held). Left thumb 2: Pass. Right thumb 1: Backspace. Right thumb 2: Delete. Right index 2: Pass, Pass, Pass. Right index 1: Pass, Pass, Pass. Right middle: Pass, Pass, Pass. Right ring: Pass, Pass, Pass. Right pinky: Pass, Pass, Pass.

The left peek layer shows the pattern between the two well. While the outer left thumb is held down, the rest of the left hand becomes often-used keystrokes, actions, and modifiers. I swapped the order of the OS (Command on Mac, Win on Windows) key and the Alt key so that Command and Tab do not fall on the same finger, as I use it all the time to switch between applications on my Macbook. I followed this pattern anywhere modifiers occur in the layout, which made things easier to learn.

I followed the same reasoning in bringing the backtick key to my second index home row. Because of this placement next to tab, the command for switching between instances of an application (Command + Backtick) is right next to the one to switch between applications.

The exclamation point key may seem redundant with the Number 1 key above it, but since I need my pinky to hit the Shift key to access the top row's shifted versions, I was having to reach for the exclamation point with my ring finger across a column, which wasn't hard but felt like a bad practice.

Layer R

Right peek layer of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: Pass, Pass, Pass. Left ring: Pass, Pass, Pass. Left middle:Pass, Pass, Pass. Left index first column:Pass, Pass, Pass. Left index second column: Pass, Pass, Pass. Left thumb 1: Pass. Left thumb 2: Shift. Right thumb 1: None (held). Right thumb 2: Pass. Right index 2: Number 6, Dash, Equals. Right index 1: Number 7, Enter, Alt. Right middle: Number 8, Semicolon, OS. Right ring: Number 9, Left Square Bracket, Control. Right pinky: Number 0, Right Square Bracket, Back Slash.

I had to compromise with the Shift key on the right peek layer, because I do use the pipe character a fair bit and I wanted to fit it into a peek layer key. So I opted to use the left inner thumb that is my usual Shift position to free up a key in my right. This asymmetry between the modifier keys takes some getting used to, but I feel like it's a justified idiosyncrasy.

I really enjoy the relationship between Tab and Enter that this layout highlights. Rattling off thumb + index finger on the home row of each hand makes these keys far more automatic to me than they are in a standard keyboard. It's always bothered me how pinky-heavy the standard keyboard is.

Layer 1: keyboard movement

After you've toggled into the first movement layer your right home row becomes all of the modifier keys, while the left hand's resting position becomes the arrow keys, with other quick line navigation keys directionally arranged around it.

Layer 1 of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: Pass, Left, Pass. Left ring: Pass, Up, Home. Left middle: Page Up, Down, Page Down. Left index first column: Pass, Right, End. Left index second column: Pass, Pass, Pass. Left thumb 1: Pass. Left thumb 2: Toggle Layer 0. Right thumb 1: Pass. Right thumb 2: toggle Layer 2. Right index 2: Pass, Pass, Pass. Right index 1: Copy, Alt, Undo. Right middle: Paste, OS, Again. Right ring: Cut, Control, Find. Right pinky: Pass, Shift, Pass.

The left hand in this layer is lifted from the default Ferris Sweep layout in QMK and works well for me. I'm starting to love the feeling of selecting chunks of text with this. Hold down right pinky, then either hold right index or right middle and tap the arrow keys to quickly select lines and sentences out of text.

I haven't had success using the command keys Copy/Paste or Undo/Again that are clustered around the right hand, my Macbook just doesn't seem to recognize them, I may drop them or make them into macros so I know they'll work on my Mac, although it's a shame because Command + V is paste on Mac and Control + V is it on Windows, so I was hoping for a platform-agnostic solution. For now I'm just sticking to the real combinations using my peek-in layers.

Layer 2: mouse movement

This next layer up is for mouse movement and media controls. I make fairly frequent use of this layer, because there are a surprising and disappointing number of dialogues that are not keyboard accessible. If my head is in the right place, flipping layers costs me less mentally than reaching for the mouse.

Layer 2 of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: Pass, Shift, Mouse Acceleration Increase. Left ring: Pass, Control, Right Click. Left middle: Pass, OS, Middle Click. Left index first column: Mute, Alt, Left Click. Left index second column: Volume Up, Volume Down, Browser Back. Left thumb 1: Left Click. Left thumb 2: Toggle Layer 0. Right thumb 1: Right Click. Right thumb 2: toggle Layer 3. Right index 2: Brightness Increase, Brightness Decrease, Browser Forward. Right index 1: Left Click, Mouse Left, Scroll Left. Right middle: Middle Click, Mouse Down, Scroll Down. Right ring: Right Click, Mouse Up, Scroll Up. Right pinky: Pass, Mouse Right, Scroll Right.

Some design notes on this layer:

  • I enjoy the symmetry of flipping the modifier keys and the directional keys from the keyboard navigation layer one below. Switching between these layers feels like passing control of the computer between my two hands.
  • I like the mental model of having scroll direction keys appear directly below the primary movement keys. This became automatic to me very quickly.
  • I also appreciate having redundant mouse click keys for every hand arrangement. Though not space efficient, they mean I can take a sip with one hand and scroll or click with the other. One-handed actions become much more cumbersome when your keyboard's effective footprint is tripled in width.
  • Again, like the copy buttons on the previous layer, I haven't gotten the Back and Fwd buttons to work on my Mac 😕.

Layer 3: functions

Layer 3 of my new keyboard layout for the Ferris Sweep. Keys from left to right, going down each finger from top to bottom. Left pinky: F1, Number 1, Shift. Left ring: F2, Number 2, Control. Left middle: F3, Number 3, OS. Left index first column: F4, Number 4, Alt. Left index second column: F5, Number 5, F11. Left thumb 1: Space. Left thumb 2: Toggle Layer 0. Right thumb 1: Backspace. Right thumb 2: toggle Layer 0. Right index 2: F6, Number 6, F12. Right index 1: F7 Number 7, Alt. Right middle: F8, Number 8, OS. Right ring: F9, Number 9, Control. Right pinky: F10, Number 0, Shift.

🚧 Under Construction

I've still gotta write my thoughts on the designs of all these layouts, more to come!

Pain points

I am enjoying this layout so far, although I will say that I catch myself getting small blips in though as I think of the keystroke for the next movement sometimes. I am not yet sure if that is a sign that this layout will not suffice for me long-term or if that's just the normal growing pains of adopting a new layout.

Text movement is especially painful for me so far. I've prided myself on being pretty quick on the Mac keyboard shortcuts for quickly deleting by word or line both forward and backward, and with using modifier keys with the arrows to quickly move around blocks of text. Having modifier keys behind a peek layer takes some real getting used to, and having to toggle to a separate layer to navigate text takes me a second for my brain to switch. It feels like it will take some time for that to become automatic.

However, one big positive of this layout that comes from the modifier keys on these peek layers is far better ergonomics. This layout is nearly free of the horrible pain in my hand from that claw the Macbook forces you into for the modifier keys.

On my Macbook my left hand is frequently bunched up trying to hit modifier co Command + Control + G to make a frame in Figma, frequent maneuver made very painful. Technically I could hit the Command key with my right thumb, but the I find the right modifier row on the Macbook basically impossible to use.

My left hand bunched up trying to hit Command + Control + G

Closing thoughts

But really all in all this layout has been a worthwhile endeavor. I'm already typing near my average speed of 70–80wpm on MonkeyType, and I wrote most of this post using it!

I also like a bunch of little details, like that on the second layer I have my left hand doing the navigating with my arrow keys on the home row, while if I double tap for the third layer my right is passed navigational control over the mouse in the right hand, jut like it would have if I were to reach for my mouse.

What do you think of my layout? Have you built a Ferris Sweep? If you want to chat, as always, shoot me a message on social or find my email, and happy typing 🤙🏻

Footnotes

  1. It took trying to rebuild my "buggy" right side board 3 times and setting it aside for a few months to realize that I had been soldering on the right side's PCB upside down each time 🤦🏻. I'm not very good at electronics.

  2. Although #todo I still need to test a lot of edge cases with the thumb clusters on the other tap-through layers. There is definitely more creative uses to be had there.

  3. I also don't need semicolons to write JavaScript (fight me), although I may regret disrespecting the semicolon and colon when I try to write TS, CSS, or Rust, so stay tuned 😬.