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

@@ -676,10 +676,10 @@ impl Connection {
#[cfg(not(any(target_os = "android", target_os = "ios")))]
fn handle_input(receiver: std_mpsc::Receiver<MessageInput>, tx: Sender) {
let mut block_input_mode = false;
#[cfg(target_os = "windows")]
#[cfg(any(target_os = "windows", target_os = "macos"))]
{
rdev::set_dw_mouse_extra_info(enigo::ENIGO_INPUT_EXTRA_VALUE);
rdev::set_dw_keyboard_extra_info(enigo::ENIGO_INPUT_EXTRA_VALUE);
rdev::set_mouse_extra_info(enigo::ENIGO_INPUT_EXTRA_VALUE);
rdev::set_keyboard_extra_info(enigo::ENIGO_INPUT_EXTRA_VALUE);
}
#[cfg(target_os = "macos")]
reset_input_ondisconn();

View File

@@ -380,6 +380,9 @@ pub fn try_stop_record_cursor_pos() {
return;
}
RECORD_CURSOR_POS_RUNNING.store(false, Ordering::SeqCst);
#[cfg(any(target_os = "windows", target_os = "macos"))]
let _r = rdev::exit_grab();
}
// mac key input must be run in main thread, otherwise crash on >= osx 10.15