commit
4ab179e4b7
@ -640,11 +640,32 @@ fn sync_status(evt: &KeyEvent) -> (bool, bool) {
|
||||
|| (!caps_locking && en.get_key_state(enigo::Key::CapsLock));
|
||||
let click_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);
|
||||
}
|
||||
|
||||
fn map_keyboard_mode(evt: &KeyEvent) {
|
||||
// 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);
|
||||
|
||||
// Wayland
|
||||
|
Loading…
x
Reference in New Issue
Block a user