Community Post: 40% Keyboard Layouts

Over the years... my keyboards have been shrinking. I used to use a full size keyboard, then I switched to a 60% compact keyboard. These days I've been using so called 40% keyboards, usually of the ortholinear 4x12 variety.

When people see me using them... they often ask "how do you manage?" As @snipeye said:

Snipeye: Boiled down into one word: layers. In multiple words: multi-function keys.

I thought I'd do a compilation blog post of a bunch of people who are currently using 40%ish keyboards to provide a resource for those looking to make their own customized layouts for their needs. It takes the form of a quick-ish survey and the user's responses, if you like what you see, be sure to give them a shout out next time you see them on github or discord!

The Valiant 40%-ish Volunteers


What do you do for a living?

I'm a software engineer! These days I mostly do project management but in the past I did C/C++/Java/Golang.

Is 4x12 your daily driver?

Yup! I have OLKB Plancks at home and at work and I have a couple of Let's Split's as well.

Could you enclose a picture of the layout?

Mindsound's Base Layout

I have backlight controls and piezo speaker controls on the "adjust" layer.

How long have you been working on this layout?

About 2 years now, since I ordered my first Planck in February 2017.

What did you base it on?

It's very much based on Jack's default Planck layout, I've just made quality-of-life tweaks or added features that I personally wanted. I like Jack's original layout a lot.

What changes are special to you?

As far as the typing layout goes, having Ctrl and Esc tap-danced on the same key (leftmost column on the home row) is a big deal for me. I also have MOD_HYPR tap-danced on the left 1u space key, which I use for custom window management keybindings in Ubuntu. And I have the bottom left key set up as media play/pause, which also works with the rotary encoder that I use for media volume and piezo frequency on my rev 6: video here!

In terms of general QMK features, I have piezo speaker code that I helped write -- Drashna got it into master for me -- and backlight flickering code that I wrote, having that stuff around as (more or less) fidget toys is awesome.

What are you thinking of trying next?

I'd like to hook an outboard AC-powered solenoid to one of the breakout headers on the rev 6. :) I also have some more complex piezo speaker code that I shelved for other life stuff, I hope to get back to that someday.

Sure! I love the new community layout directory in QMK, I can use this keymap for all 4 of my 4x12 boards.


What do you do for a living?

I'm a Software Test Automation Engineer, so I dabble in programming, but nothing overly complex.

Is 4x12 your daily driver?

nimmoomo's planck

It is at the office, but not at home.

Could you enclose a picture of the layout?

nimmoomoo's layout

Link to the Readme on github

How long have you been working on this layout?

6 months,. It's still getting tweaked now and again, when I notice I need a specific key in a different place, so I wouldn't classify it as being done. Eg. Having both Right and Left alt bound, due to deadkey characters

What did you base it on?

Just the default layout for the Planck Rev6

What changes are special to you?

Nothing that out of the ordinary I'd think. The ShareX keybinds probably, as I need to make screenshots quite often while testing.

ShareX Keybinds
  • KC_CAPW : Capture the whole screen
  • KC_CAPA : Capture active window
  • KC_CAPP : Capture portion of the screen (The mouse cursor selection box)
Space Savers
  • KC_ESCC : Control when you hold down the key, Escape when you tap it
  • KC_ENTS : Shift when you hold down the key, Enter when you tap it
Rotary Encoder
  • KC_LOCK : Super+ L, aka the Windows "lock my session" combination

What are you thinking of trying next?

Nothing drastic, at least not 4x12 wise. I'm planning to do a second Iris, so I might refine that keymap and try to unify the Planck layout accordingly.


What do you do for a living?

Software Engineer.

Is 4x12 your daily driver?

Yes, a split one.

Could you enclose a picture of the layout?

bakingpy's base layers Self documenting code here

How long have you been working on this layout?

Spent about a month tweaking it after using something close to the default layout for 3 months

What did you base it on?

Default Planck layout

What changes are special to you?

Swapping meaning of lower and raise so I could put numpad on right hand by pressing lower; macOS screenshot keys; easy access to arrow keys using just one hand (left or right)

What are you thinking of trying next?

Maybe move around the media control keys to a place I can remember them.

Here you go.


What do you do for a living?

Software engineer, mostly python dev

Is 4x12 your daily driver?


