From 270c2ae291444808614f85321a587b77c8f3df02 Mon Sep 17 00:00:00 2001 From: sjpark Date: Sat, 29 Oct 2022 03:14:38 +0900 Subject: [PATCH] improve map key input --- src/server/input_service.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/server/input_service.rs b/src/server/input_service.rs index 05f78b5e5..27de001e4 100644 --- a/src/server/input_service.rs +++ b/src/server/input_service.rs @@ -648,11 +648,12 @@ fn map_keyboard_mode(evt: &KeyEvent) { let (click_capslock, click_numlock) = sync_status(evt); #[cfg(windows)] - { + let click_numlock = { crate::platform::windows::try_change_desktop(); let code = evt.chr(); let key = rdev::get_win_key(code, 0); + //let key = rdev::windows::keycodes::key_from_code(code); match key { RdevKey::Home | RdevKey::UpArrow | @@ -663,10 +664,13 @@ fn map_keyboard_mode(evt: &KeyEvent) { RdevKey::DownArrow | RdevKey::PageDown | RdevKey::Insert | - RdevKey::Delete => { rdev_key_click(RdevKey::NumLock); }, - _ => {}, + RdevKey::Delete => { + let mut en = ENIGO.lock().unwrap(); + en.get_key_state(enigo::Key::NumLock) + }, + _ => click_numlock, } - } + }; // Wayland #[cfg(target_os = "linux")] if !*IS_X11.lock().unwrap() {