Interrupt based input