KeyTab
Keyboard (IME) with tabbed file manager, offline word prediction and TAB key.
piot5 Keyboard & IME
Screenshots
Description
KeyTab is a privacy-first keyboard (IME) for Android, 100% Kotlin and free software (MIT).
File manager in the keyboard
Browse folders in tabs, navigate with back-stack and parent-navigation. Tapping a file inserts its path or opens it via a VIEW intent. Each tab remembers its own directory. Listing runs asynchronously, so large folders never freeze the UI.
Offline word prediction
An n-gram model (FrequencyWords de_50k, CC-BY-SA-4.0) with bigrams for next-word prediction, a self-learning user dictionary, prefix autocomplete, fuzzy correction (Damerau-Levenshtein) and case matching — all on-device. Export/Import lets you optimize suggestions with a local LLM. Your data never leaves the device.
Dynamic key sizing
Likely-next keys scale up to 1.21x (second grade 1.15x), unlikely neighbours down to 0.812x, driven by the current suggestion scores. Toggleable in settings.
Notes & clipboard
An editor tab with save/load plus a persistent clipboard history (up to 50 entries) — tap an entry to insert it directly into the target field.
Keyboard features
Dedicated TAB key (great for Termux/SSH), shift/caps-lock, long-press popups for umlauts and special characters, accelerating backspace on long-press (250ms down to 30ms).
Privacy
No network permission. No analytics, no tracking, no data collection.
What’s new (0.18.1)
- Release/build fix: dependency verification now covers aapt2 8.13.2 (the release workflow and F-Droid's own build failed in compileReleaseNavigationResources with "Dependency verification failed") — no app behaviour changed versus 0.18
- Version 0.18: bug-fix release plus one removal (see below)- Keyboard: the second symbol plane (`` — extra symbols and the big arrow pad) is gone; the `?123` key now toggles between abc and ?123 only
- Clipboard list: long entries no longer break the single-l
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Read storageRead files on the device storage.
- PhotosRead images from the media library.
- READ_MEDIA_VISUAL_USER_SELECTED
- keytab.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments