Fork of Julow/Unexpected-Keyboard at v1.32.1.
New layouts
- Swiss German (de_CH) QWERTZ layout
Bug fixes
- Fix autocomplete firing when suggestions are disabled
- Fix suggestions preferences (auto-space, auto-capitalize) not taking effect until keyboard restart
- Fix UTF-8 encoding when reading compose sequence files on Windows
New features
- Retroactive word case cycling: tap Shift at end of a word to cycle lowercase → Title Case → ALL CAPS → lowercase
- Auto-space after punctuation (. ! ? , ; : ): automatically inserts a space; suppressed in password/URL/email fields; toggleable in Settings › Behavior
- Case-insensitive suggestion lookup: typing a lowercase word now finds dictionary entries stored with a capital first letter (e.g. typing
erdesurfacesErdeandErdbeerefrom a German dictionary) - Sentence-start capitalization: suggestions are automatically capitalized after
.,!,?,\n, or at the start of a text field; toggleable in Settings › Suggestions (on by default) - Suggestion strip improvements: text auto-shrinks to fit on one line (no more wrapping for long words); horizontal padding between candidates for readability
- Deduplicated suggestions: suffix completions and distance matches are checked against already-shown candidates so the same word never appears twice in the strip
- Personal dictionary: opt-in feature (Settings › Suggestions) that learns words you type and surfaces them first in the strip; hold 600 ms on a personal suggestion to remove it; backspace after an autocomplete then space/punctuation commits and learns the original typed word instead of auto-completing again
- Personal dictionary import/export: export your learned words to a plain-text file and re-import them (merge or replace existing words) via Settings › Suggestions; uses the Storage Access Framework — no extra permissions required
- Typed word always top candidate: the word currently being typed is always promoted to the center slot (the space-bar autocomplete target); if no dictionary recognizes it, it is injected as the first candidate unless there is exactly one unambiguous completion
uk-layout-editor.vercel.app — a visual editor for creating and modifying Unexpected Keyboard layouts (source).
It lets you design keyboard layouts visually in your browser and export them as XML files ready to drop into srcs/layouts/. No manual XML editing required.
Cherry-picked from upstream master:
Spell checking / suggestions
- Candidates view (suggestion strip above the keyboard)
- Word tracking as you type, autocomplete on space bar, undo on delete
- Dictionary-based spell checking with downloadable dictionaries
- Option to disable suggestions
Bug fixes
- Fix autocapitalisation flicker
- Fix missing swipe vibration and visual feedback
- Fix alternate keyboard layouts rendering behind navbar
- Fix very small label size on 11+ column layouts
- Fix insets being excluded from computed width
- Fix parsing of escaped characters in macros
- Fix clipboard manager crashes
- Fix crash with Monet themes on Android 9
- Fix label color when keys are pressed
- Fix space and delete not repeating
- Fix crash in capitalized word suggestion
- Fix no keyboard after switching from clipboard manager
- Avoid loops in modmaps
Build / SDK
- Gradle upgrade (Kotlin DSL)
- Target SDK 36
- 16 KB page size dictionary compatibility (Pixel 9+)
See Contributing.
Initialize submodules first (required for dictionary support):
git submodule update --init
./gradlew assembleDebug