Precondition

precondition.github.io · Personal blog · on HN since 2021

Precondition writes about keyboard customization, including home row mods, thumb key layouts, and QMK heatmaps.

What HN saysHN commenters recommend its home row mods guide to people with ergonomic keyboard problems who are willing to remap keys.
23HN people shared it
11linked it in comments
13stories submitted
35story points
5 months agolast shared
2021people per year2026

Most-shared posts

  1. 1
    A guide to Home Row Mods
    21 people · 31 points · first shared 2021 · 1 comments on HN
  2. 2
    Pressing E with the Thumb? (2020)
    1 people · 4 points · first shared 2025 · discussion on HN
  3. 3
    Qmk heatmap
    1 people · first shared 2024

What HN people wrote when they linked it

estearum · 2025-11-11
Other symbols don't appear on the keycaps just like there's only an upper or a lowercase letter on each key on your keyboard. Your keyboard also doesn't tell you there's ¶ or ‡ underneath the 7 key! Layers sound pretty crazy but if you start slow and adapt towards them, they're just amazingly useful. Putting all your modifier keys on the homerow is probably the most immediately understandable use of layers: https://precondition.github.io/home-row-mods These let you type every character/key combo without awkward pinky stretches. A somewhat bespoke layer usecase that I find valuable as a programmer is holding "S" on my left hand sets characters hjkl; to the open-surround characters like ({[<
maxace · 2024-04-17
moving the control and alt keys while keeping the default keybindings makes for a great experience imo https://precondition.github.io/home-row-mods
__s · 2026-06-10
I've switched to programmable ergo keyboards where there's a whole slew of options (https://precondition.github.io/home-row-mods just covers home row mods) I've always hated stateful control. Always ripped out caps lock key from my boards (or later figured out remapping), same for insert mode That's carried over, even with options like one shot mods, & cutting down to under 40 keys (& playing with 28, yesterday received a https://github.com/kilipan/zilpzalp), I still don't find stateful control necessary. More layers, combos, & tap-hold go far
bramhaag · 2026-02-19
A split keyboard might still bring you some relief. Modifiers/enter/backspace/etc are usually moved away from your weakest fingers (pinkies) to your strongest (thumbs). I have Ctrl, Alt, backspace, delete, space, enter and shift all on my thumb clusters. Here's an example of what that might look like: https://kinesis-ergo.com/wp-content/uploads/KB360-GBR_FRONT-2000x1205-… (though in the default configuration, shift is still on your pinky; you can customize this on most keyboards, or on OS level). The rabbit hole goes very deep. Another option is home row mods: https://precondition.github.io/home-row-mods. A combination of thumb clusters and home row mods can reduce your finger strain a lot.
dandersch · 2025-11-15
>It also has a much tougher job - all the cmd, ctrl, alt and shift + combinations are mostly done using the left hand Look into homerow mods if you are prepared to do some (invasive) key remaps in software: https://precondition.github.io/home-row-mods
jhardy54 · 2024-08-14
In case it isn’t already on your radar: https://precondition.github.io/home-row-mods
luqtas · 2024-04-29
if you run QMK & have a Teensy board; https://precondition.github.io/qmk-heatmap if you don't, https://github.com/suurjaak/InputScope ... you can even track key presses per app!
heatmiser · 2023-11-03
Knowing that I have my hardware "doing what it says" removes a meaningful amount of mental overhead from the equation. I recently switched to homerow modifiers[0] and it was nice to have that done seamlessly across all of my devices by only having to connect my keyboard. [0]: https://precondition.github.io/home-row-mods
zubairshaik · 2024-04-29
For a full size keyboard, I'd highly recommend the Glove80 [0] instead. For something more compact and portable, look at ZSA's own Voyager [1]. The reason I'd recommend the Glove80 is because a keywell is just so much nicer to type on, especially if you want to actually be able to use the number row without straining your fingers. Their thumb cluster is also the most sane one that I've come across, and the absolute though put into the design is astounding and commendable [2]. The article is definitely worth a read. I recommend the Voyager especially if you are a believer in 1DFH (1-distance-from-home)[3]. It has very few keys so you'll have to learn about layers [4] and/or home-row mods[5] or my favorite callum-style mods [6]. [0] https://www.moergo.com/ [1] https://www.zsa.io/voyager/ [2] https://www.moergo.com/pages/glove80-ergonomic-keyboard-design-journey… [3] https://zealot.hu/absolem/ [4] https://blog.zsa.io/layers-explained/ [5] https://precondition.github.io/home-row-mods [6] https://github.com/callum-oakley/qmk_firmware/tree/master/users/callum
Conscat · 2023-05-07
By default in Emacs, `M-x` is analogous to Ctrl+Shift+p. Most users like a vertical completion candidate interface for it, such as the `vertico.el` package (among very very many other options). You can even get it in the middle of the screen with the `posframe.el` package. Emacs comes with `cua-mode`, which provides some more modern conventions like `C-s` to save, `C-o` to open files, etc., however most users find that the default system does make sense once you learn it. `C-c`, `C-u`, and `C-x` prefixes have very consistent meanings by default across all major modes, and by convention across basically all elisp packages. I don't use QWERTY, so I find the rebinder package very useful (https://github.com/darkstego/rebinder.el), but I think it can improve the ergonomics of those prefixes across any keyboard layout. My equivalents to `C-x` and `C-u` are on my home-row. I also use home-row mods (https://precondition.github.io/home-row-mods) which make the feel of interacting with Emacs very smooth. Keybinding discovery is also very easy between the `C-h` family, The `which-key.el` package, and the `helpful.el` package. The `M-x` menu also shows keybindings, even by default. What's really nice about Emacs is that changing keybindings is very easy, and between hooks, advices, and modes, the keybindings and their behavior are incredibly flexible.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close