2026-03-26 16:45:24 +08:00
|
|
|
# InputManager::OnKeyEvent
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
获取键盘事件通道。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
Core::Event<const KeyEvent&>& OnKeyEvent();
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
返回内部 `Core::Event<const KeyEvent&>` 引用。当前事件会在 [ProcessKeyDown](ProcessKeyDown.md) 和 [ProcessKeyUp](ProcessKeyUp.md) 中同步触发。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
需要注意:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- 回调执行线程就是调用 `Process*` 的线程。
|
|
|
|
|
- 当前 `Shutdown()` 不会清空这个事件对象中的监听器。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- `Core::Event<const KeyEvent&>&` - 键盘事件通道。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 示例
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
auto id = XCEngine::Input::InputManager::Get().OnKeyEvent().Subscribe(
|
|
|
|
|
[](const XCEngine::Input::KeyEvent& e) {}
|
|
|
|
|
);
|
2026-03-26 16:45:24 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- [返回类型总览](InputManager.md)
|
|
|
|
|
- [ProcessKeyDown](ProcessKeyDown.md)
|
|
|
|
|
- [ProcessKeyUp](ProcessKeyUp.md)
|