add keyboard control