diff --git a/src/libei.rs b/src/libei.rs index 1d748741..ad3a674d 100644 --- a/src/libei.rs +++ b/src/libei.rs @@ -11,7 +11,8 @@ use smithay::wayland::text_input::TextInputSeat; use crate::config::xkb_config_to_wl; use crate::input::InputBackendId; -use crate::state::State; +use crate::state::{BackendData, State}; +use crate::utils::{geometry::RectGlobalExt, prelude::OutputExt}; // Requested device types for an EI connection, mirroring the XDG RemoteDesktop portal `DeviceType` bitmask const DEVICE_TYPE_KEYBOARD: u32 = 1; @@ -139,6 +140,11 @@ pub fn setup_ei( let backend_id = InputBackendId::Ei(connection.eis_connection().clone()); data.process_input_event(other, backend_id); + if matches!(data.backend, BackendData::Kms(_)) { + for output in data.common.shell.read().outputs() { + data.backend.kms().schedule_render(output); + } + } } } }