this post was submitted on 23 Aug 2025
29 points (100.0% liked)

ErgoMechKeyboards

6937 readers
1 users here now

Ergonomic, split and other weird keyboards

Rules

Keep it ergo

Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)

i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²

¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid

No Spam

No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.

No Buy/Sell/Trade

This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.

Some useful links

founded 2 years ago
MODERATORS
 

Like many of you, I've wrestled with the tap-hold dilemma: set a short TAPPING_TERM for quick holds at the cost of accidental activations, or lengthen it for more reliable tapping, which can make holds feel sluggish. While there are many clever settings to tweak, I often felt I had to significantly adapt my typing style to the algorithm, rather than the algorithm to me.

To explore a different approach, I'd like to share a QMK community module I've been working on called Predictive Tap-Hold (PTH). To predict whether a tap or a hold was intended, PTH analyzes event sequences, timing between presses, and which hand is used. For ambiguous cases, it relies on generated decision trees and evolved functions.

With the training dataset, these functions reached about 96% accuracy in distinguishing taps from holds. With another dataset, they still performed similarly. While that number might not sound ideal, it's important to know that the dataset included a wide variety of typing styles and required a lot of filtering (77,614 of 168,593 participant datasets were used). While better data will lead to future improvements, no prediction is flawless, and there will likely always be an adjustment period.

PTH is also highly configurable, which I hope makes it easy to handle edge cases and match your personal typing style. For instance, an Instant Hold feature allows the hold function (even LT) to activate the moment you press the key, which is useful for things like holding LCTL_T and using the scroll wheel to zoom without any delay.

The module is designed with ergonomics in mind. By default, when a key like RSFT_T(KC_H) from the right side is pressed, it will only choose hold if the next keypress comes from the other side and no third key is pressed. This can help prevent same-hand fatigue and make taps more reliable.

I've also aimed to make PTH compatible with other great QMK features like Combos and Tap Dance.

My hope is that this module might help make powerful setups like home-row mods feel more accessible and intuitive. It's now available as a QMK Community Module if you're willing to experiment. Thank you for checking it out, and I would genuinely appreciate any feedback you might have. If you run into any problems, I'd love a message or a report in the repository.

top 2 comments
sorted by: hot top controversial new old
[–] Blaze@piefed.zip 3 points 3 weeks ago (1 children)
[–] jgandert@lemmy.zip 2 points 3 weeks ago

Thanks for crossposting this! 👍