left shift key for peer card select

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-08-04 13:11:24 +08:00
parent 5a0865559c
commit f5cf291f55
3 changed files with 66 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ import 'dart:io';
import 'package:bot_toast/bot_toast.dart';
import 'package:desktop_multi_window/desktop_multi_window.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart';
import 'package:flutter_hbb/desktop/pages/install_page.dart';
import 'package:flutter_hbb/desktop/pages/server_page.dart';
@@ -417,6 +418,9 @@ class _AppState extends State<App> {
: (context, child) {
child = _keepScaleBuilder(context, child);
child = botToastBuilder(context, child);
if (desktopType == DesktopType.main) {
child = keyListenerBuilder(context, child);
}
return child;
},
),
@@ -453,3 +457,19 @@ _registerEventHandler() {
});
}
}
Widget keyListenerBuilder(BuildContext context, Widget? child) {
return RawKeyboardListener(
focusNode: FocusNode(),
child: child ?? Container(),
onKey: (RawKeyEvent event) {
if (event.logicalKey == LogicalKeyboardKey.shiftLeft) {
if (event is RawKeyDownEvent) {
gFFI.peerTabModel.isShiftDown = true;
} else if (event is RawKeyUpEvent) {
gFFI.peerTabModel.isShiftDown = false;
}
}
},
);
}