Для функции автозаполнения см. AutoTextField, или вы можете прослушать действие редактирования, используя метод
textMessage.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
и для функции KeyBoard см. Настройка клавиши действия Virtaul KeyBoard,
Android - обрезанная клавиша клавиатуры и действие