diff --git a/Cargo.lock b/Cargo.lock
index 328e2e2..1f0a67a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1321,6 +1321,7 @@ dependencies = [
"input-capture",
"input-emulation",
"input-event",
+ "lan-mouse-proto",
"libadwaita",
"libc",
"log",
@@ -1333,6 +1334,16 @@ dependencies = [
"toml",
]
+[[package]]
+name = "lan-mouse-proto"
+version = "0.1.0"
+dependencies = [
+ "input-event",
+ "num_enum",
+ "paste",
+ "thiserror",
+]
+
[[package]]
name = "libadwaita"
version = "0.7.0"
@@ -1596,6 +1607,12 @@ dependencies = [
"windows-targets 0.52.6",
]
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
[[package]]
name = "percent-encoding"
version = "2.3.1"
diff --git a/Cargo.toml b/Cargo.toml
index 4e527fe..efde54f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,5 @@
[workspace]
-members = ["input-capture", "input-emulation", "input-event"]
+members = ["input-capture", "input-emulation", "input-event", "lan-mouse-proto"]
[package]
name = "lan-mouse"
@@ -17,6 +17,7 @@ lto = "fat"
input-event = { path = "input-event", version = "0.2.1" }
input-emulation = { path = "input-emulation", version = "0.2.1", default-features = false }
input-capture = { path = "input-capture", version = "0.2.0", default-features = false }
+lan-mouse-proto = { path = "lan-mouse-proto", version = "0.1.0" }
hickory-resolver = "0.24.1"
toml = "0.8"
diff --git a/input-capture/src/dummy.rs b/input-capture/src/dummy.rs
index 2296572..54b0c1a 100644
--- a/input-capture/src/dummy.rs
+++ b/input-capture/src/dummy.rs
@@ -4,11 +4,7 @@ use std::task::{Context, Poll};
use async_trait::async_trait;
use futures_core::Stream;
-use input_event::Event;
-
-use crate::CaptureError;
-
-use super::{Capture, CaptureHandle, Position};
+use super::{Capture, CaptureError, CaptureEvent, CaptureHandle, Position};
pub struct DummyInputCapture {}
@@ -44,7 +40,7 @@ impl Capture for DummyInputCapture {
}
impl Stream for DummyInputCapture {
- type Item = Result<(CaptureHandle, Event), CaptureError>;
+ type Item = Result<(CaptureHandle, CaptureEvent), CaptureError>;
fn poll_next(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll