AnKeyboard is a modern, minimalist smart keyboard for Android with intelligent word learning, real-time translation, multi-language support, and Material Design 3 aesthetics.
- Smart Learning: Learns from your typing habits and predicts words
- Autocorrect: Intelligent auto-correction with visual suggestions
- Emoji Picker: Complete emoji collection with quick access (50+ emojis)
- Text Editing: Full editing toolbar with cut, copy, paste, select all
- Gesture Typing:
- Swipe left: Delete word
- Swipe right: Add space
- Swipe down: Hide keyboard
- Swipe up: Show emoji picker
- Google Translate Integration: Real-time text translation using MyMemory API
- 7 Languages Supported:
- Indonesian (Bahasa Indonesia)
- English
- Spanish (EspaΓ±ol)
- French (FranΓ§ais)
- German (Deutsch)
- Chinese (δΈζ)
- Japanese (ζ₯ζ¬θͺ)
- Modern Design: Material Design 3 with clean, minimalist interface
- Dark Mode: Full dark theme support with auto-detection
- Responsive Layout: Optimized for all screen sizes
- Smooth Animations: Polish and feedback with Material transitions
- Multi-Language UI: Select your preferred interface language
- Theme Selection: Light, Dark, or Auto (system) theme
- Sound & Vibration: Toggle keyboard feedback options
- Advanced Settings: Customize learning and autocorrect behavior
- Android 5.0 (API 21) or higher
- 50MB free storage space
-
Download & Install
- Download the APK or clone the repository
- Install the app on your Android device
-
Enable Keyboard
- Open Settings β Language & input β Virtual Keyboard
- Search for "AnKeyboard"
- Toggle the enable switch
-
Set as Default
- Open AnKeyboard app
- Click "Select AnKeyboard" button
- Choose AnKeyboard from the keyboard picker
-
Configure Settings
- Long-press any text field and select "AnKeyboard"
- Or open the AnKeyboard app and adjust settings in "Settings" tab
Open the AnKeyboard app and navigate to Settings to:
- Change UI language (7 languages supported)
- Select keyboard language
- Enable/disable translation feature
- Choose translation target language
- Light Mode: Clean white interface (default)
- Dark Mode: Dark background with light text
- Auto Mode: Follows system settings
- Enable/disable sound feedback
- Enable/disable vibration feedback
- Control word learning (Learning)
- Control autocorrect suggestions
- Adjust translation behavior
- Learns from every word you type
- Maintains frequency counts for smarter predictions
- Shows top suggestions in real-time
- Auto-suggests based on typing patterns
- Powered by MyMemory Translate API (free, no API key needed)
- Translates as you type (when enabled)
- Supports all UI languages for translation
- Asynchronous translation to avoid latency
- Left Swipe: Delete entire word (50 characters max)
- Right Swipe: Add space character
- Down Swipe: Hide keyboard
- Up Swipe: Show emoji picker
- Setup buttons for easy first-time configuration
- Test input field to try keyboard features
- Language selector (4-language quick toggle)
- Theme toggle (Light/Dark/Auto)
- Translation settings panel
- Clean and minimal key layout
- Real-time word suggestions
- Candidate bar with autocorrect suggestions
- Full QWERTY layout support
- No Cloud Sync: All data stored locally
- No Collection: User typing is never sent to servers
- Translation Only: Only text sent for translation (when enabled)
- Open Source: LGPL-3.0 licensed code
- No Tracking: No analytics or tracking code
- Android SDK 34
- Jetpack (AppCompat, Preferences, ConstraintLayout)
- Material Design 3
- OkHttp 4 for networking
- Retrofit 2 for API calls
- Gson for JSON parsing
AnKeyboard/
βββ app/
β βββ src/
β β βββ main/
β β β βββ java/com/ankeyboard/app/
β β β β βββ MainActivity.java (Setup & Settings)
β β β β βββ AnKeyboardService.java (Core Keyboard)
β β β β βββ SettingsActivity.java (Advanced Settings)
β β β β βββ LanguageManager.java (Language & Theme)
β β β β βββ TranslateManager.java (Translation API)
β β β β βββ LearningDictionary.java (Word Learning)
β β β βββ res/
β β β β βββ layout/ (UI Layouts)
β β β β βββ drawable/ (Icons & Shapes)
β β β β βββ values/ (Strings, Colors, Arrays)
β β β β βββ values-xx/ (Multilingual strings)
β β β β βββ xml/ (Keyboard layouts & preferences)
β β β βββ AndroidManifest.xml
β β βββ build.gradle
β βββ settings.gradle
βββ build.gradle
βββ README.md
# Clone the repository
git clone https://github.com/AnerysRynz/AnKeyboard.git
cd AnKeyboard
# Build the project
gradle build
# Install on device
gradle installDebug- Ensure keyboard is enabled in Settings β Language & input β Virtual Keyboard
- Check "Enable AnKeyboard" toggle is ON
- Restart the device
- Enable translation in AnKeyboard settings
- Check internet connection
- Ensure target language is selected
- MyMemory API should be accessible from your region
- Enable "Learning" in advanced settings
- Type longer words (minimum 2 characters)
- Words are saved automatically
- Clear app cache: Settings β Apps β AnKeyboard β Storage β Clear Cache
- Update to latest version
- File an issue on GitHub with crash logs
// Translate text to target language
String translated = TranslateManager.translate(text, "es");// Get/Set language preferences
LanguageManager manager = new LanguageManager(context);
manager.setUILanguage("id");
manager.setTranslateLanguage("en");
manager.setTheme("dark");// Learn new word
LearningDictionary brain = new LearningDictionary(context);
brain.learnWord("keyboard");
// Get predictions
List<String> suggestions = brain.getPredictions("key");AnKeyboard is released under the GNU Lesser General Public License v3.0 (LGPL-3.0).
Copyright (C) 2026 AnerysRynz
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For issues, feature requests, or questions:
- Open an issue on GitHub
- Check existing issues for solutions
- For security issues, please email directly
- Modern Material Design 3 UI
- Smart word learning system
- Google Translate integration
- Multi-language support (7 languages)
- Dark mode with auto-detection
- Full text editing features
- Emoji picker with 50+ emojis
- Gesture typing support
- Comprehensive settings panel
- LGPL-3.0 license
- Cloud sync for learned words
- More emoji categories
- Custom dictionary support
- Gesture customization
- Keyboard themes
- Haptic feedback improvements
- Voice input integration
- Swipe keyboard layout option
Made with β€οΈ by AnerysRynz
Contributions are very welcome! Please create an issue or pull request.
- AnerysRynz - Main Developer
Developed with β€οΈ using Android Studio