2026-03-26 16:45:24 +08:00
|
|
|
# InputManager::ProcessKeyDown
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
向输入系统注入一个按键按下事件。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void ProcessKeyDown(KeyCode key, bool repeat, bool alt, bool ctrl, bool shift, bool meta);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 行为说明
|
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
|
|
|
- 如果未初始化或键索引越界,直接返回
|
|
|
|
|
- 把 `m_keyDown[index]` 设为 `true`
|
|
|
|
|
- 把 `m_keyDownThisFrame[index]` 设为 `true`
|
|
|
|
|
- 构造 `KeyEvent`
|
|
|
|
|
- 如果 `repeat` 为 `true`,事件类型设为 `Repeat`,否则为 `Down`
|
|
|
|
|
- 同步触发 `m_onKeyEvent`
|
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
|
|
|
- `key` - 键值。
|
|
|
|
|
- `repeat` - 是否为重复按键事件。
|
|
|
|
|
- `alt` - Alt 修饰键状态。
|
|
|
|
|
- `ctrl` - Ctrl 修饰键状态。
|
|
|
|
|
- `shift` - Shift 修饰键状态。
|
|
|
|
|
- `meta` - Meta 修饰键状态。
|
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
|
|
|
- [返回类型总览](InputManager.md)
|
|
|
|
|
- [OnKeyEvent](OnKeyEvent.md)
|
|
|
|
|
- [ProcessKeyUp](ProcessKeyUp.md)
|