From c423e8282029bd2769d5a93a738b3e2092d5095a Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 19 Jun 2026 18:38:26 -0700 Subject: [PATCH] libei: on KMS, schedule render after handling input events Matches behavior of libinput backend. --- src/libei.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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); + } + } } } }