Files
XCEngine/docs/api/XCEngine/Input/InputManager/IsAnyKeyPressed.md

44 lines
1.1 KiB
Markdown
Raw Normal View History

2026-04-08 16:07:03 +08:00
# InputManager::IsAnyKeyPressed
查询是否存在任意键盘键或鼠标按键在本帧刚被按下。
```cpp
bool IsAnyKeyPressed() const;
```
## 行为说明
当前实现会:
- 如果未初始化,返回 `false`
- 先扫描 `m_keyDownThisFrame`
- 再扫描 `m_mouseButtonDownThisFrame`
- 任一数组里存在 `true` 就返回 `true`
因此它表达的是“按下边沿”,而且同样会把鼠标按键算进 any-key 统计。
还要注意两点:
- 它不是“任意输入设备”。当前只统计键盘和鼠标按钮,不包含触摸、滚轮或文本输入。
- 键盘侧当前不会过滤 `repeat`。如果平台在后续帧继续发送重复 `KeyDown`,只要 `m_keyDownThisFrame` 被再次写入,它仍会返回 `true`
## 返回值
- `bool` - 当前帧是否存在任意键盘键或鼠标按键刚被按下。
## 示例
```cpp
if (XCEngine::Input::InputManager::Get().IsAnyKeyPressed()) {
// ...
}
```
## 相关文档
- [返回类型总览](InputManager.md)
- [IsAnyKeyDown](IsAnyKeyDown.md)
- [IsKeyPressed](IsKeyPressed.md)
- [IsMouseButtonClicked](IsMouseButtonClicked.md)
- [ProcessKeyDown](ProcessKeyDown.md)