1# native_key_event.h 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @jiangtao92--> 5<!--Designer: @piggyguy--> 6<!--Tester: @songyanhong--> 7<!--Adviser: @HelloCrease--> 8 9## 概述 10 11提供NativeKeyEvent相关接口定义。 12 13**引用文件:** <arkui/native_key_event.h> 14 15**库:** libace_ndk.z.so 16 17**系统能力:** SystemCapability.ArkUI.ArkUI.Full 18 19**起始版本:** 14 20 21**相关模块:** [ArkUI_NativeModule](capi-arkui-nativemodule.md) 22 23## 汇总 24 25### 枚举 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [ArkUI_KeyCode](#arkui_keycode) | ArkUI_KeyCode | 按键事件的键码。 | 30| [ArkUI_KeyEventType](#arkui_keyeventtype) | ArkUI_KeyEventType | 按键的类型。 | 31| [ArkUI_KeySourceType](#arkui_keysourcetype) | ArkUI_KeySourceType | 触发当前按键的输入设备类型。 | 32| [ArkUI_KeyIntension](#arkui_keyintension) | ArkUI_KeyIntension | 按键对应的意图。 | 33 34### 函数 35 36| 名称 | 描述 | 37| -- | -- | 38| [ArkUI_KeyEventType OH_ArkUI_KeyEvent_GetType(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_gettype) | 获取按键的类型。 | 39| [int32_t OH_ArkUI_KeyEvent_GetKeyCode(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_getkeycode) | 获取按键的键码。 | 40| [const char *OH_ArkUI_KeyEvent_GetKeyText(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_getkeytext) | 获取按键的键值。 | 41| [ArkUI_KeySourceType OH_ArkUI_KeyEvent_GetKeySource(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_getkeysource) | 获取当前按键的输入设备类型。 | 42| [void OH_ArkUI_KeyEvent_StopPropagation(const ArkUI_UIInputEvent* event, bool stopPropagation)](#oh_arkui_keyevent_stoppropagation) | 阻塞事件冒泡传递。 | 43| [ArkUI_KeyIntension OH_ArkUI_KeyEvent_GetKeyIntensionCode(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_getkeyintensioncode) | 获取按键对应的意图。 | 44| [uint32_t OH_ArkUI_KeyEvent_GetUnicode(const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_getunicode) | 获取按键的Unicode码值。支持范围为非空格的基本拉丁字符:0x0021-0x007E,不支持字符为0。组合键场景下,返回当前keyEvent对应按键的Unicode码值。 | 45| [void OH_ArkUI_KeyEvent_SetConsumed(const ArkUI_UIInputEvent* event, bool isConsumed)](#oh_arkui_keyevent_setconsumed) | 在按键事件回调中,设置事件是否被该回调消费。 | 46| [void OH_ArkUI_KeyEvent_Dispatch(ArkUI_NodeHandle node, const ArkUI_UIInputEvent* event)](#oh_arkui_keyevent_dispatch) | 将按键事件分发到特定组件节点。 | 47| [ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsNumLockOn(const ArkUI_UIInputEvent* event, bool* state)](#oh_arkui_keyevent_isnumlockon) | 获取按键事件发生时NumLock的状态。 | 48| [ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsCapsLockOn(const ArkUI_UIInputEvent* event, bool* state)](#oh_arkui_keyevent_iscapslockon) | 获取按键事件发生时CapsLock的状态。 | 49| [ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsScrollLockOn(const ArkUI_UIInputEvent* event, bool* state)](#oh_arkui_keyevent_isscrolllockon) | 获取按键事件发生时ScrollLock的状态。 | 50 51## 枚举类型说明 52 53### ArkUI_KeyCode 54 55``` 56enum ArkUI_KeyCode 57``` 58 59**描述:** 60 61 62按键事件的键码。 63 64**起始版本:** 14 65 66| 枚举项 | 描述 | 67| -- |----------------------------| 68| ARKUI_KEYCODE_UNKNOWN = -1 | 未知按键。 | 69| ARKUI_KEYCODE_FN = 0 | 功能(Fn)键。 | 70| ARKUI_KEYCODE_VOLUME_UP = 16 | 音量增加键。 | 71| ARKUI_KEYCODE_VOLUME_DOWN = 17 | 音量减小键。 | 72| ARKUI_KEYCODE_POWER = 18 | 电源键。 | 73| ARKUI_KEYCODE_CAMERA = 19 | 拍照键。 | 74| ARKUI_KEYCODE_VOLUME_MUTE = 22 | 扬声器静音键。 | 75| ARKUI_KEYCODE_MUTE = 23 | 话筒静音键。 | 76| ARKUI_KEYCODE_BRIGHTNESS_UP = 40 | 亮度调节按键,调亮。 | 77| ARKUI_KEYCODE_BRIGHTNESS_DOWN = 41 | 亮度调节按键,调暗。 | 78| ARKUI_KEYCODE_0 = 2000 | 按键'0'。 | 79| ARKUI_KEYCODE_1 = 2001 | 按键'1'。 | 80| ARKUI_KEYCODE_2 = 2002 | 按键'2'。 | 81| ARKUI_KEYCODE_3 = 2003 | 按键'3'。 | 82| ARKUI_KEYCODE_4 = 2004 | 按键'4'。 | 83| ARKUI_KEYCODE_5 = 2005 | 按键'5'。 | 84| ARKUI_KEYCODE_6 = 2006 | 按键'6'。 | 85| ARKUI_KEYCODE_7 = 2007 | 按键'7'。 | 86| ARKUI_KEYCODE_8 = 2008 | 按键'8'。 | 87| ARKUI_KEYCODE_9 = 2009 | 按键'9'。 | 88| ARKUI_KEYCODE_STAR = 2010 | 按键'*'。 | 89| ARKUI_KEYCODE_POUND = 2011 | 按键'#'。 | 90| ARKUI_KEYCODE_DPAD_UP = 2012 | 导航键,向上。 | 91| ARKUI_KEYCODE_DPAD_DOWN = 2013 | 导航键,向下。 | 92| ARKUI_KEYCODE_DPAD_LEFT = 2014 | 导航键,向左。 | 93| ARKUI_KEYCODE_DPAD_RIGHT = 2015 | 导航键,向右。 | 94| ARKUI_KEYCODE_DPAD_CENTER = 2016 | 导航键,确定键。 | 95| ARKUI_KEYCODE_A = 2017 | 按键'A'。 | 96| ARKUI_KEYCODE_B = 2018 | 按键'B'。 | 97| ARKUI_KEYCODE_C = 2019 | 按键'C'。 | 98| ARKUI_KEYCODE_D = 2020 | 按键'D'。 | 99| ARKUI_KEYCODE_E = 2021 | 按键'E'。 | 100| ARKUI_KEYCODE_F = 2022 | 按键'F'。 | 101| ARKUI_KEYCODE_G = 2023 | 按键'G'。 | 102| ARKUI_KEYCODE_H = 2024 | 按键'H'。 | 103| ARKUI_KEYCODE_I = 2025 | 按键'I'。 | 104| ARKUI_KEYCODE_J = 2026 | 按键'J'。 | 105| ARKUI_KEYCODE_K = 2027 | 按键'K'。 | 106| ARKUI_KEYCODE_L = 2028 | 按键'L'。 | 107| ARKUI_KEYCODE_M = 2029 | 按键'M'。 | 108| ARKUI_KEYCODE_N = 2030 | 按键'N'。 | 109| ARKUI_KEYCODE_O = 2031 | 按键'O'。 | 110| ARKUI_KEYCODE_P = 2032 | 按键'P'。 | 111| ARKUI_KEYCODE_Q = 2033 | 按键'R'。 | 112| ARKUI_KEYCODE_R = 2034 | 按键'R'。 | 113| ARKUI_KEYCODE_S = 2035 | 按键'S'。 | 114| ARKUI_KEYCODE_T = 2036 | 按键'T'。 | 115| ARKUI_KEYCODE_U = 2037 | 按键'U'。 | 116| ARKUI_KEYCODE_V = 2038 | 按键'V'。 | 117| ARKUI_KEYCODE_W = 2039 | 按键'W'。 | 118| ARKUI_KEYCODE_X = 2040 | 按键'X'。 | 119| ARKUI_KEYCODE_Y = 2041 | 按键'Y'。 | 120| ARKUI_KEYCODE_Z = 2042 | 按键'Z'。 | 121| ARKUI_KEYCODE_COMMA = 2043 | 按键','。 | 122| ARKUI_KEYCODE_PERIOD = 2044 | 按键'.'。 | 123| ARKUI_KEYCODE_ALT_LEFT = 2045 | 左Alt键。 | 124| ARKUI_KEYCODE_ALT_RIGHT = 2046 | 右Alt键。 | 125| ARKUI_KEYCODE_SHIFT_LEFT = 2047 | 左Shift键。 | 126| ARKUI_KEYCODE_SHIFT_RIGHT = 2048 | 右Shift键。 | 127| ARKUI_KEYCODE_TAB = 2049 | Tab键。 | 128| ARKUI_KEYCODE_SPACE = 2050 | 空格键。 | 129| ARKUI_KEYCODE_SYM = 2051 | 符号修改器按键。 | 130| ARKUI_KEYCODE_EXPLORER = 2052 | 浏览器功能键,此键用于启动浏览器应用程序。 | 131| ARKUI_KEYCODE_ENVELOPE = 2053 | 电子邮件功能键,此键用于启动电子邮件应用程序。 | 132| ARKUI_KEYCODE_ENTER = 2054 | 回车键。 | 133| ARKUI_KEYCODE_DEL = 2055 | 退格键。 | 134| ARKUI_KEYCODE_GRAVE = 2056 | 按键'`'。 | 135| ARKUI_KEYCODE_MINUS = 2057 | 按键'-'。 | 136| ARKUI_KEYCODE_EQUALS = 2058 | 按键'='。 | 137| ARKUI_KEYCODE_LEFT_BRACKET = 2059 | 按键'['。 | 138| ARKUI_KEYCODE_RIGHT_BRACKET = 2060 | 按键']'。 | 139| ARKUI_KEYCODE_BACKSLASH = 2061 | 按键'\\'。 | 140| ARKUI_KEYCODE_SEMICOLON = 2062 | 按键';'。 | 141| ARKUI_KEYCODE_APOSTROPHE = 2063 | 按键''' (单引号)。 | 142| ARKUI_KEYCODE_SLASH = 2064 | 按键'/'。 | 143| ARKUI_KEYCODE_AT = 2065 | 按键'@'。 | 144| ARKUI_KEYCODE_PLUS = 2066 | 按键'+'。 | 145| ARKUI_KEYCODE_MENU = 2067 | 菜单键。 | 146| ARKUI_KEYCODE_PAGE_UP = 2068 | 向上翻页键。 | 147| ARKUI_KEYCODE_PAGE_DOWN = 2069 | 向下翻页键。 | 148| ARKUI_KEYCODE_ESCAPE = 2070 | ESC键。 | 149| ARKUI_KEYCODE_FORWARD_DEL = 2071 | 删除键。 | 150| ARKUI_KEYCODE_CTRL_LEFT = 2072 | 左Ctrl键。 | 151| ARKUI_KEYCODE_CTRL_RIGHT = 2073 | 右Ctrl键。 | 152| ARKUI_KEYCODE_CAPS_LOCK = 2074 | 大写锁定键。 | 153| ARKUI_KEYCODE_SCROLL_LOCK = 2075 | 滚动锁定键。 | 154| ARKUI_KEYCODE_META_LEFT = 2076 | 左元修改器键。 | 155| ARKUI_KEYCODE_META_RIGHT = 2077 | 右元修改器键。 | 156| ARKUI_KEYCODE_FUNCTION = 2078 | 功能键。 | 157| ARKUI_KEYCODE_SYSRQ = 2079 | 系统请求/打印屏幕键。 | 158| ARKUI_KEYCODE_BREAK = 2080 | Break/Pause键。 | 159| ARKUI_KEYCODE_MOVE_HOME = 2081 | 光标移动到开始键。 | 160| ARKUI_KEYCODE_MOVE_END = 2082 | 光标移动到末尾键。 | 161| ARKUI_KEYCODE_INSERT = 2083 | 插入键。 | 162| ARKUI_KEYCODE_FORWARD = 2084 | 前进键。 | 163| ARKUI_KEYCODE_MEDIA_PLAY = 2085 | 多媒体键,播放。 | 164| ARKUI_KEYCODE_MEDIA_PAUSE = 2086 | 多媒体键,暂停。 | 165| ARKUI_KEYCODE_MEDIA_CLOSE = 2087 | 多媒体键,关闭。 | 166| ARKUI_KEYCODE_MEDIA_EJECT = 2088 | 多媒体键,弹出。 | 167| ARKUI_KEYCODE_MEDIA_RECORD = 2089 | 多媒体键,录音。 | 168| ARKUI_KEYCODE_F1 = 2090 | 按键'F1'。 | 169| ARKUI_KEYCODE_F2 = 2091 | 按键'F2'。 | 170| ARKUI_KEYCODE_F3 = 2092 | 按键'F3'。 | 171| ARKUI_KEYCODE_F4 = 2093 | 按键'F4'。 | 172| ARKUI_KEYCODE_F5 = 2094 | 按键'F5'。 | 173| ARKUI_KEYCODE_F6 = 2095 | 按键'F6'。 | 174| ARKUI_KEYCODE_F7 = 2096 | 按键'F7'。 | 175| ARKUI_KEYCODE_F8 = 2097 | 按键'F8'。 | 176| ARKUI_KEYCODE_F9 = 2098 | 按键'F9'。 | 177| ARKUI_KEYCODE_F10 = 2099 | 按键'F10'。 | 178| ARKUI_KEYCODE_F11 = 2100 | 按键'F11'。 | 179| ARKUI_KEYCODE_F12 = 2101 | 按键'F12'。 | 180| ARKUI_KEYCODE_NUM_LOCK = 2102 | 小键盘锁。 | 181| ARKUI_KEYCODE_NUMPAD_0 = 2103 | 小键盘按键'0'。 | 182| ARKUI_KEYCODE_NUMPAD_1 = 2104 | 小键盘按键'1'。 | 183| ARKUI_KEYCODE_NUMPAD_2 = 2105 | 小键盘按键'2'。 | 184| ARKUI_KEYCODE_NUMPAD_3 = 2106 | 小键盘按键'3'。 | 185| ARKUI_KEYCODE_NUMPAD_4 = 2107 | 小键盘按键'4'。 | 186| ARKUI_KEYCODE_NUMPAD_5 = 2108 | 小键盘按键'5'。 | 187| ARKUI_KEYCODE_NUMPAD_6 = 2109 | 小键盘按键'6'。 | 188| ARKUI_KEYCODE_NUMPAD_7 = 2110 | 小键盘按键'7'。 | 189| ARKUI_KEYCODE_NUMPAD_8 = 2111 | 小键盘按键'8'。 | 190| ARKUI_KEYCODE_NUMPAD_9 = 2112 | 小键盘按键'9'。 | 191| ARKUI_KEYCODE_NUMPAD_DIVIDE = 2113 | 小键盘按键'/'。 | 192| ARKUI_KEYCODE_NUMPAD_MULTIPLY = 2114 | 小键盘按键'*'。 | 193| ARKUI_KEYCODE_NUMPAD_SUBTRACT = 2115 | 小键盘按键'-'。 | 194| ARKUI_KEYCODE_NUMPAD_ADD = 2116 | 小键盘按键'+'。 | 195| ARKUI_KEYCODE_NUMPAD_DOT = 2117 | 小键盘按键'.'。 | 196| ARKUI_KEYCODE_NUMPAD_COMMA = 2118 | 小键盘按键','。 | 197| ARKUI_KEYCODE_NUMPAD_ENTER = 2119 | 小键盘按键回车。 | 198| ARKUI_KEYCODE_NUMPAD_EQUALS = 2120 | 小键盘按键'='。 | 199| ARKUI_KEYCODE_NUMPAD_LEFT_PAREN = 2121 | 小键盘按键'('。 | 200| ARKUI_KEYCODE_NUMPAD_RIGHT_PAREN = 2122 | 小键盘按键')'。 | 201| ARKUI_KEYCODE_BUTTON_A = 2301 | 游戏手柄按键'A'。<br>**起始版本:** 15 | 202| ARKUI_KEYCODE_BUTTON_B = 2302 | 游戏手柄按键'B'。<br>**起始版本:** 15 | 203| ARKUI_KEYCODE_BUTTON_X = 2304 | 游戏手柄按键'X'。<br>**起始版本:** 15 | 204| ARKUI_KEYCODE_BUTTON_Y = 2305 | 游戏手柄按键'Y'。<br>**起始版本:** 15 | 205| ARKUI_KEYCODE_BUTTON_L1 = 2307 | 游戏手柄按键'L1'。<br>**起始版本:** 15 | 206| ARKUI_KEYCODE_BUTTON_R1 = 2308 | 游戏手柄按键'R1'。<br>**起始版本:** 15 | 207| ARKUI_KEYCODE_BUTTON_L2 = 2309 | 游戏手柄按键'L2'。<br>**起始版本:** 15 | 208| ARKUI_KEYCODE_BUTTON_R2 = 2310 | 游戏手柄按键'R2'。<br>**起始版本:** 15 | 209| ARKUI_KEYCODE_BUTTON_SELECT = 2311 | 游戏手柄按键'Select'。<br>**起始版本:** 15 | 210| ARKUI_KEYCODE_BUTTON_START = 2312 | 游戏手柄按键'Start'。<br>**起始版本:** 15 | 211| ARKUI_KEYCODE_BUTTON_MODE = 2313 | 游戏手柄按键'Mode'。<br>**起始版本:** 15 | 212| ARKUI_KEYCODE_BUTTON_THUMBL = 2314 | 游戏手柄按键'THUMBL'。<br>**起始版本:** 15 | 213| ARKUI_KEYCODE_BUTTON_THUMBR = 2315 | 游戏手柄按键'THUMBR'。<br>**起始版本:** 15 | 214 215### ArkUI_KeyEventType 216 217``` 218enum ArkUI_KeyEventType 219``` 220 221**描述:** 222 223 224按键的类型。 225 226**起始版本:** 14 227 228| 枚举项 | 描述 | 229| -- | -- | 230| ARKUI_KEY_EVENT_UNKNOWN = -1 | 未知类型。 | 231| ARKUI_KEY_EVENT_DOWN = 0 | 按键按下。 | 232| ARKUI_KEY_EVENT_UP = 1 | 按键松开。 | 233| ARKUI_KEY_EVENT_LONG_PRESS = 2 | 按键长按。 | 234| ARKUI_KEY_EVENT_CLICK = 3 | 按键点击。 | 235 236### ArkUI_KeySourceType 237 238``` 239enum ArkUI_KeySourceType 240``` 241 242**描述:** 243 244 245触发当前按键的输入设备类型。 246 247**起始版本:** 14 248 249| 枚举项 | 描述 | 250| -- |-----------| 251| ARKUI_KEY_SOURCE_UNKNOWN = 0 | 未知类型。 | 252| ARKUI_KEY_SOURCE_TYPE_MOUSE = 1 | 鼠标。 | 253| ARKUI_KEY_SOURCE_TYPE_KEYBOARD = 4 | 键盘。 | 254| ARKUI_KEY_SOURCE_TYPE_JOYSTICK = 5 | 游戏手柄。<br>**起始版本:** 15 | 255 256### ArkUI_KeyIntension 257 258``` 259enum ArkUI_KeyIntension 260``` 261 262**描述:** 263 264 265按键对应的意图。 266 267**起始版本:** 14 268 269| 枚举项 | 描述 | 270| -- | -- | 271| ARKUI_KEY_INTENSION_UNKNOWN = -1 | 未知意图。 | 272| ARKUI_KEY_INTENSION_UP = 1 | 向上。 | 273| ARKUI_KEY_INTENSION_DOWN = 2 | 向下。 | 274| ARKUI_KEY_INTENSION_LEFT = 3 | 向左。 | 275| ARKUI_KEY_INTENSION_RIGHT = 4 | 向右。 | 276| ARKUI_KEY_INTENSION_SELECT = 5 | 选中。 | 277| ARKUI_KEY_INTENSION_ESCAPE = 6 | 返回。 | 278| ARKUI_KEY_INTENSION_BACK = 7 | 后退。 | 279| ARKUI_KEY_INTENSION_FORWARD = 8 | 前进。 | 280| ARKUI_KEY_INTENSION_MENU = 9 | 菜单。 | 281| ARKUI_KEY_INTENSION_HOME = 10 | 主页。 | 282| ARKUI_KEY_INTENSION_PAGE_UP = 11 | 上一页。 | 283| ARKUI_KEY_INTENSION_PAGE_DOWN = 12 | 下一页。 | 284| ARKUI_KEY_INTENSION_ZOOM_OUT = 13 | 缩小。 | 285| ARKUI_KEY_INTENSION_ZOOM_IN = 14 | 放大。 | 286| ARKUI_KEY_INTENTION_MEDIA_PLAY_PAUSE = 100 | 播放。 | 287| ARKUI_KEY_INTENTION_MEDIA_FAST_FORWARD = 101 | 快进。 | 288| ARKUI_KEY_INTENTION_MEDIA_FAST_PLAYBACK = 103 | 快速播放。 | 289| ARKUI_KEY_INTENTION_MEDIA_NEXT = 104 | 下一首。 | 290| ARKUI_KEY_INTENTION_MEDIA_PREVIOUS = 105 | 上一首。 | 291| ARKUI_KEY_INTENTION_MEDIA_MUTE = 106 | 静音。 | 292| ARKUI_KEY_INTENTION_VOLUME_UP = 107 | 音量增加。 | 293| ARKUI_KEY_INTENTION_VOLUME_DOWN = 108 | 音量降低。 | 294| ARKUI_KEY_INTENTION_CALL = 200 | 接听电话。 | 295| ARKUI_KEY_INTENTION_CAMERA = 300 | 拍照。 | 296 297 298## 函数说明 299 300### OH_ArkUI_KeyEvent_GetType() 301 302``` 303ArkUI_KeyEventType OH_ArkUI_KeyEvent_GetType(const ArkUI_UIInputEvent* event) 304``` 305 306**描述:** 307 308 309获取按键的类型。 310 311**起始版本:** 14 312 313 314**参数:** 315 316| 参数项 | 描述 | 317| -- | -- | 318| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 319 320**返回:** 321 322| 类型 | 说明 | 323| -- | -- | 324| [ArkUI_KeyEventType](capi-native-key-event-h.md#arkui_keyeventtype) | ArkUI_KeyEventType 按键的类型。 | 325 326### OH_ArkUI_KeyEvent_GetKeyCode() 327 328``` 329int32_t OH_ArkUI_KeyEvent_GetKeyCode(const ArkUI_UIInputEvent* event) 330``` 331 332**描述:** 333 334 335获取按键的键码。 336 337**起始版本:** 14 338 339 340**参数:** 341 342| 参数项 | 描述 | 343| -- | -- | 344| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 345 346**返回:** 347 348| 类型 | 说明 | 349| -- | -- | 350| int32_t | 按键的键码。 | 351 352### OH_ArkUI_KeyEvent_GetKeyText() 353 354``` 355const char *OH_ArkUI_KeyEvent_GetKeyText(const ArkUI_UIInputEvent* event) 356``` 357 358**描述:** 359 360 361获取按键的键值。 362 363**起始版本:** 14 364 365 366**参数:** 367 368| 参数项 | 描述 | 369| -- | -- | 370| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 371 372**返回:** 373 374| 类型 | 说明 | 375| -- | -- | 376| const char * | 按键的键值。 | 377 378### OH_ArkUI_KeyEvent_GetKeySource() 379 380``` 381ArkUI_KeySourceType OH_ArkUI_KeyEvent_GetKeySource(const ArkUI_UIInputEvent* event) 382``` 383 384**描述:** 385 386 387获取当前按键的输入设备类型。 388 389**起始版本:** 14 390 391 392**参数:** 393 394| 参数项 | 描述 | 395| -- | -- | 396| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 397 398**返回:** 399 400| 类型 | 说明 | 401| -- | -- | 402| [ArkUI_KeySourceType](capi-native-key-event-h.md#arkui_keysourcetype) | ArkUI_KeySourceType 当前按键的输入设备类型。 | 403 404### OH_ArkUI_KeyEvent_StopPropagation() 405 406``` 407void OH_ArkUI_KeyEvent_StopPropagation(const ArkUI_UIInputEvent* event, bool stopPropagation) 408``` 409 410**描述:** 411 412 413阻塞事件冒泡传递。 414 415**起始版本:** 14 416 417 418**参数:** 419 420| 参数项 | 描述 | 421| -- | -- | 422| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 423| bool stopPropagation | 表示是否阻止事件冒泡。true表示阻止事件冒泡,false表示不阻止事件冒泡。| 424 425### OH_ArkUI_KeyEvent_GetKeyIntensionCode() 426 427``` 428ArkUI_KeyIntension OH_ArkUI_KeyEvent_GetKeyIntensionCode(const ArkUI_UIInputEvent* event) 429``` 430 431**描述:** 432 433 434获取按键对应的意图。 435 436**起始版本:** 14 437 438 439**参数:** 440 441| 参数项 | 描述 | 442| -- | -- | 443| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 444 445**返回:** 446 447| 类型 | 说明 | 448| -- | -- | 449| [ArkUI_KeyIntension](capi-native-key-event-h.md#arkui_keyintension) | ArkUI_KeyIntension 按键对应的意图。 | 450 451### OH_ArkUI_KeyEvent_GetUnicode() 452 453``` 454uint32_t OH_ArkUI_KeyEvent_GetUnicode(const ArkUI_UIInputEvent* event) 455``` 456 457**描述:** 458 459 460获取按键的Unicode码值。支持范围为非空格的基本拉丁字符:0x0021-0x007E,不支持字符为0。组合键场景下,返回当前keyEvent对应按键的Unicode码值。 461 462**起始版本:** 14 463 464 465**参数:** 466 467| 参数项 | 描述 | 468| -- | -- | 469| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 470 471**返回:** 472 473| 类型 | 说明 | 474| -- | -- | 475| uint32_t | Unicode码值。 | 476 477### OH_ArkUI_KeyEvent_SetConsumed() 478 479``` 480void OH_ArkUI_KeyEvent_SetConsumed(const ArkUI_UIInputEvent* event, bool isConsumed) 481``` 482 483**描述:** 484 485 486在按键事件回调中,设置事件是否被该回调消费。 487 488**起始版本:** 14 489 490 491**参数:** 492 493| 参数项 | 描述 | 494| -- | -- | 495| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 496| bool isConsumed | 事件是否被该回调消费。true表示事件被消费,false表示事件未被消费。 | 497 498### OH_ArkUI_KeyEvent_Dispatch() 499 500``` 501void OH_ArkUI_KeyEvent_Dispatch(ArkUI_NodeHandle node, const ArkUI_UIInputEvent* event) 502``` 503 504**描述:** 505 506 507将按键事件分发到特定组件节点。 508 509**起始版本:** 15 510 511 512**参数:** 513 514| 参数项 | 描述 | 515| -- | -- | 516| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | 指定的节点。 | 517| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 518 519### OH_ArkUI_KeyEvent_IsNumLockOn() 520 521``` 522ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsNumLockOn(const ArkUI_UIInputEvent* event, bool* state) 523``` 524 525**描述:** 526 527 528获取按键事件发生时NumLock的状态。 529 530**起始版本:** 19 531 532 533**参数:** 534 535| 参数项 | 描述 | 536| -- | -- | 537| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 538| bool* state | 输出参数,返回NumLock的状态。true表示处于激活状态,false表示处于未激活状态。| 539 540**返回:** 541 542| 类型 | 说明 | 543| -- | -- | 544| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 545 546### OH_ArkUI_KeyEvent_IsCapsLockOn() 547 548``` 549ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsCapsLockOn(const ArkUI_UIInputEvent* event, bool* state) 550``` 551 552**描述:** 553 554 555获取按键事件发生时CapsLock的状态。 556 557**起始版本:** 19 558 559 560**参数:** 561 562| 参数项 | 描述 | 563| -- | -- | 564| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 565| bool* state | 输出参数,返回CapsLock的状态。true表示处于激活状态,false表示处于未激活状态。| 566 567**返回:** 568 569| 类型 | 说明 | 570| -- | -- | 571| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 572 573### OH_ArkUI_KeyEvent_IsScrollLockOn() 574 575``` 576ArkUI_ErrorCode OH_ArkUI_KeyEvent_IsScrollLockOn(const ArkUI_UIInputEvent* event, bool* state) 577``` 578 579**描述:** 580 581 582获取按键事件发生时ScrollLock的状态。 583 584**起始版本:** 19 585 586 587**参数:** 588 589| 参数项 | 描述 | 590| -- | -- | 591| [const ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* event | ArkUI_UIInputEvent事件指针。 | 592| bool* state | 输出参数,返回ScrollLock的状态。true表示处于激活状态,false表示处于未激活状态。| 593 594**返回:** 595 596| 类型 | 说明 | 597| -- | -- | 598| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 599 600 601