【问题标题】:Flutter how to get state of CTRL, SHIFT and FUNCTION keys from hardware keyboardFlutter 如何从硬件键盘获取 CTRL、SHIFT 和 FUNCTION 键的状态
【发布时间】:2022-12-31 19:46:06
【问题描述】:

在我的应用程序中,我隐藏了状态栏,需要读取状态并监听 CTRL、SHIFT 和 FUNCTION 的变化。目的是做自己的指标。

【问题讨论】:

  • 你想听键盘吗?
  • 我正在使用条形码设备并希望避免监听键盘缓冲区。

标签: android ios flutter keyboard


【解决方案1】:

您可以通过向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 ShortcutsCallbackShortcuts

【讨论】:

    猜你喜欢
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多