this is consistent with vim, and is necessary for plugins that implement their own input modes using "getchar()" and still want to do async event processing.
:ruby