Is it possible to have different keyboard for different apps, say I want to have Emoji Keyboard for facebook and twitter but Google Indic keyboard for my whatsapp is this possible.

Mobile : HTC Desire 820

OS : Android 5.1

  • You can switch through your installed keyboards at any time, if you mean this.
    – GiantTree
    Commented Dec 15, 2015 at 17:38
  • Sorry, not this it make use of the selected keyboard for all the apps, what I need is different keyboard for different apps as I mentioned in my question for FB and twitter one type and for whatsapp other.
    – dh47
    Commented Dec 15, 2015 at 17:41
  • Either switch manually every time you use a specific app or see if Tasker or similar has the ability to automatically switch the keyboard when you open a specific app (Tasker does not seem to do this natively, maybe some command can do that).
    – GiantTree
    Commented Dec 15, 2015 at 17:44
  • Hmm switching manually every time is pain, anyway thanks for suggestions
    – dh47
    Commented Dec 15, 2015 at 17:48

2 Answers 2


You can use with the Secure Settings plugin:

  • Condition: Application (chose the app)
  • Task: Plugins › Secure Settings › System+ › Input Method (chose the keyboard)

If you just want to use 2 different keyboards, create such a profile for the keyboard you use with "fewer apps". In the condition, chose all the apps that should use that keyboard. You might need to add an "exit task" reverting back to your "default input method".

For more than 2 keyboards, create one profile per "special keyboard" the same way.

  • Doesn't Secure Settings require root access to change input method? I checked on Android 5.1 and the option appears to be greyed out when Secure Settings is not enabled as system module (which requires root access).
    – Firelord
    Commented Dec 16, 2015 at 1:48
  • That's the part always confusing, yes: that action is part of the "System+" section, not the "root" section. Difference is that "System+" requires either the app being a System app, or having the helper installed. While the former definitely requires root, I always forget whether the helper does as well …
    – Izzy
    Commented Dec 16, 2015 at 6:03

DEFAULT_INPUT_METHOD is a secure setting (it manages the input method (IME), keyboard in short) and any modification in its value requires the permission WRITE_SECURE_SETTINGS. However, that permission is not for use by third-party applications and no currently installed system app at the moment can do what you want.

It makes sense why third-party apps shouldn't be allowed to switch IME because otherwise, such permission would open plethora of opportunities for keylogger malware. Given the constraints, the only thing to do is root the device.

Once you root the device, you can follow Izzy's solution. I recommend Automate app however, since it doesn't need a third party plugin to switch IME.

The flowchart to achieve the objective would look like

(Click image to enlarge)


The app would introduce you with its basic usage so making that flowchart is easy. Just for a little guidance, know that the second block (When foreground app) can be found under Apps and third block (Set input method) can be found under Settings.

After making the flowchart, make sure to install all the permissions it needs


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .