From 553e3ee7586e64815a5e5dc6c8ccebcabf6b33c7 Mon Sep 17 00:00:00 2001 From: fufesou Date: Sun, 27 Aug 2023 10:28:16 +0800 Subject: [PATCH] win, try awake the os by mouse movement and right click Signed-off-by: fufesou --- flutter/lib/common/widgets/peer_card.dart | 2 -- flutter/lib/common/widgets/peer_tab_page.dart | 2 -- src/client.rs | 21 ++++++++++++------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index a9d18b42c..f5af94220 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -1,11 +1,9 @@ import 'dart:io'; -import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_hbb/common/widgets/dialog.dart'; import 'package:flutter_hbb/consts.dart'; -import 'package:flutter_hbb/models/ab_model.dart'; import 'package:flutter_hbb/models/peer_tab_model.dart'; import 'package:get/get.dart'; import 'package:provider/provider.dart'; diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 3f4161477..cb5413ba1 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -1,11 +1,9 @@ -import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common/widgets/address_book.dart'; import 'package:flutter_hbb/common/widgets/dialog.dart'; import 'package:flutter_hbb/common/widgets/my_group.dart'; import 'package:flutter_hbb/common/widgets/peers_view.dart'; import 'package:flutter_hbb/common/widgets/peer_card.dart'; -import 'package:flutter_hbb/common/widgets/animated_rotation_widget.dart'; import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/desktop/widgets/popup_menu.dart'; import 'package:flutter_hbb/models/ab_model.dart'; diff --git a/src/client.rs b/src/client.rs index 253c293ee..0bfcfb655 100644 --- a/src/client.rs +++ b/src/client.rs @@ -58,7 +58,7 @@ use scrap::{ }; use crate::{ - common::input::{MOUSE_BUTTON_LEFT, MOUSE_TYPE_DOWN, MOUSE_TYPE_UP}, + common::input::{MOUSE_BUTTON_LEFT, MOUSE_BUTTON_RIGHT, MOUSE_TYPE_DOWN, MOUSE_TYPE_UP}, is_keyboard_mode_supported, }; @@ -2060,20 +2060,25 @@ pub fn send_pointer_device_event( /// # Arguments /// /// * `interface` - The interface for sending data. -/// * `send_click` - Whether to send a click event. -fn activate_os(interface: &impl Interface, send_click: bool) { +/// * `send_left_click` - Whether to send a click event. +fn activate_os(interface: &impl Interface, send_left_click: bool) { let left_down = MOUSE_BUTTON_LEFT << 3 | MOUSE_TYPE_DOWN; let left_up = MOUSE_BUTTON_LEFT << 3 | MOUSE_TYPE_UP; + let right_down = MOUSE_BUTTON_RIGHT << 3 | MOUSE_TYPE_DOWN; + let right_up = MOUSE_BUTTON_RIGHT << 3 | MOUSE_TYPE_UP; send_mouse(left_up, 0, 0, false, false, false, false, interface); std::thread::sleep(Duration::from_millis(50)); send_mouse(0, 0, 0, false, false, false, false, interface); std::thread::sleep(Duration::from_millis(50)); send_mouse(0, 3, 3, false, false, false, false, interface); - if send_click { - std::thread::sleep(Duration::from_millis(50)); - send_mouse(left_down, 0, 0, false, false, false, false, interface); - send_mouse(left_up, 0, 0, false, false, false, false, interface); - } + let (click_down, click_up) = if send_left_click { + (left_down, left_up) + } else { + (right_down, right_up) + }; + std::thread::sleep(Duration::from_millis(50)); + send_mouse(click_down, 0, 0, false, false, false, false, interface); + send_mouse(click_up, 0, 0, false, false, false, false, interface); /* let mut key_event = KeyEvent::new(); // do not use Esc, which has problem with Linux