• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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