added basic keyboard support