libei: on KMS, schedule render after handling input events

Matches behavior of libinput backend.
This commit is contained in:
Ian Douglas Scott 2026-06-19 18:38:26 -07:00 • committed by Ian Douglas Scott
parent f4ee52c46a
commit c423e82820

View file

@ -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);
}
}
}
}
}