A native Android system-level Marathi keyboard (IME) for Android 8+ (API 26).
- English QWERTY layout
- Marathi InScript layout (IS 16350, Devanagari)
- Marathi transliteration (roman → Devanagari)
- Marathi dictionary with autocomplete suggestions
- Emoji picker driven by the full Unicode emoji dataset (3,700+ sequences) with search, swipeable categories, Recently Used, and skin-tone variants
- iOS-style visual design
The InScript keyboard auto-attaches dependent vowel signs (matras) to consonants:
- क + ि → कि
- क + ी → की
- क + ् + र → क्र (halant / conjuncts)
- त + ् + र → त्र
- क + ् + ष → क्ष
- ज + ् + ञ → ज्ञ
Vowel keys show independent vowels; after a consonant they become the matching matra (का, कि, की...).
The emoji gallery is generated from the official Unicode emoji data files
(emoji-test.txt) and CLDR annotations, producing assets/emoji/emoji_data.json.
Regenerate with tools/gen_emoji_data.py when Unicode releases new emoji.
./gradlew assembleDebugInstall on a connected device with:
adb install -r app/build/outputs/apk/debug/app-debug.apk- Kotlin + Android Views (custom Canvas-drawn keyboard)
- Clean Architecture + MVVM
- AndroidX emoji2 (bundled Noto Color Emoji font) for modern emoji on older devices