spiegel-keyman/linux/keyman-system-service
Eberhard Beilharz c811af7029
Merge pull request #14000 from keymanapp/maint/linux/cherry-pick/13970_werror
By default we add the `--werror` option to meson builds. This might cause problems when compiling with a different compiler, so this option adds the `--no-werror` option to our build scripts. This enables integrators to compile with other compiler versions. 

Fixes: #13970
Cherry-pick-of: #13988
2025-05-21 08:53:35 +02:00
..
man chore(linux): Fix lintian warnings 2023-06-05 17:18:55 +02:00
resources fix(linux): configurable path in .service file when using basu 2025-05-20 15:01:50 +02:00
src fix(linux): use correct header guard define in OrderedOutputDevice.h 2025-05-16 16:18:20 +02:00
tests chore(linux): add a stub unit test to allow successful coverage reporting 2025-04-24 10:15:53 +02:00
.gitignore chore(linux): use shared meson config 2024-06-24 19:08:12 +02:00
build.sh maint(linux): add --no-werror option to not report warnings as errors 2025-05-20 15:10:16 +02:00
meson.build chore(linux): improve compatibility with Gentoo Linux 🍒 2025-01-29 09:18:22 +01:00
README.md docs(core): Document how to build Core on Linux 2023-07-24 19:54:17 +02:00

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