Recover legacy keyboard mode when simulate

This commit is contained in:
Asura 2022-07-17 20:59:14 -07:00
parent 5dab7bd9a2
commit 3c61773d75
2 changed files with 13 additions and 6 deletions

View File

@ -438,9 +438,9 @@ impl KeyboardControllable for Enigo {
if self.xdo.is_null() {
return Ok(());
}
// if self.send_pynput(&key, true) {
// return Ok(());
// }
if self.send_pynput(&key, true) {
return Ok(());
}
let string = CString::new(&*keysequence(key))?;
unsafe {
xdo_send_keysequence_window_down(
@ -456,9 +456,9 @@ impl KeyboardControllable for Enigo {
if self.xdo.is_null() {
return;
}
// if self.send_pynput(&key, false) {
// return;
// }
if self.send_pynput(&key, false) {
return;
}
if let Ok(string) = CString::new(&*keysequence(key)) {
unsafe {
xdo_send_keysequence_window_up(

View File

@ -420,7 +420,14 @@ impl Connection {
}
MessageInput::Key((mut msg, press)) => {
// todo: press and down have similar meanings.
if press && msg.mode == 3 {
msg.down = true;
}
handle_key(&msg);
if press && msg.mode == 3 {
msg.down = false;
handle_key(&msg);
}
}
MessageInput::BlockOn => {
if crate::platform::block_input(true) {