update rdev, fix grab system utf8, fallback on linux

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2023-09-15 15:34:02 +08:00
parent bb8438c770
commit 7b37e5183c
9 changed files with 19 additions and 7 deletions

View File

@@ -70,6 +70,8 @@ pub use win::ENIGO_INPUT_EXTRA_VALUE;
mod macos;
#[cfg(target_os = "macos")]
pub use macos::Enigo;
#[cfg(target_os = "macos")]
pub use macos::ENIGO_INPUT_EXTRA_VALUE;
#[cfg(target_os = "linux")]
mod linux;

View File

@@ -37,6 +37,9 @@ const kUCKeyActionDisplay: u16 = 3;
const kUCKeyTranslateDeadKeysBit: OptionBits = 1 << 31;
const BUF_LEN: usize = 4;
/// The event source user data value of cgevent.
pub const ENIGO_INPUT_EXTRA_VALUE: i64 = 100;
#[allow(improper_ctypes)]
#[allow(non_snake_case)]
#[link(name = "ApplicationServices", kind = "framework")]
@@ -131,6 +134,7 @@ impl Enigo {
fn post(&self, event: CGEvent) {
event.set_flags(self.flags);
event.set_integer_value_field(EventField::EVENT_SOURCE_USER_DATA, ENIGO_INPUT_EXTRA_VALUE);
event.post(CGEventTapLocation::HID);
}
}

View File

@@ -1,4 +1,4 @@
mod macos_impl;
pub mod keycodes;
pub use self::macos_impl::Enigo;
pub use self::macos_impl::{Enigo, ENIGO_INPUT_EXTRA_VALUE};

View File

@@ -1,5 +1,4 @@
mod win_impl;
pub mod keycodes;
pub use self::win_impl::Enigo;
pub use self::win_impl::ENIGO_INPUT_EXTRA_VALUE;
pub use self::win_impl::{Enigo, ENIGO_INPUT_EXTRA_VALUE};