diff --git a/src/keyboard.rs b/src/keyboard.rs index 9c90a8ae3..aaddc9e4f 100644 --- a/src/keyboard.rs +++ b/src/keyboard.rs @@ -70,9 +70,9 @@ lazy_static::lazy_static! { #[cfg(target_os = "windows")] let codes = numpad_keys.iter().filter_map(|k| rdev::win_scancode_from_key(*k)).collect(); #[cfg(target_os = "linux")] - let codes = numpad_keys.iter().filter_map(|k| rdev::linux_code_from_code(*k)).collect(); + let codes = numpad_keys.iter().filter_map(|k| rdev::linux_keycode_from_key(*k)).collect(); #[cfg(target_os = "macos")] - let codes = numpad_keys.iter().filter_map(|k| rdev::macos_code_from_code(*k)).collect(); + let codes = numpad_keys.iter().filter_map(|k| rdev::macos_keycode_from_key(*k)).collect(); Arc::new(codes) }; } @@ -905,6 +905,8 @@ fn is_altgr(event: &Event) -> bool { } } +#[inline] +#[cfg(any(target_os = "linux", target_os = "windows"))] fn is_press(event: &Event) -> bool { matches!(event.event_type, EventType::KeyPress(_)) } diff --git a/src/server/input_service.rs b/src/server/input_service.rs index 524e76cea..e9ffa3b3e 100644 --- a/src/server/input_service.rs +++ b/src/server/input_service.rs @@ -1184,20 +1184,24 @@ pub fn handle_key_(evt: &KeyEvent) { return; } - let _lock_mode_handler = if evt.down { - Some(LockModesHandler::new(&evt)) - } else { - None - }; - match evt.mode.unwrap() { KeyboardMode::Map => { + let _lock_mode_handler = if evt.down { + Some(LockModesHandler::new(&evt)) + } else { + None + }; map_keyboard_mode(evt); } KeyboardMode::Translate => { translate_keyboard_mode(evt); } _ => { + let _lock_mode_handler = if evt.down { + Some(LockModesHandler::new(&evt)) + } else { + None + }; legacy_keyboard_mode(evt); } }