Flutter RawKeyboardListener 在 MacOS 上触发系统声音

Flutter RawKeyboardListener triggering system sounds on MacOS

我有一个用 flutter 构建的 MacOS 桌面应用程序。 我在其中有一个 RawKeyboardListener 小部件。它按预期运行。它正在捕获我可以正常处理的键盘输入。

然而,每当我按下一个键时,OS 级键输入拒绝声音就会播放。 当您在按键特别不起作用的地方按下按键时出现的声音。

我在使用侦听器时没有遇到过这种情况,所以我什至不确定从哪里开始。

如果您想避免按键时发出蜂鸣声,您应该使用 FocusNodeonKey 来实际处理事件(即 return true),而不仅仅是监听对于事件的存在(如 RawKeyboardListener

使用 FocusNode.onKey 处理密钥在使用 Focus 小部件时最简单:

Widget build(BuildContext context) {
  return Focus(
    onKey: (FocusNode node, RawKeyEvent event) => true,
    child: ...
  );
}

这将为您管理焦点节点(根据需要插入和删除它)。