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

keyd

A key remapping daemon for linux.

19Distinct people
20Mentions
1Explicit recommenders
6.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A key remapping daemon for linux.

GitHub

Where it is used

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

What people are saying

I remap Caps Lock to Ctrl when held and to Esc when pressed - the best of both worlds when you live in Neovim. https://github.com/rvaiya/keyd works really well for me on Linux,…

kombine used a recommendation phrase. One indexed comment matches. 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

No other repository is repeatedly linked in the same discussions.

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 year20 dated mentions

Observed mentions: 2021-09-11 00:23:00 UTC to 2026-09-27 09:57:49 UTC.

0123452021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 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 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC404
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC413
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC514

What Hacker News says

20 sources
Lots of weird misinformation in the comments here. Wayland doesn't choose anything. It leaves the compositor to decide where to position a window and whether or not that window receives key presses or not. The program can't draw wherever it wants or receive system wide keystrokes or on behalf of another program. When appropriately implemented the screenshot system is built directly into the compositor. It's an API that let's a program request read access to a part of the screen and the compositor provides upon approval. It's much more secure that way and it works perfectly fine these days. Unfortunately not every compositor implements this. However if you really really really wanna side step this you can look at keyd - https://github.com/rvaiya/keyd A project that has a daemon run in the background as a root service and that can provide a
Read the rest
n appropriate shim to pass key strokes to anything you want. And just to be clear the appropriate secure model is to have a program request to register a "global" hot key and then the compositor passes it to the appropriate program once registered. This is already a thing in KDE Plasma 6 and works just fine.
In Separating the Wayland compositor and window manager
This was amusing in a good way. I did write a few parsers in Ruby back in the day, the experience taught me that we already have the best syntax possible at our disposal, why not just lean on it. You get so much more when you don't have to leave Ruby. I find myself reaching for a DSL whenever I have to deal with a lot of less-expressive code / configuration. I'll write generators that take a DSL as input and spit out the mountain of boring stuff. Last time was to deal with keyd's[1] homegrown syntax, which is powerful, but not expressive. I made a gist for the curious.[2] Before finding keyd, I also took this approach with Xbindkeys config, and was on my way to wrapping Kubernetes in nice, friendly Ruby before I got canned. 1. https://github.com/rvaiya/keyd 2. https://gist.github.com/VinceGuidry/e85fa37e3e60f2dcb63c051c...
In Write an Interpreter in Ruby
I’m a computer engineer - a lot of programming, but also a writer so a lot of writing, and we also generally do a lot of writing in our daily lives - emails, chats, prompting… :D I am generally split between English and French writing mostly. I use a combination of Dygma Defy with its awesome thumb cluster, along with macros for frequent series of letters (think “tion” and such) as well as chords using https://github.com/rvaiya/keyd/ . And I use the Optimot layout because I’m French, for English speakers, Dvorak is probably enough, but Colemak and many other alternatives offer various advantages depending on your usage. As many have hinted here, it’s absolutely not only about speed. It’s about comfort, both physical and psychological. Using the thumb is a great way to avoid moving the hands too much because now your pinkies don't have to
Read the rest
reach keys on the side which generally causes a slight extension of the hand. After a year of using the Defy, I don't have any form of strain building up in the thumbs, even though I use them quite a lot - but still a lot less than other fingers. Macros for short series of letters are very powerful in my opinion: it doesn't necessarily goes faster as it breaks the flow of typing, but you have a lot less keys to press which also minimizes errors. The same goes with chords using keyd (I know it’s originally not exactly designed for that usage, but it still works great at least for me) - less keys, less coordination. Finally, the choice of keyboard layout is critical. Originally I’ve switched from the French Azerty to Bépo because I notices how much my wrists were moving when I was typing in French with Azerty compared to English in Dvorak. There was a huge difference and I could feel it in my bones after long sessions of typing. So yes, choose your layout wisely. As a last note, typing speed does matter. But it’s not about typing at the 0.001% fastest percentile. Typing speed will not make you really faster, but you just don't want it to slow you down too much. Typically, you don't want to be in the position where your thoughts go so fast that you feel the frustration of not being able to type fast enough and losing some of your thoughts in the process. Besides, for coding it’s much more about having the right tools at your disposal: powerful auto-complete and suggestions, easy refactoring processes, keyboard shortcuts to do everything you need, easy access to symbols on your keyboard/layout, etc. Typing speed is rarely an issue while programming compared to when writing plain text.
In Ask HN: Has anyone tried adapting a court reporter keyboard for writing code?
It certainly would be but looking at the options tells me that they're hooking into MacOS's widget libs and on Linux there's just so many. What I get by with to go mouseless is Tridactyl for Firefox, warpd for when I need a pointer, and when I absolutely, positively need a mouse, mouse emulation on QMK keyboards never fails me. I only need it these days for dealing with MacOS outside of my Linux VM. I also use keyd in order to remap keyboard shortcuts. https://github.com/rvaiya/warpd https://github.com/rvaiya/keyd Why in the world are those links side by side?
In Vimium – A browser extension that provides Vim-style keyboard controls

Showing the 15 most recent of 20 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.