一. RawKeyboard
1.增加监听
void initState() {
// TODO: implement initState
super.initState();
RawKeyboard.instance.addListener(_handleKeyEvent);
}
2.监听方法
void _handleKeyEvent(RawKeyEvent event) {
if (event is RawKeyDownEvent) {
// 处理按键按下的事件:
//event.isAltPressed判断组合键Alt
//ModalRoute.of(context)!.isCurrent判断页面是否处于顶层
if(event.isAltPressed && ModalRoute.of(context)!.isCurrent){
//传入键值匹配调用方法
_activate(event.data.logicalKey.keyLabel);
}
}
}
3.移除监听
@override
void dispose() {
// TODO: implement dispose
super.dispose();
RawKeyboard.instance.removeListener(_handleKeyEvent);
}
二. 参考官方菜单快捷键(MenuAnchor) api.flutter.dev/flutter/mat…