在 Flutter 中使用 HardwareKeyboard 时所有按键均无响应

Ala*_*kba 5 button dart flutter

我有你在图片中看到的 Android 设备。该设备背面有一个橙色按钮。我想在按下此按钮时触发某个功能。我只是尝试在 Flutter 中使用 HardwareKeyboard,如下所示并获得解决方案,但我没有得到响应。在此输入图像描述

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  void initState() {
    HardwareKeyboard.instance.addHandler(key_handler);
    super.initState();
  }

  bool key_handler(event) {
    print(event.physicalKey.debugName);

    // In this part, when a button is clicked, it should return certain responses to me.

    if (event is KeyDownEvent) {
      if (event.physicalKey.usbHidUsage == PhysicalKeyboardKey.audioVolumeDown.usbHidUsage) {
        _incrementCounter();
      } else if (event.physicalKey.usbHidUsage ==
          PhysicalKeyboardKey.audioVolumeUp.usbHidUsage) {
        _decrementCounter();
      }
    }
    return true;
  }

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  void _decrementCounter() {
    setState(() {
      _counter--;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'Hit a Volume UP/Down key:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
            TextField(
              decoration: InputDecoration(
                  hintText: "Once touch here and show a software key."),
            ),
          ],
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

当按下音量调高和调低按钮时,上面的代码会将计数增加或减少 1 个单位。有用。

我需要的按钮是背面的 f4。但是当我点击这个按钮时我没有得到任何回应。

我觉得Flutter有这个问题是因为这部分的代码不完整。因为除了音量加减按钮、后退按钮之外,其他按钮都没有任何反应。

我找不到可以解决此问题的插件。曾经有一个名为 hardware_buttons 的插件。当前不可用。因为是3年前写的,到现在还没有更新。我认为自从 Flutter 添加了 HardwareKeyboard 以来,它就不再需要了。

请把你所知道的和猜想的都写在评论区吧。