Try non-buffering keystroke capture
User keystroke commands motors individually