basic keyboard wrapper