dbus: Implement org.freedesktop.a11y.Manager protocol

This protocol is now the upstream solution in at-spi2-core/orca for
registering keyboard grabs and watching key events. It should also be a
bit better than the current verious of our custom Wayland protocol for
this purpose.

Like Mutter and Kwin, we currently restrict this to only be called by
the client that holds the name `org.gnome.Orca.KeyboardMonitor` on the
session bus. We also send the `KeyEvent` signal only to registered
watchers, rather than broadcasting, as DBus does by default.
This commit is contained in:
Ian Douglas Scott 2025-05-14 16:21:57 -07:00 committed by Ian Douglas Scott
parent d08ac9645b
commit f065143d3e
5 changed files with 358 additions and 2 deletions

View file

@ -1454,6 +1454,7 @@ impl Common {
self.popups.cleanup();
self.toplevel_info_state.refresh(&self.workspace_state);
self.refresh_idle_inhibit();
self.a11y_keyboard_monitor_state.refresh();
}
pub fn refresh_idle_inhibit(&mut self) {