rudimentary keyboard input