Add "Retype Mode" text insertion mode for remote-desktop/VDI dictation targets #563
gabornyergesX
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
When dictating into an app running inside a remote-desktop/VDI session, the
leading characters of the inserted text often come out garbled or dropped.
The default text insertion path fires the whole string as one or more
unicode
CGEvents with zero delay between characters, but a remote keyboardchannel needs a brief moment to sync session/layout state before it reliably
forwards fast key events to the remote app — so the first few characters get
lost or scrambled while the rest land fine.
The existing "Clipboard Paste" (reliable-paste) mode doesn't help here either,
since some remote sessions disable or block the clipboard entirely, making a
paste-based fallback unusable.
Proposed solution
A new, opt-in text insertion mode — "Retype Mode" — that types character by
character with a short warm-up pause before the first keystroke, followed by
a slow ramp-then-steady per-character delay. This gives the remote session
time to settle before and while typing starts, without slowing down normal
local dictation (it's opt-in, off by default).
Implementation reuses the existing chunked-
CGEventposting helper(
postUnicodeChunksinTypingService.swift) by parameterizing it with aconfigurable chunk size and inter-chunk delay, rather than duplicating the
event-creation logic in a separate code path. Warm-up delay, ramp length,
ramp pace, and steady pace are all user-tunable in Settings, since the right
values depend on the remote session's own latency.
I already have a working implementation and draft PR:
#562
Alternatives considered
Relying on the existing "Clipboard Paste" mode — doesn't work when the
remote session's clipboard is disabled/blocked, which is common in locked-down
VDI environments.
Beta Was this translation helpful? Give feedback.
All reactions