github DevEmperor/DictateKeyboard v6.2.0
Dictate 6.2

4 hours ago

Dictate 6.2.0 is a release about the keyboard knowing you. It learns the words you type — the names and terms no dictionary has ever heard of — and keeps them on your device, in a list you can read and prune. It comes with five new designs, two of which let the app behind show through the gaps between the keys. It can be split in two so both thumbs reach it, it finds the emoji for the word you just typed in about fifty languages, and it brings a handful of small tools you will end up using daily: incognito mode, links without their tracking tails, an inline calculator, a selection counter and a searchable clipboard. Updating shows a new What's-new tour for 6.2, twelve pages with live artwork; every tour stays re-viewable under Settings › About.

🧠 It learns the words you type (#318, #375, #242)

  • A name, a term or a place you type often enough is kept. The keyboard stops marking it as a mistake, starts offering it in the strip, and starts correcting into it — a word you invented is no longer a word the autocorrect fights.
  • This release switches it on, for everyone. A default flip alone would only ever reach new installs — the preference store keeps whatever was touched — so existing users are migrated onto it too. That overwrites a deliberate "off" and nothing can tell that apart from a default nobody ever chose, which is why the tour says so on its own page and points at the switch. It is under Typing › User dictionaries, next to the list.
  • What is never learned: anything typed in incognito mode, anything in a password field, and anything that did not arrive key by key — dictation and glide included. A word has to be typed, every character of it, before it can be considered.
  • The entry test is measured, not guessed. Two populations are evaluated on every build: correctly typed words the dictionary does not know (which must be learned) against mis-typed ones (which must not). A word climbs three rungs before it counts as known, and words you actually use rise to the front among your own.
  • Everything is visible and removable. The Learned-words screen lists every word with a bin next to it, says which of the two switches is in the way when nothing is being learned, and the whole vocabulary travels in your backup.
  • An address is now one word, so jannis@example.com can be learned instead of being cut at the @ (#318 round 3), and a word carrying a digit no longer throws away the proof that it was typed (#311).

🎨 Five new designs

  • Dictate Glass and Dictate Glass Clear are translucent: the app you are in shows through the gaps between the keys.
  • The keys themselves stay nearly solid, and that is a measurement rather than a taste. Spotify draws its search results edge-to-edge behind the keyboard; at 13 % key opacity its song titles read straight through the key labels. Foreign white text stops being readable at roughly 94 % — so there are two themes with the cost in the name: Glass, usable in any app, and Glass Clear, which looks better and lets foreign text through in apps that draw behind the keyboard.
  • Sand (Day), Deep (Night) and E-Ink Night fill the gaps the line-up actually had: everything light was the same cold grey, and E-Ink had no night counterpart, so automatic day/night switching handed high-contrast users a white keyboard after dark.
  • Three reusable Snygg properties came out of this — background-sheen, border-sheen and squircle(…) for continuous corner curvature — and two surfaces that had been bypassing the theme with hardcoded colours (the classic layout's enter-key popup and the push-to-talk lock pill) now read key-popup-box and follow whatever theme you pick.
  • No frosted blur, deliberately. It was built, measured and thrown away: the platform applies a window blur to the whole window, ours spans nearly the display, and the rework needed to make the window the size of the keyboard would have had to agree with one-handed mode, compact mode, split, the resize editor, landscape fullscreen and every panel taller than the keys. A keyboard that glitches is worse than a keyboard that is not frosted.

✋ Split keyboard and landscape (#362, #361)

  • A new Smartbar quick action, next to one-handed and floating, pulls each row into two runs so both thumbs reach their own half.
  • Every layout splits, not just QWERTY. The seam falls where the accumulated key width first reaches half the row, which is the seam a reader would draw — so the Hindi varnamala rows and the Chinese layouts split correctly without a single layout file changing.
  • In landscape the app stays visible whenever there is room for both, instead of the full-screen text editor taking the screen for a one-line field.

😀 Emoji (#338, #340)

  • Type a word and its emoji is offered, from the same CLDR data the system uses — about fifty languages, measured across eighteen, rather than an English word list.
  • It rides along beside the suggestions instead of taking one of their seats.
  • An optional emoji row above the keys holds your pinned and recently used emojis, fills itself, and holds still while you use it.

🧰 Four small helpers (#329)

  • Incognito mode — nothing is learned and nothing is kept while it is on, including in the panels that were still quietly taking notes.
  • Tracking stripped from pasted linksutm_*, si, fbclid and the like are removed on the way into the field.
  • An inline calculator — type a sum ending in = and the answer arrives as a suggestion.
  • Digits back on the letters when the number row is on.

✂️ Selecting, moving, and the clipboard (#335, #360, #352, #346, #316)

  • The row that stood empty during a selection now counts it — words and characters, in the space that was doing nothing.
  • Jump to the very start and end of the field, on both layouts, and leave the stray spaces behind when copying.
  • The actions row steps aside when a selection begins instead of talking over it.
  • The clipboard can be searched, across everything in it.
  • What you just copied is offered as a pill you can dismiss, shrink-to-fit so it never eats the strip, and copying the same text twice now counts as twice — the "already used" marker was comparing against an id that was always 0.
  • Deleting a clip deletes the file behind it. Images and videos were left on the phone after the entry that referenced them was gone.

👆 Gestures and fit (#366, #364, #365, #327)

  • Hold ?123, slide onto a character, let go — it is inserted and the letters are already back, with no switching in and out.
  • Swiping up on the space bar reaches the line above, not just the word before it, and a sideways swipe can be ended rather than only flicked.
  • The gap between keys has a range wide enough to see and a name that says what it does — a wider gap makes the keys smaller, not the keyboard.

📁 Every dictation into a folder (#379)

  • Pick a folder and each finished dictation is written into it as a plain text file, the moment it is done, optionally with its recording. Dictate only writes the files, so whatever already syncs that folder — a cloud client, a script, your own tooling — picks them up without an account or a token ever being handed over.

🎙️ Dictation and providers

  • Azure's MAI-Transcribe is reachable (#349) — it is selected through the enhanced-mode option rather than a model list, and the screen now says why Azure has no list instead of implying one failed to load.
  • Choosing an on-device model chooses the on-device engine (#343), and only during setup, and only where nothing else is set up.
  • Every request has a time limit that fits the wait (#350, #354, #355, #189) — one request had none at all, and a model allowed to think for minutes was being cut off by a socket that stalls in seconds.
  • The live preview stops narrating itself (#345), and a Gemini Live turn is no longer mistaken for the end of the dictation (#372) — its tail arrives about 0.3 s after the stream is closed.
  • The floating button can stream without typing along as it goes (#357).
  • A dictation appears in the history the moment it is sent (#358, #350), and the resend chip finishes the entry it is retrying instead of starting a second one.
  • Holding the mic to speak behaves like a mic (#235, #88, #228, #301).
  • An import says which step it is on and can be cancelled (#337), shared files get longer than a chat message to travel, and a shared file is sped up too if that is what the setting says.

💡 Suggestions in every language (#334)

  • Predictions now weigh the two words before the cursor, not just the last one — and in every language that ships data, not only in English. Whether a second word of context was worth building was measured before it was built; the tables carry their size in the file name so a regeneration can never break an app already installed, and language data is fetched only when it is actually needed, with a Wi-Fi-only switch for it.

🔒 Backup without your keys (#367)

  • An archive can be made without your API keys, passwords or Dictate Cloud credit, so it can be passed to someone else or attached to a bug report. What is in the archive is listed before it is written, and restoring says plainly when a backup carries no credentials.

🔧 Fixed

  • Text lands in the field more reliably (#314, #310, #222) — the app is now asked whether the text arrived rather than the field being believed about its own cursor, a rebuild happens only around content that could be proved, and modern phones insert the way Android 12 has to when that is what works.
  • The Hindi vowel row shows the syllable a Hindi typist is actually building (#315), and the inherent अ key no longer wears a cross over its own letter.
  • A space typed before a punctuation mark is swallowed, and a transcript piece is asked what it begins with before a space is put in front of it (#356).
  • Double-tapping the space bar writes what the language ends a sentence with, not a full stop everywhere.
  • A lone English "i" is capitalised, and only where that is true.
  • The number row folds away from the action bar instead of colliding with it.
  • The settings search finds a feature by the name people call it (#333), and the clipboard and the sticker panel each got their search where the header was standing empty (#336, #326).
  • The sticker pack tabs answer a tap like every other tab does.
  • Only in-flight work keeps the recording bubble up (#339), and the microphone is promoted before every bubble dictation rather than only on the tap (#230).
  • A release the tooltip consumed counts as the tap it was (#257).
  • A cold dictionary manager no longer takes the settings screen down with it.
  • The release build builds again (#332) — app/lint.xml is lint's configuration file, and reading it as a baseline left every real finding unbaselined — and the unit-test JVM has enough heap to reach the end of the suite (#331).

Distribution: Dictate ships through Google Play. This release has no APK attached on purpose — see the README for why, and for how to build it yourself from source.

Don't miss a new DictateKeyboard release

NewReleases is sending notifications on new releases.