Feature request: option to press Return after inserting dictation (auto-send in chat boxes)

Aperta Adatta ai principianti
#1,321 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
62/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
macos, rust, tauri
Ambito
cli, desktop

Direzione di ricerca

Il percorso di inserimento si trova in macos_streaming_input.rs, dove il controllo esistente per i a capo (MacosNewlineMode::Return su '\n') e classify_mac_keystroke / MacKeystroke::Return inviano già un tasto Return. Inizia leggendo come l'inserimento normale, non in streaming, segnala il successo, poi aggiungi un Return facoltativo dopo di esso, controllato da un nuovo interruttore e da un ritardo di 0-1000 ms. È completato quando l'impostazione è disattivata per impostazione predefinita, Return viene inviato solo dopo un inserimento riuscito e non vuoto, e ciò è coperto da un test o da una verifica manuale.

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

Descrizione

Environment: OpenLess 2.0.2-Beta.3+build.20261026-c9f49c60, macOS 27.2 (26B123) arm64. Traditional pipeline, clipboard/keystroke insertion.

What I want

An option to press Return once after a successful insert, so dictation can be used hands-free in a chat input box: speak, release, and the message sends itself. Right now every dictation into Slack / a web chat / an internal bot ends with reaching for the keyboard, which defeats the point of a push-to-talk tool.

Current behaviour

There is no such setting. The closest thing is Line breaks (Recording & input → Insertion & clipboard), but it only affects newlines inside the inserted text — MacosNewlineMode::Return fires only when the text contains \n (macos_streaming_input.rs, if self.newline_mode == MacosNewlineMode::Return && posted.contains('\n')).

Polished output almost never contains a newline, so that path can't be used. I tried the workaround of instructing the model to end its reply with a line break: deepseek-chat returned 'We should probably review the numbers again before Friday.' with no trailing newline even with an explicit system-prompt rule. So there is no configuration-only way to get this.

Proposal

Add a toggle in Insertion & clipboard:

  • "Press Return after insert" — off by default.
  • Optional delay (0–1000 ms) before the Return, so slow targets finish accepting the paste.
  • Applies to the normal (non-streaming) insert path only, and only after a successful insert — never on failure or when the transcript was empty.

Implementation looks small: the Return keystroke machinery already exists for the Line breaks setting (classify_mac_keystroke → MacKeystroke::Return), so this is one extra key event after the insert completes.

Please keep it off by default

Sending a message is irreversible — a misfire posts half a sentence to a colleague. Default off, opt-in per user, is the right trade.

Happy to test a build.

Lingua principale
Rust
Stelle
3.7k
Fork
349
Merge medio
2g 14h
PR unite (30g)
97

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 Open-Less/openless

Tutte le issue di Open-Less/openless

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.