Flutter RawKeyboardListener 在 MacOS 上触发系统声音
Flutter RawKeyboardListener triggering system sounds on MacOS
我有一个用 flutter 构建的 MacOS 桌面应用程序。
我在其中有一个 RawKeyboardListener 小部件。它按预期运行。它正在捕获我可以正常处理的键盘输入。
然而,每当我按下一个键时,OS 级键输入拒绝声音就会播放。
当您在按键特别不起作用的地方按下按键时出现的声音。
我在使用侦听器时没有遇到过这种情况,所以我什至不确定从哪里开始。
如果您想避免按键时发出蜂鸣声,您应该使用 FocusNode
的 onKey
来实际处理事件(即 return true),而不仅仅是监听对于事件的存在(如 RawKeyboardListener
)
使用 FocusNode.onKey
处理密钥在使用 Focus
小部件时最简单:
Widget build(BuildContext context) {
return Focus(
onKey: (FocusNode node, RawKeyEvent event) => true,
child: ...
);
}
这将为您管理焦点节点(根据需要插入和删除它)。
我有一个用 flutter 构建的 MacOS 桌面应用程序。 我在其中有一个 RawKeyboardListener 小部件。它按预期运行。它正在捕获我可以正常处理的键盘输入。
然而,每当我按下一个键时,OS 级键输入拒绝声音就会播放。 当您在按键特别不起作用的地方按下按键时出现的声音。
我在使用侦听器时没有遇到过这种情况,所以我什至不确定从哪里开始。
如果您想避免按键时发出蜂鸣声,您应该使用 FocusNode
的 onKey
来实际处理事件(即 return true),而不仅仅是监听对于事件的存在(如 RawKeyboardListener
)
使用 FocusNode.onKey
处理密钥在使用 Focus
小部件时最简单:
Widget build(BuildContext context) {
return Focus(
onKey: (FocusNode node, RawKeyEvent event) => true,
child: ...
);
}
这将为您管理焦点节点(根据需要插入和删除它)。