API 参考
正在准备搜索索引…

ImGui.Shortcut

  • 检测并路由键盘快捷键。

    参数

    key_chord
    number

    由 ImGuiKey 和 ImGuiMod 修饰位组合成的 ImGuiKeyChord。

    flags
    number = 0

    控制此操作的 ImGuiInputFlags 选项;可用 | 组合兼容的标志位。

    返回值

    boolean

    组合键被按下且此调用按指定标志赢得快捷键路由时为 true,否则为 false。

    组合键由一个 ImGuiKey 和可选的 ImGuiKey.ModAlt 、ImGuiKey.ModCtrl、ImGuiKey.ModShift 或 ImGuiKey.ModSuper 修饰键组成。不能组合两个 ImGuiKey 值。

    ImGuiKey.C                  // 按键或组合键
    ImGuiKey.ModCtrl | ImGuiKey.C  // 组合键
    

    多个调用方可请求同一快捷键,但只有一个所有者会接收它。路由结果不依赖调用顺序:

    • 获得焦点的父级请求 Ctrl+S 时,由父级接收。
    • 获得焦点的子级也请求 Ctrl+S 时,会覆盖父级。
    • 获得焦点的子级不请求 Ctrl+S 时,仍由父级接收。

    IsKeyChordPressed() 只比较修饰键并检测按键,不产生路由副作用。Shortcut() 注册路由,在获得路由后检测组合键;这可能阻止其他调用方收到该快捷键。

    可在 Metrics/Debugger > Inputs 查看已注册路由。此路由 API 在上游标记为测试版。

    源码与继承

Icons made by Lorc, Delapouite & Skoll · game-icons.net · CC BY 3.0