Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaronamk/hkd
Display-Server-Agnostic Hotkey Daemon for Linux
https://github.com/aaronamk/hkd
c evdev hotkey-daemon hotkeys linux suckless tty wayland xorg
Last synced: 3 months ago
JSON representation
Display-Server-Agnostic Hotkey Daemon for Linux
- Host: GitHub
- URL: https://github.com/aaronamk/hkd
- Owner: aaronamk
- License: mit
- Created: 2021-08-06T19:09:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-23T03:13:54.000Z (over 2 years ago)
- Last Synced: 2024-07-30T21:02:02.755Z (6 months ago)
- Topics: c, evdev, hotkey-daemon, hotkeys, linux, suckless, tty, wayland, xorg
- Language: C
- Homepage:
- Size: 54.7 KB
- Stars: 23
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## DESCRIPTION
A key mapper program.Features:
* Map a key plus any number of modifiers to a command
* Map a modifier release to a command
* Configure which keys to use as modifiers
* Works in Xorg, Wayland, and the TTY (using [libevdev](https://www.freedesktop.org/software/libevdev/doc/latest/index.html))## INSTALLATION
### From source
1. Run:
```
git clone https://github.com/aaronamk/hkd.git
cd hkd
sudo make install
```
2. Add yourself to the `input` group: `sudo usermod -a -G input `. This allows hkd to access/modify input devices in the filesystem without root access.
3. Reboot for the change to take affect## CONFIGURATION
The file `config.h` is where you set your key bindings. This is similar to [suckless](https://suckless.org/philosophy)'s software practices. `config.h` is part of the source, so you must recompile and restart the program for any changes to take effect. Some default bindings are provided; you can add or remove them as needed.See [linux/input-event-codes.h](https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h) for a list of available key codes or use the [evtest](https://gitlab.freedesktop.org/libevdev/evtest) command to see device events printed to the terminal.
## USAGE
```
hkd /dev/input/by-id/ /dev/input/by-id/ ...
```## RELATED/SIMILAR SOFTWARE
* [swhkd](https://github.com/waycrate/swhkd)
* [Interception Tools](https://gitlab.com/interception/linux/tools)
---*NOTICE*: Please check the issues board if you find a bug or would like a feature added. Open a new issue if it is not listed.