use crossbeam_channel::Sender;
use std::{io::stdin, thread};
use termion::{event::Key, input::TermRead};
pub fn capture(sender: Sender<Key>) {
thread::spawn(|| capture_internal(sender));
}
fn capture_internal(sender: Sender<Key>) {
let stdin = &mut stdin();
loop {
match sender.send(stdin.keys().find_map(Result::ok).unwrap()) {
Ok(_) => (), Err(_) => return, };
}
}