# @ohos.multimodalInput.keyEvent (按键输入事件)
设备上报的按键事件,继承自[InputEvent](js-apis-inputevent.md)。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import { Action, Key, KeyEvent } from '@kit.InputKit';
```
## Action
按键事件类型。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力**:SystemCapability.MultimodalInput.Input.Core
| 名称 | 值 | 说明 |
| ------ | ------- | -------- |
| CANCEL | 0 | 按键取消 |
| DOWN | 1 | 按键按下 |
| UP | 2 | 按键抬起 |
## Key
按键。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力**:SystemCapability.MultimodalInput.Input.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | -------- | ---- | ---- | -------------- |
| code | [KeyCode](js-apis-keycode.md#keycode) | 是 | 否 | 按键码 |
| pressedTime | number | 是 | 否 | 按键按下时间,单位为微秒(μs) |
| deviceId | number | 是 | 否 | 按键所属设备id |
## KeyEvent
按键事件。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力**:SystemCapability.MultimodalInput.Input.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | -------- | ---- | ---- | ------------------------------ |
| action | [Action](#action) | 是 | 否 | 按键动作 |
| key | [Key](#key) | 是 | 否 | 当前上报的按键 |
| unicodeChar | number | 是 | 否 | 按键对应的uniCode字符 |
| keys | [Key](#key) [] | 是 | 否 | 当前处于按下状态的按键列表 |
| ctrlKey | boolean | 是 | 否 | 当前ctrlKey是否处于按下状态
ture表示处于按下状态,false表示处于抬起状态。 |
| altKey | boolean | 是 | 否 | 当前altKey是否处于按下状态
ture表示处于按下状态,false表示处于抬起状态。 |
| shiftKey | boolean | 是 | 否 | 当前shiftKey是否处于按下状态
ture表示处于按下状态,false表示处于抬起状态。 |
| logoKey | boolean | 是 | 否 | 当前logoKey是否处于按下状态
ture表示处于按下状态,false表示处于抬起状态。 |
| fnKey | boolean | 是 | 否 | 当前fnKey是否处于按下状态
ture表示处于按下状态,false表示处于抬起状态。 |
| capsLock | boolean | 是 | 否 | 当前capsLock是否处于激活状态
ture表示处于激活状态,false表示处于未激活状态。 |
| numLock | boolean | 是 | 否 | 当前numLock是否处于激活状态
ture表示处于激活状态,false表示处于未激活状态。 |
| scrollLock | boolean | 是 | 否 | 当前scrollLock是否处于激活状态
ture表示处于激活状态,false表示处于未激活状态。 |