My question is the exact inverse of this question.
Motivating use-case. I've paired and am using my Bluetooth apple keyboard. Just happy. I'm running ICS, on an HTC- Evo 4G LTE. Then, 7-8 mins later (timeout not yet engaged by default of course), I'm downstairs, and a call comes in. I need to type 2-3 letters to look up something (an email address, etc). and huh?!
How the heck do I in the moment on-the-call type?
At that moment don't remember where I exactly left that apple keyboard (which I could go back to power off, and only then get a keyboard to show) Or if I turn off Bluetooth entirely: 'Fail' as that often means I can't then continue to use the darn headset I've got on, or if driving, I'd be illegal (in CA need to have a headset).
If I unpair, seems to get that keyboard (the external Bluetooth apple one) working, I have to re-pair (which, in reality, is really futzy annoying, compared to, e.g. if ignored and the time-out engages, when I then, say a day, or two later, type on that apple keyboard it works instantly instead? not paired).
Regarding the app: "null keyboard" I tried it, and close, but no cigar, meaning: when I'm in a 'text field', in the notifications list, there will appear an 'input method notification' clicking on that and you get a list, and while that list should include something that offers a 'show on-screen keyboard' override, it does not.
The closest thing I've been able to find is developer-centric code examples showing an (apparent) workaround to force this.. but seems to be no app ( yet?!?) that exposes that functionality into the 'inputs methods' drop-down menu. Example.
Update: it looks like Tomas's answer is 'the answer', though I'm currently unable to test to be sure. This does strongly suggest that there is no answer available without a rooted phone.