mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 22:28:24 +02:00
This commit enables macOS dictation (triggered by pressing Fn twice) to work in kitty by implementing the necessary accessibility methods. The key fix is changing `selectedRange` to return `NSMakeRange(0, 0)` instead of `kEmptyRange` (NSNotFound, 0). When selectedRange returns NSNotFound, macOS dictation cannot determine where to insert text and fails silently. Additional accessibility methods implemented: - accessibilitySelectedTextRange: Returns cursor position for dictation - accessibilityNumberOfCharacters: Returns 0 (terminal has no fixed buffer) - accessibilityInsertionPointLineNumber: Returns 0 - accessibilityValue: Returns empty string - setAccessibilityValue: Routes dictated text to keyboard input This fix is inspired by the similar fix in Emacs v30 which restored dictation by implementing selectedRange properly after migrating to NSTextInputClient. Fixes: https://github.com/kovidgoyal/kitty/issues/3732