commit
4ab179e4b7
@ -640,11 +640,32 @@ fn sync_status(evt: &KeyEvent) -> (bool, bool) {
|
|||||||
|| (!caps_locking && en.get_key_state(enigo::Key::CapsLock));
|
|| (!caps_locking && en.get_key_state(enigo::Key::CapsLock));
|
||||||
let click_numlock = (num_locking && !en.get_key_state(enigo::Key::NumLock))
|
let click_numlock = (num_locking && !en.get_key_state(enigo::Key::NumLock))
|
||||||
|| (!num_locking && en.get_key_state(enigo::Key::NumLock));
|
|| (!num_locking && en.get_key_state(enigo::Key::NumLock));
|
||||||
|
#[cfg(windows)]
|
||||||
|
let click_numlock = {
|
||||||
|
let code = evt.chr();
|
||||||
|
let key = rdev::get_win_key(code, 0);
|
||||||
|
match key {
|
||||||
|
RdevKey::Home |
|
||||||
|
RdevKey::UpArrow |
|
||||||
|
RdevKey::PageUp |
|
||||||
|
RdevKey::LeftArrow |
|
||||||
|
RdevKey::RightArrow |
|
||||||
|
RdevKey::End |
|
||||||
|
RdevKey::DownArrow |
|
||||||
|
RdevKey::PageDown |
|
||||||
|
RdevKey::Insert |
|
||||||
|
RdevKey::Delete => en.get_key_state(enigo::Key::NumLock),
|
||||||
|
_ => click_numlock,
|
||||||
|
}
|
||||||
|
};
|
||||||
return (click_capslock, click_numlock);
|
return (click_capslock, click_numlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn map_keyboard_mode(evt: &KeyEvent) {
|
fn map_keyboard_mode(evt: &KeyEvent) {
|
||||||
// map mode(1): Send keycode according to the peer platform.
|
// map mode(1): Send keycode according to the peer platform.
|
||||||
|
#[cfg(windows)]
|
||||||
|
crate::platform::windows::try_change_desktop();
|
||||||
|
|
||||||
let (click_capslock, click_numlock) = sync_status(evt);
|
let (click_capslock, click_numlock) = sync_status(evt);
|
||||||
|
|
||||||
// Wayland
|
// Wayland
|
||||||
|
Loading…
x
Reference in New Issue
Block a user