What happens if you put the renderKeyboard() and showIME() calls here, before the input method activation is done. That would get the keyboard to show up right away.  But it does look like renderKeyboard may depend on the input method.  If you can make it work here and then didn't need the timeout on blur, that would be pretty nice.