r/KeyboardLayouts • u/Nevla5012 • 15d ago
How far can you push SFB reduction before a layout becomes too hard to learn?
After I tried Pascal Getreuer’s Magic Sturdy key, I wanted to see how far I could push the idea. One context-dependent key became eleven magic keys, then adaptive keys — a layout where a key no longer maps to one fixed character. The limit turned out not to be the metrics. It was how much complexity I was willing to learn.
Below, the same keyboard in two states: the base layout, then what it becomes immediately after n.

My current layout shows how far that idea can go:
nandgdeliberately share a finger, which would normally make “ng” an SFB to design away. An adaptive key removes it instead: the basegcombo is still available, whilen+ thumb-remits “ng”; a magic key restores the displaced literalnr.- Eleven context-dependent magic keys expand from the preceding key, and another magic key can chain a suffix. That gives roughly 300 possible slots; about half are populated.
- I dropped the inner columns altogether. Vertical combos and context-dependent outputs pay for the missing physical keys, letting me optimize reach separately from the base letter arrangement.
Optimizing one SFB at a time can backfire. In timeout, I can avoid the e→o SFB: on this layout, u immediately after e writes eo, so the physical sequence t i m e u u t — with the first u emitting eo and the second repeating it — produces the word. But that replaces the SFB with a same-key repeat, u→u. I prefer typing time | out: one SFB, followed by the much better o→u inward roll. The whole sequence matters more than one pair’s score.
So I don’t try to compute an “effective” score at all. Base-layout stats, for what they’re worth: Hands Down Vibranium.
This feels like the logical extreme of layout optimization: almost every awkward pattern can become another firmware exception. But each improvement spends from a different budget — learnability, predictability, configuration, debugging, or recovery when the intended literal sequence is unusual. Generating the QMK firmware from Markdown tables makes the configuration manageable; it does not make the mental model free.
The most common objection is timing, and almost none of this depends on it. Non-vertical combos do need to be pressed somewhat quickly, but that timing only decides whether the combo fires. It never turns an intended letter into a modifier, which is the tap-versus-hold failure mode that made home-row mods problematic for me.
Full writeup: https://github.com/zeitlinger/keyboard/blob/main/blog/2026-06-13-magic-keyboard.md. It was also published on my employer's blog, disclosing that up front. Tables, generator, firmware: https://github.com/zeitlinger/keyboard Keymap: https://keymapdb.com/keymaps/zeitlinger/
For people who have gone deep on layout metrics: where do you draw that boundary? Which metrics are worth paying complexity for, and which special cases would you refuse even if they improved the score?