Adding keyboard support and control switching