sohkd is a display protocol-independent hotkey daemon made in Rust (based off the original, [swhkd](https://waycrate.github.io/swhkd/)). sohkd uses an easy-to-use configuration system inspired by swhkd so you can easily add or remove hotkeys, and it integrates with the [Odilia screen reader](https://odilia.app) to provide modal access to key bindings.
sohkd is a display protocol-independent hotkey daemon made in Rust (based off the original, [swhkd](https://waycrate.github.io/swhkd/)). sohkd uses an easy-to-use configuration system inspired by swhkd so you can easily add or remove hotkeys, and it integrates with the [Odilia screen reader](https://odilia.app) to provide modal access to key bindings.
Because sohkd can be used anywhere, the same sohkd config can be used across Xorg or Wayland desktops, and you can even use swhkd in a tty.
Because sohkd can be used anywhere, the same sohkd config can be used across Xorg or Wayland desktops, and you can even use sohkd in a tty.
**Note: The project is a WIP.**
**Note: The project is a WIP.**
**BUT!! It does work right now however it's not a drop-in replacement yet. [Example config file](./docs/swhkdrc).**
**BUT!! It does work right now [Example config file](./docs/sohkdrc).**
## Installation
## Installation
@ -18,14 +19,14 @@ See [INSTALL.md](./docs/INSTALL.md) for installing sohkd.
## Running:
## Running:
```bash
```bash
sohks &
sohks &
pkexec sohkd
sohkd
```
```
To refresh the config at runtime, make a script like so:
To refresh the config at runtime, make a script like so:
```bash
```bash
#!/bin/sh
#!/bin/sh
sudo killall sohkd
killall sohkd
pkexec sohkd
sohkd
```
```
Mark it as executable using `chmod +x <path_to_refresh_script>`.
Mark it as executable using `chmod +x <path_to_refresh_script>`.
@ -34,12 +35,14 @@ Then call it using `setsid -f <path_to_refresh_script>`.
A better implementation using signals will be developed later.
A better implementation using signals will be developed later.