【发布时间】:2022-12-31 19:46:06
【问题描述】:
在我的应用程序中,我隐藏了状态栏,需要读取状态并监听 CTRL、SHIFT 和 FUNCTION 的变化。目的是做自己的指标。
【问题讨论】:
-
你想听键盘吗?
-
我正在使用条形码设备并希望避免监听键盘缓冲区。
标签: android ios flutter keyboard
在我的应用程序中,我隐藏了状态栏,需要读取状态并监听 CTRL、SHIFT 和 FUNCTION 的变化。目的是做自己的指标。
【问题讨论】:
标签: android ios flutter keyboard
您可以通过向RawKeyboard 添加监听器来监听RawKeyEvent,如下所示:
// Add this in your class's initialization or your stateful widget's `initState()`
RawKeyboard.instance.addListener(onKeyEvent);
// Define your keyboard events listener function
void onKeyEvent(RawKeyEvent event) {
// Here you have access to the state of CTRL+ALT+SHIFT keys
ctrlPressed = event.isControlPressed;
altPressed = event.isAltPressed;
shiftPressed = event.isShiftPressed;
}
// Somewhere else in your class or widget, dispose the listener function
@override
void dispose() {
RawKeyboard.instance.removeListener(onKeyEvent);
super.dispose();
}
上面更多的是全局或应用程序范围的键盘事件侦听器解决方案。要在小部件内启用与键盘事件的交互,最好使用 Flutter 的 Actions and Shortcuts 或 CallbackShortcuts。
【讨论】: