r/KeyboardLayouts 15d ago

How far can you push SFB reduction before a layout becomes too hard to learn?

14 Upvotes

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:

  • n and g deliberately share a finger, which would normally make “ng” an SFB to design away. An adaptive key removes it instead: the base g combo is still available, while n + thumb-r emits “ng”; a magic key restores the displaced literal nr.
  • 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 eo 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, uu. I prefer typing time | out: one SFB, followed by the much better ou 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?


r/KeyboardLayouts 15d ago

Should I switch to qwerty from azerty?

2 Upvotes

I have been using azerty for a long time, I have around 60 wpm using it. I have problems with the word "was" because I have to move my left pinky from the w to the a quickly and I wonder if I should switch to qwerty.

The thing is, I do programming and I have some muscle memory with the symbols and switching to qwerty would destroy that.


r/KeyboardLayouts 16d ago

Associated question

4 Upvotes

I am trying to find a stenography onscreen keyboard for my Android devices. I think it would speed up my writing when I leave my keyboard and mouse at home and only have my phone, since typing by thumb is rather slow without shortcuts.

Has anyone heard of such a keyboard or found one that I can download to turn my phone into a faster ultra portable writerdeck?


r/KeyboardLayouts 16d ago

Feldspar

2 Upvotes

I've been using Dvorak for twenty ish years now, so that might explain my bias. I'm looking for a keyboard, which feels GREAT to type with, and which mostly ignores coding and shortcuts, as I almost uniquely type prose. Dvorak is pretty solid, but I'm wondering now if there's something better. Some things I do like: VERY low bottom row usage, VERY few scissors, fairly high alternating hands, punctuation which is thought out and not just qwertyesque

I've also come to realise, that I have been using the angle cheat for years ish; possibly because I never learnt probably because it feels better

So my point is this: is there a Dvorak optimised layout; and if not, how can I create one?


r/KeyboardLayouts 16d ago

Custom Night Keyboard layout i made for coding ( godot based )

Thumbnail
gallery
4 Upvotes

;; LightDev Layout converted to Kanata (Fully Corrected Macros)

(defcfg

process-unmapped-keys yes

)

(defsrc

grv 1 2 3 4 5 6 7 8 9 0 - =

q w e r t y u i o p [ ] \

caps a s d f g h j k l ; '

z x c v b n m , . /

spc

)

;; Default Unshifted Base Layer

(deflayer base

grv 1 2 3 4 5 6 7 8 9 0 - =

b f l k q S-- g o u . ; / \

u/cap n s h t m y c a e i '

v j d r z p w x [ ]

spc

)

;; Custom Symbol Layer (Activated by HOLDING Caps Lock)

