aboutsummaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/windows.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/platform/windows.rs b/src/platform/windows.rs
index d77a30be..8a171716 100644
--- a/src/platform/windows.rs
+++ b/src/platform/windows.rs
@@ -56,6 +56,17 @@ use super::{ClipboardImage, ForegroundJob, Signal};
const STILL_ACTIVE: u32 = 259;
const FOREGROUND_PROCESS_SNAPSHOT_CACHE_TTL: Duration = Duration::from_millis(250);
+pub(crate) fn encode_windows_conpty_shift_enter(key: crate::input::TerminalKey) -> Option<Vec<u8>> {
+ use crossterm::event::{KeyCode, KeyEventKind, KeyModifiers};
+
+ if key.code != KeyCode::Enter || key.modifiers != KeyModifiers::SHIFT {
+ return None;
+ }
+
+ let key_down = !matches!(key.kind, KeyEventKind::Release);
+ Some(format!("\x1b[13;28;13;{};16;1_", u8::from(key_down)).into_bytes())
+}
+
#[derive(Debug)]
struct CachedProcessSnapshot {
built_at: Instant,