debug done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
ed4016a77a
commit
83249f0f95
@ -865,6 +865,7 @@ fn try_fill_unicode(_peer: &str, event: &Event, key_event: &KeyEvent, events: &m
|
|||||||
if name.len() > 0 {
|
if name.len() > 0 {
|
||||||
let mut evt = key_event.clone();
|
let mut evt = key_event.clone();
|
||||||
evt.set_seq(name.to_string());
|
evt.set_seq(name.to_string());
|
||||||
|
evt.down = true;
|
||||||
events.push(evt);
|
events.push(evt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -877,6 +878,7 @@ fn try_fill_unicode(_peer: &str, event: &Event, key_event: &KeyEvent, events: &m
|
|||||||
if let Some(chr) = get_char_from_vk(event.platform_code as u32) {
|
if let Some(chr) = get_char_from_vk(event.platform_code as u32) {
|
||||||
let mut evt = key_event.clone();
|
let mut evt = key_event.clone();
|
||||||
evt.set_seq(chr.to_string());
|
evt.set_seq(chr.to_string());
|
||||||
|
evt.down = true;
|
||||||
events.push(evt);
|
events.push(evt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -956,6 +958,7 @@ fn is_press(event: &Event) -> bool {
|
|||||||
// https://github.com/fufesou/rustdesk/wiki/Keyboard-mode----Translate-Mode
|
// https://github.com/fufesou/rustdesk/wiki/Keyboard-mode----Translate-Mode
|
||||||
pub fn translate_keyboard_mode(peer: &str, event: &Event, key_event: KeyEvent) -> Vec<KeyEvent> {
|
pub fn translate_keyboard_mode(peer: &str, event: &Event, key_event: KeyEvent) -> Vec<KeyEvent> {
|
||||||
let mut events: Vec<KeyEvent> = Vec::new();
|
let mut events: Vec<KeyEvent> = Vec::new();
|
||||||
|
|
||||||
if let Some(unicode_info) = &event.unicode {
|
if let Some(unicode_info) = &event.unicode {
|
||||||
if unicode_info.is_dead {
|
if unicode_info.is_dead {
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
@ -994,11 +997,15 @@ pub fn translate_keyboard_mode(peer: &str, event: &Event, key_event: KeyEvent) -
|
|||||||
return events;
|
return events;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
try_file_win2win_hotkey(peer, event, &key_event, &mut events);
|
||||||
|
|
||||||
#[cfg(any(target_os = "linux", target_os = "windows"))]
|
#[cfg(any(target_os = "linux", target_os = "windows"))]
|
||||||
if is_press(event) {
|
if events.is_empty() && is_press(event) {
|
||||||
try_fill_unicode(peer, event, &key_event, &mut events);
|
try_fill_unicode(peer, event, &key_event, &mut events);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If AltGr is down, no need to send events other than unicode.
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
unsafe {
|
unsafe {
|
||||||
if IS_0X021D_DOWN {
|
if IS_0X021D_DOWN {
|
||||||
@ -1006,9 +1013,6 @@ pub fn translate_keyboard_mode(peer: &str, event: &Event, key_event: KeyEvent) -
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "windows")]
|
|
||||||
try_file_win2win_hotkey(peer, event, &key_event, &mut events);
|
|
||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
if !unsafe { IS_LEFT_OPTION_DOWN } {
|
if !unsafe { IS_LEFT_OPTION_DOWN } {
|
||||||
try_fill_unicode(peer, event, &key_event, &mut events);
|
try_fill_unicode(peer, event, &key_event, &mut events);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user