diff --git a/src/input.rs b/src/input.rs
index 11afab512b8fbda41299ddcd85e4060d50c143d9..5f763e608ec66ff6d7196088d3e0b99f0fe4aa79 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -224,6 +224,18 @@ impl<W: Write> Write for MouseTerminal<W> {
     }
 }
 
+#[cfg(unix)]
+mod unix_impl {
+    use super::*;
+    use std::os::unix::io::{AsRawFd, RawFd};
+
+    impl<W: Write + AsRawFd> AsRawFd for MouseTerminal<W> {
+        fn as_raw_fd(&self) -> RawFd {
+            self.term.as_raw_fd()
+        }
+    }
+}
+
 #[cfg(test)]
 mod test {
     use super::*;