Merge pull request #1629 from asur4s/master

Fix keyboard and mouse bugs
This commit is contained in:
RustDesk
2022-09-27 16:51:32 +08:00
committed by GitHub
3 changed files with 64 additions and 37 deletions

View File

@@ -313,8 +313,6 @@ impl<T: InvokeUiSession> 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();
@@ -661,6 +659,9 @@ impl<T: InvokeUiSession> Session<T> {
_ => KeyboardMode::Legacy,
};
#[cfg(not(windows))]
let key = self.convert_numpad_keys(key);
match mode {
KeyboardMode::Map => {
if down_or_up == true {
@@ -849,6 +850,24 @@ impl<T: InvokeUiSession> Session<T> {
key_event.set_chr(chr);
}
Key::ControlKey(key) => {
let key = if !get_key_state(enigo::Key::NumLock) {
match key {
ControlKey::Numpad0 => ControlKey::Insert,
ControlKey::Decimal => ControlKey::Delete,
ControlKey::Numpad1 => ControlKey::End,
ControlKey::Numpad2 => ControlKey::DownArrow,
ControlKey::Numpad3 => ControlKey::PageDown,
ControlKey::Numpad4 => ControlKey::LeftArrow,
ControlKey::Numpad5 => ControlKey::Clear,
ControlKey::Numpad6 => ControlKey::RightArrow,
ControlKey::Numpad7 => ControlKey::Home,
ControlKey::Numpad8 => ControlKey::UpArrow,
ControlKey::Numpad9 => ControlKey::PageUp,
_ => key,
}
}else{
key
};
key_event.set_control_key(key.clone());
}
Key::_Raw(raw) => {