📅  最后修改于: 2023-12-03 15:18:13.110000             🧑  作者: Mango
Hardware Keyboard
是Flutter中提供的一个服务,用于检测硬件键盘的输入。该服务对于需要响应硬件键盘事件的应用程序尤为有用。
在Flutter中,通过HardwareKeyboard
类来提供该服务,它包含了许多用于检测硬件键盘事件的方法和属性。其中,最为常用的方法是addListener()
,用于监听键盘事件。
该方法的调用方式如下所示:
HardwareKeyboard.addListener(listener)
其中,listener
是一个函数,用于处理键盘事件。该函数接受一个参数KeyEvent
,用于表示键盘事件的详细信息。
在使用HardwareKeyboard
服务时,有一点需要特别注意,就是不能同时与RawKeyboard
服务使用,否则会抛出断言失败异常。具体地,在Flutter的hardware_keyboard.dart
文件的第790行中有如下断言:
assert((data.physical == 0 && data.logical == 0) ||
!RawKeyboard.instance.hasFocus);
该断言的作用是检测是否正在使用与RawKeyboard
服务相冲突的键盘事件监听,如果存在冲突,便会抛出上述异常。因此,在编写应用程序时,应尽量避免同时使用这两个服务。
如需了解更多关于Flutter中HardwareKeyboard
服务的内容,可以参考官方文档中的相关部分。