putChar package:haskeline
Reads one character of input. Ignores non-printable characters.
When using terminal-style interaction, the character will be read
without waiting for a newline.
When using file-style interaction, a newline will be read if it is
immediately available after the input character.