summaryrefslogtreecommitdiffstats
path: root/src/shell/inputs/stdin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/shell/inputs/stdin.rs')
-rw-r--r--src/shell/inputs/stdin.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shell/inputs/stdin.rs b/src/shell/inputs/stdin.rs
new file mode 100644
index 0000000..b966307
--- /dev/null
+++ b/src/shell/inputs/stdin.rs
@@ -0,0 +1,17 @@
+use crate::shell::prelude::*;
+
+pub struct Handler;
+
+impl Handler {
+ pub fn new(
+ mut input: textmode::blocking::Input,
+ event_w: crate::shell::event::Writer,
+ ) -> Self {
+ std::thread::spawn(move || {
+ while let Some(key) = input.read_key().unwrap() {
+ event_w.send(Event::Key(key));
+ }
+ });
+ Self
+ }
+}