From 1ce751fbc6a74dcb2446bdc89c6d277ac7b2cce7 Mon Sep 17 00:00:00 2001 From: CHE-3 Date: Sun, 22 Mar 2026 19:39:29 -0400 Subject: [PATCH] Fix Cmd+Shift+key combos being swallowed for unbound keys Use charactersIgnoringModifiers instead of characters when redispatching Cmd-modified key events in performKeyEquivalent. Cmd-modified keys don't produce text characters, so event.characters returns an empty string for Cmd+Shift combos, preventing Ghostty from encoding them as kitty protocol sequences. charactersIgnoringModifiers returns the actual key character (e.g. "k" for Cmd+Shift+K) while modifiers are preserved in modifierFlags. Fixes #1718 Co-Authored-By: Claude Opus 4.6 (1M context) --- Sources/GhosttyTerminalView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/GhosttyTerminalView.swift b/Sources/GhosttyTerminalView.swift index 2ee395f0cab4..012425ada38a 100644 --- a/Sources/GhosttyTerminalView.swift +++ b/Sources/GhosttyTerminalView.swift @@ -5110,7 +5110,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { if let lastPerformKeyEvent { self.lastPerformKeyEvent = nil if lastPerformKeyEvent == event.timestamp { - equivalent = event.characters ?? "" + equivalent = event.charactersIgnoringModifiers ?? "" break } }