diff --git a/crates/egui-winit/src/lib.rs b/crates/egui-winit/src/lib.rs index 7110ef3fe21..85cd5047f9f 100644 --- a/crates/egui-winit/src/lib.rs +++ b/crates/egui-winit/src/lib.rs @@ -344,7 +344,13 @@ impl State { // between Commits. match ime { winit::event::Ime::Enabled => { - self.ime_event_enable(); + if cfg!(target_os = "linux") { + // This event means different things in X11 and Wayland, but we can just + // ignore it and enable IME on the preedit event. + // See + } else { + self.ime_event_enable(); + } } winit::event::Ime::Preedit(text, Some(_cursor)) => { self.ime_event_enable();