Repository navigation
Installation
Language: English · 简体中文
The repo ships an install.sh that does the whole job: detect your distro,
install build dependencies, build seekey, install the binary, and set up
input permissions so seekey can read /dev/input/event*.
./install.sh # user install (default) -> ~/.local/bin
./install.sh --system # system install -> /usr/local/bin (uses sudo)After a user install, log out and back in if it added you to the input
group (it will tell you).
| Option | Effect |
|---|---|
--user |
Install to $HOME/.local (default) |
--system |
Install to /usr/local (uses sudo) |
--no-input |
Skip the udev rule + input group setup |
--no-deps |
Don't try to install build dependencies |
--force |
Overwrite an existing udev rule |
--dry-run |
Print what would happen, make no changes |
--uninstall |
Reverse a previous install |
-h, --help
|
Show help |
- Detects your package manager — pacman / dnf / apt / zypper / apk / xbps-install. For an unknown manager it prints the dependency list and asks you to install manually.
-
Installs build deps — gtk4, libevdev, ncursesw, json-glib, gettext,
pkg-config, gcc, make (plus
gtk4-layer-shelloptionally; see Build from Source). -
Builds with
make. -
Installs the binary, example config, desktop entry, and compiled
translations under the selected prefix. User builds are compiled with
$HOME/.local/share/locale; system builds use/usr/local/share/locale. -
Sets up input access (unless
--no-input):- Writes
/etc/udev/rules.d/99-seekey.rulesso theinputgroup can read/dev/input/event*(mode0660). - Creates the
inputgroup if missing and adds your user to it. - Reloads udev rules.
- Writes
-
Prints compositor hints — detects your desktop, warns when GNOME / KDE
requires fallback mode, and reports when a layer-shell compositor was
detected but this build lacks
gtk4-layer-shell.
The installer does not add an autostart entry. See Autostart.
The script changes to its own source directory before building, so it can be
invoked by absolute path from another working directory. --no-deps disables
automatic package installation but still verifies every required tool and
library.
./install.sh --uninstallRemoves the binary and data files. The udev rule is left in place (it's harmless and shared with other input tools) — remove it manually if you want:
sudo rm /etc/udev/rules.d/99-seekey.rulesYour config and input group membership are left untouched.
Seekey reads the kernel input devices directly, so it needs read access to
the /dev/input/event* nodes (normally root-only). The installer fixes this
by:
- giving the
inputgroup access (mode0660), and - adding your user to that group.
If you skipped that (--no-input) or built manually, you have two options:
# Option A: do it the same way the installer does
sudo groupadd input # if the group doesn't exist
sudo usermod -aG input "$USER" # then log out and back in
# and add the udev rule from install.sh::install_udev_rule
# Option B: quick and dirty (less secure)
sudo chmod 644 /dev/input/event*Option A is strongly preferred. See Troubleshooting for more.
Getting started
Behaviour & compatibility
Looks
For contributors
Reference