• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A privacy aware versatile keyboard for Android, supporting 23 languages and 60 layouts. Mirror of original GitLab repository - https://gitlab.com/indicproject/indic-keyboard

Indic Keyboard

icon-image

Indic Keyboard is a versatile keyboard for Android users who wish to use Indic and Indian languages to type messages, compose emails and generally prefer to use them in addition to English on their phone. You can use this application to type anywhere in your phone that you would normally type in English. It currently supports 23 languages and 54 layouts.

Download

Get it on Google Play Get it on F-Droid

Will my phone support it ?

Indic keyboard supports Android version 4.1 and above (Jellybean, Kitkat and Lollipop). If you can see your language in its native script below you should be able to install and use it.

Some phones may not support all the languages listed since the phone's maker shipped fonts only for some of these languages. Even then, rendering for some of the languages is not perfect on Android

What languages (and layouts) are supported ?

  • Assamese Keyboard (অসমীয়া) - Inscript, Transliteration
  • Arabic Keyboard (العَرَبِيةُ‎‎)
  • Bengali Keyboard (বাংলা)- (Probhat, Avro, Inscript, Compact
  • Burmese Keyboard (ဗမာ) xkb
  • English
  • Gujarati Keyboard (ગુજરાતી) - Phonetic, Inscript, Transliteration
  • Hindi Keyboard (हिन्दी)- Inscript, Transliteration
  • Kannada Keyboard (ಕನ್ನಡ) - Phonetic, Inscript, Transliteration (Baraha), Compact, Anysoft)
  • Kashmiri Keyboard (کأشُر) - Inscript, Transliteration
  • Malayalam Keyboard (മലയാളം) - Phonetic, Inscript, Transliteration (Mozhi), Swanalekha, Mobile Inscript
  • Manipuri Keyboard / Methei Keyboard (মৈতৈলোন্) - Inscript
  • Maithili Keyboard (मैथिली) - Inscript
  • Marathi Keyboard (मराठी) - Transliteration
  • Mon Keyboard (ဘာသာ မန်;)
  • Nepali Keyboard (नेपाली) Phonetic, Traditional, Transliteration, Inscript
  • Oriya Keyboard (ଓଡ଼ିଆ) - Inscript, Transliteration, Lekhani
  • Punjabi Keyboard (ਪੰਜਾਬੀ) Phonetic, Inscript, Transliteration
  • Sanskrit Keyboard (संस्कृत) Transliteration
  • Santali Keyboard (Devanagari script)-(संताली) Inscript
  • Sinhala Keyboard / Sinhalese (සිංහල) Transliteration
  • Tamil Keyboard (தமிழ்) - Tamil-99, Inscript, Phonetic, Compact, Transliteration
  • Telugu Keyboard (తెలుగు) - Phonetic, Inscript, Transliteration, KaChaTaThaPa, Compact
  • Urdu Keyboard (اردو) - Navees, Transliteration

License

Apache License, Version 2.0

How do I enable it ?

Indic keyboard has a wizard that will walk you through the process of setting it up so that you can use it comfortably.

I was using the older version, what happened to my settings ?

Since the code base was updated, you'd have to configure your preferred language again.

  • Click on Settings -> Language & Input
  • Tap on "Set up input methods".
  • Tap on the gear icon next to Indic Keyboard.
  • Tap on "Languages", uncheck "User system language" and choose your language and layout from the list.

Why is there a warning about "collecting data"?

This warning message is a part of the Android operating system. It will appears whenever you try to enable a third party keyboard. We don't collect any data.

What is a keyboard layout ?

Indic keyboard provides multiple "keyboard layouts". This means that you will have different ways to type in your native language.

Transliteration allows you to type out words using English characters, but will automatically transform the words to your native language. For example, if you type "namaste" in English while using Devanagari transliteration keyboard, it will transform it to नमस्ते correctly.

Inscript layout is the standardized keyboard that Government of India came up with to cater for the majority of the languages in India. We support the full specification, and if you are already familiar with Inscript on your Desktop, it will work on the phone too.

Phonetic keyboard is similar to Transliteration scheme - you can type what the words sound like using English characters and it will be automatically transformed into your language.

Compact Keyboard allows to type Indian languages without the shift key. You can long press on the letters to get more options.

Other layouts are specific to the languages - do try them out.

