minicrossterm/examples/input/keyboard/input.rs

28 lines
606 B
Rust
Raw Normal View History

extern crate crossterm;
use self::crossterm::input::{input, TerminalInput, KeyEvent};
use self::crossterm::Screen;
2018-07-22 22:55:14 +10:00
pub fn read_char() {
let input = input();
2018-07-22 22:55:14 +10:00
match input.read_char() {
Ok(s) => println!("char typed: {}", s),
Err(e) => println!("char error : {}", e),
}
}
2018-07-22 22:55:14 +10:00
pub fn read_line() {
let input = input();
2018-07-22 22:55:14 +10:00
match input.read_line() {
Ok(s) => println!("string typed: {}", s),
2018-07-22 22:55:14 +10:00
Err(e) => println!("error: {}", e),
}
2018-07-22 22:55:14 +10:00
}
pub fn pause_terminal() {
println!("Press 'x' to quit...");
TerminalInput::wait_until(KeyEvent::OnKeyPress(b'x'));
}