diff --git i/alacritty/src/input/keyboard.rs w/alacritty/src/input/keyboard.rs index afb23eb5..0ad4f050 100644 --- i/alacritty/src/input/keyboard.rs +++ w/alacritty/src/input/keyboard.rs @@ -87,7 +87,7 @@ impl> Processor { build_sequence(key, mods, mode) } else { let mut bytes = Vec::with_capacity(text.len() + 1); - if mods.alt_key() { + if mods.alt_key() || mods.super_key() { bytes.push(b'\x1b'); } @@ -104,7 +104,7 @@ impl> Processor { fn alt_send_esc(&mut self, key: &KeyEvent, text: &str) -> bool { #[cfg(not(target_os = "macos"))] - let alt_send_esc = self.ctx.modifiers().state().alt_key(); + let alt_send_esc = self.ctx.modifiers().state().alt_key() || self.ctx.modifiers().state().super_key(); #[cfg(target_os = "macos")] let alt_send_esc = { @@ -123,7 +123,7 @@ impl> Processor { alt_send_esc } else { // Treat `Alt` as modifier for named keys without text, like ArrowUp. - self.ctx.modifiers().state().alt_key() + self.ctx.modifiers().state().alt_key() || self.ctx.modifiers().state().super_key() } }, _ => text.len() == 1 && alt_send_esc,