work around of italian keyboard shift+"." issue

https://github.com/rustdesk/rustdesk/issues/366#issuecomment-1120379312
This commit is contained in:
rustdesk
2022-05-08 18:12:02 +08:00
parent ed897f4b6d
commit b526bf4a67
2 changed files with 10 additions and 4 deletions

View File

@@ -370,7 +370,12 @@ impl Enigo {
unsafe { GetWindowThreadProcessId(GetForegroundWindow(), std::ptr::null_mut()) };
unsafe { LAYOUT = GetKeyboardLayout(current_window_thread_id) };
let keycode_and_shiftstate = unsafe { VkKeyScanExW(chr as _, LAYOUT) };
keycode_and_shiftstate as _
if keycode_and_shiftstate == (EVK_DECIMAL as i16) && chr == '.' {
// a workaround of italian keyboard shift + '.' issue
unsafe { VkKeyScanW(chr as _) as _ }
} else {
keycode_and_shiftstate as _
}
} else {
0
}