add keyboard support