mouse forward back support on windows

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2023-01-05 17:14:44 +08:00
parent adb3450d02
commit 97cf85d1b7
5 changed files with 50 additions and 14 deletions

View File

@@ -885,9 +885,11 @@ pub fn session_send_mouse(id: String, msg: String) {
}
if let Some(buttons) = m.get("buttons") {
mask |= match buttons.as_str() {
"left" => 1,
"right" => 2,
"wheel" => 4,
"left" => 0x01,
"right" => 0x02,
"wheel" => 0x04,
"back" => 0x08,
"forward" => 0x10,
_ => 0,
} << 3;
}

View File

@@ -556,27 +556,39 @@ pub fn handle_mouse_(evt: &MouseEvent) {
en.mouse_move_to(evt.x, evt.y);
}
1 => match buttons {
1 => {
0x01 => {
allow_err!(en.mouse_down(MouseButton::Left));
}
2 => {
0x02 => {
allow_err!(en.mouse_down(MouseButton::Right));
}
4 => {
0x04 => {
allow_err!(en.mouse_down(MouseButton::Middle));
}
0x08 => {
allow_err!(en.mouse_down(MouseButton::Back));
}
0x10 => {
allow_err!(en.mouse_down(MouseButton::Forward));
}
_ => {}
},
2 => match buttons {
1 => {
0x01 => {
en.mouse_up(MouseButton::Left);
}
2 => {
0x02 => {
en.mouse_up(MouseButton::Right);
}
4 => {
0x04 => {
en.mouse_up(MouseButton::Middle);
}
0x08 => {
en.mouse_up(MouseButton::Back);
}
0x10 => {
en.mouse_up(MouseButton::Forward);
}
_ => {}
},
3 | 4 => {