A keyboard for Android with big hexagonal keys, gestures instead of extra keys, and everything a keyboard is expected to do.
English · Deutsch
Hexagons tile a surface with no gaps, so every key can be as large as the screen allows. hexkeys uses that room: seven and six keys per row, letters kept in their familiar QWERTZ order, and no keys that only exist to switch modes.
| Gesture | What it does |
|---|---|
| Flick up on a letter | Types its capital |
| Hold a letter | Opens the accented letters your languages use, as a small honeycomb |
| Swipe across the letters | Types the word the path spells |
Flick up on . or ? |
Types , or !; hold them for more marks |
| Tap enter | A new line in a field of several lines, otherwise the field's action |
| Flick up on enter, or hold it | Always runs the field's action, such as send or search |
Tap @#€ |
Opens the symbols; =\< turns to the second page and ABC goes back |
Flick up on @#€ |
Opens emoji |
| Flick sideways on space | Switches the language |
| Hold space and move | Steers the cursor through the text, up and down too |
| Slide in from the edge of the number row | Deletes the last letters one by one, then whole words up to the last ten, then on the far side words ever faster for as long as you stay there; slide back to put it back |
| Slide along the middle of the number row | Moves the cursor, one character per step |
| Hold shift or backspace (the optional keys) | Locks capitals, or deletes again and again |
- Suggestions for every typed word, with the next word predicted after a space. Autocorrect fixes every mistake by default, can be limited to obvious ones or switched off; learning new words is off by default and one switch away.
- 47 languages from 53 downloadable dictionaries. The keyboard guesses the language from what you write and shows the languages on the space bar. Vietnamese types with Telex.
- Dictation that runs on the phone with NVIDIA's Parakeet model in 25 European languages, writing each stretch of speech while you keep talking.
- Passwords from your autofill service as chips in the suggestion strip, with the service's own button pinned in a fixed place.
- Clipboard: what you just copied waits in the strip for a one-tap paste; clips stay an hour, or for good once pinned.
- Emoji with search by name in every language you use.
- Themes: Dusk, Paper, Ember, seven more dark ones (Midnight, Aurora, Mocha, Forest, Abyss, Plum, Nordic), your device's colours (Android 12 and later), plain dark and plain light. The starter themes colour each letter by its QWERTZ row, so rearranged letters stay easy to find.
- Two layouts: space in the middle (the default) or space at the bottom. In the middle layout the key left of space is the comma, backspace or a second space.
- Sizes: the whole keyboard, the letter keys and the number row scale on their own, and the number row can be left out.
- English and German: the app and its help speak English, and German when switched.
Everything is under the keyboard's settings, which open from the app icon or the gear in the suggestion strip; layout, theme and sizes are on their own Look page there, above the keyboard as they make it. Help in the settings' menu explains the keyboard in short, in the app's language.
| Setting | Choices (default) |
|---|---|
| App language | English (default), Deutsch |
| Autocorrect | Off, Obvious, All (default) |
| Learn new words | Off (default), on; Forget deletes what was learned |
| Delete by sliding in from | Left edge, right edge (default) |
| Zones | Where the delete slide's letters, words and endless zones begin, dragged on a picture of the number row (words from 45%, endless from 80% of the width); dragging the last border to the end leaves out the endless zone |
| Letters zone | The last 3 to 30 letters (20) |
| Words zone | The last 2 to 30 words (10) |
| Voice | Off (default), or On, which downloads the speech model once (670 MB) |
| Layout | Space in the middle (default), space at the bottom |
| Key left of space | Comma (default), backspace, second space; only in the middle layout |
| Shift and backspace keys | Off (default), on; always there without a number row |
| Theme | Any of the themes above (Dusk by default) |
| Whole keyboard | 70% to 130% of the height (100%) |
| Letter keys | 70% to 130% (100%) |
| Number row | On (default), off; without it the digits are on the symbols and deleting by sliding and the cursor slide along the row are gone, so the shift and backspace keys are there instead; the emoji search needs it too |
| Number row height | 50% to 150% (100%) |
| Languages | The dictionaries to suggest in; ticking one downloads it |
In landscape the suggestion strip and the number row are left out to give the app room, and shift and backspace are keys.
hexkeys has no account, no ads and no trackers. It uses the network only to download the dictionaries, word statistics and speech model you ask for; everything you type and say stays on the phone.
Download the APK from the latest release, open it on your phone, then turn hexkeys on under Settings › System › Keyboard. Android 9 or newer.
The core is written in Rust and the Android shell in Kotlin. You need Rust with the aarch64-linux-android and x86_64-linux-android targets, cargo-ndk, the Android SDK with platform 36 and NDK 27.0.12077973, and Gradle 9.3.1.
cargo test --workspace # the core's tests
gradle -p android assembleDebug # builds the core for Android, then the APKThe APK lands in android/app/build/outputs/apk/debug/.
hexkeys builds on the work of others; the app lists all of them under Credits in the settings' menu.
- English dictionary: Android Open Source Project (Apache-2.0); other languages from Helium314/aosp-dictionaries, each under its own license
- Word statistics for autocorrect: the Leipzig Corpora Collection (CC BY), D. Goldhahn, T. Eckart, U. Quasthoff, Building Large Monolingual Dictionaries at the Leipzig Corpora Collection: From 100 to 200 Languages, LREC 2012
- Speech recognition: sherpa-onnx (Apache-2.0), ONNX Runtime (MIT), and NVIDIA's Parakeet TDT 0.6B v3 (CC BY 4.0)
- Emoji names: Unicode CLDR (Unicode-3.0)
- Icons: Material Symbols (Apache-2.0)
- Transliteration: anyascii (ISC)
hexkeys is free software under the GNU General Public License v3.0.


