home.social

#keyd — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #keyd, aggregated by home.social.

  1. #freesoftwareadvent day 16

    #keyd is a gem I discovered recently, and couldn't believe exists.

    Do you like programmable keyboards? But sometimes, you don't have one, or you're using your laptop's keyboard?

    Keyd turns your non-programmable keyboard into a programmable one, through software, but at a level low enough that it just works everywhere.

    Now you can use Caps-Lock as control, or long-press tab for Alt, or double-press it to escape, or press compose to hold ctrl+alt+shift+meta. Etc.

  2. Have been wanting to figure out how to get the 'copilot' key on my #thinkpad doing something useful in Linux (primarily #Debian) for a little while and finally sat down to investigate it properly.

    The issue is that rather than just defining a new keycode or whatever, using an unused code, Microsoft have decided that this key will actually send a combination of multiple keys: specifically, Shift+Win+F23.

    As far as I can tell, this seems to be done at the hardware level (I'm not a hardware expert by any means, so open to correction). i.e., it's impossible to distinguish this key being pressed from the literal combination of those keys being pressed (except that there isn't a physical F23 key of course).

    So all of the builtin mechanisms for rebinding, as far as I know, will only rebind a single physical key (scancode or keycode, I think), and this key actually sends literally multiple scancodes, the lowest-level interface. And also because several of the codes it sends are identical to real keys, I can't just rebind all of the codes. (e.g., if I could throw away the shift and win, I'd just bind the F23, but that doesn't seem possible.)

    Anyway the solution I found was using #keyd github.com/rvaiya/keyd which can correct this with quite a simple config:

    ```
    # /etc/keyd/default.conf
    [ids]
    *

    [main]
    leftmeta+leftshift+f23 = rightmeta # or whatever key you'd like to use
    ```

  3. #keyd (github.com/rvaiya/keyd) was basically one of the biggest missing pieces for me last time I tried Linux. With it, I can map all my keys and replace application shortcuts with better defaults. Like this:

    [google-chrome]
    meta.[ = C-S-tab
    meta.] = macro(C-tab)

    [firefox-esr]
    meta.] = macro(C-tab)
    meta.[ = C-S-tab

    That shortcut is way nicer for my hands, and I unified it everywhere. Luckily, #Ghostty has a config for this.

  4. I kind of wanted to try keyd at some point, but now that I use Emacs I'm unsure I'll actually need it :blobcatcoffee:

    github.com/rvaiya/keyd

    #lang_en #keyd #emacs

  5. Someone™ pointed out to me that #kmonad [1] is a lot more lispy than #keyd, overlays devices by paths and overall has larger community. While keyd is a way to have universal system-wide config with different layouts this is a solution more suited to building #emacs macro organs.

    [1]: github.com/david-janssen/kmona

  6. Showcasing #keyd [1], very easy daemon to remap things on different keyboards.

    [1]: github.com/rvaiya/keyd

  7. Got angry at which broke during a recent upgrade. Replaced it with , which has been much more stable.

    github.com/rvaiya/keyd

    Considered , which has an attractive s-exp based config language, but the toolchain wouldn't compile properly.

  8. I discovered [1] yesterday and have been playing with it since then. It can't replace the mouse completely, but it's quite handy not to have to reach for the mouse so often.

    Btw, its author is rvaiya, the same who wrote [2], a marvellous
    key remapping tool for all of us lacking a programmable , which has become a basic program for me (at least until I buy the Moonlander keyboard).

    [1] github.com/rvaiya/warpd
    [2] github.com/rvaiya/keyd

  9. Lately I've been playing with [1], a marvelous key remapping tool. It is really powerful, and doesn't look as complex as kmonad.

    Incidentally, and while I decide if I deserve a Moonlander keyboard for my birthday, I've just received the TypeMatrix 2300; my first orthogonal keyboard. First impressions are quite good, it's not mechanical though.

    github.com/rvaiya/keyd/