ASCII Transliteration β Typing Non-ASCII Text
adb shell input text is ASCII-only β a single non-ASCII character makes the
whole command fail and leaves the field blank. When the agent types text on
Android, Ghost now transliterates it to the closest ASCII first, so
type_text degrades to something usable instead of silently typing nothing.
Typed (transliterated non-ASCII): 'SautΓ©' -> 'Saute'Transliteration is NFKD normalization with combining marks dropped:
| Input | Typed |
|---|---|
SautΓ© | Saute |
cafΓ© | cafe |
ZΓΌrich | Zurich |
ζ₯ζ¬θͺ | (dropped) |
cafΓ© π | cafe |
Characters with no ASCII base (CJK, emoji) are dropped rather than erroring. Pure-ASCII text is passed through untouched (fast path).
When it applies
Section titled βWhen it appliesβThis is the graceful fallback for the plain input text path β Android
type_text only. Thereβs no config and no kill-switch; itβs always on.
For full-fidelity emoji / CJK, use type_unicode (ADBKeyboard broadcast),
which is unchanged. iOS has its own text-entry path and is unaffected.
Related
Section titled βRelatedβ- MCP Server β
type_textvstype_unicode