Fix ghostty performance. Improve keyboard and input mode handling

This commit is contained in:
2026-05-04 14:16:02 +10:00
parent 8aa57ee3d7
commit 616489c69e
532 changed files with 18709 additions and 347 deletions

View File

@@ -43,4 +43,44 @@ final class TerminalScrollCoordinatorTests: XCTestCase {
XCTAssertFalse(coordinator.followsOutput)
XCTAssertEqual(coordinator.outputRestorePosition(canScroll: true) ?? .nan, 0.42, accuracy: 0.0001)
}
func testMouseCaptureCoordinatorSuppressesStaleCaptureAfterCommandFinish() {
let coordinator = TerminalMouseCaptureCoordinator()
let requiresReset = coordinator.commandDidFinish(mouseCaptured: true)
XCTAssertFalse(coordinator.shouldForwardMouseInput(mouseCaptured: true))
XCTAssertTrue(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: true))
XCTAssertTrue(coordinator.suppressesMouseReporting)
XCTAssertTrue(requiresReset)
}
func testMouseCaptureCoordinatorDoesNotRequestResetForCleanCommandFinish() {
let coordinator = TerminalMouseCaptureCoordinator()
let requiresReset = coordinator.commandDidFinish(mouseCaptured: false)
XCTAssertFalse(requiresReset)
XCTAssertFalse(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: false))
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: false))
}
func testMouseCaptureCoordinatorClearsSuppressionWhenCaptureDrops() {
let coordinator = TerminalMouseCaptureCoordinator()
coordinator.commandDidFinish(mouseCaptured: true)
XCTAssertFalse(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: false))
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: false))
XCTAssertFalse(coordinator.suppressesMouseReporting)
}
func testMouseCaptureCoordinatorClearsSuppressionWhenUserSubmitsCommand() {
let coordinator = TerminalMouseCaptureCoordinator()
coordinator.commandDidFinish(mouseCaptured: true)
coordinator.userDidSubmitCommand()
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: true))
XCTAssertFalse(coordinator.suppressesMouseReporting)
}
}