在windows电脑中,当我们按下Alt+q可以调用微信的截图工具,这个主要是通过注册全局快捷键实现的。

下面我们一起给大家看看 flutter中如何注册全局快捷键。

https://pub.dev/packages/hotkey_manager

1、安装Flutter注册全局快捷键插件

dependencies:
hotkey_manager: ^0.1.7
2、引入Flutter注册全局快捷键插件

import 'package:hotkey_manager/hotkey_manager.dart';
3、使用Flutter hotkey_manager注册全局快捷键

import 'package:hotkey_manager/hotkey_manager.dart';
void main() async {
// Must add this line.
WidgetsFlutterBinding.ensureInitialized();
// For hot reload, unregisterAll() needs to be called.
await hotKeyManager.unregisterAll();
runApp(MyApp());
}
HotKey hotKey = HotKey(

KeyCode.keyW,
modifiers: [KeyModifier.shift], //shift+w  组合键
// 设置热键范围(默认为 HotKeyScope.system)
scope: HotKeyScope.system,

);
@override
void initState() {

super.initState();
print("regisetHotKey");
regisetHotKey();

}

regisetHotKey() async {

await hotKeyManager.register(
  hotKey,
  keyDownHandler: (hotKey) {
    print('onKeyDown+${hotKey.toJson()}');
  },
  // 只在 macOS 上工作。
  keyUpHandler: (hotKey) {
    print('onKeyUp+${hotKey.toJson()}');
  },
);

}

@override
void dispose() async {

// TODO: implement dispose
super.dispose();
// 取消注册
await hotKeyManager.unregister(hotKey);

}
内容出处


lucky
0 声望0 粉丝