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 mut keys = stdin().keys();
loop {
match sender.send(keys.find_map(Result::ok).unwrap()) {
Ok(_) => (), Err(_) => return, };
}
}