Skip to content

Conversation

@ppamorim
Copy link

Description

This PR introduces the ability to suppress the on-screen keyboard when a user places the cursor in the editor, while preserving the focus state. This feature is particularly useful for scenarios where speech-to-text (STT) is the primary input method and the presence of the keyboard obstructs UI elements or interferes with dictation.

To achieve this:

  • A new QuillFocusNode subclass was created with a keyboardEnabled toggle.
  • The logic inside openConnectionIfNeeded() in raw_editor_state_text_input_client_mixin.dart has been adjusted to respect this toggle.
  • If keyboardEnabled is set to false, the editor will still receive focus without triggering the software keyboard.

This allows developers to implement an "edit mode" (enabled by default on the demo) or similar UX patterns where the keyboard only appears when explicitly desired by the user.

Related Issues

Type of Change

  • Feature: New functionality without breaking existing features.
  • 🛠️ Bug fix: Resolves an issue without altering current behavior.
  • 🧹 Refactor: Code reorganization, no behavior change.
  • Breaking: Alters existing functionality and requires updates.
  • 🧪 Tests: New or modified tests
  • 📝 Documentation: Updates or additions to documentation.
  • 🗑️ Chore: Routine tasks, or maintenance.
  • Build configuration change: Build/configuration changes.

@ppamorim ppamorim force-pushed the feature/disableKeyboardOption branch 2 times, most recently from 3e7ea10 to 22b808b Compare May 30, 2025 13:16
@ppamorim ppamorim force-pushed the feature/disableKeyboardOption branch from 22b808b to 132d21e Compare May 30, 2025 13:39
@ppamorim ppamorim force-pushed the feature/disableKeyboardOption branch from 132d21e to cb1b65b Compare May 30, 2025 13:42
@ppamorim ppamorim merged commit 842fbb9 into master Sep 11, 2025
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.

2 participants