getchar/lib.rs
1use std::io;
2use std::io::{Read, Write};
3use termion::raw::IntoRawMode;
4
5pub fn getchar() -> Option<char> {
6 let mut buffer = [0];
7 let stdout = io::stdout().into_raw_mode().unwrap();
8 let mut stdin = io::stdin();
9
10 stdout.lock().flush().unwrap();
11
12 if stdin.read_exact(&mut buffer).is_ok() {
13 Some( buffer[0] as char)
14 } else {
15 None
16 }
17}