Repository navigation
Updating
This guide explains how to update keydo to the latest version.
Note
Updating replaces the binary in place. Your configuration files are never touched during an update — you can keep using the same .conf files you already have.
Before replacing the binary, stop the keydo daemon so the file is not locked.
# systemd
sudo systemctl stop keydo
# runit
sudo sv stop keydolaunchctl stop keydokeydo stopNavigate to your local clone of the repository and fetch the latest changes:
cd keydo
git pull origin mainIf you want to update to a specific tagged release instead of the latest commit on main, check out that tag:
git fetch --tags
git checkout v0.3.3 # replace with the desired versionYou can browse all available releases on the GitHub Releases page.
Recompile and overwrite the installed binary:
cargo install --path . --forceThe --force flag is required to overwrite the existing installation.
If you previously copied the binary to /usr/local/bin/, repeat that step:
sudo cp ~/.cargo/bin/keydo /usr/local/bin/# systemd
sudo systemctl start keydo
# runit
sudo sv start keydolaunchctl start keydokeydo startConfirm that the running daemon reflects the new version:
keydo --versionBefore or after updating, review what changed in the new release:
- GitHub Releases: github.com/argenkiwi/keydo/releases — each release is auto-generated from commit history.
-
Git log:
git log --oneline v0.3.2..v0.3.3(replace tags with the versions you're moving between).
keydo uses the keyd configuration syntax, which is stable across releases. However, after a major version bump:
- Re-check the release notes for any deprecated or renamed directives.
- Run the config checker against your existing files:
keydo check /path/to/your/config.conf
- Reload the daemon once you're satisfied:
keydo reload
Run the daemon in the foreground to see error output directly:
# Linux / macOS
keydo daemon
# Windows (elevated Command Prompt)
keydo daemonIf you rebuilt the binary, macOS may revoke its Accessibility access because the binary has changed. Re-add it:
System Settings → Privacy & Security → Accessibility
Remove the old entry (if present) and add the updated binary at ~/.cargo/bin/keydo.
If input locks up after an update, press and hold Backspace + Enter + Escape simultaneously to instantly terminate the daemon and restore default keyboard behaviour.