Skip to content

Support macOS dictation in custom text editors - #207

Merged
treeform merged 1 commit into
masterfrom
codex/macos-dictation-input
Nov 11, 2026
Merged

treeform merged 1 commit into
masterfrom
codex/macos-dictation-input

Conversation

@treeform

Copy link
Copy Markdown
Owner

Custom Windy text editors were invisible to macOS accessibility clients, so Wispr Flow opened its own dialog instead of inserting into the focused field. This adds a focused-editor bridge for custom UI libraries: publish text, rune-based selection and framebuffer bounds with setTextInputState, then apply native range requests from onTextEdit.

The macOS bridge exposes editable text roles, UTF-16 selection ranges, Retina bounds and change notifications. Complete native commits and paste: use onTextInput, with legacy onRune fallback. Synthetic Command shortcuts now honor modifiers carried on the key event. Existing IME composition behavior is preserved. Other platforms retain the same API with no-op editor-state publishing.

Validation:

  • Native input and accessibility tests pass with OpenGL and CPU backends; both accessibility runs are added to macOS CI.
  • Windows, Linux and Emscripten API consumers pass nim check.
  • Wispr Flow dictation was manually confirmed working in the local Silky/Runny integration.

This PR contains only Windy changes. Silky and Runny integration changes are separate.

@treeform
treeform merged commit eebaecd into master Nov 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant