diff --git a/src/backend/wayland/consumer.rs b/src/backend/wayland/consumer.rs
index 288b877..e28b3a4 100644
--- a/src/backend/wayland/consumer.rs
+++ b/src/backend/wayland/consumer.rs
@@ -99,10 +99,14 @@ impl App {
let data = loop {
let result = request::request_data(client.addr, Request::KeyMap);
eprint!("\rconnecting to {} ", client.addr);
- for _ in 0..attempts { eprint!("."); }
+ for _ in 0..attempts {
+ eprint!(".");
+ }
match result {
Ok(data) => break data,
- Err(e) => { eprint!(" - {}", e); }
+ Err(e) => {
+ eprint!(" - {}", e);
+ }
}
io::stderr().flush().unwrap();
thread::sleep(Duration::from_millis(500));
@@ -110,7 +114,9 @@ impl App {
};
eprint!("\rconnecting to {} ", client.addr);
- for _ in 0..attempts { eprint!("."); }
+ for _ in 0..attempts {
+ eprint!(".");
+ }
eprintln!(" done! ");
// TODO use shm_open
@@ -163,11 +169,7 @@ impl VirtualInput {
}
},
Event::Keyboard(e) => match e {
- KeyboardEvent::Key {
- time,
- key,
- state,
- } => {
+ KeyboardEvent::Key { time, key, state } => {
self.keyboard.key(time, key, state as u32);
}
KeyboardEvent::Modifiers {
diff --git a/src/backend/windows/consumer.rs b/src/backend/windows/consumer.rs
index 4498d3e..1b2391b 100644
--- a/src/backend/windows/consumer.rs
+++ b/src/backend/windows/consumer.rs
@@ -1,9 +1,15 @@
use std::sync::mpsc::Receiver;
-use winapi::{self, um::winuser::{INPUT, LPINPUT, INPUT_MOUSE, MOUSEINPUT, MOUSEEVENTF_MOVE}};
-use crate::event::{PointerEvent, KeyboardEvent};
+use crate::event::{KeyboardEvent, PointerEvent};
+use winapi::{
+ self,
+ um::winuser::{INPUT, INPUT_MOUSE, LPINPUT, MOUSEEVENTF_MOVE, MOUSEINPUT},
+};
-use crate::{event::Event, client::{Client, ClientHandle}};
+use crate::{
+ client::{Client, ClientHandle},
+ event::Event,
+};
fn rel_mouse(dx: i32, dy: i32) {
let mi = MOUSEINPUT {
@@ -21,31 +27,34 @@ fn rel_mouse(dx: i32, dy: i32) {
u: std::mem::transmute(mi),
};
- winapi::um::winuser::SendInput(1 as u32, &mut input as LPINPUT, std::mem::size_of::() as i32);
+ winapi::um::winuser::SendInput(
+ 1 as u32,
+ &mut input as LPINPUT,
+ std::mem::size_of::() as i32,
+ );
}
}
-
pub fn run(event_rx: Receiver<(Event, ClientHandle)>, _clients: Vec) {
loop {
match event_rx.recv().expect("event receiver unavailable").0 {
- Event::Pointer(pointer_event) => {
- match pointer_event {
- PointerEvent::Motion { time: _, relative_x, relative_y } => {
- rel_mouse(relative_x as i32, relative_y as i32);
- },
- PointerEvent::Button { .. } => {},
- PointerEvent::Axis { .. } => {},
- PointerEvent::Frame { } => {},
+ Event::Pointer(pointer_event) => match pointer_event {
+ PointerEvent::Motion {
+ time: _,
+ relative_x,
+ relative_y,
+ } => {
+ rel_mouse(relative_x as i32, relative_y as i32);
}
+ PointerEvent::Button { .. } => {}
+ PointerEvent::Axis { .. } => {}
+ PointerEvent::Frame {} => {}
},
- Event::Keyboard(keyboard_event) => {
- match keyboard_event {
- KeyboardEvent::Key {..} => {},
- KeyboardEvent::Modifiers {..} => {},
- }
+ Event::Keyboard(keyboard_event) => match keyboard_event {
+ KeyboardEvent::Key { .. } => {}
+ KeyboardEvent::Modifiers { .. } => {}
},
- Event::Release() => { },
+ Event::Release() => {}
}
}
}
diff --git a/src/backend/windows/producer.rs b/src/backend/windows/producer.rs
index 82af1cb..df5f03e 100644
--- a/src/backend/windows/producer.rs
+++ b/src/backend/windows/producer.rs
@@ -1,6 +1,10 @@
use std::sync::mpsc::SyncSender;
-use crate::{event::Event, client::{ClientHandle, Client}, request::Server};
+use crate::{
+ client::{Client, ClientHandle},
+ event::Event,
+ request::Server,
+};
pub fn run(_produce_tx: SyncSender<(Event, ClientHandle)>, _server: Server, _clients: Vec) {
todo!();
diff --git a/src/backend/x11/consumer.rs b/src/backend/x11/consumer.rs
index 47fbf1c..c2f5972 100644
--- a/src/backend/x11/consumer.rs
+++ b/src/backend/x11/consumer.rs
@@ -1,7 +1,10 @@
-use std::{sync::mpsc::Receiver, ptr};
-use x11::{xtest, xlib};
+use std::{ptr, sync::mpsc::Receiver};
+use x11::{xlib, xtest};
-use crate::{client::{ClientHandle, Client}, event::Event};
+use crate::{
+ client::{Client, ClientHandle},
+ event::Event,
+};
fn open_display() -> Option<*mut xlib::Display> {
unsafe {
@@ -27,18 +30,20 @@ pub fn run(event_rx: Receiver<(Event, ClientHandle)>, _clients: Vec) {
loop {
match event_rx.recv().expect("event receiver unavailable").0 {
- Event::Pointer(pointer_event) => {
- match pointer_event {
- crate::event::PointerEvent::Motion { time: _, relative_x, relative_y } => {
- relative_motion(display, relative_x as i32, relative_y as i32);
- },
- crate::event::PointerEvent::Button { .. } => {},
- crate::event::PointerEvent::Axis { .. } => {},
- crate::event::PointerEvent::Frame { } => {},
+ Event::Pointer(pointer_event) => match pointer_event {
+ crate::event::PointerEvent::Motion {
+ time: _,
+ relative_x,
+ relative_y,
+ } => {
+ relative_motion(display, relative_x as i32, relative_y as i32);
}
+ crate::event::PointerEvent::Button { .. } => {}
+ crate::event::PointerEvent::Axis { .. } => {}
+ crate::event::PointerEvent::Frame {} => {}
},
- Event::Keyboard(_) => {},
- Event::Release() => {},
+ Event::Keyboard(_) => {}
+ Event::Release() => {}
}
}
}
diff --git a/src/backend/x11/producer.rs b/src/backend/x11/producer.rs
index 6082101..43f2bb4 100644
--- a/src/backend/x11/producer.rs
+++ b/src/backend/x11/producer.rs
@@ -1,9 +1,8 @@
use std::sync::mpsc::SyncSender;
+use crate::client::Client;
use crate::event::Event;
use crate::request::Server;
-use crate::client::Client;
-
pub fn run(_produce_tx: SyncSender<(Event, u32)>, _request_server: Server, _clients: Vec) {
todo!()
diff --git a/src/event.rs b/src/event.rs
index d8bc0a9..70c878d 100644
--- a/src/event.rs
+++ b/src/event.rs
@@ -265,8 +265,12 @@ impl TryFrom> for PointerEvent {
}))
}
};
- Ok(Self::Button { time, button, state })
- },
+ Ok(Self::Button {
+ time,
+ button,
+ state,
+ })
+ }
PointerEventType::AXIS => {
let time = match data.get(2..6) {
Some(d) => u32::from_be_bytes(d.try_into().unwrap()),
@@ -279,7 +283,7 @@ impl TryFrom> for PointerEvent {
let axis = match data.get(6) {
Some(d) => *d,
None => {
- return Err(Box::new(ProtocolError{
+ return Err(Box::new(ProtocolError {
msg: "Expected 1 Byte at index 6".into(),
}));
}
@@ -287,16 +291,14 @@ impl TryFrom> for PointerEvent {
let value = match data.get(7..15) {
Some(d) => f64::from_be_bytes(d.try_into().unwrap()),
None => {
- return Err(Box::new(ProtocolError{
+ return Err(Box::new(ProtocolError {
msg: "Expected 8 Bytes at index 7".into(),
}));
}
};
Ok(Self::Axis { time, axis, value })
- },
- PointerEventType::FRAME => {
- Ok(Self::Frame {})
- },
+ }
+ PointerEventType::FRAME => Ok(Self::Frame {}),
}
}
None => Err(Box::new(ProtocolError {
@@ -310,11 +312,7 @@ impl Into> for &KeyboardEvent {
fn into(self) -> Vec {
let id = vec![self.event_type() as u8];
let data = match self {
- KeyboardEvent::Key {
- time,
- key,
- state,
- } => {
+ KeyboardEvent::Key { time, key, state } => {
let time = time.to_be_bytes();
let key = key.to_be_bytes();
let state = state.to_be_bytes();
@@ -414,13 +412,18 @@ impl TryFrom> for KeyboardEvent {
}))
}
};
- Ok(KeyboardEvent::Modifiers { mods_depressed, mods_latched, mods_locked, group })
- },
+ Ok(KeyboardEvent::Modifiers {
+ mods_depressed,
+ mods_latched,
+ mods_locked,
+ group,
+ })
+ }
}
}
None => Err(Box::new(ProtocolError {
msg: "Expected an element at index 0".into(),
- }))
+ })),
}
}
}
diff --git a/src/main.rs b/src/main.rs
index bb281bc..49ce4ae 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -12,7 +12,7 @@ use lan_mouse::{
use lan_mouse::backend::windows;
#[cfg(unix)]
-use lan_mouse::backend::{Backend,wayland,x11};
+use lan_mouse::backend::{wayland, x11, Backend};
fn add_client(client_manager: &mut ClientManager, client: &config::Client, pos: Position) {
let ip = match client.ip {
@@ -74,7 +74,7 @@ pub fn main() {
"x11" => Backend::X11,
"wayland" => Backend::WAYLAND,
_ => panic!("unknown XDG_SESSION_TYPE"),
- }
+ },
Err(_) => panic!("could not detect session type"),
};
@@ -82,11 +82,13 @@ pub fn main() {
println!("using backend: windows");
#[cfg(unix)]
- println!("using backend: {}", match backend {
- Backend::X11 => "x11",
- Backend::WAYLAND => "wayland",
- });
-
+ println!(
+ "using backend: {}",
+ match backend {
+ Backend::X11 => "x11",
+ Backend::WAYLAND => "wayland",
+ }
+ );
// start producing and consuming events
let event_producer = thread::Builder::new()
diff --git a/src/request.rs b/src/request.rs
index 2fd2c82..197f590 100644
--- a/src/request.rs
+++ b/src/request.rs
@@ -1,10 +1,11 @@
use std::{
collections::HashMap,
error::Error,
+ fmt::Display,
io::prelude::*,
net::{SocketAddr, TcpListener, TcpStream},
sync::{Arc, RwLock},
- thread::{self, JoinHandle}, fmt::Display,
+ thread::{self, JoinHandle},
};
use memmap::MmapMut;
@@ -121,7 +122,7 @@ pub fn request_data(addr: SocketAddr, req: Request) -> Result, Box