diff --git a/src/backend/consumer/macos.rs b/src/backend/consumer/macos.rs
index a4dbfc2..9001e24 100644
--- a/src/backend/consumer/macos.rs
+++ b/src/backend/consumer/macos.rs
@@ -140,7 +140,7 @@ impl EventConsumer for MacOSConsumer {
}
};
// store button state
- self.button_state[mouse_button] = if state == 1 { true } else { false };
+ self.button_state[mouse_button] = state == 1;
let location = self.get_mouse_location().unwrap();
let event = match CGEvent::new_mouse_event(
diff --git a/src/backend/consumer/windows.rs b/src/backend/consumer/windows.rs
index 1d96e63..c3333f9 100644
--- a/src/backend/consumer/windows.rs
+++ b/src/backend/consumer/windows.rs
@@ -80,7 +80,7 @@ fn send_mouse_input(mi: MOUSEINPUT) {
};
SendInput(
- 1 as u32,
+ 1_u32,
&mut input as LPINPUT,
std::mem::size_of::() as i32,
);
@@ -173,7 +173,7 @@ fn send_keyboard_input(ki: KEYBDINPUT) {
u: std::mem::zeroed(),
};
*input.u.ki_mut() = ki;
- SendInput(1 as u32, &mut input, std::mem::size_of::() as i32);
+ SendInput(1_u32, &mut input, std::mem::size_of::() as i32);
}
}
diff --git a/src/backend/producer/macos.rs b/src/backend/producer/macos.rs
index 1f9e5ce..89341eb 100644
--- a/src/backend/producer/macos.rs
+++ b/src/backend/producer/macos.rs
@@ -1,3 +1,4 @@
+use anyhow::{anyhow, Result};
use crate::client::{ClientEvent, ClientHandle};
use crate::event::Event;
use crate::producer::EventProducer;
@@ -8,8 +9,8 @@ use std::{io, pin::Pin};
pub struct MacOSProducer;
impl MacOSProducer {
- pub fn new() -> Self {
- Self {}
+ pub fn new() -> Result {
+ Err(anyhow!("not yet implemented"))
}
}
diff --git a/src/producer.rs b/src/producer.rs
index def6fef..1c6acf2 100644
--- a/src/producer.rs
+++ b/src/producer.rs
@@ -10,7 +10,10 @@ use crate::{
pub async fn create() -> Box {
#[cfg(target_os = "macos")]
- return Box::new(producer::macos::MacOSProducer::new());
+ match producer::macos::MacOSProducer::new() {
+ Ok(p) => return Box::new(p),
+ Err(e) => log::info!("macos event producer not available: {e}"),
+ }
#[cfg(windows)]
match producer::windows::WindowsProducer::new() {