macos, win, translate mode,

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2023-02-13 16:26:14 +08:00
parent e24f5e7eed
commit 50ce57024c
2 changed files with 11 additions and 3 deletions

View File

@@ -1082,9 +1082,14 @@ fn legacy_keyboard_mode(evt: &KeyEvent) {
}
#[cfg(target_os = "windows")]
fn translate_process_virtual_keycode(vk: u32, down: bool) {
fn translate_process_code(code: u32, down: bool) {
crate::platform::windows::try_change_desktop();
sim_rdev_rawkey_virtual(vk, down);
let vk_code =
match code >> 16 {
0 => sim_rdev_rawkey_position(code, down),
vk_code => sim_rdev_rawkey_virtual(vk_code, down),
};
}
fn translate_keyboard_mode(evt: &KeyEvent) {
@@ -1095,7 +1100,9 @@ fn translate_keyboard_mode(evt: &KeyEvent) {
Some(key_event::Union::Chr(..)) =>
{
#[cfg(target_os = "windows")]
translate_process_virtual_keycode(evt.chr(), evt.down)
translate_process_code(evt.chr(), evt.down);
#[cfg(not(target_os = "windows"))]
sim_rdev_rawkey_position(code, down);
}
Some(key_event::Union::Unicode(..)) => {
// Do not handle unicode for now.