bug fixed: keyboard input