allow single data listener to intercept individual character presses