BharatKey IME
Open-Source Android IME for Physical Keyboards with Windows-Compatible English (US) & Hindi InScript (Devanagari) Layouts
Practice Windows-style Hindi and English typing on your Android phone or tablet using a USB or Bluetooth physical keyboard.
---📖 About
BharatKey IME is an open-source Android Input Method Editor (IME) designed specifically for USB and Bluetooth physical keyboards.
The project was created to solve a simple but important problem:
Many students preparing for SSC, Railway, UPSSSC, and other government typing examinations do not own a laptop or desktop computer. However, most already have an Android phone or tablet.
By connecting an external keyboard, BharatKey IME transforms an Android device into a portable Windows-like typing workstation, allowing students to practice and take online typing tests without requiring a Windows PC.
Unlike most Android keyboards, BharatKey IME closely follows the Windows keyboard layout and character mapping, providing a familiar typing experience for users preparing for professional and government typing examinations.
Currently, BharatKey IME supports:
- 🇺🇸 English (US) Keyboard Layout
- 🇮🇳 Hindi InScript (Devanagari) Keyboard Layout
- ⌨️ Windows-Compatible Key Mapping
- 🔣 Alt-Code Support for Special Unicode Characters
- 📝 Unicode (Mangal) Hindi Typing
🎯 Purpose
BharatKey IME aims to make professional typing practice accessible to everyone.
It is designed for:
- SSC Typing Test Preparation
- Railway Recruitment Board (RRB) Typing Tests
- UPSSSC Typing Examinations
- Government Computer Operator Exams
- Hindi Unicode (Mangal) Typing Practice
- English Typing Practice
- Android Tablets with External Keyboards
- Students who want a Windows-like typing experience on Android
✨ Features
- ✅ Optimized for USB & Bluetooth Physical Keyboards
- ✅ Windows-Compatible Hindi InScript (Devanagari)
- ✅ English (US) Keyboard Layout
- ✅ Windows-Style Character Mapping
- ✅ Alt-Code Support
- ✅ Unicode (Mangal) Typing
- ✅ Fast & Lightweight Typing Engine
- ✅ Material Design UI
- ✅ Offline Operation
- ✅ Privacy First
- ✅ Fully Open Source
💡 Why BharatKey IME?
Most Android keyboards are designed for touch-screen typing.
They do not fully support the Windows Hindi InScript layout or key mapping required for government typing examinations.
BharatKey IME bridges this gap by providing a typing experience that closely matches Windows, helping users practice with confidence before taking real typing tests.
📥 Download & Usage
Install the App
- Download the latest APK from the Releases page.
- Install the APK on your Android phone or tablet.
- Connect a USB or Bluetooth physical keyboard.
- Open Settings → System → Languages & Input → On-screen Keyboard → Manage Keyboards.
- Enable BharatKey IME.
- Select BharatKey IME as your current keyboard.
Using BharatKey IME
- 🌐 Press Alt + Shift to switch between English (US) and Hindi InScript (Devanagari).
- ⌨️ Type using your connected physical keyboard.
- 🔣 Use supported Alt Codes to enter special Unicode characters.
- 📝 Practice typing just like you would on a Windows computer.
«Note: BharatKey IME is designed for external physical keyboards. Touch-screen typing is not the primary focus of this project.»
📱 Screenshots
---📂 Project Structure
BharatKeyIME/ ├── app/ ├── docs/ ├── .github/ ├── README.md ├── LICENSE ├── CHANGELOG.md └── CONTRIBUTING.md
⚙️ Requirements
- Android Studio Narwhal or newer
- Android SDK 35+
- Kotlin
- JDK 17
🚀 Building from Source
Clone the repository:
git clone https://github.com/irashad1707/BharatKeyIME.git
Then:
- Open the project in Android Studio.
- Sync Gradle.
- Build and run the application.
📦 Package Name
com.irashad1707.bharatkeyime
🛣️ Roadmap
Current
- English (US) Keyboard
- Hindi InScript (Devanagari)
- Windows-Compatible Key Mapping
- Alt-Code Support
- Physical Keyboard Optimization
Planned
- Marathi
- Bengali
- Gujarati
- Punjabi
- Tamil
- Telugu
- Kannada
- Malayalam
- Odia
- Sanskrit
- Material You
- Clipboard Manager
- Voice Typing
- AI-Assisted Typing
🤝 Contributing
Contributions, bug reports, feature requests, and pull requests are welcome.
Whether you are fixing bugs, improving documentation, or adding support for more Indian languages, your contributions are appreciated.
🐞 Bug Reports
Please include the following information when reporting an issue:
- Device Model
- Android Version
- Physical Keyboard Model
- Steps to Reproduce
- Expected Behavior
- Actual Behavior
- Screenshots (if applicable)
📜 License
This project is licensed under the MIT License.
See the LICENSE file for more information.
👨💻 Author
Irashad Ahamad
GitHub: https://github.com/irashad1707
⭐ Support
If BharatKey IME helps your typing practice:
⭐ Star this repository
🍴 Fork the project
💬 Report bugs and suggest new features
📢 Share it with students preparing for government typing examinations.
Made with ❤️ to make Windows-compatible Hindi and English typing accessible on every Android device.


