I submitted a PR to fix Makefile, that should work
https://github.com/rvaiya/keyd/pull/134/commits/16d7f2aa974d0c765b364f1063c9c1ea7aeffd32
Until it's fixed upstream try manually editing the Makefile to match PR.
Git Clone URL: | https://aur.archlinux.org/keyd-git.git (read-only, click to copy) |
---|---|
Package Base: | keyd-git |
Description: | A key remapping daemon for linux |
Upstream URL: | https://github.com/rvaiya/keyd |
Keywords: | key-remapping keyd remapping |
Licenses: | MIT |
Conflicts: | keyd |
Provides: | keyd |
Submitter: | eNV25 |
Maintainer: | eNV25 |
Last Packager: | eNV25 |
Votes: | 15 |
Popularity: | 0.31 |
First Submitted: | 2021-07-30 05:12 (UTC) |
Last Updated: | 2024-03-03 12:22 (UTC) |
« First ‹ Previous 1 2
I submitted a PR to fix Makefile, that should work
https://github.com/rvaiya/keyd/pull/134/commits/16d7f2aa974d0c765b364f1063c9c1ea7aeffd32
Until it's fixed upstream try manually editing the Makefile to match PR.
The latest commit has broken the install: https://github.com/rvaiya/keyd/commit/4426cbc1e4b033780721dd030a48f616f0b97c81#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R47-R51
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/
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 <r.vaiya@gmail.com>
Date: Sat Jan 8 03:29:26 2022 -0500
v2.2.0-beta
...
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/CHANGELOG.md
keyd-git /usr/share/doc/keyd/README.md
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).
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
one
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
Home-page: https://github.com/rbarrois/inputexec
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
appropriately.
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:
https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration https://wiki.archlinux.org/title/Map_scancodes_to_keycodes https://wiki.archlinux.org/title/Keyboard_shortcuts https://wiki.archlinux.org/title/Keyboard_input
But I still miss a proper Archwiki page with an overview of how all this plays together and overlaps.
m040601, Actually I think it's better if upstream does in Makefile.
m040601, Sure I will add config examples and README to /usr/share/doc/keyd.
I will also add fix for https://github.com/rvaiya/keyd/issues/66#issuecomment-985983524 .
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.
Thanks for providing and maintaining this PKGBUILD. Very interesting and usefull tool.
$ yay -Si keyd-git
:: Querying AUR...
...
Conflicts With : keyd
Maintainer : eNV25
First Submitted : Fri 30 Jul 2021 06:12:04 AM WEST
Last Modified : Fri 24 Dec 2021 04:30:23 PM WET
....
There is no "keyd" in AUR. There is only "keyd-git", so that "Conflicts with" seems obsolete.
$ pacman -Ql keyd-git
keyd-git /etc/
keyd-git /etc/keyd/
keyd-git /usr/
keyd-git /usr/bin/
keyd-git /usr/bin/keyd
keyd-git /usr/lib/
keyd-git /usr/lib/systemd/
keyd-git /usr/lib/systemd/system/
keyd-git /usr/lib/systemd/system/keyd.service
keyd-git /usr/share/
keyd-git /usr/share/licenses/
keyd-git /usr/share/licenses/keyd/
keyd-git /usr/share/licenses/keyd/LICENSE
keyd-git /usr/share/man/
keyd-git /usr/share/man/man1/
keyd-git /usr/share/man/man1/keyd.1.gz
git clone https://github.com/rvaiya/keyd
$ ls keyd/
CHANGELOG.md examples keyd.service Makefile README.md t
CONTRIBUTING.md keyd.1.gz LICENSE man.md src TODO
$ tree keyd/examples/
keyd/examples/
├── capslock-escape-with-vim-mode.conf
├── capslock-esc-basic.conf
└── macos.conf
These are example ".conf" files to use in /etc/keyd. By default /etc/keyd/ , is shipped empty.
Please include the "examples" folder in the PKGBUILD. It should end up in something like /usr/share/doc/keyd/examples. It is super annoying to install a package and have to go back to the internet to search for examples how to use it.
Please do the same for the README (and CHANGELOG etc). It's not fluff, and it includes usefull information and context, not included in the man page. It should end up in something like /usr/share/doc/keyd/README
Thanks in advance.
Pinned Comments