diff --git a/libs/enigo/examples/mouse.rs b/libs/enigo/examples/mouse.rs index 42234f662..4e73df1c0 100644 --- a/libs/enigo/examples/mouse.rs +++ b/libs/enigo/examples/mouse.rs @@ -1,4 +1,5 @@ use enigo::{Enigo, MouseButton, MouseControllable}; +#[cfg(windows)] use winapi::um::winuser::WHEEL_DELTA; use std::thread; use std::time::Duration; @@ -26,16 +27,28 @@ fn main() { #[cfg(not(target_os = "macos"))] { + #[cfg(windows)] enigo.mouse_scroll_x(2 * WHEEL_DELTA as i32); + #[cfg(not(windows))] + enigo.mouse_scroll_x(2); thread::sleep(wait_time); + #[cfg(windows)] enigo.mouse_scroll_x(-2 * WHEEL_DELTA as i32); + #[cfg(not(windows))] + enigo.mouse_scroll_x(-2); thread::sleep(wait_time); + #[cfg(windows)] enigo.mouse_scroll_y(2 * WHEEL_DELTA as i32); + #[cfg(not(windows))] + enigo.mouse_scroll_y(2); thread::sleep(wait_time); + #[cfg(windows)] enigo.mouse_scroll_y(-2 * WHEEL_DELTA as i32); + #[cfg(not(windows))] + enigo.mouse_scroll_y(-2); thread::sleep(wait_time); } } diff --git a/src/flutter_ffi.rs b/src/flutter_ffi.rs index 2455a4673..e698cc9ee 100644 --- a/src/flutter_ffi.rs +++ b/src/flutter_ffi.rs @@ -6,7 +6,7 @@ use crate::{ common::make_fd_to_json, flutter::{self, SESSIONS}, flutter::{session_add, session_start_}, - server::input_service::{ + server::{ MOUSE_BUTTON_BACK, MOUSE_BUTTON_FORWARD, MOUSE_BUTTON_LEFT, MOUSE_BUTTON_RIGHT, MOUSE_BUTTON_WHEEL, MOUSE_TYPE_DOWN, MOUSE_TYPE_TRACKPAD, MOUSE_TYPE_UP, MOUSE_TYPE_WHEEL, }, diff --git a/src/server.rs b/src/server.rs index e826cd3aa..b8fef148c 100644 --- a/src/server.rs +++ b/src/server.rs @@ -8,6 +8,8 @@ use std::{ use bytes::Bytes; pub use connection::*; +#[cfg(not(any(target_os = "android", target_os = "ios")))] +use hbb_common::config::Config2; use hbb_common::tcp::{self, new_listener}; use hbb_common::{ allow_err, @@ -23,8 +25,6 @@ use hbb_common::{ timeout, tokio, ResultType, Stream, }; #[cfg(not(any(target_os = "android", target_os = "ios")))] -use hbb_common::{anyhow::anyhow, config::Config2}; -#[cfg(not(any(target_os = "android", target_os = "ios")))] use service::ServiceTmpl; use service::{GenericService, Service, Subscriber}; @@ -74,6 +74,18 @@ lazy_static::lazy_static! { pub static ref CLIENT_SERVER: ServerPtr = new(); } +pub const MOUSE_TYPE_MOVE: i32 = 0; +pub const MOUSE_TYPE_DOWN: i32 = 1; +pub const MOUSE_TYPE_UP: i32 = 2; +pub const MOUSE_TYPE_WHEEL: i32 = 3; +pub const MOUSE_TYPE_TRACKPAD: i32 = 4; + +pub const MOUSE_BUTTON_LEFT: i32 = 0x01; +pub const MOUSE_BUTTON_RIGHT: i32 = 0x02; +pub const MOUSE_BUTTON_WHEEL: i32 = 0x04; +pub const MOUSE_BUTTON_BACK: i32 = 0x08; +pub const MOUSE_BUTTON_FORWARD: i32 = 0x10; + pub struct Server { connections: ConnMap, services: HashMap<&'static str, Box>, diff --git a/src/server/audio_service.rs b/src/server/audio_service.rs index b30328479..5a2184fe4 100644 --- a/src/server/audio_service.rs +++ b/src/server/audio_service.rs @@ -15,6 +15,8 @@ use super::*; use magnum_opus::{Application::*, Channels::*, Encoder}; use std::sync::atomic::{AtomicBool, Ordering}; +#[cfg(not(any(target_os = "linux", target_os = "android")))] +use hbb_common::anyhow::anyhow; pub const NAME: &'static str = "audio"; pub const AUDIO_DATA_SIZE_U8: usize = 960 * 4; // 10ms in 48000 stereo diff --git a/src/server/input_service.rs b/src/server/input_service.rs index 2c6cf1726..4dd2d9c1f 100644 --- a/src/server/input_service.rs +++ b/src/server/input_service.rs @@ -17,22 +17,11 @@ use std::{ thread, time::{self, Duration, Instant}, }; +#[cfg(windows)] use winapi::um::winuser::WHEEL_DELTA; const INVALID_CURSOR_POS: i32 = i32::MIN; -pub const MOUSE_TYPE_MOVE: i32 = 0; -pub const MOUSE_TYPE_DOWN: i32 = 1; -pub const MOUSE_TYPE_UP: i32 = 2; -pub const MOUSE_TYPE_WHEEL: i32 = 3; -pub const MOUSE_TYPE_TRACKPAD: i32 = 4; - -pub const MOUSE_BUTTON_LEFT: i32 = 0x01; -pub const MOUSE_BUTTON_RIGHT: i32 = 0x02; -pub const MOUSE_BUTTON_WHEEL: i32 = 0x04; -pub const MOUSE_BUTTON_BACK: i32 = 0x08; -pub const MOUSE_BUTTON_FORWARD: i32 = 0x10; - #[derive(Default)] struct StateCursor { hcursor: u64, diff --git a/src/server/video_service.rs b/src/server/video_service.rs index f0e2d4b0a..90c262cc9 100644 --- a/src/server/video_service.rs +++ b/src/server/video_service.rs @@ -1002,12 +1002,6 @@ fn no_displays(displays: &Vec) -> bool { } } -#[inline] -#[cfg(not(windows))] -fn no_displays(displays: &Vec) -> bool { - displays.is_empty() -} - #[cfg(all(windows, feature = "virtual_display_driver"))] fn try_get_displays() -> ResultType> { let mut displays = Display::all()?;