Built-in virtual keyboard support

…because input method is just too mainstream