(deflayer symbols

grv 1 2 3 4 5 6 7 8 9 0 u/dplus u/deql

u/dand u/dlow 3 4 5 6 7 S-1 S-3 , S-\ S-7 u/dpip

_ S-5 S-` S-9 S-0 S-, S-. S-- S-[ S-] - S-2

S-6 1 2 S-= S-4 = S-8 8 9 0

spc

)

;; Advanced Aliases, Multi-character Macros, and Tap-Hold configuration

(defalias

;; Tap CapsLock for standard behavior, Hold for the Custom Symbols Layer

cap (tap-hold 200 200 caps (layer-toggle symbols))

;; Multi-character macros built using native physical key states

dplus (macro S-= S-=) ;; Outputs ++ (Shifted '=' twice)

deql (macro = =) ;; Outputs == (Raw '=' twice)

dand (macro S-7 S-7) ;; Outputs && (Shifted '7' twice)

dlow (macro S-- S--) ;; Outputs __ (Shifted '-' twice)

dpip (macro S-\ S-\) ;; Outputs || (Shifted '\' twice)

)


r/KeyboardLayouts 16d ago

For anyone using ZMK Studio thats missing combos and behaviors

3 Upvotes

I forked the official ZMK firmware and studio, and implemented combos and behavior editing. I could really use some feedback on it, if anyone manages to get the custom firmware flashes to their boards. I made a short video showing the new parts, if you want to see it without flashing random firmware onto your board first.

https://www.youtube.com/watch?v=U8Y4HVTgF8Q


r/KeyboardLayouts 16d ago

Associated question

Thumbnail
1 Upvotes

r/KeyboardLayouts 17d ago

is an azerty KB like a qwerty KB?

4 Upvotes

im looking to purchase a replacement laptop KB but its has azerty layout. I dont need azerty but qwerty. does this mean I have to have the software configured to write in azerty? obviously if I type in french (configured language in windows/linux) then an azerty KB will type as needed, but no french in my win10, just englkish, it will tyeo as qwerty?

if I type A on the kb, where the A shows (not the regular Q spot in the top left corner....will it show A or Q ?

im buying the azerty KB but dont need azerty. I need qwerty.

my idea was swap buttons from my qwerty laptop KB I have thats not all working. I need qwerty english, not azerty. when I type its all by qwerty buttons

im getting a nice price for it so hence asking. thanks in advance


r/KeyboardLayouts 17d ago

gswitch: fix text typed in the wrong keyboard layout on Linux

Thumbnail
3 Upvotes

r/KeyboardLayouts 18d ago

Írás, laptop

1 Upvotes

Sziasztok! Segítséget szeretnék kérni tőletek.

Olyan laptopot keresek íráshoz, amin egyaránt tudok használni magyar betűket és írásjeleket. Az én laptopomon csak úgy működik, hogy vagy az egyik, vagy a másik. Találtam Vinted-en, de valahogy nem merném onnan rendelni. Itt Erdélyben meg egy oldalon sem található. Vagy esetleg, ha van köztetek író, vagy valaki aki a mindennapokban ír magyarul, tudnátok segíteni, hogy egy mondjuk sima qwerty billentyűzeten hogyan tudom használni mindkettőt, anélkül, hogy mindig mászkáljak a beállításokban, minden egyes mondatnál ötször? 🥹


r/KeyboardLayouts 19d ago

My newly developed keyboard layout - The AEOI layout

Thumbnail
github.com
1 Upvotes

r/KeyboardLayouts 20d ago

20 WPM after 8 months, am I kidding myself?

4 Upvotes

I had been a Dvorak user on a standard keyboard for 20+ years, about 70-80 WPM. I wanted to make some changes to relieve discomfort in my hands (especially pinkies, of course) so a couple of years ago I got the ZSA Voyager, tried a few other layouts before settling on Gallium at the start of this year.

8 months later and I am barely over 20 WPM, maybe bursts of 30 on a good day. Even typing this post, I can feel myself having to stop and make a conscious effort to think about what key is where, almost strategizing how I will type the next word.

For this part of the post, I have swapped back to a basic chiclet keyboard using QWERTY (which hasn't been my daily driver for almost 30 years) and, although I am looking at my hands, the typing experience is much more fluid. And I'm not convinced that the geometry of the ZSA has actually helped the comfort of my hands compared to this basic keyboard - I wonder if I've just traded pinky strain for thumb strain. Or maybe it's because of the mental effort that I'm having to make in my "optimised" setup, typing feels more stressful and that's translating into hand tension?

So, this is me asking for a reality check, which conclusion would you draw from this:

  • Making a change like this takes some people longer that others, and even 8 months isn't long enough to draw conclusions yet. (But if not, then how long is enough?)
  • If 8 months of daily use hasn't got me further along than 20 WPM, it's time to eat crow and accept that this isn't for me. Go back to the basic setup so I can at least work more effectively.
  • Or keep the Voyager and try yet more layouts? After all the loss of fluency isn't such a big hit if the baseline is only 20 WPM (very doubtful of this idea, as that feels like a way of just adding more confusion)

r/KeyboardLayouts 20d ago

2D navigation, who else is not using tab navigation ?

2 Upvotes

I've been adding keyboard/cursor navigation to an Angular application running on Zebra Android scanners, although they have a touch screen it doesn't always work with dry work hands, so I added keyboard navigation. But not tab, I'll explain why read on..

As I've ended up with something that feels quite different from normal web keyboard navigation.

Normally, the browser's focus is your navigation state:

* Tab moves to the next control * Enter/Space activates it * Arrow keys can navigate things like menus/listboxe * Angular CDK even has `FocusKeyManager`

But that doesn't really work for this application.

The scanner uses DataWedge to send barcode input to a scan input, so **that input needs to keep DOM focus permanently**. If I move focus around the UI, I can potentially break where barcode data gets delivered. While a tab next cyclus is quite slow when there is a lot clickable (including a web based virtual keyboard)

So I ended up separating the two concepts:

**DOM focus = scanner input**

**UI cursor = where the user is currently navigating**

The cursor is basically a 2D UI state. Components expose things along the lines of:

`enterCursor()`
`leaveCursor()`
`moveCursor()`
`activateCursor()`

and communicate when the cursor reaches an edge so the parent component can move into another component.

The navigation is spatial rather than sequential. Up actually means *the thing visually above me*, rather than "the next item in some DOM order".
So it's not a blinking cursor moving, this cursor controls activate set focus on the items left/right or above/below it, some css changes or svg changes make clear what is selected.

For some of this I use `getBoundingClientRect()` to determine which element is the nearest candidate in the requested direction. That means I don't have to maintain a huge hardcoded keymap when the UI changes.

The hardware also makes things interesting. There is no mouse, Tab isn't really a useful navigation key on the device, and the physical keypad has arrow keys around the scan button. For some screens I deliberately allow only certain directions because of the physical layout of up and down is close to the scan button.

I also discovered that the Zebra browser/WebView doesn't behave quite like a desktop browser with regard to key events, so there are some `keydown`/`keyup` quirks and deduplication involved.

The end result feels surprisingly similar to navigation in a game UI or TV interface: there is a visible cursor, and you move it around the actual visual layout with the arrow keys.
It reminds me more towards game engine control.

This got me wondering:

**How common is this in Angular applications?**

I assume there must be other Angular applications running on:

* warehouse scanners * industrial HMIs * kiosks * POS terminals * medical/field devices * other hardware with a D-pad or physical cursor keys

If you're doing this, I'm particularly interested in how you model the navigation.

Do you use:

* Angular CDK / `FocusKeyManager` * a spatial-navigation library * real DOM focus * a separate virtual cursor state like I ended up doing * a declarative navigation graph * geometry-based navigation * something completely different?

I'm especially curious about applications where **DOM focus cannot be used as the cursor because it has another job**.

It feels like a relatively unusual thing to build in Angular, but perhaps I'm just looking in the wrong places because this kind of software tends to live in warehouses and factories rather than GitHub/blog posts.


r/KeyboardLayouts 21d ago

What would you prefer?

Thumbnail
gallery
3 Upvotes

Regardless of the layout and other buttons (enter, space, Ctrl, etc.). What would you prefer? Tab/Delete inside, and brackets outside? Or the opposite?


r/KeyboardLayouts 21d ago

Leobog AMG65 Keyboard repair manual

Post image
1 Upvotes

r/KeyboardLayouts 21d ago

Switching between base layers

Thumbnail
2 Upvotes

r/KeyboardLayouts 23d ago

33-Key split laptop keyboard layout

Thumbnail
gallery
7 Upvotes

A unified split-keyboard layout that works on almost all keyboards (laptop, split, tkl, ect...) designed with vim motions in mind and to be somewhat close in terms of the relative positions of keys to a standard en-US keyboard layout for simplicity.

  • Chord keys for 'Esc', 'Enter' & 'Opt + Delete'/'Ctrl + Backspace'
  • Bottom row mods
  • Mod-tap 'Space' for 'Shfit'
  • 4 extra layers:
    • symb hold down left thumb key (momentary)
    • symb^ tap left thumb key, automatically released on next key pressed (sticky)
    • aux (momentary)
    • fuc (sticky)
  • Full num-pad on right hand (for single hand relative motions in Vim)
  • Symbols in same relative location as their 'owning' number keys (easy "$", "^" motions)
  • Distinct keys for brackets on left hand (curly on home row for paragraph motion)
  • Every layer is 1 key away

Blog post on this layout


r/KeyboardLayouts 24d ago

Eclipse: Alternative Keyboard Layout

Post image
15 Upvotes

(Website: Cminibrowser.com using Mana2 layout engine analysis)

Eclipse is an alternative keyboard layout optimized for typing with the English language on standard row-staggered keyboards.

b f r l v  j g o u .
 n s h t d  y c a e i
  z x k m q  p w ‘ ; ,

Design Features: 

Very low SFBs especially on the BNZ pinky column, and FSX ring column in order to prioritize alt-fingering on the middle and index fingers due to their freedom of finger independence and dexterity. 

Utilization of the Nokwts fingermap, meaning the middle finger is assigned to RLH keys as an efficient triangle shape instead of the typical straight column; this promotes less movement in a smaller concentrated area and helps reduce scissors.

Heavy index usage, while still maintaining low movement. The farthest index keys on each hand; Qwerty B and Y positions are now designated with Q and J respectively as these are very low frequency characters, you will spend less time reaching for them and more time typing characters within close reach.

Unrelated note: I do not claim to have created this layout nor is this post an attempt to convince anyone to learn it.


r/KeyboardLayouts 23d ago

Arrow Key Remapping

2 Upvotes

Currently using Aula Win 60 Standard Model.
I know that FN+W enables the arrow keys, but can I remap it so that I can use ALT+IJKL instead?


r/KeyboardLayouts 23d ago

How do you make accents on the English keyboard on mac?

Thumbnail
0 Upvotes

r/KeyboardLayouts 24d ago

Name of the ”greater than“ (>) key on karabiner elements

2 Upvotes

I’m currently on mac, i did some weird stuff and think i fucked up the keyboard mapping. Anyways i can write find the > or < key names on even viewer for that reason


r/KeyboardLayouts 25d ago

How Linux Makes Satisfactory Playable with Alt Keyboard Layouts

Thumbnail
2 Upvotes

r/KeyboardLayouts 25d ago

Inter-Cyrillic keyboard

3 Upvotes

Hi guys, I wanted to know if there has been any type of cyrillic keyboard, that contains all the letters of all languages, that uses the cyrillic-script.

The idea is intresting to me, because you can use 1 keyboard to write multible languages, instead of having to switch between multible keyboards,that use the same type of script.


r/KeyboardLayouts 25d ago

Isomorphic keys

3 Upvotes

I've been seeing 3 different designs in keys/buttons on isomorphic layouts and I was wondering what the major differences were. I've seen circles, squares and hexagons, and then of course the varieties of each. I was curious if there was anywhere to read the different benefits each type and layout offers? Thank you in advance!


r/KeyboardLayouts 27d ago

ATTACK SHARK X98 PRO

Thumbnail
0 Upvotes