Skip to content

Add Gboard-style progressive text selection mode (extend/shrink selection with cursor keys) #2736

Description

@raxelbyte

HeliBoard currently offers only coarse text selection via the toolbar: Select Word or Select All (long-press toggles between them). After selecting a word, pressing any arrow / navigation key immediately collapses the selection and only moves the cursor. It is therefore impossible to select an arbitrary custom range of text (partial word, multiple words, part of a sentence, etc.) purely from the keyboard.

This forces users to fall back to Android’s on-screen selection handles, which is slow and imprecise on long text, notes, code, or messages.

Describe the solution you'd like

Implement a proper selection mode similar to Gboard’s Text Editing mode:

  1. Add a toggleable Select action (toolbar key or dedicated button in a D-pad / editing layout).
  2. When selection mode is active:
    • Arrow keys (and word/line/page navigation keys) extend or shrink the selection from the original anchor point instead of collapsing it.
    • The Select button itself should stay highlighted / in an active state so the user knows the mode is on.
  3. Tapping Select again (or performing Cut/Copy/Paste/Delete) exits the mode.
  4. Ideally the mode can also be assigned to the existing toolbar or a functional-key layout so power users can keep it always reachable.

Gboard behaviour (for reference)

In Gboard:

  • Open the text-editing panel (I-with-arrows icon).
  • Move the cursor with the directional pad.
  • Tap the central Select button → it becomes active/highlighted.
  • Subsequent arrow presses now grow or shrink the selection character-by-character (or by word on long-press).
  • You can therefore select any desired length of text without leaving the keyboard.
  • Cut / Copy / Paste / Delete buttons remain available on the same panel.

This is exactly the workflow that is missing in HeliBoard.

Use case

Frequent editing of notes, messages, code snippets, or long-form text. Users who prefer a fully offline, privacy-respecting keyboard currently have to switch to Gboard/Samsung/SwiftKey just for precise selection, or struggle with the system handles.

Alternatives considered

Additional context

HeliBoard already has excellent cursor navigation keys and a highly customisable toolbar. Adding a sticky selection mode would complete the editing experience and bring it to parity with the major commercial keyboards while remaining 100 % offline and FOSS.

Thank you for the fantastic keyboard! @Helium314

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions