diff --git a/src/ui_session_interface.rs b/src/ui_session_interface.rs index 3c6c21c3f..d5ed36665 100644 --- a/src/ui_session_interface.rs +++ b/src/ui_session_interface.rs @@ -60,8 +60,8 @@ impl<T: InvokeUi> Session<T> { pub fn get_keyboard_mode(&self) -> String { return std::env::var("KEYBOARD_MODE") - .unwrap_or(String::from("legacy")) - .to_lowercase(); + .unwrap_or(String::from("legacy")) + .to_lowercase(); } pub fn save_keyboard_mode(&self, value: String) { @@ -301,16 +301,15 @@ impl<T: InvokeUi> Session<T> { } else { key }; + #[cfg(not(windows))] + let key = self.convert_numpad_keys(key); let peer = self.peer_platform(); - let mut key_event = KeyEvent::new(); // According to peer platform. let keycode: u32 = if peer == "Linux" { rdev::linux_keycode_from_key(key).unwrap_or_default().into() } else if peer == "Windows" { - #[cfg(not(windows))] - let key = self.convert_numpad_keys(key); rdev::win_keycode_from_key(key).unwrap_or_default().into() } else { // Without Clear Key on Mac OS @@ -417,7 +416,7 @@ impl<T: InvokeUi> Session<T> { if get_key_state(enigo::Key::CapsLock) { key_event.modifiers.push(ControlKey::CapsLock.into()); - } + } if self.peer_platform() != "Mac OS" { if get_key_state(enigo::Key::NumLock) { key_event.modifiers.push(ControlKey::NumLock.into()); @@ -1360,4 +1359,4 @@ async fn start_one_port_forward<T: InvokeUi>( async fn send_note(url: String, id: String, conn_id: i32, note: String) { let body = serde_json::json!({ "id": id, "Id": conn_id, "note": note }); allow_err!(crate::post_request(url, body.to_string(), "").await); -} \ No newline at end of file +}