Package Details: keyd-git 2.4.2.r90.97b4255-1

Git Clone URL: (read-only, click to copy)
Package Base: keyd-git
Description: A key remapping daemon for linux.
Upstream URL:
Keywords: key-remapping keyd remapping
Licenses: MIT
Conflicts: keyd
Provides: keyd
Submitter: eNV25
Maintainer: eNV25
Last Packager: eNV25
Votes: 10
Popularity: 0.010153
First Submitted: 2021-07-30 05:12 (UTC)
Last Updated: 2022-10-14 16:56 (UTC)

Dependencies (2)

Required by (0)

Sources (1)

Pinned Comments

Latest Comments

1 2 Next › Last »

christian-s commented on 2022-03-23 23:53 (UTC)

@eNV24 fixed, thank you for the quick turn around!

eNV25 commented on 2022-03-23 15:05 (UTC)


Please see if that works.

christian-s commented on 2022-03-23 07:59 (UTC) (edited on 2022-03-23 08:00 (UTC) by christian-s)

Anyone having issues upgrading? I'm seeing this error:

(1/1) checking for file conflicts [##############################] 100%
error: failed to commit transaction (conflicting files)
keyd-git: /usr/lib/systemd/system exists in filesystem
Errors occurred, no packages were upgraded.

eNV25 commented on 2022-02-13 10:07 (UTC)

The Makefile has been fixed and PKGBUILD updated. Please pull latest changes from aur.

eNV25 commented on 2022-02-12 13:25 (UTC)

I submitted a PR to fix Makefile, that should work

Until it's fixed upstream try manually editing the Makefile to match PR.

christian-s commented on 2022-02-12 09:40 (UTC) (edited on 2022-02-12 14:22 (UTC) by christian-s)

The latest commit has broken the install:

install: cannot create regular file '/home/<redacted>/.cache/paru/clone/keyd-git/pkg/keyd-git/usr/share/libinput/30-keyd.quirks': No such file or directory
make: *** [Makefile:40: install] Error 1

There may be a better way, but I fixed it locally by editing PKGBUILD, adding the following to the build() function just before the make command:

chmod -R a=rwx,go=rx ../../pkg
mkdir -p ../../pkg/keyd-git/usr/share/libinput/

m040601 commented on 2022-01-08 15:58 (UTC) (edited on 2022-01-08 20:04 (UTC) by m040601)

I think it's better if upstream does in Makefile.

Yeah, it's always the best. Thankfully upstream seems responsive, and interested in maintaining and documenting this thing properly for end users.

I now see that upstream changed the Makefile, to include the docs:

commit edd897b7a28f6d22c531a730744663cb4470b743
Author: Raheman Vaiya <>
Date:   Sat Jan 8 03:29:26 2022 -0500



        mkdir -p $(DESTDIR)$(PREFIX)/lib/systemd/system
        mkdir -p $(DESTDIR)$(PREFIX)/bin
        mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
+       mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd
+       mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd/examples

So great, now we have the docs and examples in Arch, at least in "keyd-git":

pacman -Ql keyd-git

keyd-git /usr/lib/systemd/system/keyd.service
keyd-git /usr/share/doc/keyd/
keyd-git /usr/share/doc/keyd/
keyd-git /usr/share/doc/keyd/examples/
keyd-git /usr/share/doc/keyd/examples/capslock-esc-basic.conf
keyd-git /usr/share/doc/keyd/examples/capslock-escape-with-vim-mode.conf
keyd-git /usr/share/doc/keyd/examples/international-glyphs.conf
keyd-git /usr/share/doc/keyd/examples/macos.conf

I also see that you recreated the "stable" "keyd" AUR version. And that you were the one which opened the issue on github.

Thanks again for you effort making this a great AUR package for Archlinux end users.

Wish I had found this tool sooner. Hope we can get it (and similar tools) long term available and properly documented for end users in the Archwiki also.

PS: Other similar tools

If you have some more or could point me to other tutorials or usefull pages catering to an Archlinux user mindset, please let me know. The Archwiki is missing an overview page for this specific kind of things.

The end goal is to understand and "tame" your keyboard (and other input devices, keypads, buttons, infrared remote, leds, etc) . Do this at a "low level" , without the need to use of higher level tools available in ready made desktops KDE/GNOME etc).

  • Remap all you want
  • Use as many devices as you want single or simultaneously
  • Assign "actions" to keys (macros, start players etc)
  • Do all this with or without beeing logged in, maybe as a system wide daemon/service
  • etc

Some abandoned, some broken on Arch. Some in AUR, some in official packages.

aur/kmonad-bin 0.4.1-3 (+0 0.00) (Installed)
    An advanced keyboard manager - static binary version
aur/kmonad-git 0.4.1.r253.ga7c3dc6-1 (+1 0.01) 
    An advanced keyboard manager

Wow, very advanced. Seems maintained. Written in haskell, with a precompiled "bin" in AUR. Havent tested yet. EDIT: Sat Jan 8 08:02:23 PM WET 2022, just found out about this one today, via keyd.

aur/triggerhappy-git r170-1 (+0 0.00)
    A lightweight hotkey daemon
aur/triggerhappy 0.5.0-1 (+4 0.00)
    A lightweight hotkey daemon

Very old and interesting also for uses in Openwrt. Abandoned upstream ?

aur/hkd-git r109.dfa7976-2 (+1 0.00) (Installed: r113.29bc56f-1)
    hkd allows to define system-wide hotkeys independent from the graphical session

Cant get this to work properly on Arch. Lacks systemd integration. Abandoned upstream ?

community/interception-caps2esc 0.3.2-1
    Interception plugin that transforms the most useless key ever in the most useful
community/interception-dual-function-keys 1.4.0-2 [installed]
    Interception plugin for dual-function keys: Tap for one key, hold for another
community/interception-tools 0.6.8-1 [installed]
    A minimal composable infrastructure on top of libudev and libevdev

Seems very powerfull and interesting, and is an official arch package. Loaded with lotz of technical jargon, and concepts.

But horribly documented for end users. Lacks a simple conceptual overview, comparison to other tools and many more real world end user examples.

Name: inputexec
Version: 0.2.5
Summary: Simple Python program to execute commands on keypress on headless systems

rbarrois/inputexec: Simple program to execute commands on keypress on headless Linux

This program aims to handle button/command binding for headless hosts. It captures
all events from an input device (keyboard, mouse, etc.) and runs commands

inputexec was born from the need to pass key presses from a remote control to a
Music Player Daemon.

This one i am testing. Installed with "pipx"

I'm an end user, not a developer. I'm also heavly CLI oriented not GUI oriented. Even to the point of prefering using the console instead of booting X11. I have some understanding of scancodes/keycodes, the general Linux input system, udev, differences console/X11 etc.

But this is from an end user, not from a developer/hacker point of view.

I've been doing a lot of research and testing for these kind of tools, and what is available "without too much hacking" to use on Archlinux.

Some stuff available on the Wiki:

But I still miss a proper Archwiki page with an overview of how all this plays together and overlaps.

eNV25 commented on 2022-01-08 05:46 (UTC)

m040601, Actually I think it's better if upstream does in Makefile.

eNV25 commented on 2022-01-05 14:56 (UTC)

m040601, Sure I will add config examples and README to /usr/share/doc/keyd.

I will also add fix for .

I was leaning away from pushing an update because upstream version is v2.0.0-beta in Makefile but there is no git tag/release for it. It did not want to also push a dirty hack for pkgver() where the version is pulled from the Makefile instead of the git tag.