do not use an interrupt handler to read from keyboard