I decided to create a custom keyboard for my application. I know that this is not the best idea, since it's hurting the user friendliness, that's why I will just make it optional in Preferences.
After having it all done in a class
public class CustomKeyboard extends InputMethodService implements KeyboardView.OnKeyboardActionListener
how to make this input service the default one?
You don't. Input methods are for the entire device, not a single
EditText. Hence, the user needs to opt into using your input method. Quoting the documentation:
After installing the desired IMEs, a user can select which one to use from the system settings, and use it across the entire system; only one IME may be enabled at a time.