Crie um teclado personalizado no Android

Gostaria de escrever um teclado personalizado que funcione em todos os dispositivos que executam o Android 4.0 ou superior. Então, primeiro eu procurei na net, mas não encontrei nada sobre isso. Então, como posso criar um aplicativo que substitua o teclado de ações do Android?

O que eu gostaria de saber:

Existe um bom tutorial lá fora? Vocês tem código de exemplo?Eu preciso de root para fazer isso?Qual é a estrutura por trás disso? (É apenas uma atividade regular com um serviço?)É possível ler a caixa de entrada no teclado?

questionAnswers(3)

yourAnswerToTheQuestion