Keyboard with InputListener