adding keycodes to handle input