Features: - 200+ features for everyday users, developers, writers, creators - 11 specialized engines (Prediction, Swipe, Autocorrect, Code, Writer, etc.) - 50+ user preferences with DataStore - 9 database entities with Room - ML Kit integration for language detection & translation - 10 built-in themes (Light, Dark, Material You, Nord, Monokai, etc.) - Full gesture system with 13 types - Voice input, haptic feedback, sound effects - Context-aware (terminal, code, writing modes) - Privacy-first with incognito mode - Comprehensive documentation Architecture: - Clean Architecture with MVVM - Kotlin coroutines & Flow - Room database - InputMethodService implementation - Production-ready backend (~3,500 lines) Missing: UI implementation (KeyboardView, Settings screens) Next: Build UI layer to make keyboard visible Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
438 lines
14 KiB
Markdown
438 lines
14 KiB
Markdown
# OmniKey Feature List
|
||
|
||
## For Everyday Users
|
||
|
||
### Core Input
|
||
- Swipe/glide typing with gesture trails
|
||
- Multi-touch support
|
||
- Voice-to-text with ML Kit
|
||
- Handwriting recognition
|
||
- Haptic feedback (customizable intensity)
|
||
- Key press sounds (normal, mechanical, silent)
|
||
- Long-press alternate characters (à, é, ñ, etc.)
|
||
- Symbol/number switching
|
||
- Emoji picker with search & recents
|
||
- GIF/sticker integration
|
||
- Kaomoji picker
|
||
|
||
### Smart Typing
|
||
- Autocorrect (adjustable aggressiveness)
|
||
- Autocomplete with 3 suggestions
|
||
- Next-word prediction (context-aware)
|
||
- Grammar checking
|
||
- Spell checking
|
||
- Personal dictionary
|
||
- Text expansion/shortcuts (omw → On my way!)
|
||
- Clipboard history (last 100)
|
||
- Smart paste (auto-format phone, email, URLs)
|
||
- Auto-capitalization
|
||
- Auto-punctuation
|
||
- Double-space for period
|
||
|
||
### Layout & Customization
|
||
- Multiple layouts (QWERTY, AZERTY, Dvorak, Colemak, QWERTZ)
|
||
- Split keyboard (tablets)
|
||
- One-handed mode (slide left/right)
|
||
- Floating keyboard (movable, resizable)
|
||
- Compact mode
|
||
- Key height adjustment
|
||
- Keyboard scaling (50%-150%)
|
||
- Theme editor with unlimited custom themes
|
||
- RGB lighting effects
|
||
- Custom key borders/spacing
|
||
- Font customization
|
||
- Background images with blur/dim
|
||
|
||
### Languages
|
||
- 100+ language support
|
||
- Multi-language without switching
|
||
- Auto language detection
|
||
- Bilingual predictions
|
||
- Script switching (Latin/Cyrillic/Arabic/etc)
|
||
- RTL language support
|
||
- Spacebar swipe to switch languages
|
||
|
||
### Gestures
|
||
- Cursor control via spacebar swipe
|
||
- Swipe up from backspace = delete word
|
||
- Swipe left/right on keyboard = undo/redo
|
||
- Two-finger swipe = select text
|
||
- Long-press space = language menu
|
||
- Double-tap shift = caps lock
|
||
- Pinch to resize keyboard
|
||
- Custom gesture mappings
|
||
|
||
### Privacy & Security
|
||
- Incognito mode (no learning/history)
|
||
- Offline mode (no network)
|
||
- Encrypted local storage
|
||
- Auto-clear clipboard (configurable)
|
||
- Biometric clipboard protection
|
||
- No data collection toggle
|
||
- Per-app incognito
|
||
|
||
### Accessibility
|
||
- High contrast themes
|
||
- Large keys mode
|
||
- Voice feedback (TalkBack)
|
||
- Braille keyboard
|
||
- Switch access support
|
||
- One-handed modes
|
||
- Sticky keys
|
||
- Adjustable key spacing
|
||
|
||
---
|
||
|
||
## For Developers & Programmers
|
||
|
||
### Code Input
|
||
- **Dedicated coding layout** - Quick access to: `{}[]()<>\/|&*+-=;:"'`
|
||
- **Symbol layer optimization** - Frequently used symbols on primary layer
|
||
- **Backtick/tilde easy access** - Long-press on key
|
||
- **Bracket/paren auto-pairing** - Type `{` auto-inserts `}` and places cursor between
|
||
- **Smart indent** - Auto-indent after `{` or `:`
|
||
- **Tab key** - Configurable tab size (2, 4, 8 spaces or \t)
|
||
- **Arrow keys** - Virtual or swipe-based for precise cursor control
|
||
- **Escape key** - Long-press or dedicated key
|
||
- **Function keys** - F1-F12 accessible
|
||
- **Multi-line paste** - Preserves indentation
|
||
|
||
### Code Completion
|
||
- **Language-aware autocomplete** - Detects context (Python, JS, Java, etc.)
|
||
- **Snippet expansion** - `for` → full for-loop template
|
||
- **Variable/function recall** - Suggests recently typed identifiers
|
||
- **Common patterns** - `if`, `switch`, `try/catch`, imports
|
||
- **API/library completions** - Common functions (console.log, print, etc.)
|
||
- **Regex builder** - Visual regex construction
|
||
- **Git commands** - Quick access to common git CLI commands
|
||
|
||
### Terminal Mode
|
||
- **Terminal-optimized layout** - Ctrl, Alt, Esc, Tab prominent
|
||
- **Command history** - Recalls recent commands
|
||
- **Path completion** - File/directory autocomplete
|
||
- **Sudo shortcuts** - Quick "sudo !!" insertion
|
||
- **Pipe/redirect symbols** - `|`, `>`, `>>`, `<`, `2>&1` easy access
|
||
- **Escape sequences** - `\n`, `\t`, `\r`, `\e` quick insert
|
||
- **Common flags** - `-v`, `--help`, `-rf` suggestions
|
||
|
||
### Developer Tools
|
||
- **JSON formatter** - Paste JSON, auto-format
|
||
- **Base64 encode/decode** - Select text, convert
|
||
- **URL encode/decode** - Quick conversion
|
||
- **Hash generator** - MD5, SHA256 from text
|
||
- **UUID generator** - Insert UUID v4
|
||
- **Lorem ipsum** - Quick placeholder text
|
||
- **Color picker** - Insert hex/rgb colors
|
||
- **Timestamp converter** - Unix to human-readable
|
||
|
||
### Git Integration
|
||
- **Commit message templates** - Conventional commits format
|
||
- **Branch name suggestions** - feature/, bugfix/, hotfix/
|
||
- **Issue references** - #123 quick insert
|
||
- **Co-author lines** - Template for pair programming
|
||
|
||
### API/Web Dev
|
||
- **HTTP method shortcuts** - GET, POST, PUT, DELETE, PATCH
|
||
- **Status codes** - Quick reference (200, 404, 500, etc.)
|
||
- **Content-type headers** - application/json, etc.
|
||
- **cURL command builder** - Template with placeholders
|
||
- **JWT decoder** - Paste token, decode payload
|
||
|
||
### Text Processing
|
||
- **Case conversion** - camelCase, snake_case, kebab-case, PascalCase, UPPER_CASE
|
||
- **Line sorting** - Alphabetical, length, reverse
|
||
- **Duplicate line removal**
|
||
- **Line numbering**
|
||
- **Column extraction** - CSV/TSV manipulation
|
||
- **Whitespace cleanup** - Trim, normalize
|
||
|
||
### Documentation
|
||
- **JSDoc/Docstring templates** - Language-aware
|
||
- **Markdown shortcuts** - `#`, `**`, ` `` `, `[]()`, `- [ ]`
|
||
- **Comment blocks** - /* */, //, #, <!-- -->
|
||
- **ASCII art generator** - For banner comments
|
||
- **Table generators** - Markdown/ASCII tables
|
||
|
||
---
|
||
|
||
## For Writers & Content Creators
|
||
|
||
### Writing Assistance
|
||
- **Grammar checking** - Real-time with ML
|
||
- **Style suggestions** - Clarity, conciseness
|
||
- **Thesaurus** - Synonym suggestions on long-press
|
||
- **Word definitions** - Built-in dictionary
|
||
- **Readability score** - Flesch-Kincaid grade level
|
||
- **Word count** - Real-time counter in status bar
|
||
- **Character count** - With/without spaces
|
||
- **Reading time estimate** - Based on word count
|
||
- **Sentence length analysis** - Flags overly long sentences
|
||
|
||
### Text Expansion
|
||
- **Smart quotes** - "text" → "text" (curly quotes)
|
||
- **Em/en dashes** - `--` → —, `-` → –
|
||
- **Ellipsis** - `...` → …
|
||
- **Common fractions** - 1/2 → ½
|
||
- **Copyright symbols** - (c) → ©, (tm) → ™
|
||
- **Degree symbol** - Quick access to °
|
||
- **Accent insertion** - e+' → é (compose key style)
|
||
|
||
### Markdown
|
||
- **Full markdown toolbar** - Headers, bold, italic, lists, links
|
||
- **Live preview** - See formatted text
|
||
- **Link insertion** - Paste URL, auto-format `[](url)`
|
||
- **Image insertion** - `` template
|
||
- **Task lists** - `- [ ]` checkbox creation
|
||
- **Table creator** - Visual table builder
|
||
- **Footnote support** - `[^1]` insertion
|
||
|
||
### Creative Writing
|
||
- **Character name database** - Store character names for quick access
|
||
- **Location database** - Store settings/locations
|
||
- **Scene templates** - Novel/screenplay format
|
||
- **Dialogue formatting** - Auto-quotes and attribution
|
||
- **Time/date stamping** - Journal entries
|
||
- **Word of the day** - Vocabulary building
|
||
|
||
### Content Structure
|
||
- **Outline mode** - Hierarchical text organization
|
||
- **Heading navigation** - Jump between sections
|
||
- **Folding** - Collapse sections
|
||
- **Bookmarks** - Mark important positions
|
||
- **Annotations** - Side notes without editing main text
|
||
|
||
### Formatting
|
||
- **Title case converter** - Proper headline capitalization
|
||
- **Sentence case** - Fix ALL CAPS
|
||
- **Smart capitalization** - Names, places
|
||
- **Quote normalization** - Standardize quote styles
|
||
- **Whitespace cleanup** - Remove extra spaces/lines
|
||
|
||
---
|
||
|
||
## For Translators & Multilingual Users
|
||
|
||
### Translation
|
||
- **Inline translation** - Select text, translate
|
||
- **Multi-language prediction** - Mix languages freely
|
||
- **Bilingual dictionaries** - Word lookup in both directions
|
||
- **Phrase book** - Common phrases per language
|
||
- **False friends detection** - Warn about similar but different words
|
||
|
||
### Language Learning
|
||
- **Vocabulary builder** - Save new words
|
||
- **Conjugation helper** - Verb forms
|
||
- **Gender indicators** - For gendered languages
|
||
- **Pronunciation guide** - IPA symbols
|
||
- **Practice mode** - Type in target language only
|
||
|
||
---
|
||
|
||
## For Social Media Managers
|
||
|
||
### Social Features
|
||
- **Hashtag suggestions** - Based on content
|
||
- **@ mention autocomplete** - From contacts/recent
|
||
- **Emoji search** - By keyword (heart, laugh, etc.)
|
||
- **Emoji combinations** - Emoji kitchen
|
||
- **Trending emoji** - What's popular
|
||
- **Kaomoji library** - ¯\_(ツ)_/¯, (╯°□°)╯︵ ┻━┻
|
||
|
||
### Templates
|
||
- **Bio templates** - Instagram, Twitter, LinkedIn
|
||
- **CTA templates** - Call-to-action phrases
|
||
- **Engagement templates** - "Tell me in the comments"
|
||
- **Scheduling notation** - Mark posts with dates
|
||
|
||
### Analytics
|
||
- **Character limits** - Twitter (280), SMS (160)
|
||
- **Optimal post length** - Platform-specific
|
||
- **Hashtag count** - Warn if too many
|
||
|
||
---
|
||
|
||
## For Data Entry Professionals
|
||
|
||
### Numeric Input
|
||
- **Numeric keypad mode** - Calculator-style layout
|
||
- **Decimal alignment** - Automatic decimal point
|
||
- **Thousands separator** - 1,000,000 auto-format
|
||
- **Currency symbols** - $, €, ¥, £ quick access
|
||
- **Percentage** - Auto % symbol
|
||
- **Math operators** - +, -, ×, ÷, =
|
||
- **Parentheses** - For negative numbers
|
||
|
||
### Form Filling
|
||
- **Field type detection** - Email, phone, address auto-format
|
||
- **Saved entries** - Recent addresses, emails
|
||
- **Credit card format** - XXXX XXXX XXXX XXXX spacing
|
||
- **Date formats** - MM/DD/YYYY, DD/MM/YYYY, ISO
|
||
- **Phone formats** - Country-specific (US: (555) 555-5555)
|
||
- **Postal code** - Format per country
|
||
|
||
### Bulk Entry
|
||
- **Copy down** - Repeat last entry
|
||
- **Sequence generation** - 1, 2, 3... or Mon, Tue, Wed...
|
||
- **Template fields** - First Name, Last Name, etc.
|
||
- **Validation** - Check format before submit
|
||
|
||
---
|
||
|
||
## For Gamers
|
||
|
||
### Gaming Mode
|
||
- **WASD layout** - Movement keys prominent
|
||
- **Quick chat** - Common phrases (gg, glhf, lol)
|
||
- **Emote shortcuts** - Game-specific emotes
|
||
- **Reduced latency** - Optimized touch response
|
||
- **Minimal UI** - More screen real estate
|
||
- **Custom macros** - Combo inputs
|
||
|
||
---
|
||
|
||
## For Accessibility Users
|
||
|
||
### Motor Impairments
|
||
- **Sticky keys** - Press modifier keys sequentially
|
||
- **Large touch targets** - Extra-large key size
|
||
- **Dwell clicking** - Hover to type
|
||
- **Switch control** - External switch support
|
||
- **Voice control** - Full voice navigation
|
||
- **Morse code input** - Two-key typing
|
||
|
||
### Visual Impairments
|
||
- **High contrast** - Black on white or reverse
|
||
- **Large text** - Up to 48pt
|
||
- **Voice feedback** - Reads keys as typed
|
||
- **Braille support** - External display
|
||
- **Screen reader** - Full TalkBack integration
|
||
- **Haptic feedback** - Enhanced vibration patterns
|
||
|
||
### Cognitive Accessibility
|
||
- **Simplified mode** - Large keys, simple layout
|
||
- **Word prediction** - Next word suggestions
|
||
- **Picture-based input** - Symbol keyboard
|
||
- **Reading guide** - Highlight current word
|
||
- **Focus mode** - Reduce distractions
|
||
|
||
---
|
||
|
||
## For Medical/Legal Professionals
|
||
|
||
### Medical
|
||
- **Medical terminology** - Specialized dictionary
|
||
- **Prescription templates** - Rx format
|
||
- **Dosage calculator** - mg/kg, ml/hr
|
||
- **Medical abbreviations** - qd, bid, tid, prn
|
||
- **ICD/CPT codes** - Quick reference
|
||
- **SOAP note template** - Subjective, Objective, Assessment, Plan
|
||
|
||
### Legal
|
||
- **Legal citations** - Bluebook format
|
||
- **Case law references** - v., et al., supra
|
||
- **Section symbols** - §, ¶
|
||
- **Latin phrases** - ipso facto, in re, ex parte
|
||
- **Contract templates** - Whereas, hereinafter
|
||
|
||
---
|
||
|
||
## For Musicians
|
||
|
||
### Music Notation
|
||
- **Music symbols** - ♩, ♪, ♫, ♬, ♭, ♮, ♯
|
||
- **Chord notation** - C, Cm, C7, Cmaj7
|
||
- **Lyrics formatting** - Verse/chorus templates
|
||
- **Time signatures** - 4/4, 3/4, 6/8
|
||
- **Tempo markings** - Allegro, Andante, etc.
|
||
|
||
---
|
||
|
||
## For Math/Science Users
|
||
|
||
### Mathematical
|
||
- **Math symbols** - ∑, ∫, ∂, ∞, ≈, ≠, ≤, ≥, ±, √, ∛, π
|
||
- **Superscript/subscript** - x², H₂O
|
||
- **Greek letters** - α, β, γ, δ, θ, λ, μ, σ, ω
|
||
- **Set notation** - ∈, ∉, ∪, ∩, ⊂, ⊃
|
||
- **Logic symbols** - ∧, ∨, ¬, ∀, ∃
|
||
- **Arrows** - →, ←, ↔, ⇒, ⇐, ⇔
|
||
|
||
### Scientific
|
||
- **Chemical formulas** - Auto-subscript numbers
|
||
- **Units** - m/s², kg/m³, °C, °F, K
|
||
- **Scientific notation** - 1.23×10⁵
|
||
- **Chemical equations** - + → ⇌ balancing
|
||
|
||
---
|
||
|
||
## For Business Professionals
|
||
|
||
### Productivity
|
||
- **Meeting templates** - Agenda, action items
|
||
- **Email signatures** - Multiple profiles
|
||
- **Professional greetings** - Dear, Hello, Hi [Name]
|
||
- **Sign-offs** - Best regards, Sincerely, etc.
|
||
- **Business abbreviations** - FYI, ASAP, EOD, COB
|
||
- **Calendar notation** - Time zones, date formats
|
||
|
||
### Financial
|
||
- **Spreadsheet functions** - SUM, AVERAGE, IF
|
||
- **Financial symbols** - $, €, ¥, £, ₹, ₽, ₿
|
||
- **Accounting notation** - (1,000) for negative
|
||
- **Percentage calculations** - Quick % converter
|
||
|
||
---
|
||
|
||
## Technical Features (All Users Benefit)
|
||
|
||
### Performance
|
||
- **Low latency** - <10ms touch response
|
||
- **Efficient memory** - <50MB RAM usage
|
||
- **Fast startup** - <100ms load time
|
||
- **Smooth animations** - 60fps scrolling
|
||
- **Background processing** - Async learning
|
||
|
||
### Machine Learning
|
||
- **On-device ML** - No cloud required
|
||
- **Custom models** - Train on your writing style
|
||
- **Context awareness** - Different suggestions per app
|
||
- **Personalized predictions** - Learn over time
|
||
- **Adaptive layouts** - Bigger keys for often-pressed
|
||
|
||
### Sync & Backup
|
||
- **Cloud sync** - Optional, encrypted
|
||
- **Export/import** - Settings, themes, dictionary
|
||
- **Backup reminders** - Don't lose customizations
|
||
- **Multi-device** - Sync across phones/tablets
|
||
|
||
### Extensibility
|
||
- **Plugin system** - Third-party extensions
|
||
- **Theme marketplace** - Download/share themes
|
||
- **Dictionary imports** - Add specialized vocabularies
|
||
- **API access** - For power users
|
||
- **Macro recording** - Record keystroke sequences
|
||
|
||
---
|
||
|
||
## Quality of Life
|
||
|
||
### Intelligent Features
|
||
- **App-specific settings** - Different behavior per app
|
||
- **Time-based profiles** - Day/night modes auto-switch
|
||
- **Battery optimization** - Reduce features on low battery
|
||
- **Network awareness** - Disable cloud features offline
|
||
- **Error recovery** - Never lose typed text
|
||
|
||
### Customization
|
||
- **Everything is optional** - Disable any feature
|
||
- **Granular controls** - Fine-tune every aspect
|
||
- **Preset profiles** - Quick switch (coder, writer, gamer)
|
||
- **A/B testing** - Try settings, revert easily
|
||
- **Quick settings** - Toggle common options from keyboard
|
||
|
||
### Help & Learning
|
||
- **Interactive tutorial** - First-run experience
|
||
- **Gesture hints** - Show available swipes
|
||
- **Feature discovery** - Highlight unused features
|
||
- **Tooltips** - Explain every option
|
||
- **Searchable help** - Find any setting quickly
|