Wrote a keyboardinput object but decided against using it for the time being. I'll leave it in if I change my mind.