Technical specifications
How CleverKeys works under the hood, feature by feature.
Implementation details, calibrated thresholds, code references, and test coverage. Each spec is paired with a user-facing wiki page.
Install, enable, and start typing.
First Time Setup - Technical Specification
Initial keyboard configuration flow including language pack download and preference initialization.
Installation - Technical Specification
CleverKeys distribution through F-Droid, GitHub, and Obtainium with per-ABI APK builds.
Swipe typing, autocorrect, emoji, special characters.
Autocorrect - Technical Specification
CleverKeys autocorrect is an adjacency-weighted dictionary scorer with a four-tier selection function. The scoring model uses physical keybo
Emoji - Technical Specification
Emoji keyboard implementation with suggestion bar-based search, category navigation, and recent history.
Neural Prediction - Technical Specification
Deep architectural reference for the ONNX neural swipe prediction pipeline (trajectory → encoder → beam-search decoder → vocabulary filter)
Smart Punctuation - Technical Specification
Smart punctuation automatically removes spaces before punctuation marks to attach them to the preceding word. As of v1.2.7, this behavior re
Special Characters - Technical Specification
Special character access through long-press popups, short swipe subkeys, and symbol keyboard layers.
Swipe Typing - Technical Specification
Neural swipe typing uses an ONNX transformer model with beam search to predict words from gesture paths.
User Dictionary - Technical Specification
The user dictionary system stores custom words with their original capitalization and applies this case to both tap and swipe predictions. T
8-direction swipes, circles, trackpoint mode.
Circle Gestures - Technical Specification
Planned feature for detecting circular finger movements to trigger undo/redo actions.
Cursor Navigation - Technical Specification
Spacebar-slider continuous cursor and discrete arrow-key navigation.
Full Trackpad Mode — Design Specification
Planned feature converting the entire keyboard surface into a virtual trackpad for cursor navigation. Design proposal in response to issue
Gesture System Overview - Technical Specification
Architectural overview of the multi-layered gesture recognition pipeline (short swipes, long swipes, circles, sliders) and the hasLeftStartingKey routing gatekeeper
Selection Delete - Technical Specification
Backspace swipe-and-hold joystick that selects text and deletes it on release.
Short Swipes - Technical Specification
Short swipe gesture detection for quick subkey access in 8 directions from any key.
TrackPoint Mode - Technical Specification
Joystick-style cursor control activated by holding a navigation key.
Per-key actions, extra keys, timestamp keys, themes.
Command Palette - Technical Specification
The command palette provides a searchable interface for quick access to keyboard actions, settings, and features. It's triggered by long-pre
Extra Keys - Technical Specification
Extra keys are additional keys placed on the bottom row alongside the spacebar, providing quick access to modifiers (Ctrl, Alt), navigation
Per-Key Actions — Technical Specification
Full short-swipe customization system covering all 8 directions per key with TEXT/COMMAND/KEY_EVENT/INTENT action types and 200+ command registry
Quick Settings Tile — Technical Specification
KeyboardTileService quick-settings tile for fast keyboard switcher access
Themes - Technical Specification
The theme system provides customizable color schemes for the keyboard, including built-in themes, custom color options, and system theme int
Timestamp Keys — Technical Specification
Customizable timestamp keys that insert formatted date/time strings via SimpleDateFormat patterns
Custom layouts, multi-language, profiles, language packs.
Adding Layouts - Technical Specification
The layout management system handles installing, configuring, and organizing keyboard layouts from built-in sources, language packs, and cus
Greek Language Support — Design Specification
Plan for Greek (el) word suggestions + dictionary via wordfreq, an "Import dictionary from file" feature, and (phase 2) swipe via transliteration. Issue
Language Packs - Technical Specification
Language packs are downloadable packages containing dictionaries, layouts, autocorrect rules, and neural model vocabularies for specific lan
Multi-Language Input - Technical Specification
The multi-language system enables typing in multiple languages with automatic detection, per-language dictionaries, and seamless prediction
Switching Layouts - Technical Specification
Layout switching handles transitions between installed keyboard layouts via gesture, button, or programmatic triggers, including visual feed
Appearance, input behavior, haptics, neural, accessibility.
Appearance Settings - Technical Specification
| Fact | Source File | Line(s) | Value |
Haptics Settings - Technical Specification
All facts in the [Haptics wiki page](../../settings/haptics.md) are sourced from:
Input Behavior Settings - Technical Specification
The input behavior system controls text processing, auto-capitalization, punctuation handling, and gesture sensitivity.
Neural Prediction Settings - Technical Specification
All facts in the [Neural Settings wiki page](../../settings/neural-settings.md) are sourced from:
Settings System Architecture - Technical Specification
Architectural overview of the CleverKeys settings system — Defaults singleton, Config, ConfigurationManager, and Material 3 Compose UI.
History, shortcuts, text selection.
Clipboard History - Technical Specification
The clipboard history system maintains a persistent store of copied content — text, images, videos, PDFs, and other media — with support for
Clipboard Privacy - Technical Specification
Password manager exclusion, Android 13+ IS_SENSITIVE handling, and media gating for the clipboard history system.
Text Selection - Technical Specification
Text selection integrates with Selection-Delete mode, TrackPoint navigation, and modifier key shortcuts to provide efficient text selection
URL Sanitization — Technical Specification
ClearURLs-format ruleset engine for stripping tracking parameters from clipboard URLs. Provider-aware, regex-based, monolithic toggles with custom-rules SAF loader.