UX: IME needs editing tools (backspace, cursor movement) — 'I go back and forth with SwiftKey'

Aperta
#50 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
68/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
android, kotlin
Ambito
mobile

Direzione di ricerca

Start by locating the Android IME's InputConnection wiring and read RFC 0019 alongside the existing engine APIs named in the issue. Implement the four scoped editing interactions—backspace, cursor movement, select/copy/paste, and long-press word deletion—then verify each action works against the target app while preserving engine offsets.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

From Heide (Galaxy Fold 5):

"Eventually need editing tools to fix mistakes. Right now I have to go back and forth with SwiftKey."

The IME currently only supports forward text entry. When she makes a mistake, she has to switch to another keyboard entirely to fix it.

Scope

This is the RFC 0019 editor contract applied to the IME side:

  1. Backspace — delete the character before the cursor (the engine already forwards deletions from its output events; the IME needs a backspace key that invokes InputConnection.deleteSurroundingText(1, 0))
  2. Cursor movement — left/right arrows via InputConnection (the engine can re-anchor with dasher_set_offset after the cursor moves)
  3. Select all / copy / paste — the clipboard bridge (RFC 0015) on Android is just InputConnection.performContextMenuAction(...) calls
  4. Word deletion — delete the word before the cursor (long-press backspace)

The engine-side APIs (dasher_seed_buffer, dasher_set_offset, the UTF-16 offset converter) all exist and are tested. This is IME-side wiring against the InputConnection.

Related: RFC 0019 on the main-app output field already landed (#40). This is the same contract applied to the IME's target-app interaction.

Lingua principale
Kotlin
Stelle
2
Fork
0
Merge medio
4h 45m
PR unite (30g)
7

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dasher-project/Dasher-Android

Tutte le issue di dasher-project/Dasher-Android

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.