mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-24 09:17:42 +00:00
Previously the builder scripts defined a readonly `VERSION` environment variable for the Keyman version. That caused problems when another (external) script tried to define a `VERSION` variable. We encountered this problem when trying to move the TC build steps of a configuration into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`. This change uses a Keyman specific prefix for the version variables and renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables are used in a lot of places, so this turned out to be a bit of a yak shave. Test-bot: skip |
||
|---|---|---|
| .. | ||
| man | ||
| resources | ||
| src | ||
| tests | ||
| .gitignore | ||
| build.sh | ||
| meson.build | ||
| README.md | ||
keyman-system-service
A DBus system service that allows to access /dev/input/* devices
to toggle capslock and perform other keyboard related actions. This is
required when running under Wayland, but also used with X11.
See https://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html, https://stackoverflow.com/a/44281937, https://github.com/chiehmin/gdbus_test/blob/master/server.c, https://aleksander.es/data/GNOMEASIA2014%20-%20Introduction%20to%20DBus.pdf.
Notes
-
If we need to limit access to the interface to only Keyman, we can use polkit which allows to add a rule with an action that checks for the program.
-
to see the log file
journalctl -f -u systemd-keyman -
to monitor method calls
sudo busctl monitor com.keyman.SystemService1