commit
ea4df9ebc1
@ -438,7 +438,6 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
bind.mainStartGrabKeyboard();
|
||||
_updateTimer = periodic_immediate(const Duration(seconds: 1), () async {
|
||||
await gFFI.serverModel.fetchID();
|
||||
final url = await bind.mainGetSoftwareUpdateUrl();
|
||||
|
@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hbb/common.dart';
|
||||
import 'package:flutter_hbb/desktop/pages/remote_tab_page.dart';
|
||||
import 'package:flutter_hbb/models/platform_model.dart';
|
||||
import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
@ -8,7 +9,9 @@ import 'package:provider/provider.dart';
|
||||
class DesktopRemoteScreen extends StatelessWidget {
|
||||
final Map<String, dynamic> params;
|
||||
|
||||
const DesktopRemoteScreen({Key? key, required this.params}) : super(key: key);
|
||||
DesktopRemoteScreen({Key? key, required this.params}) : super(key: key) {
|
||||
bind.mainStartGrabKeyboard();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -7,7 +7,9 @@ use crate::flutter::FlutterHandler;
|
||||
use crate::ui::remote::SciterHandler;
|
||||
use crate::ui_session_interface::Session;
|
||||
use hbb_common::{log, message_proto::*};
|
||||
use rdev::{Event, EventType, Key, GrabError};
|
||||
#[cfg(target_os = "linux")]
|
||||
use rdev::GrabError;
|
||||
use rdev::{Event, EventType, Key};
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
sync::{
|
||||
@ -594,7 +596,8 @@ pub fn legacy_keyboard_mode(event: &Event, key_event: &mut KeyEvent) {
|
||||
}
|
||||
|
||||
pub fn map_keyboard_mode(event: &Event, key_event: &mut KeyEvent) {
|
||||
let peer = get_peer_platform();
|
||||
let mut peer = get_peer_platform().to_lowercase();
|
||||
peer.retain(|c| !c.is_whitespace());
|
||||
|
||||
let key = match event.event_type {
|
||||
EventType::KeyPress(key) => {
|
||||
@ -608,8 +611,8 @@ pub fn map_keyboard_mode(event: &Event, key_event: &mut KeyEvent) {
|
||||
_ => return,
|
||||
};
|
||||
let keycode: u32 = match peer.as_str() {
|
||||
"Windows" => rdev::win_keycode_from_key(key).unwrap_or_default().into(),
|
||||
"MacOS" => rdev::macos_keycode_from_key(key).unwrap_or_default().into(),
|
||||
"windows" => rdev::win_keycode_from_key(key).unwrap_or_default().into(),
|
||||
"macos" => rdev::macos_keycode_from_key(key).unwrap_or_default().into(),
|
||||
_ => rdev::linux_keycode_from_key(key).unwrap_or_default().into(),
|
||||
};
|
||||
key_event.set_chr(keycode);
|
||||
|
Loading…
x
Reference in New Issue
Block a user