aboutsummaryrefslogtreecommitdiff
path: root/src/dbus/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbus/mod.rs')
-rw-r--r--src/dbus/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dbus/mod.rs b/src/dbus/mod.rs
index aaa7c1ae..6a164d48 100644
--- a/src/dbus/mod.rs
+++ b/src/dbus/mod.rs
@@ -3,6 +3,7 @@ use zbus::object_server::Interface;
use crate::niri::State;
+pub mod freedesktop_a11y;
pub mod freedesktop_locale1;
pub mod freedesktop_screensaver;
pub mod gnome_shell_introspect;
@@ -15,6 +16,7 @@ pub mod mutter_screen_cast;
#[cfg(feature = "xdp-gnome-screencast")]
use mutter_screen_cast::ScreenCast;
+use self::freedesktop_a11y::KeyboardMonitor;
use self::freedesktop_screensaver::ScreenSaver;
use self::gnome_shell_introspect::Introspect;
use self::mutter_display_config::DisplayConfig;
@@ -34,6 +36,7 @@ pub struct DBusServers {
#[cfg(feature = "xdp-gnome-screencast")]
pub conn_screen_cast: Option<Connection>,
pub conn_locale1: Option<Connection>,
+ pub conn_keyboard_monitor: Option<Connection>,
}
impl DBusServers {
@@ -125,6 +128,12 @@ impl DBusServers {
let screen_cast = ScreenCast::new(backend.ipc_outputs(), to_niri);
dbus.conn_screen_cast = try_start(screen_cast);
}
+
+ let keyboard_monitor = KeyboardMonitor::new();
+ if let Some(x) = try_start(keyboard_monitor.clone()) {
+ dbus.conn_keyboard_monitor = Some(x);
+ niri.a11y_keyboard_monitor = Some(keyboard_monitor);
+ }
}
let (to_niri, from_locale1) = calloop::channel::channel();