You are not logged in.
Pages: 1
keyd is a simple hot key daemon like esekeyd that i developed after i noticed that esekeyd was no longer in the official repositories.
It is developed entirely in c. It works by loading a config file that maps a key or multiple keys to a command. The keys are named the same as in linux/input.h but without the KEY_ part
AUR Package: https://aur.archlinux.org/packages/keyd/
Last edited by BennyBolton (2012-11-10 02:09:57)
HP DV6 + Arch + Openbox
Offline
Updated to version 0.2.0, changes:
- key mappings are now a list of modifiers and a single key (still seperated by '+' though)
Last edited by BennyBolton (2012-11-05 08:45:33)
HP DV6 + Arch + Openbox
Offline
Updated to version 0.2.1, changes:
- "keyd --test" now outputs the whole hotkey (e.g. "LEFTCTRL+LEFTALT+F1")
HP DV6 + Arch + Openbox
Offline
Updated to version 0.3.0, changes:
- keyd now forks the commands
- output can be redirected using --log (for keyd messages) and --output (for command output)
HP DV6 + Arch + Openbox
Offline
It's surprisingly small!
Therefore, I couldn't resist the temptation of rewriting it :
https://bbs.archlinux.org/viewtopic.php?pid=1191484
The only non-stylistic problems I found in keyd are the following:
- You're not handling key repeat events.
- You shall check read's return value: the keyboard could be unplugged.
- The systemd service you ship will not work "out of the box".
Offline
updated to 0.4.0
- You're not handling key repeat events.
- You shall check read's return value: the keyboard could be unplugged.
Done and done
- The systemd service you ship will not work "out of the box".
I assume you mean because your keyboard isn't event0? if --input is not specified, keyd now reads through /dev/input/by-id and /dev/input/by-path in that order and uses the first file ending with -kbd
HP DV6 + Arch + Openbox
Offline
I found a bug in keyd, went to fix it but instead decided to completely rewrite it. For a few reasons, including the new version being completely incompatible, I renamed it to bkeyd.
There are a few differences between keyd and bkeyd, for example, bkeyd uses a select loop to listen to multiple devices, and is more secure, as it doesn't pass the device file descriptors to its children. Also the code is a lot tidier, and generally better, as I'm currently at uni and have learn't more techniques that help, e.g. hash tables.
Its still very lightweight, and runs in a little less memory than the multithreaded version, at about 700 KB on my computer
Anyway the bug I spotted in keyd, where it refuses to read from a keyboard if its been unplugged then plugged back in a couple times, doesn't happen in bkeyd
My server isn't up any more, so bkeyd is now hosted at Sourceforge
HP DV6 + Arch + Openbox
Offline
Pages: 1