From 313bdd91b8d234605c59a83a09792c07eee4e422 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Mon, 27 Feb 2023 13:54:49 -0800 Subject: [PATCH] Expose relative pointer global on the kms backend --- src/backend/kms/mod.rs | 7 ++++++- src/wayland/handlers/mod.rs | 1 + src/wayland/handlers/relative_pointer.rs | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/wayland/handlers/relative_pointer.rs 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);