diff --git a/src/backend/kms/mod.rs b/src/backend/kms/mod.rs index dacb50e1..fce86759 100644 --- a/src/backend/kms/mod.rs +++ b/src/backend/kms/mod.rs @@ -52,7 +52,9 @@ use smithay::{ wayland_server::{protocol::wl_surface::WlSurface, DisplayHandle, Resource}, }, utils::{DeviceFd, Size, Transform}, - wayland::{dmabuf::DmabufGlobal, seat::WaylandFocus}, + wayland::{ + dmabuf::DmabufGlobal, relative_pointer::RelativePointerManagerState, seat::WaylandFocus, + }, xwayland::XWaylandClientData, }; use tracing::{debug, error, info, warn}; @@ -305,6 +307,9 @@ pub fn init_backend( devices: HashMap::new(), }); + // Create relative pointer global + RelativePointerManagerState::new::(&dh); + // TODO: Do multiple Xwaylands for better multigpu state.launch_xwayland(Some(primary)); diff --git a/src/wayland/handlers/mod.rs b/src/wayland/handlers/mod.rs index 5ab68521..56e4a9be 100644 --- a/src/wayland/handlers/mod.rs +++ b/src/wayland/handlers/mod.rs @@ -11,6 +11,7 @@ pub mod output; pub mod output_configuration; pub mod presentation; pub mod primary_selection; +pub mod relative_pointer; pub mod screencopy; pub mod seat; pub mod shm; diff --git a/src/wayland/handlers/relative_pointer.rs b/src/wayland/handlers/relative_pointer.rs new file mode 100644 index 00000000..6900dec9 --- /dev/null +++ b/src/wayland/handlers/relative_pointer.rs @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only + +use crate::state::State; +use smithay::delegate_relative_pointer; + +delegate_relative_pointer!(State);