HOWTO Build

  1. Install gradle, Android Support Repository, SDK and other usual android stuffs,
    1. Download the necessary tools from https://developer.android.com/studio/index.html and install them. Also set the necessary environment variables like ANDROID_HOME
    2. You can optionally use the development environment provided as a Docker image which has all the necessary tools bundled in it
      1. Pull the image using the command docker pull registry.gitlab.com/smc/indic-keyboard:dev
      2. Run bash on it using docker run -it registry.gitlab.com/balasankarc/indic-keyboard:dev bash
  2. git clone --recursive [email protected]:indicproject/indic-keyboard.git
  3. build jni lib cd native/jni && ndk-build -e "APP_ABI=armeabi-v7a" -C ./
  4. cd java
  5. gradle assembleDebug to build the package.

Supporters

Government of India's Department of IT R & D project undertaken by ICFOSS funded the implementation of Mobile Compact Layout and Lollipop AOSP support. Another small aid from ICFOSS via Kerala Govt Sources enabled addition of Swanalekha Layout (beta) and maintenance and updates on existing Malayalam Layouts.

Kannada Anysoft keyboard layout was funded via Bounty Source by Thejesh GN

Contributions and Credits

Jishnu Mohan is the founder and maintainer.

Anoop P Contributed Swanalekha Layout(beta) and converted java-morelangs module to an Android library.

Sridhar Contributed Kannada Anysoft Keyboard layout.

Hiran Venugopalan contributed Graphic Assets for the project and helped with re-branding 2.0 version.

Anivar Aravind helped with project management.

Indic Project community members (Akshay, Balasankar, Ashik, Santhosh ) contributed documentation.

Many keyboard layouts were adapted from the jquery.ime project of Wikimedia Foundation. They were contributed by volunteers.

Akshy contributed in layout bug fixes and in tooling.

Some icons from from FontAwesome, they are in Creative Commons Attribution 4.0 International license

Also thank LineageOS, Openboard, and Simple-Keyboard some changes are taken/adopted from these keyboards

TODO

More Repositories

1

mlmorph

Malayalam Morphological Analyzer using Finite State Transducer
Lex
58
star
2

manjari

Manjari Malayalam typeface
Makefile
30
star
3

Chilanka

Chilanka handwriting style Malayalam font
HTML
28
star
4

smc

Swathanthra Malayalam Computing repository; Visit http://www.smc.org.in for more info.
HTML
23
star
5

swanalekha

Swanalekha input method
JavaScript
20
star
6

corpus

Malayalam Corpus by Swathanthra Malayalam Computing
sed
18
star
7

payyans-go

ASCII <-> Unicode conversion library
JavaScript
14
star
8

fonts

SMC Fonts
Makefile
13
star
9

grandham

Bibliography Data project
Ruby
10
star
10

msc

Malayalam Speech Corpus
Jupyter Notebook
9
star
11

silpa

Silpa
Python
9
star
12

Malini

Malayalam variable typeface
HTML
8
star
13

input-methods

SMC Input methods
Roff
8
star
14

machinetranslation

https://translate.smc.org.in/
CSS
7
star
15

mlmatrix

Malayalam Matrix using HTML5 Canvas
JavaScript
7
star
16

nupuram

Nupuram Variable Color typeface family
HTML
6
star
17

tesseract-ocr-web

Web interface for Tesseract OCR
JavaScript
6
star
18

malayalam-text-classifier

Malayalam Text Classifier
Jupyter Notebook
6
star
19

website

SMC home page
HTML
6
star
20

Rachana

Python
5
star
21

Uroob

Uroob font
HTML
5
star
22

calendar

C++
4
star
23

Meera

Python
3
star
24

12.smc.org.in

SMC 12th year anniversary website
CSS
3
star
25

logbook-of-an-observer

Works By Jinesh K J
3
star
26

mlpredict

JavaScript
2
star
27

mal-ocr

Malayalam Support for Tesseract OCR
2
star
28

Gayathri

Gayathri Malayalam Typeface
HTML
2
star
29

Karumbi

Karumbi Malayalam font
Python
2
star
30

hyphenation

Hyphenation patterns for Indian languages. Mirror of http://git.savannah.gnu.org/cgit/smc/hyphenation.git
Makefile
2
star
31

Dyuthi

Python
2
star
32

soundex

Python
2
star
33

Meera-Tamil

HTML
1
star
34

Suruma

Shell
1
star
35

fuel

FUEL Malayalam
1
star
36

Sharika

Sharika is a malayalam-voice control program for GNOME desktop.
Shell
1
star
37

Keraleeyam

Python
1
star
38

mlmorph-web

JavaScript
1
star
39

kletters

KLettres aims to help to learn the alphabet and then to read some syllables in different languages.
1
star
40

speech

Shell
1
star
41

android-ime

java-morelangs ported to android module
Java
1
star