HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kmonad
kmonad
Haskell2021–2026
kmonad / kmonad

kmonad

An advanced keyboard manager

23Distinct people
32Mentions
1Explicit recommenders
5.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

An advanced keyboard manager

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I love QMK, but IMO it's not so vital to have it now that there's a good alternative at the OS level: https://github.com/kmonad/kmonad#features

spindle used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year32 dated mentions

Observed mentions: 2021-06-08 04:20:00 UTC to 2026-06-14 08:54:12 UTC.

02468102021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC927
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC707
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC1019
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC321
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

What Hacker News says

32 sources
I have this set up using kmonad[1], and the following config. Many punctation marks are obviously missing, but I'm sure they could be added with a little thought. The mirrored layout is toggled by holding the space key. (defalias lhs (tap-next-release spc (layer-toggle ytrewq))) (deflayer ytrewq _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ bspc 0 9 8 7 6 _ _ _ _ _ _ _ _ _ _ p o i u y _ _ _ _ _ _ _ _ ret ; l k j h _ _ _ _ _ _ _ _ _ lsft / . , m n _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) 1. https://github.com/kmonad/kmon
Read the rest
In Ask HN: Options for One-Handed Typing
There are several aspects to keyboard interfaces that the article does not catch: - The physical device: - The "key board": Keys that are aligned in straight lines are not aligned with your hands. - The wrist bend affects people differently and can cause strains - Physical design to lower wrist strain is an almost entirely separate research area than optimal keyboard layout. - The optimal physical input device (in terms of input bandwidth) is hand-shaped but is more difficult to make. - The layout: - This article only discusses permutations of letters for increased bandwidth and less strain. - Considering computer users can "easily" reach 80-120 wpm with QWERTY, speed is a moot point for non-competitioners. - Few people learn a new layout and have a confirmation bias when they do; real usage data is scarce
Read the rest
. Real-world experience differs slightly; e.g. I have more race conditions on Dvorak than on QWERTY because of left/right-hand speed differences. Dvorak does succeed at distributing consecutive letters between the hands, but I never had problems with accidental twiddles on QWERTY. Would you rather be fast or accurate? For most people, the trade-off is somewhere in the middle. The layout is about much more than permutations of letters. Anyone who tried to or aspires to run Kmonad, Kanata, or Neo2 or who have a window manager with custom keybindings that control their environment, or who type with more than one kind of keyboard (e.g. pinyin, cyrillic, greek), or who need to type special unicode symbols that don't have a key combo in traditional layouts (math, emoji): The bar for keyboard input is higher, and I don't know any project that attempts to unify these. My "keyboard" is a combination of many open source tools, some of which work better than others, others have a steep learning curve, yet others are only documented in foreign languages. [0]: https://github.com/kmonad/kmonad [1]: https://github.com/jtroo/kanata [2]: https://en.wikipedia.org/wiki/Neo_(keyboard_layout) [3]: https://www.neo-layout.org/
In Your keyboard layout is broken
Delays are a terrible solution. Looking at key overlap percentage, for example, works much better. There are a lot of other ways to make dual-use/tap-hold functionality more reliability, but lots of programs actually implement overlap checks. The kaleidoscope keyboard firmware, for example, lets you configure a minimum overlap threshold for a key to start acting as its secondary role (e.g. only have space act as a modifier when it is pressed first and is held for 70% of the time the second key is pressed). In your case, I'm not sure why you would need to roll over to other keys from escape. My shift key doubles as escape, and I don't use any delay or checks at all since I don't rapidly type escape then other keys. In any case, you could try configuring your capslock key to only act as control if it being held fully overlaps with the
Read the rest
next keypress. Not sure about keyd, but kmonad and kanata both support this (I'd highly recommend kanata). That may require changing how you type depending on the modifier, which is why more fine-grained overlap threshold checks can be useful. Relevant github issues: https://github.com/kmonad/kmonad/issues/351 https://github.com/jtroo/kanata/issues/128
In Keyd: Linux Key Remapper

Showing the 15 most recent of 32 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.