spiegel-keyman/linux/keyman-system-service
Eberhard Beilharz d20cc6978c
chore(linux): Add support for --no-integration flag to build files
This allows to use the `linux/build.sh` file to specify the
`--no-integration` flag which makes it easier to specify jobs on CI
because it then doesn't need to know all subprojects.
2023-07-06 12:39:21 +02:00
..
man chore(linux): Fix lintian warnings 2023-06-05 17:18:55 +02:00
resources feat(linux): Add system service to toggle capslock LED 2023-05-15 09:13:58 +02:00
src feat(linux): Refactor to benefit from C++ RAII 2023-05-22 19:51:45 +02:00
tests feat(linux): Refactor to benefit from C++ RAII 2023-05-22 19:51:45 +02:00
build.sh chore(linux): Add support for --no-integration flag to build files 2023-07-06 12:39:21 +02:00
meson.build feat(linux): Add system service to toggle capslock LED 2023-05-15 09:13:58 +02:00
README.md feat(linux): Add system service to toggle capslock LED 2023-05-15 09:13:58 +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 when running under Wayland.

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