Hook up vt extensions option

This commit is contained in:
Daniel Imms
2026-01-09 07:07:10 -08:00
parent 3fbaef06ef
commit 992da3cc4d
7 changed files with 66 additions and 10 deletions
+4 -2
View File
@@ -1087,7 +1087,8 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
// Use Kitty keyboard protocol if enabled, otherwise use legacy encoding
const kittyFlags = this.coreService.kittyKeyboard.flags;
const result = shouldUseKittyProtocol(kittyFlags)
const useKitty = this.options.vtExtensions?.kittyKeyboard && shouldUseKittyProtocol(kittyFlags);
const result = useKitty
? evaluateKeyboardEventKitty(event, kittyFlags, event.repeat ? KittyKeyboardEventType.REPEAT : KittyKeyboardEventType.PRESS)
: evaluateKeyboardEvent(event, this.coreService.decPrivateModes.applicationCursorKeys, this.browser.isMac, this.options.macOptionIsMeta);
@@ -1178,7 +1179,8 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
// Handle key release for Kitty keyboard protocol
const kittyFlags = this.coreService.kittyKeyboard.flags;
if (shouldUseKittyProtocol(kittyFlags) && (kittyFlags & 0b10)) { // REPORT_EVENT_TYPES flag
const useKitty = this.options.vtExtensions?.kittyKeyboard && shouldUseKittyProtocol(kittyFlags);
if (useKitty && (kittyFlags & 0b10)) { // REPORT_EVENT_TYPES flag
const result = evaluateKeyboardEventKitty(ev, kittyFlags, KittyKeyboardEventType.RELEASE);
if (result.key) {
this.coreService.triggerDataEvent(result.key, true);