My planck is more a secondary than a primary... I keep it on my desk and use it frequently, but my current daily is my kumo, and my previous daily was an amj40. I still use the planck regularly, just not my main

Could you enclose a picture of the layout?

jetpacktuxedo's layout

How long have you been working on this layout?

Since about October or so? a bit over 6 months?

What did you base it on?

It is heavily inspired by my minivan layout which in turn was designed to minimize the learning curve when transitioning from a more traditional format of keyboard.

What changes are special to you?

Having Enter in a more normal place is huge for me as it allows me to have my right shift back (I'm a right shift kinda guy I guess). Second would probably be putting my arrows back in a traditional inverted T instead of all in a line.

The minivan layout has been in use since I got my first van in like January 2017 I think? Obviously some changes have been made since then, but not really that many tbh. Most of what I said about the Planck layout still applies since they have a lot in common.

I think the "weirdest" part of my van layout is that I don't actually use split space lol. I map both spacebars to be space when tapped and FN1 when held, and then I map both tab and enter to dual function as FN2.

My biggest "oh yeah, that just makes sense" thing on all of my 40s layouts is that FN2 (or lower on the Planck) is almost litteraly just FN1 (or raise + shift). It's not really needed at all, but I didn't want to hold FN1+shift + tap the actual key I want.

The arrow keys doubling as pgup/pgdn/home/end is actually stolen from chromeOS lol. I've mapped that on every programmable board I've owned, 40 or not.

Oh, I also have started mirroring -=;' over to FN1+asdf because my amj40 layout doesn't have the extra ; key on the right (40 vs 45 ¯\_(ツ)_/¯). That makes it a bit easier for me to swap between my amj40s and my vans/plancks

I think trying to adapt the same setup to fit on a pearl caused a bunch of issues, so my keymap for that is a little bit different... I don't really remember where the issues were though.

A bunch of people have adapted my minivan layout to fit their own needs, too. I've had at least a few people message me about it.

Plus I have a spare van just to lend to people that I flash with that layout, and most people that try that as their first foray into 40s have kept it and commented that it was pretty easy to adjust to.

I think I might actually move my spacebar 1u to the right (fat thumb layout on rev6 makes it possible), and move raise/lower to be dual function on space/tab/enter like my van, which would let me shift ctrl/win/alt two keys to the right which makes them more thumbable... but I have a rotary encoder bottom left which breaks my ctrl/win/alt muscle memory :/ otherwise I usually do them with my pinky

What are you thinking of trying next?

I will probably end up moving /? to be dual function on right shift like my other 40s, but idk what else to use that key for...

Here you go!

Why do you stick with a 40%?

I like having backspace closer 😂 It's just comfortable. Also they are cute.

A close backspace is definitely what I miss most anytime I am back on a larger board.

Kauyon Kais

What do you do for a living?

I'm working on my bachelor's degree in Human-Computer-Systems, but also am a half-time employee at a webdev company.

Is 40%ish your daily driver?

Kayoun's Daily Driver

Yes. The only time I use my Kantana60 is for gaming.

Could you enclose a picture of the layout?

Sure! This is all layers, mod taps and so on.

How long have you been working on this layout?

Hard to say. It developed over a few keyboards. A a week for each iteration, plus another week of "hotfixing". So a bit over a month, maybe.

What did you base it on?

Most layers aren't based on anything specifically. A mirrored-shifted numpad seemed like the easiest way to remember how the special characters are placed. Navcluster with home/end and page up/down just fell in place. The Z/X/C Ctrl/Win/Alt modtaps were inspired by keymaps using homerow modtap keys for layers and mods.

My alphas are taken from the zxcv-locked qwerty-optimization carpalx ( Figure 4). I'm on my third of three stages switching from QWERTY to carpalx and while the change itself is hard, it was definitely worth it for me.

What changes are special to you?

I don't think I've seen double-tap " on ; (or H for me) before. But aside from space related necessities, I think my keymaps aren't too special, carpalx aside.

What are you thinking of trying next?

5x3 crkbd

There's a few things. Keymap wise I want to try out more homerow oriented modtapping and tapdancing. When it comes to keyboards, I'm currently building a 5x3 crkbd and the idea of a 5x3 Dactyl style keyboard won't leave my head either, so that's going to be made at some point as well.

Sure! Link here...

Why do you choose to use a "smaller" keyboard?

It's nicer to type on. When I switched from a regular board to a 4x12, typing already was way more relaxed. Layers and thumbkeys are the true blessing of smaller/non-standard boards. I bought a Katana60 later on because I liked the idea and soon realized that the distance between the hands was way more enjoyable. With my current board, I got rid of the most outer column for each hand, since the movement to these keys is far from great for the pinky finger and what better way to keep myself from using that column than to cut it?

The whole point is forced ergonomics for me and while it took a while to get used to it, I'm glad I gave it a shot.


What do you do for a living?

I am a programmer for a living, usually working in Javascript or Java. For a future living, I'm a full-time student studying computer engineering (splits the difference between electrical engineering, because I love hardware, and computer science, because I love programming).

Is 4x12 your daily driver?

snipeye's amazing build
Snipeye's amazing build... which features mouse functionality!

"Dichotomy," which has 48 (sorta 50) keys is my daily driver at work, but I don't bring it around with me.

Could you enclose a picture of the layout?

snipeye's layout

  • So the keys in red are tap/hold keys. If you tap, you get default behavior, if you hold, you get secondary behavior.
  • The center (black) is default, base layer for everything.
  • The green is number layer, activated by "num" (far left center)
  • That layer can be toggled - if you just press "num" and release it - or used as a modifier, like "shift" - so "num + D" = 4, but when you release everything you're not still on the number layer
  • The receiver turns green to indicate number layer
  • The blue keys (right side of the key, and some audio emojis) are the mouse layer
  • Same deal with activating it - temporary or toggle
  • Receiver turns blue to indicate mouse layer
  • The shift key (bottom far left) is normal shift, like you would expect, but the "uppercase" of some keys have been changed - for instance, the green 9 and 0 and the base layer "," and "."
  • beacuse I moved those to the thumb cluster. Not totally in love with it but it works.
  • The shift can be a toggle - so if you just tap shift, it turns on caps lock
  • if you use shift as normal, it works like normal
  • The two rotary encoder buttons (blank here) are both set as mouse 3 (pressing the scroll wheel down)
  • Right rotary encoder is vertical scrolling, left is horizontal scrolling
  • Oh, and the tap/hold numbers on Q through P are not enabled by default
  • To turn that on, you have to press both control keys at the same time.

... I THINK that's it. And that tap/hold numbers on Q-P aren't in the QMK repo yet, I haven't pushed that.

How long have you been working on this layout?

This has been in development for over a year, but I know other people with Dichotomy use vastly different configurations. It's based primarily on QWERTY, honestly - this is my first custom, and I didn't want to try to change too dramatically.

What changes are special to you?

Special changes for me... I reinvented the wheel a couple times. The tap-hold across the top-row (as well as the momentary/toggle for the layer switching) is all hand-written, though it would have been way easier to just use the features already baked into QMK. The REALLY special change for me is that this whole thing (each half, wireless) is also a mouse in addition to a keyboard. This way I put my hands down and don't have to keep shifting them between keyboard and mouse. Not mouse keys, mind you, an actual mouse - you drag the whole thing around.

What are you thinking of trying next?

Next I'm building an absurdly-large, battleship-class keyboard with as many features as I can possibly shove into it. I'm also looking into trying out trackballs. I love experimenting with new input methods.

Why do I use a small keyboard? Not sure. I really am not liking not having enough keys, and switching between layers often slows me down. So the real why, right now, is because this keyboard is a derivative of Mitosis, and this is the most keys I could shove into it.

Here you go.


Thank you to everyone who participated and contributed their information and photos...

  • Mindsound
  • NimMooMoo
  • bakingpy
  • jetpacktuxedo
  • Kauyon Kais
  • Snipeye

If you have another cool layout or trick, I'd love to hear about it!

  • 2022-06-08 11:31:29 -0500
    Rename articles

  • 2020-06-18 14:26:02 -0500
    Move everything to CST

    Don't know why I didn't do that before. It caused _no_ end of

  • 2019-11-14 19:33:21 -0600
    Auditing the tags in the site...

    Many removed, cleaned up, or renamed.

    Tags with only one child got yanked.

  • 2019-04-20 16:45:07 -0500
    Update top photo to new photo

  • 2019-04-20 16:31:49 -0500
    Add jetpack's planck as a featured image

  • 2019-04-20 16:28:19 -0500
    Add photo of snipeye's dichotomy

  • 2019-04-20 16:16:04 -0500
    Draft of keyboard post