1# Native XComponent
2
3
4## 概述
5
6描述ArkUI XComponent持有的surface和触摸事件,该事件可用于EGL/OpenGLES和媒体数据输入,并显示在ArkUI XComponent上,具体使用请参考[Native XComponent](../../ui/napi-xcomponent-guidelines.md)。
7
8> **说明:**
9>
10> 该模块从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
11
12## 汇总
13
14
15### 文件
16
17| 名称                                       | 描述                                       |
18| ---------------------------------------- | ---------------------------------------- |
19| [native_interface_xcomponent.h](native__interface__xcomponent_8h.md) | 声明用于访问Native XComponent的API。 |
20| [native_xcomponent_key_event.h](native__xcomponent__key__event_8h.md) | 声明用于访问Native XComponent键盘事件所使用到的枚举类型。 |
21
22
23### 结构体
24
25| 名称                                       | 描述                    |
26| ---------------------------------------- | --------------------- |
27| [OH_NativeXComponent_TouchPoint](_o_h___native_x_component___touch_point.md) | 触摸事件中触摸点的信息。          |
28| [OH_NativeXComponent_TouchEvent](_o_h___native_x_component___touch_event.md) | 触摸事件。                 |
29| [OH_NativeXComponent_MouseEvent](_o_h___native_x_component___mouse_event.md) | 鼠标事件。                 |
30| [OH_NativeXComponent_Callback](_o_h___native_x_component___callback.md) | 注册surface生命周期和触摸事件回调。 |
31| [OH_NativeXComponent_MouseEvent_Callback](_o_h___native_x_component___mouse_event___callback.md) | 注册鼠标事件的回调。            |
32| [OH_NativeXComponent_ExpectedRateRange](_o_h___native_x_component___expected_rate_range.md) | 定义期望帧率范围。  |
33
34
35### 类型定义
36
37| 名称                                       | 描述                                   |
38| ---------------------------------------- | ------------------------------------ |
39| [OH_NativeXComponent](#oh_nativexcomponent) | 提供封装的OH_NativeXComponent实例。          |
40| [OH_NativeXComponent_Callback](#oh_nativexcomponent_callback) | 注册surface生命周期和触摸事件回调。                |
41| [OH_NativeXComponent_MouseEvent_Callback](#oh_nativexcomponent_mouseevent_callback) | 注册鼠标事件的回调。                           |
42| [OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent) | 提供封装的OH_NativeXComponent_KeyEvent实例。 |
43
44
45### 枚举
46
47| 名称                                       | 描述         |
48| ---------------------------------------- | ---------- |
49| { OH_NATIVEXCOMPONENT_RESULT_SUCCESS = 0, OH_NATIVEXCOMPONENT_RESULT_FAILED = -1, OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER = -2 } | 枚举API访问状态。 |
50| [OH_NativeXComponent_TouchEventType](#oh_nativexcomponent_toucheventtype)&nbsp;{<br/>OH_NATIVEXCOMPONENT_DOWN&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_UP,&nbsp;OH_NATIVEXCOMPONENT_MOVE,&nbsp;OH_NATIVEXCOMPONENT_CANCEL,<br/>OH_NATIVEXCOMPONENT_UNKNOWN<br/>} | 触摸事件类型。    |
51| [OH_NativeXComponent_TouchPointToolType](#oh_nativexcomponent_touchpointtooltype)&nbsp;{<br/>OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_FINGER,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_PEN,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_RUBBER,<br/>OH_NATIVEXCOMPONENT_TOOL_TYPE_BRUSH,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_PENCIL,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_AIRBRUSH,&nbsp;OH_NATIVEXCOMPONENT_TOOL_TYPE_MOUSE,<br/>OH_NATIVEXCOMPONENT_TOOL_TYPE_LENS<br/>} | 触摸点工具类型。   |
52| [OH_NativeXComponent_EventSourceType](#oh_nativexcomponent_eventsourcetype)&nbsp;{<br/>OH_NATIVEXCOMPONENT_SOURCE_TYPE_UNKNOWN&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_SOURCE_TYPE_MOUSE,&nbsp;OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHSCREEN,&nbsp;OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHPAD,<br/>OH_NATIVEXCOMPONENT_SOURCE_TYPE_JOYSTICK,&nbsp;OH_NATIVEXCOMPONENT_SOURCE_TYPE_KEYBOARD<br/>} | 触摸事件源类型。   |
53| [OH_NativeXComponent_MouseEventAction](#oh_nativexcomponent_mouseeventaction)&nbsp;{&nbsp;OH_NATIVEXCOMPONENT_MOUSE_NONE&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_MOUSE_PRESS,&nbsp;OH_NATIVEXCOMPONENT_MOUSE_RELEASE,&nbsp;OH_NATIVEXCOMPONENT_MOUSE_MOVE&nbsp;} | 鼠标事件动作。    |
54| [OH_NativeXComponent_MouseEventButton](#oh_nativexcomponent_mouseeventbutton)&nbsp;{<br/>OH_NATIVEXCOMPONENT_NONE_BUTTON&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_LEFT_BUTTON&nbsp;=&nbsp;0x01,&nbsp;OH_NATIVEXCOMPONENT_RIGHT_BUTTON&nbsp;=&nbsp;0x02,&nbsp;OH_NATIVEXCOMPONENT_MIDDLE_BUTTON&nbsp;=&nbsp;0x04,<br/>OH_NATIVEXCOMPONENT_BACK_BUTTON&nbsp;=&nbsp;0x08,&nbsp;OH_NATIVEXCOMPONENT_FORWARD_BUTTON&nbsp;=&nbsp;0x10<br/>} | 鼠标事件按键。    |
55| [OH_NativeXComponent_KeyCode](#oh_nativexcomponent_keycode)&nbsp;{<br/>KEY_UNKNOWN&nbsp;=&nbsp;-1,&nbsp;KEY_FN&nbsp;=&nbsp;0,&nbsp;KEY_HOME&nbsp;=&nbsp;1,&nbsp;KEY_BACK&nbsp;=&nbsp;2,KEY_MEDIA_PLAY_PAUSE&nbsp;=&nbsp;10,&nbsp;KEY_MEDIA_STOP&nbsp;=&nbsp;11,&nbsp;KEY_MEDIA_NEXT&nbsp;=&nbsp;12,&nbsp;KEY_MEDIA_PREVIOUS&nbsp;=&nbsp;13,<br/>KEY_MEDIA_REWIND&nbsp;=&nbsp;14,&nbsp;KEY_MEDIA_FAST_FORWARD&nbsp;=&nbsp;15,&nbsp;KEY_VOLUME_UP&nbsp;=&nbsp;16,&nbsp;KEY_VOLUME_DOWN&nbsp;=&nbsp;17,<br/>KEY_POWER&nbsp;=&nbsp;18,&nbsp;KEY_CAMERA&nbsp;=&nbsp;19,&nbsp;KEY_VOLUME_MUTE&nbsp;=&nbsp;22,&nbsp;KEY_MUTE&nbsp;=&nbsp;23,KEY_BRIGHTNESS_UP&nbsp;=&nbsp;40,&nbsp;KEY_BRIGHTNESS_DOWN&nbsp;=&nbsp;41,&nbsp;KEY_0&nbsp;=&nbsp;2000,&nbsp;KEY_1&nbsp;=&nbsp;2001,<br/>KEY_2&nbsp;=&nbsp;2002,&nbsp;KEY_3&nbsp;=&nbsp;2003,&nbsp;KEY_4&nbsp;=&nbsp;2004,&nbsp;KEY_5&nbsp;=&nbsp;2005,<br/>KEY_6&nbsp;=&nbsp;2006,&nbsp;KEY_7&nbsp;=&nbsp;2007,&nbsp;KEY_8&nbsp;=&nbsp;2008,&nbsp;KEY_9&nbsp;=&nbsp;2009,<br/>KEY_STAR&nbsp;=&nbsp;2010,&nbsp;KEY_POUND&nbsp;=&nbsp;2011,&nbsp;KEY_DPAD_UP&nbsp;=&nbsp;2012,&nbsp;KEY_DPAD_DOWN&nbsp;=&nbsp;2013,KEY_DPAD_LEFT&nbsp;=&nbsp;2014,&nbsp;KEY_DPAD_RIGHT&nbsp;=&nbsp;2015,&nbsp;KEY_DPAD_CENTER&nbsp;=&nbsp;2016,<br/>KEY_A&nbsp;=&nbsp;2017,<br/>KEY_B&nbsp;=&nbsp;2018,&nbsp;KEY_C&nbsp;=&nbsp;2019,&nbsp;KEY_D&nbsp;=&nbsp;2020,&nbsp;KEY_E&nbsp;=&nbsp;2021,<br/>KEY_F&nbsp;=&nbsp;2022,&nbsp;KEY_G&nbsp;=&nbsp;2023,&nbsp;KEY_H&nbsp;=&nbsp;2024,&nbsp;KEY_I&nbsp;=&nbsp;2025,<br/>KEY_J&nbsp;=&nbsp;2026,&nbsp;KEY_K&nbsp;=&nbsp;2027,&nbsp;KEY_L&nbsp;=&nbsp;2028,&nbsp;KEY_M&nbsp;=&nbsp;2029,<br/>KEY_N&nbsp;=&nbsp;2030,&nbsp;KEY_O&nbsp;=&nbsp;2031,&nbsp;KEY_P&nbsp;=&nbsp;2032,&nbsp;KEY_Q&nbsp;=&nbsp;2033,<br/>KEY_R&nbsp;=&nbsp;2034,&nbsp;KEY_S&nbsp;=&nbsp;2035,&nbsp;KEY_T&nbsp;=&nbsp;2036,&nbsp;KEY_U&nbsp;=&nbsp;2037,<br/>KEY_V&nbsp;=&nbsp;2038,&nbsp;KEY_W&nbsp;=&nbsp;2039,&nbsp;KEY_X&nbsp;=&nbsp;2040,&nbsp;KEY_Y&nbsp;=&nbsp;2041,<br/>KEY_Z&nbsp;=&nbsp;2042,&nbsp;KEY_COMMA&nbsp;=&nbsp;2043,&nbsp;KEY_PERIOD&nbsp;=&nbsp;2044,&nbsp;KEY_ALT_LEFT&nbsp;=&nbsp;2045,<br/>KEY_ALT_RIGHT&nbsp;=&nbsp;2046,&nbsp;KEY_SHIFT_LEFT&nbsp;=&nbsp;2047,&nbsp;KEY_SHIFT_RIGHT&nbsp;=&nbsp;2048,&nbsp;KEY_TAB&nbsp;=&nbsp;2049,<br/>KEY_SPACE&nbsp;=&nbsp;2050,&nbsp;KEY_SYM&nbsp;=&nbsp;2051,&nbsp;KEY_EXPLORER&nbsp;=&nbsp;2052,&nbsp;KEY_ENVELOPE&nbsp;=&nbsp;2053,<br/>KEY_ENTER&nbsp;=&nbsp;2054,&nbsp;KEY_DEL&nbsp;=&nbsp;2055,&nbsp;KEY_GRAVE&nbsp;=&nbsp;2056,&nbsp;KEY_MINUS&nbsp;=&nbsp;2057,<br/>KEY_EQUALS&nbsp;=&nbsp;2058,&nbsp;KEY_LEFT_BRACKET&nbsp;=&nbsp;2059,&nbsp;KEY_RIGHT_BRACKET&nbsp;=&nbsp;2060,&nbsp;KEY_BACKSLASH&nbsp;=&nbsp;2061,<br/>KEY_SEMICOLON&nbsp;=&nbsp;2062,&nbsp;KEY_APOSTROPHE&nbsp;=&nbsp;2063,&nbsp;KEY_SLASH&nbsp;=&nbsp;2064,&nbsp;KEY_AT&nbsp;=&nbsp;2065,<br/>KEY_PLUS&nbsp;=&nbsp;2066,&nbsp;KEY_MENU&nbsp;=&nbsp;2067,&nbsp;KEY_PAGE_UP&nbsp;=&nbsp;2068,&nbsp;KEY_PAGE_DOWN&nbsp;=&nbsp;2069,<br/>KEY_ESCAPE&nbsp;=&nbsp;2070,&nbsp;KEY_FORWARD_DEL&nbsp;=&nbsp;2071,&nbsp;KEY_CTRL_LEFT&nbsp;=&nbsp;2072,&nbsp;KEY_CTRL_RIGHT&nbsp;=&nbsp;2073,<br/>KEY_CAPS_LOCK&nbsp;=&nbsp;2074,&nbsp;KEY_SCROLL_LOCK&nbsp;=&nbsp;2075,&nbsp;KEY_META_LEFT&nbsp;=&nbsp;2076,&nbsp;KEY_META_RIGHT&nbsp;=&nbsp;2077,<br/>KEY_FUNCTION&nbsp;=&nbsp;2078,&nbsp;KEY_SYSRQ&nbsp;=&nbsp;2079,&nbsp;KEY_BREAK&nbsp;=&nbsp;2080,&nbsp;KEY_MOVE_HOME&nbsp;=&nbsp;2081,<br/>KEY_MOVE_END&nbsp;=&nbsp;2082,&nbsp;KEY_INSERT&nbsp;=&nbsp;2083,&nbsp;KEY_FORWARD&nbsp;=&nbsp;2084,&nbsp;KEY_MEDIA_PLAY&nbsp;=&nbsp;2085,<br/>KEY_MEDIA_PAUSE&nbsp;=&nbsp;2086,&nbsp;KEY_MEDIA_CLOSE&nbsp;=&nbsp;2087,&nbsp;KEY_MEDIA_EJECT&nbsp;=&nbsp;2088,&nbsp;KEY_MEDIA_RECORD&nbsp;=&nbsp;2089,<br/>KEY_F1&nbsp;=&nbsp;2090,&nbsp;KEY_F2&nbsp;=&nbsp;2091,&nbsp;KEY_F3&nbsp;=&nbsp;2092,&nbsp;KEY_F4&nbsp;=&nbsp;2093,<br/>KEY_F5&nbsp;=&nbsp;2094,&nbsp;KEY_F6&nbsp;=&nbsp;2095,&nbsp;KEY_F7&nbsp;=&nbsp;2096,&nbsp;KEY_F8&nbsp;=&nbsp;2097,<br/>KEY_F9&nbsp;=&nbsp;2098,&nbsp;KEY_F10&nbsp;=&nbsp;2099,&nbsp;KEY_F11&nbsp;=&nbsp;2100,&nbsp;KEY_F12&nbsp;=&nbsp;2101,<br/>KEY_NUM_LOCK&nbsp;=&nbsp;2102,&nbsp;KEY_NUMPAD_0&nbsp;=&nbsp;2103,&nbsp;KEY_NUMPAD_1&nbsp;=&nbsp;2104,&nbsp;KEY_NUMPAD_2&nbsp;=&nbsp;2105,<br/>KEY_NUMPAD_3&nbsp;=&nbsp;2106,&nbsp;KEY_NUMPAD_4&nbsp;=&nbsp;2107,&nbsp;KEY_NUMPAD_5&nbsp;=&nbsp;2108,&nbsp;KEY_NUMPAD_6&nbsp;=&nbsp;2109,<br/>KEY_NUMPAD_7&nbsp;=&nbsp;2110,&nbsp;KEY_NUMPAD_8&nbsp;=&nbsp;2111,&nbsp;KEY_NUMPAD_9&nbsp;=&nbsp;2112,&nbsp;KEY_NUMPAD_DIVIDE&nbsp;=&nbsp;2113,<br/>KEY_NUMPAD_MULTIPLY&nbsp;=&nbsp;2114,&nbsp;KEY_NUMPAD_SUBTRACT&nbsp;=&nbsp;2115,&nbsp;KEY_NUMPAD_ADD&nbsp;=&nbsp;2116,&nbsp;KEY_NUMPAD_DOT&nbsp;=&nbsp;2117,<br/>KEY_NUMPAD_COMMA&nbsp;=&nbsp;2118,&nbsp;KEY_NUMPAD_ENTER&nbsp;=&nbsp;2119,&nbsp;KEY_NUMPAD_EQUALS&nbsp;=&nbsp;2120,&nbsp;KEY_NUMPAD_LEFT_PAREN&nbsp;=&nbsp;2121,<br/>KEY_NUMPAD_RIGHT_PAREN&nbsp;=&nbsp;2122,&nbsp;KEY_VIRTUAL_MULTITASK&nbsp;=&nbsp;2210,&nbsp;KEY_SLEEP&nbsp;=&nbsp;2600,&nbsp;KEY_ZENKAKU_HANKAKU&nbsp;=&nbsp;2601,<br/>KEY_102ND&nbsp;=&nbsp;2602,&nbsp;KEY_RO&nbsp;=&nbsp;2603,&nbsp;KEY_KATAKANA&nbsp;=&nbsp;2604,&nbsp;KEY_HIRAGANA&nbsp;=&nbsp;2605,<br/>KEY_HENKAN&nbsp;=&nbsp;2606,&nbsp;KEY_KATAKANA_HIRAGANA&nbsp;=&nbsp;2607,&nbsp;KEY_MUHENKAN&nbsp;=&nbsp;2608,&nbsp;KEY_LINEFEED&nbsp;=&nbsp;2609,<br/>KEY_MACRO&nbsp;=&nbsp;2610,&nbsp;KEY_NUMPAD_PLUSMINUS&nbsp;=&nbsp;2611,&nbsp;KEY_SCALE&nbsp;=&nbsp;2612,&nbsp;KEY_HANGUEL&nbsp;=&nbsp;2613,<br/>KEY_HANJA&nbsp;=&nbsp;2614,&nbsp;KEY_YEN&nbsp;=&nbsp;2615,&nbsp;KEY_STOP&nbsp;=&nbsp;2616,&nbsp;KEY_AGAIN&nbsp;=&nbsp;2617,<br/>KEY_PROPS&nbsp;=&nbsp;2618,&nbsp;KEY_UNDO&nbsp;=&nbsp;2619,&nbsp;KEY_COPY&nbsp;=&nbsp;2620,&nbsp;KEY_OPEN&nbsp;=&nbsp;2621,<br/>KEY_PASTE&nbsp;=&nbsp;2622,&nbsp;KEY_FIND&nbsp;=&nbsp;2623,&nbsp;KEY_CUT&nbsp;=&nbsp;2624,&nbsp;KEY_HELP&nbsp;=&nbsp;2625,<br/>KEY_CALC&nbsp;=&nbsp;2626,&nbsp;KEY_FILE&nbsp;=&nbsp;2627,&nbsp;KEY_BOOKMARKS&nbsp;=&nbsp;2628,&nbsp;KEY_NEXT&nbsp;=&nbsp;2629,<br/>KEY_PLAYPAUSE&nbsp;=&nbsp;2630,&nbsp;KEY_PREVIOUS&nbsp;=&nbsp;2631,&nbsp;KEY_STOPCD&nbsp;=&nbsp;2632,&nbsp;KEY_CONFIG&nbsp;=&nbsp;2634,<br/>KEY_REFRESH&nbsp;=&nbsp;2635,&nbsp;KEY_EXIT&nbsp;=&nbsp;2636,&nbsp;KEY_EDIT&nbsp;=&nbsp;2637,&nbsp;KEY_SCROLLUP&nbsp;=&nbsp;2638,<br/>KEY_SCROLLDOWN&nbsp;=&nbsp;2639,&nbsp;KEY_NEW&nbsp;=&nbsp;2640,&nbsp;KEY_REDO&nbsp;=&nbsp;2641,&nbsp;KEY_CLOSE&nbsp;=&nbsp;2642,<br/>KEY_PLAY&nbsp;=&nbsp;2643,&nbsp;KEY_BASSBOOST&nbsp;=&nbsp;2644,&nbsp;KEY_PRINT&nbsp;=&nbsp;2645,&nbsp;KEY_CHAT&nbsp;=&nbsp;2646,<br/>KEY_FINANCE&nbsp;=&nbsp;2647,&nbsp;KEY_CANCEL&nbsp;=&nbsp;2648,&nbsp;KEY_KBDILLUM_TOGGLE&nbsp;=&nbsp;2649,&nbsp;KEY_KBDILLUM_DOWN&nbsp;=&nbsp;2650,<br/>KEY_KBDILLUM_UP&nbsp;=&nbsp;2651,&nbsp;KEY_SEND&nbsp;=&nbsp;2652,&nbsp;KEY_REPLY&nbsp;=&nbsp;2653,&nbsp;KEY_FORWARDMAIL&nbsp;=&nbsp;2654,<br/>KEY_SAVE&nbsp;=&nbsp;2655,&nbsp;KEY_DOCUMENTS&nbsp;=&nbsp;2656,&nbsp;KEY_VIDEO_NEXT&nbsp;=&nbsp;2657,&nbsp;KEY_VIDEO_PREV&nbsp;=&nbsp;2658,<br/>KEY_BRIGHTNESS_CYCLE&nbsp;=&nbsp;2659,&nbsp;KEY_BRIGHTNESS_ZERO&nbsp;=&nbsp;2660,&nbsp;KEY_DISPLAY_OFF&nbsp;=&nbsp;2661,&nbsp;KEY_BTN_MISC&nbsp;=&nbsp;2662,<br/>KEY_GOTO&nbsp;=&nbsp;2663,&nbsp;KEY_INFO&nbsp;=&nbsp;2664,&nbsp;KEY_PROGRAM&nbsp;=&nbsp;2665,&nbsp;KEY_PVR&nbsp;=&nbsp;2666,<br/>KEY_SUBTITLE&nbsp;=&nbsp;2667,&nbsp;KEY_FULL_SCREEN&nbsp;=&nbsp;2668,&nbsp;KEY_KEYBOARD&nbsp;=&nbsp;2669,&nbsp;KEY_ASPECT_RATIO&nbsp;=&nbsp;2670,<br/>KEY_PC&nbsp;=&nbsp;2671,&nbsp;KEY_TV&nbsp;=&nbsp;2672,&nbsp;KEY_TV2&nbsp;=&nbsp;2673,&nbsp;KEY_VCR&nbsp;=&nbsp;2674,<br/>KEY_VCR2&nbsp;=&nbsp;2675,&nbsp;KEY_SAT&nbsp;=&nbsp;2676,&nbsp;KEY_CD&nbsp;=&nbsp;2677,&nbsp;KEY_TAPE&nbsp;=&nbsp;2678,<br/>KEY_TUNER&nbsp;=&nbsp;2679,&nbsp;KEY_PLAYER&nbsp;=&nbsp;2680,&nbsp;KEY_DVD&nbsp;=&nbsp;2681,&nbsp;KEY_AUDIO&nbsp;=&nbsp;2682,<br/>KEY_VIDEO&nbsp;=&nbsp;2683,&nbsp;KEY_MEMO&nbsp;=&nbsp;2684,&nbsp;KEY_CALENDAR&nbsp;=&nbsp;2685,&nbsp;KEY_RED&nbsp;=&nbsp;2686,<br/>KEY_GREEN&nbsp;=&nbsp;2687,&nbsp;KEY_YELLOW&nbsp;=&nbsp;2688,&nbsp;KEY_BLUE&nbsp;=&nbsp;2689,&nbsp;KEY_CHANNELUP&nbsp;=&nbsp;2690,<br/>KEY_CHANNELDOWN&nbsp;=&nbsp;2691,&nbsp;KEY_LAST&nbsp;=&nbsp;2692,&nbsp;KEY_RESTART&nbsp;=&nbsp;2693,&nbsp;KEY_SLOW&nbsp;=&nbsp;2694,<br/>KEY_SHUFFLE&nbsp;=&nbsp;2695,&nbsp;KEY_VIDEOPHONE&nbsp;=&nbsp;2696,&nbsp;KEY_GAMES&nbsp;=&nbsp;2697,&nbsp;KEY_ZOOMIN&nbsp;=&nbsp;2698,<br/>KEY_ZOOMOUT&nbsp;=&nbsp;2699,&nbsp;KEY_ZOOMRESET&nbsp;=&nbsp;2700,&nbsp;KEY_WORDPROCESSOR&nbsp;=&nbsp;2701,&nbsp;KEY_EDITOR&nbsp;=&nbsp;2702,<br/>KEY_SPREADSHEET&nbsp;=&nbsp;2703,&nbsp;KEY_GRAPHICSEDITOR&nbsp;=&nbsp;2704,&nbsp;KEY_PRESENTATION&nbsp;=&nbsp;2705,&nbsp;KEY_DATABASE&nbsp;=&nbsp;2706,<br/>KEY_NEWS&nbsp;=&nbsp;2707,&nbsp;KEY_VOICEMAIL&nbsp;=&nbsp;2708,&nbsp;KEY_ADDRESSBOOK&nbsp;=&nbsp;2709,&nbsp;KEY_MESSENGER&nbsp;=&nbsp;2710,<br/>KEY_BRIGHTNESS_TOGGLE&nbsp;=&nbsp;2711,&nbsp;KEY_SPELLCHECK&nbsp;=&nbsp;2712,&nbsp;KEY_COFFEE&nbsp;=&nbsp;2713,&nbsp;KEY_MEDIA_REPEAT&nbsp;=&nbsp;2714,<br/>KEY_IMAGES&nbsp;=&nbsp;2715,&nbsp;KEY_BUTTONCONFIG&nbsp;=&nbsp;2716,&nbsp;KEY_TASKMANAGER&nbsp;=&nbsp;2717,&nbsp;KEY_JOURNAL&nbsp;=&nbsp;2718,<br/>KEY_CONTROLPANEL&nbsp;=&nbsp;2719,&nbsp;KEY_APPSELECT&nbsp;=&nbsp;2720,&nbsp;KEY_SCREENSAVER&nbsp;=&nbsp;2721,&nbsp;KEY_ASSISTANT&nbsp;=&nbsp;2722,<br/>KEY_KBD_LAYOUT_NEXT&nbsp;=&nbsp;2723,&nbsp;KEY_BRIGHTNESS_MIN&nbsp;=&nbsp;2724,&nbsp;KEY_BRIGHTNESS_MAX&nbsp;=&nbsp;2725,&nbsp;KEY_KBDINPUTASSIST_PREV&nbsp;=&nbsp;2726,<br/>KEY_KBDINPUTASSIST_NEXT&nbsp;=&nbsp;2727,&nbsp;KEY_KBDINPUTASSIST_PREVGROUP&nbsp;=&nbsp;2728,&nbsp;KEY_KBDINPUTASSIST_NEXTGROUP&nbsp;=&nbsp;2729,&nbsp;KEY_KBDINPUTASSIST_ACCEPT&nbsp;=&nbsp;2730,<br/>KEY_KBDINPUTASSIST_CANCEL&nbsp;=&nbsp;2731,&nbsp;KEY_FRONT&nbsp;=&nbsp;2800,&nbsp;KEY_SETUP&nbsp;=&nbsp;2801,&nbsp;KEY_WAKEUP&nbsp;=&nbsp;2802,<br/>KEY_SENDFILE&nbsp;=&nbsp;2803,&nbsp;KEY_DELETEFILE&nbsp;=&nbsp;2804,&nbsp;KEY_XFER&nbsp;=&nbsp;2805,&nbsp;KEY_PROG1&nbsp;=&nbsp;2806,<br/>KEY_PROG2&nbsp;=&nbsp;2807,&nbsp;KEY_MSDOS&nbsp;=&nbsp;2808,&nbsp;KEY_SCREENLOCK&nbsp;=&nbsp;2809,&nbsp;KEY_DIRECTION_ROTATE_DISPLAY&nbsp;=&nbsp;2810,<br/>KEY_CYCLEWINDOWS&nbsp;=&nbsp;2811,&nbsp;KEY_COMPUTER&nbsp;=&nbsp;2812,&nbsp;KEY_EJECTCLOSECD&nbsp;=&nbsp;2813,&nbsp;KEY_ISO&nbsp;=&nbsp;2814,<br/>KEY_MOVE&nbsp;=&nbsp;2815,&nbsp;KEY_F13&nbsp;=&nbsp;2816,&nbsp;KEY_F14&nbsp;=&nbsp;2817,&nbsp;KEY_F15&nbsp;=&nbsp;2818,<br/>KEY_F16&nbsp;=&nbsp;2819,&nbsp;KEY_F17&nbsp;=&nbsp;2820,&nbsp;KEY_F18&nbsp;=&nbsp;2821,&nbsp;KEY_F19&nbsp;=&nbsp;2822,<br/>KEY_F20&nbsp;=&nbsp;2823,&nbsp;KEY_F21&nbsp;=&nbsp;2824,&nbsp;KEY_F22&nbsp;=&nbsp;2825,&nbsp;KEY_F23&nbsp;=&nbsp;2826,<br/>KEY_F24&nbsp;=&nbsp;2827,&nbsp;KEY_PROG3&nbsp;=&nbsp;2828,&nbsp;KEY_PROG4&nbsp;=&nbsp;2829,&nbsp;KEY_DASHBOARD&nbsp;=&nbsp;2830,<br/>KEY_SUSPEND&nbsp;=&nbsp;2831,&nbsp;KEY_HP&nbsp;=&nbsp;2832,&nbsp;KEY_SOUND&nbsp;=&nbsp;2833,&nbsp;KEY_QUESTION&nbsp;=&nbsp;2834,<br/>KEY_CONNECT&nbsp;=&nbsp;2836,&nbsp;KEY_SPORT&nbsp;=&nbsp;2837,&nbsp;KEY_SHOP&nbsp;=&nbsp;2838,&nbsp;KEY_ALTERASE&nbsp;=&nbsp;2839,<br/>KEY_SWITCHVIDEOMODE&nbsp;=&nbsp;2841,&nbsp;KEY_BATTERY&nbsp;=&nbsp;2842,&nbsp;KEY_BLUETOOTH&nbsp;=&nbsp;2843,&nbsp;KEY_WLAN&nbsp;=&nbsp;2844,<br/>KEY_UWB&nbsp;=&nbsp;2845,&nbsp;KEY_WWAN_WIMAX&nbsp;=&nbsp;2846,&nbsp;KEY_RFKILL&nbsp;=&nbsp;2847,&nbsp;KEY_CHANNEL&nbsp;=&nbsp;3001,<br/>KEY_BTN_0&nbsp;=&nbsp;3100,&nbsp;KEY_BTN_1&nbsp;=&nbsp;3101,&nbsp;KEY_BTN_2&nbsp;=&nbsp;3102,&nbsp;KEY_BTN_3&nbsp;=&nbsp;3103,<br/>KEY_BTN_4&nbsp;=&nbsp;3104,&nbsp;KEY_BTN_5&nbsp;=&nbsp;3105,&nbsp;KEY_BTN_6&nbsp;=&nbsp;3106,&nbsp;KEY_BTN_7&nbsp;=&nbsp;3107,<br/>KEY_BTN_8&nbsp;=&nbsp;3108,&nbsp;KEY_BTN_9&nbsp;=&nbsp;3109<br/>} | 按键事件的键码。   |
56| [OH_NativeXComponent_KeyAction](#oh_nativexcomponent_keyaction)&nbsp;{&nbsp;OH_NATIVEXCOMPONENT_KEY_ACTION_UNKNOWN&nbsp;=&nbsp;-1,&nbsp;OH_NATIVEXCOMPONENT_KEY_ACTION_DOWN&nbsp;=&nbsp;0,&nbsp;OH_NATIVEXCOMPONENT_KEY_ACTION_UP&nbsp;} | 按键事件动作。    |
57
58
59### 函数
60
61| 名称                                       | 描述                                     |
62| ---------------------------------------- | -------------------------------------- |
63| [OH_NativeXComponent_GetXComponentId](#oh_nativexcomponent_getxcomponentid)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;char&nbsp;\*id,&nbsp;uint64_t&nbsp;\*size) | 获取ArkUI&nbsp;XComponent的id。            |
64| [OH_NativeXComponent_GetXComponentSize](#oh_nativexcomponent_getxcomponentsize)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;const&nbsp;void&nbsp;\*window,&nbsp;uint64_t&nbsp;\*width,&nbsp;uint64_t&nbsp;\*height) | 获取ArkUI&nbsp;XComponent持有的surface的大小。  |
65| [OH_NativeXComponent_GetXComponentOffset](#oh_nativexcomponent_getxcomponentoffset)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;const&nbsp;void&nbsp;\*window,&nbsp;double&nbsp;\*x,&nbsp;double&nbsp;\*y) | 获取XComponent持有的surface相对其父组件左顶点的偏移量。 |
66| [OH_NativeXComponent_GetTouchEvent](#oh_nativexcomponent_gettouchevent)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;const&nbsp;void&nbsp;\*window,&nbsp;[OH_NativeXComponent_TouchEvent](_o_h___native_x_component___touch_event.md)&nbsp;\*touchEvent) | 获取ArkUI&nbsp;XComponent调度的触摸事件。        |
67| [OH_NativeXComponent_GetTouchPointToolType](#oh_nativexcomponent_gettouchpointtooltype)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;uint32_t&nbsp;pointIndex,&nbsp;[OH_NativeXComponent_TouchPointToolType](#oh_nativexcomponent_touchpointtooltype)&nbsp;\*toolType) | 获取ArkUI&nbsp;XComponent触摸点工具类型。        |
68| [OH_NativeXComponent_GetTouchPointTiltX](#oh_nativexcomponent_gettouchpointtiltx)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;uint32_t&nbsp;pointIndex,&nbsp;float&nbsp;\*tiltX) | 获取ArkUI&nbsp;XComponent触摸点倾斜与X轴角度。     |
69| [OH_NativeXComponent_GetTouchPointTiltY](#oh_nativexcomponent_gettouchpointtilty)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;uint32_t&nbsp;pointIndex,&nbsp;float&nbsp;\*tiltY) | 获取ArkUI&nbsp;XComponent触摸点倾斜与Y轴角度。     |
70| [OH_NativeXComponent_GetMouseEvent](#oh_nativexcomponent_getmouseevent)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;const&nbsp;void&nbsp;\*window,&nbsp;[OH_NativeXComponent_MouseEvent](_o_h___native_x_component___mouse_event.md)&nbsp;\*mouseEvent) | 获取ArkUI&nbsp;XComponent调度的鼠标事件。        |
71| [OH_NativeXComponent_RegisterCallback](#oh_nativexcomponent_registercallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;[OH_NativeXComponent_Callback](_o_h___native_x_component___callback.md)&nbsp;\*callback) | 为此OH_NativeXComponent实例注册回调。           |
72| [OH_NativeXComponent_RegisterMouseEventCallback](#oh_nativexcomponent_registermouseeventcallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;[OH_NativeXComponent_MouseEvent_Callback](_o_h___native_x_component___mouse_event___callback.md)&nbsp;\*callback) | 为此OH_NativeXComponent实例注册鼠标事件回调。       |
73| [OH_NativeXComponent_RegisterFocusEventCallback](#oh_nativexcomponent_registerfocuseventcallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册获焦事件回调。       |
74| [OH_NativeXComponent_RegisterKeyEventCallback](#oh_nativexcomponent_registerkeyeventcallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册按键事件回调。       |
75| [OH_NativeXComponent_RegisterKeyEventCallbackWithResult](#oh_nativexcomponent_registerkeyeventcallbackwithresult)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;bool(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册有返回值的按键事件回调。       |
76| [OH_NativeXComponent_RegisterBlurEventCallback](#oh_nativexcomponent_registerblureventcallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册失焦事件回调。       |
77| [OH_NativeXComponent_GetKeyEvent](#oh_nativexcomponent_getkeyevent)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;[OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*\*keyEvent) | 获取ArkUI&nbsp;XComponent调度的按键事件。        |
78| [OH_NativeXComponent_GetKeyEventAction](#oh_nativexcomponent_getkeyeventaction)&nbsp;([OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*keyEvent,&nbsp;[OH_NativeXComponent_KeyAction](#oh_nativexcomponent_keyaction)&nbsp;\*action) | 获取传入按键事件的动作。                           |
79| [OH_NativeXComponent_GetKeyEventCode](#oh_nativexcomponent_getkeyeventcode)&nbsp;([OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*keyEvent,&nbsp;[OH_NativeXComponent_KeyCode](#oh_nativexcomponent_keycode)&nbsp;\*code) | 获取传入按键事件的按键码。                          |
80| [OH_NativeXComponent_GetKeyEventSourceType](#oh_nativexcomponent_getkeyeventsourcetype)&nbsp;([OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*keyEvent,&nbsp;[OH_NativeXComponent_EventSourceType](#oh_nativexcomponent_eventsourcetype)&nbsp;\*sourceType) | 获取传入按键事件的事件源类型。                        |
81| [OH_NativeXComponent_GetKeyEventDeviceId](#oh_nativexcomponent_getkeyeventdeviceid)&nbsp;([OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*keyEvent,&nbsp;int64_t&nbsp;\*deviceId) | 获取传入按键事件的设备id。                         |
82| [OH_NativeXComponent_GetKeyEventTimeStamp](#oh_nativexcomponent_getkeyeventtimestamp)&nbsp;([OH_NativeXComponent_KeyEvent](#oh_nativexcomponent_keyevent)&nbsp;\*keyEvent,&nbsp;int64_t&nbsp;\*timeStamp) | 获取传入按键事件的时间戳。                          |
83| [OH_NativeXComponent_SetExpectedFrameRateRange](#oh_nativexcomponent_setexpectedframeraterange) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, [OH_NativeXComponent_ExpectedRateRange](_o_h___native_x_component___expected_rate_range.md) \*range) | 设置期望帧率范围。                                           |
84| [OH_NativeXComponent_RegisterOnFrameCallback](#oh_nativexcomponent_registeronframecallback) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent) \*component, uint64_t timestamp, uint64_t targetTimestamp)) | 为此OH_NativeXComponent实例注册显示更新回调,并使能每帧回调此函数。 |
85| [OH_NativeXComponent_UnregisterOnFrameCallback](#oh_nativexcomponent_unregisteronframecallback) ([OH_NativeXComponent](#oh_nativexcomponent) \*component) | 为此OH_NativeXComponent实例取消注册回调函数,并关闭每帧回调此函数。 |
86| int32_t [OH_NativeXComponent_AttachNativeRootNode](#oh_nativexcomponent_attachnativerootnode) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, [ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) root) | 将通过ArkUI的native接口创建出来的UI组件挂载到当前XComponent上。  |
87| int32_t [OH_NativeXComponent_DetachNativeRootNode](#oh_nativexcomponent_detachnativerootnode) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, [ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) root) | 将ArkUI的native组件从当前XComponent上卸载.  |
88| int32_t [OH_NativeXComponent_RegisterUIInputEventCallback](#oh_nativexcomponent_registeruiinputeventcallback) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent) \*component, [ArkUI_UIInputEvent](_ark_u_i___event_module.md#arkui_uiinputevent) \*event, [ArkUI_UIInputEvent_Type](_ark_u_i___event_module.md#arkui_uiinputevent_type) type), [ArkUI_UIInputEvent_Type](_ark_u_i___event_module.md#arkui_uiinputevent_type) type) | 为此OH_NativeXComponent实例注册UI输入事件回调,并使能收到UI输入事件时回调此函数。  |
89| int32_t [OH_NativeXComponent_RegisterOnTouchInterceptCallback](#oh_nativexcomponent_registerontouchinterceptcallback) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, [HitTestMode](_ark_u_i___native_module.md#hittestmode)(\*callback)([OH_NativeXComponent](#oh_nativexcomponent) \*component, [ArkUI_UIInputEvent](_ark_u_i___event_module.md#arkui_uiinputevent) \*event)) | 为此OH_NativeXComponent实例注册自定义事件拦截回调,并使能在做触摸测试时回调此函数。  |
90| int32_t [OH_NativeXComponent_SetNeedSoftKeyboard](#oh_nativexcomponent_setneedsoftkeyboard) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, bool isNeedSoftKeyboard) | 为此OH_NativeXComponent实例设置是否需要软键盘。  |
91| int32_t [OH_NativeXComponent_RegisterSurfaceShowCallback](#oh_nativexcomponent_registersurfaceshowcallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册surface显示回调,该回调在应用从后台返回前台后触发。 |
92| int32_t [OH_NativeXComponent_RegisterSurfaceHideCallback](#oh_nativexcomponent_registersurfacehidecallback)&nbsp;([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void(\*callback)([OH_NativeXComponent](#oh_nativexcomponent)&nbsp;\*component,&nbsp;void&nbsp;\*window)) | 为此OH_NativeXComponent实例注册surface隐藏回调,该回调在应用从前台来到后台后触发。 |
93| int32_t [OH_NativeXComponent_GetTouchEventSourceType](#oh_nativexcomponent_gettoucheventsourcetype) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, int32_t pointId, [OH_NativeXComponent_EventSourceType](#oh_nativexcomponent_eventsourcetype) \*sourceType) | 获取ArkUI XComponent触摸事件的输入设备类型。  |
94| [OH_NativeXComponent](#oh_nativexcomponent) \* [OH_NativeXComponent_GetNativeXComponent](#oh_nativexcomponent_getnativexcomponent) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node) | 基于Native接口创建的组件实例获取OH_NativeXComponent类型的指针。  |
95| int32_t OH_NativeXComponent_GetNativeAccessibilityProvider(OH_NativeXComponent* component, ArkUI_AccessibilityProvider** handle); |  |
96| int32_t [OH_NativeXComponent_RegisterKeyEventCallbackWithResult](#oh_nativexcomponent_registerkeyeventcallbackwithresult) ([OH_NativeXComponent](#oh_nativexcomponent) \*component, bool(\*callback)([OH_NativeXComponent](#oh_nativexcomponent) \*component, void \*window)) | 为此OH_NativeXComponent实例注册有返回值的按键事件回调。  |
97
98### 变量
99
100| 名称                                       | 描述                             |
101| ---------------------------------------- | ------------------------------ |
102| **OH_XCOMPONENT_ID_LEN_MAX**&nbsp;=&nbsp;128 | ArkUI&nbsp;XComponent的id最大长度。  |
103| **OH_MAX_TOUCH_POINTS_NUMBER**&nbsp;=&nbsp;10 | 触摸事件中的可识别的触摸点个数最大值。            |
104| [OH_NativeXComponent_TouchPoint::id](#id-12)&nbsp;=&nbsp;0 | 手指的唯一标识符。                      |
105| [OH_NativeXComponent_TouchPoint::screenX](#screenx-13)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent所在应用窗口左上角的x坐标。 |
106| [OH_NativeXComponent_TouchPoint::screenY](#screeny-13)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent所在应用窗口左上角的y坐标。 |
107| [OH_NativeXComponent_TouchPoint::x](#x-13)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent组件左边缘的x坐标。     |
108| [OH_NativeXComponent_TouchPoint::y](#y-13)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent组件上边缘的y坐标。     |
109| [OH_NativeXComponent_TouchPoint::type](#type-12)&nbsp;=&nbsp;OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN | 触摸事件的触摸类型。                     |
110| [OH_NativeXComponent_TouchPoint::size](#size-12)&nbsp;=&nbsp;0.0 | 指垫和屏幕之间的接触面积。                  |
111| [OH_NativeXComponent_TouchPoint::force](#force-12)&nbsp;=&nbsp;0.0 | 当前触摸事件的压力。                     |
112| [OH_NativeXComponent_TouchPoint::timeStamp](#timestamp-12)&nbsp;=&nbsp;0 | 当前触摸事件的时间戳。                    |
113| [OH_NativeXComponent_TouchPoint::isPressed](#ispressed)&nbsp;=&nbsp;false | 当前点是否被按下。                      |
114| [OH_NativeXComponent_TouchEvent::id](#id-22)&nbsp;=&nbsp;0 | 手指的唯一标识符。                      |
115| [OH_NativeXComponent_TouchEvent::screenX](#screenx-23)&nbsp;=&nbsp;0.0 | 触摸点相对于屏幕左边缘的x坐标。               |
116| [OH_NativeXComponent_TouchEvent::screenY](#screeny-23)&nbsp;=&nbsp;0.0 | 触摸点相对于屏幕上边缘的y坐标。               |
117| [OH_NativeXComponent_TouchEvent::x](#x-23)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent组件左边缘的x坐标。     |
118| [OH_NativeXComponent_TouchEvent::y](#y-23)&nbsp;=&nbsp;0.0 | 触摸点相对于XComponent组件上边缘的y坐标。     |
119| [OH_NativeXComponent_TouchEvent::type](#type-22)&nbsp;=&nbsp;OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN | 触摸事件的触摸类型。                     |
120| [OH_NativeXComponent_TouchEvent::size](#size-22)&nbsp;=&nbsp;0.0 | 指垫和屏幕之间的接触面积。                  |
121| [OH_NativeXComponent_TouchEvent::force](#force-22)&nbsp;=&nbsp;0.0 | 当前触摸事件的压力。                     |
122| [OH_NativeXComponent_TouchEvent::deviceId](#deviceid)&nbsp;=&nbsp;0 | 产生当前触摸事件的设备的ID。                |
123| [OH_NativeXComponent_TouchEvent::timeStamp](#timestamp-22)&nbsp;=&nbsp;0 | 当前触摸事件的时间戳。                    |
124| [OH_NativeXComponent_TouchEvent::touchPoints](#touchpoints)&nbsp;[OH_MAX_TOUCH_POINTS_NUMBER] | 当前触摸点的数组。                      |
125| [OH_NativeXComponent_TouchEvent::numPoints](#numpoints)&nbsp;=&nbsp;0 | 当前接触点的数量。                      |
126| [OH_NativeXComponent_MouseEvent::x](#x-33)&nbsp;=&nbsp;0.0 | 点击触点相对于当前组件左上角的x轴坐标。           |
127| [OH_NativeXComponent_MouseEvent::y](#y-33)=&nbsp;0.0 | 点击触点相对于当前组件左上角的y轴坐标。           |
128| [OH_NativeXComponent_MouseEvent::screenX](#screenx-33)=&nbsp;0.0 | 点击触点相对于屏幕左上角的x轴坐标。             |
129| [OH_NativeXComponent_MouseEvent::screenY](#screeny-33)=&nbsp;0.0 | 点击触点相对于屏幕左上角的y轴坐标。             |
130| [OH_NativeXComponent_MouseEvent::timestamp](#timestamp)=&nbsp;0 | 当前鼠标事件的时间戳。                    |
131| [OH_NativeXComponent_MouseEvent::action](#action)=&nbsp;[OH_NativeXComponent_MouseEventAction::OH_NATIVEXCOMPONENT_MOUSE_NONE](#oh_nativexcomponent_mouseeventaction) | 当前鼠标事件动作。                      |
132| [OH_NativeXComponent_MouseEvent::button](#button)=&nbsp;[OH_NativeXComponent_MouseEventButton::OH_NATIVEXCOMPONENT_NONE_BUTTON](#oh_nativexcomponent_mouseeventbutton) | 鼠标事件按键。                        |
133| [OH_NativeXComponent_Callback::OnSurfaceCreated](#onsurfacecreated) | 创建surface时调用。                  |
134| [OH_NativeXComponent_Callback::OnSurfaceChanged](#onsurfacechanged) | 当surface改变时调用。                 |
135| [OH_NativeXComponent_Callback::OnSurfaceDestroyed](#onsurfacedestroyed) | 当surface被销毁时调用。                |
136| [OH_NativeXComponent_Callback::DispatchTouchEvent](#dispatchtouchevent) | 当触摸事件被触发时调用。                   |
137| [OH_NativeXComponent_MouseEvent_Callback::DispatchMouseEvent](#dispatchmouseevent) | 当鼠标事件被触发时调用。                   |
138| [OH_NativeXComponent_MouseEvent_Callback::DispatchHoverEvent](#dispatchhoverevent) | 当悬停事件被触发时调用。                   |
139
140
141## 类型定义说明
142
143
144### OH_NativeXComponent
145
146```
147typedef struct OH_NativeXComponent OH_NativeXComponent
148```
149
150**描述:**
151
152提供封装的OH_NativeXComponent实例。
153
154**起始版本:**
155
1568
157
158
159### OH_NativeXComponent_Callback
160
161```
162typedef struct OH_NativeXComponent_Callback OH_NativeXComponent_Callback
163```
164
165**描述:**
166
167注册surface生命周期和触摸事件回调。
168
169**起始版本:**
170
1718
172
173
174### OH_NativeXComponent_KeyEvent
175
176```
177typedef struct OH_NativeXComponent_KeyEvent OH_NativeXComponent_KeyEvent
178```
179
180**描述:**
181
182提供封装的OH_NativeXComponent_KeyEvent实例。
183
184**起始版本:**
185
18610
187
188
189### OH_NativeXComponent_MouseEvent_Callback
190
191```
192typedef struct OH_NativeXComponent_MouseEvent_Callback OH_NativeXComponent_MouseEvent_Callback
193```
194
195**描述:**
196
197注册鼠标事件的回调。
198
199**起始版本:**
200
2019
202
203
204## 枚举类型说明
205
206
207### anonymous enum
208
209```
210anonymous enum
211```
212
213**描述:**
214
215枚举API访问状态。
216
217| 枚举值                                      | 描述    |
218| ---------------------------------------- | ----- |
219| OH_NATIVEXCOMPONENT_RESULT_SUCCESS       | 成功结果。 |
220| OH_NATIVEXCOMPONENT_RESULT_FAILED        | 失败结果。 |
221| OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER | 无效参数。 |
222
223**起始版本:**
224
2258
226
227
228### OH_NativeXComponent_EventSourceType
229
230```
231enum OH_NativeXComponent_EventSourceType
232```
233
234**描述:**
235
236触摸事件源类型。
237
238| 枚举值                                      | 描述                                                   |
239| ------------------------------------------- | ------------------------------------------------------ |
240| OH_NATIVEXCOMPONENT_SOURCE_TYPE_UNKNOWN     | 未知的输入源类型。                                     |
241| OH_NATIVEXCOMPONENT_SOURCE_TYPE_MOUSE       | 表示输入源生成鼠标多点触摸事件。                       |
242| OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHSCREEN | 表示输入源生成一个触摸屏多点触摸事件。                 |
243| OH_NATIVEXCOMPONENT_SOURCE_TYPE_TOUCHPAD    | 表示输入源生成一个触摸板多点触摸事件。                 |
244| OH_NATIVEXCOMPONENT_SOURCE_TYPE_JOYSTICK    | 表示输入源生成一个操纵杆多点触摸事件。                 |
245| OH_NATIVEXCOMPONENT_SOURCE_TYPE_KEYBOARD<sup>10+</sup>    | 表示输入源生成一个键盘事件。            |
246
247**起始版本:**
248
2499
250
251
252### OH_NativeXComponent_KeyAction
253
254```
255enum OH_NativeXComponent_KeyAction
256```
257
258**描述:**
259
260按键事件动作。
261
262| 枚举值                                    | 描述       |
263| -------------------------------------- | -------- |
264| OH_NATIVEXCOMPONENT_KEY_ACTION_UNKNOWN | 未知的按键动作。 |
265| OH_NATIVEXCOMPONENT_KEY_ACTION_DOWN    | 按键按下动作。  |
266| OH_NATIVEXCOMPONENT_KEY_ACTION_UP      | 按键抬起动作。  |
267
268**起始版本:**
269
27010
271
272
273### OH_NativeXComponent_KeyCode
274
275```
276enum OH_NativeXComponent_KeyCode
277```
278
279**描述:**
280
281按键事件的键码。
282
283| 枚举值                          | 描述                          |
284| ---------------------------- | --------------------------- |
285| KEY_UNKNOWN                  | 未知按键                        |
286| KEY_FN                       | 功能(Fn)键                     |
287| KEY_HOME                     | 功能(Home)键                   |
288| KEY_BACK                     | 返回键                         |
289| KEY_MEDIA_PLAY_PAUSE         | 多媒体键&nbsp;播放/暂停             |
290| KEY_MEDIA_STOP               | 多媒体键&nbsp;停止                |
291| KEY_MEDIA_NEXT               | 多媒体键&nbsp;下一首               |
292| KEY_MEDIA_PREVIOUS           | 多媒体键&nbsp;上一首               |
293| KEY_MEDIA_REWIND             | 多媒体键&nbsp;快退                |
294| KEY_MEDIA_FAST_FORWARD       | 多媒体键&nbsp;快进                |
295| KEY_VOLUME_UP                | 音量增加键                       |
296| KEY_VOLUME_DOWN              | 音量减小键                       |
297| KEY_POWER                    | 电源键                         |
298| KEY_CAMERA                   | 拍照键                         |
299| KEY_VOLUME_MUTE              | 扬声器静音键                      |
300| KEY_MUTE                     | 话筒静音键                       |
301| KEY_BRIGHTNESS_UP            | 亮度调节按键&nbsp;调亮              |
302| KEY_BRIGHTNESS_DOWN          | 亮度调节按键&nbsp;调暗              |
303| KEY_0                        | 按键'0'                       |
304| KEY_1                        | 按键'1'                       |
305| KEY_2                        | 按键'2'                       |
306| KEY_3                        | 按键'3'                       |
307| KEY_4                        | 按键'4'                       |
308| KEY_5                        | 按键'5'                       |
309| KEY_6                        | 按键'6'                       |
310| KEY_7                        | 按键'7'                       |
311| KEY_8                        | 按键'8'                       |
312| KEY_9                        | 按键'9'                       |
313| KEY_STAR                     | 按键'\*'                      |
314| KEY_POUND                    | 按键'\#'                      |
315| KEY_DPAD_UP                  | 导航键&nbsp;向上                 |
316| KEY_DPAD_DOWN                | 导航键&nbsp;向下                 |
317| KEY_DPAD_LEFT                | 导航键&nbsp;向左                 |
318| KEY_DPAD_RIGHT               | 导航键&nbsp;向右                 |
319| KEY_DPAD_CENTER              | 导航键&nbsp;确定键                |
320| KEY_A                        | 按键'A'                       |
321| KEY_B                        | 按键'B'                       |
322| KEY_C                        | 按键'C'                       |
323| KEY_D                        | 按键'D'                       |
324| KEY_E                        | 按键'E'                       |
325| KEY_F                        | 按键'F'                       |
326| KEY_G                        | 按键'G'                       |
327| KEY_H                        | 按键'H'                       |
328| KEY_I                        | 按键'I'                       |
329| KEY_J                        | 按键'J'                       |
330| KEY_K                        | 按键'K'                       |
331| KEY_L                        | 按键'L'                       |
332| KEY_M                        | 按键'M'                       |
333| KEY_N                        | 按键'N'                       |
334| KEY_O                        | 按键'O'                       |
335| KEY_P                        | 按键'P'                       |
336| KEY_Q                        | 按键'Q'                       |
337| KEY_R                        | 按键'R'                       |
338| KEY_S                        | 按键'S'                       |
339| KEY_T                        | 按键'T'                       |
340| KEY_U                        | 按键'U'                       |
341| KEY_V                        | 按键'V'                       |
342| KEY_W                        | 按键'W'                       |
343| KEY_X                        | 按键'X'                       |
344| KEY_Y                        | 按键'Y'                       |
345| KEY_Z                        | 按键'Z'                       |
346| KEY_COMMA                    | 按键','                       |
347| KEY_PERIOD                   | 按键'.'                       |
348| KEY_ALT_LEFT                 | 左Alt键                       |
349| KEY_ALT_RIGHT                | 右Alt键                       |
350| KEY_SHIFT_LEFT               | 左Shift键                     |
351| KEY_SHIFT_RIGHT              | 右Shift键                     |
352| KEY_TAB                      | Tab键                        |
353| KEY_SPACE                    | 空格键                         |
354| KEY_SYM                      | 符号修改器按键                     |
355| KEY_EXPLORER                 | 浏览器功能键,此键用于启动浏览器应用程序。       |
356| KEY_ENVELOPE                 | 电子邮件功能键,此键用于启动电子邮件应用程序。     |
357| KEY_ENTER                    | 回车键                         |
358| KEY_DEL                      | 退格键                         |
359| KEY_GRAVE                    | 按键'‘’                       |
360| KEY_MINUS                    | 按键'-'                       |
361| KEY_EQUALS                   | 按键'='                       |
362| KEY_LEFT_BRACKET             | 按键'['                       |
363| KEY_RIGHT_BRACKET            | 按键']'                       |
364| KEY_BACKSLASH                | 按键'\'                       |
365| KEY_SEMICOLON                | 按键';'                       |
366| KEY_APOSTROPHE               | 按键'''&nbsp;(单引号)            |
367| KEY_SLASH                    | 按键'/'                       |
368| KEY_AT                       | 按键'\@'                      |
369| KEY_PLUS                     | 按键'+'                       |
370| KEY_MENU                     | 菜单键                         |
371| KEY_PAGE_UP                  | 向上翻页键                       |
372| KEY_PAGE_DOWN                | 向下翻页键                       |
373| KEY_ESCAPE                   | ESC键                        |
374| KEY_FORWARD_DEL              | 删除键                         |
375| KEY_CTRL_LEFT                | 左Ctrl键                      |
376| KEY_CTRL_RIGHT               | 右Ctrl键                      |
377| KEY_CAPS_LOCK                | 大写锁定键                       |
378| KEY_SCROLL_LOCK              | 滚动锁定键                       |
379| KEY_META_LEFT                | 左元修改器键                      |
380| KEY_META_RIGHT               | 右元修改器键                      |
381| KEY_FUNCTION                 | 功能键                         |
382| KEY_SYSRQ                    | 系统请求/打印屏幕键                  |
383| KEY_BREAK                    | Break/Pause键                |
384| KEY_MOVE_HOME                | 光标移动到开始键                    |
385| KEY_MOVE_END                 | 光标移动到末尾键                    |
386| KEY_INSERT                   | 插入键                         |
387| KEY_FORWARD                  | 前进键                         |
388| KEY_MEDIA_PLAY               | 多媒体键&nbsp;播放                |
389| KEY_MEDIA_PAUSE              | 多媒体键&nbsp;暂停                |
390| KEY_MEDIA_CLOSE              | 多媒体键&nbsp;关闭                |
391| KEY_MEDIA_EJECT              | 多媒体键&nbsp;弹出                |
392| KEY_MEDIA_RECORD             | 多媒体键&nbsp;录音                |
393| KEY_F1                       | 按键'F1'                      |
394| KEY_F2                       | 按键'F2'                      |
395| KEY_F3                       | 按键'F3'                      |
396| KEY_F4                       | 按键'F4'                      |
397| KEY_F5                       | 按键'F5'                      |
398| KEY_F6                       | 按键'F6'                      |
399| KEY_F7                       | 按键'F7'                      |
400| KEY_F8                       | 按键'F8'                      |
401| KEY_F9                       | 按键'F9'                      |
402| KEY_F10                      | 按键'F10'                     |
403| KEY_F11                      | 按键'F11'                     |
404| KEY_F12                      | 按键'F12'                     |
405| KEY_NUM_LOCK                 | 小键盘锁                        |
406| KEY_NUMPAD_0                 | 小键盘按键'0'                    |
407| KEY_NUMPAD_1                 | 小键盘按键'1'                    |
408| KEY_NUMPAD_2                 | 小键盘按键'2'                    |
409| KEY_NUMPAD_3                 | 小键盘按键'3'                    |
410| KEY_NUMPAD_4                 | 小键盘按键'4'                    |
411| KEY_NUMPAD_5                 | 小键盘按键'5'                    |
412| KEY_NUMPAD_6                 | 小键盘按键'6'                    |
413| KEY_NUMPAD_7                 | 小键盘按键'7'                    |
414| KEY_NUMPAD_8                 | 小键盘按键'8'                    |
415| KEY_NUMPAD_9                 | 小键盘按键'9'                    |
416| KEY_NUMPAD_DIVIDE            | 小键盘按键'/'                    |
417| KEY_NUMPAD_MULTIPLY          | 小键盘按键'\*'                   |
418| KEY_NUMPAD_SUBTRACT          | 小键盘按键'-'                    |
419| KEY_NUMPAD_ADD               | 小键盘按键'+'                    |
420| KEY_NUMPAD_DOT               | 小键盘按键'.'                    |
421| KEY_NUMPAD_COMMA             | 小键盘按键','                    |
422| KEY_NUMPAD_ENTER             | 小键盘按键回车                     |
423| KEY_NUMPAD_EQUALS            | 小键盘按键'='                    |
424| KEY_NUMPAD_LEFT_PAREN        | 小键盘按键'('                    |
425| KEY_NUMPAD_RIGHT_PAREN       | 小键盘按键')'                    |
426| KEY_VIRTUAL_MULTITASK        | 虚拟多任务键                      |
427| KEY_SLEEP                    | 睡眠键                         |
428| KEY_ZENKAKU_HANKAKU          | 日文全宽/半宽键                    |
429| KEY_102ND                    | 102nd按键                     |
430| KEY_RO                       | 日文Ro键                       |
431| KEY_KATAKANA                 | 日文片假名键                      |
432| KEY_HIRAGANA                 | 日文平假名键                      |
433| KEY_HENKAN                   | 日文转换键                       |
434| KEY_KATAKANA_HIRAGANA        | 日语片假名/平假名键                  |
435| KEY_MUHENKAN                 | 日文非转换键                      |
436| KEY_LINEFEED                 | 换行键                         |
437| KEY_MACRO                    | 宏键                          |
438| KEY_NUMPAD_PLUSMINUS         | 数字键盘上的加号/减号键                |
439| KEY_SCALE                    | 扩展键                         |
440| KEY_HANGUEL                  | 日文韩语键                       |
441| KEY_HANJA                    | 日文汉语键                       |
442| KEY_YEN                      | 日元键                         |
443| KEY_STOP                     | 停止键                         |
444| KEY_AGAIN                    | 重复键                         |
445| KEY_PROPS                    | 道具键                         |
446| KEY_UNDO                     | 撤消键                         |
447| KEY_COPY                     | 复制键                         |
448| KEY_OPEN                     | 打开键                         |
449| KEY_PASTE                    | 粘贴键                         |
450| KEY_FIND                     | 查找键                         |
451| KEY_CUT                      | 剪切键                         |
452| KEY_HELP                     | 帮助键                         |
453| KEY_CALC                     | 计算器特殊功能键,用于启动计算器应用程序        |
454| KEY_FILE                     | 文件按键                        |
455| KEY_BOOKMARKS                | 书签键                         |
456| KEY_NEXT                     | 下一个按键                       |
457| KEY_PLAYPAUSE                | 播放/暂停键                      |
458| KEY_PREVIOUS                 | 上一个按键                       |
459| KEY_STOPCD                   | CD停止键                       |
460| KEY_CONFIG                   | 配置键                         |
461| KEY_REFRESH                  | 刷新键                         |
462| KEY_EXIT                     | 退出键                         |
463| KEY_EDIT                     | 编辑键                         |
464| KEY_SCROLLUP                 | 向上滚动键                       |
465| KEY_SCROLLDOWN               | 向下滚动键                       |
466| KEY_NEW                      | 新建键                         |
467| KEY_REDO                     | 恢复键                         |
468| KEY_CLOSE                    | 关闭键                         |
469| KEY_PLAY                     | 播放键                         |
470| KEY_BASSBOOST                | 低音增强键                       |
471| KEY_PRINT                    | 打印键                         |
472| KEY_CHAT                     | 聊天键                         |
473| KEY_FINANCE                  | 金融键                         |
474| KEY_CANCEL                   | 取消键                         |
475| KEY_KBDILLUM_TOGGLE          | 键盘灯光切换键                     |
476| KEY_KBDILLUM_DOWN            | 键盘灯光调亮键                     |
477| KEY_KBDILLUM_UP              | 键盘灯光调暗键                     |
478| KEY_SEND                     | 发送键                         |
479| KEY_REPLY                    | 答复键                         |
480| KEY_FORWARDMAIL              | 邮件转发键                       |
481| KEY_SAVE                     | 保存键                         |
482| KEY_DOCUMENTS                | 文件键                         |
483| KEY_VIDEO_NEXT               | 下一个视频键                      |
484| KEY_VIDEO_PREV               | 上一个视频键                      |
485| KEY_BRIGHTNESS_CYCLE         | 背光渐变键                       |
486| KEY_BRIGHTNESS_ZERO          | 亮度调节为0键                     |
487| KEY_DISPLAY_OFF              | 显示关闭键                       |
488| KEY_BTN_MISC                 | 游戏手柄上的各种按键                  |
489| KEY_GOTO                     | 进入键                         |
490| KEY_INFO                     | 信息查看键                       |
491| KEY_PROGRAM                  | 程序键                         |
492| KEY_PVR                      | 个人录像机(PVR)键                 |
493| KEY_SUBTITLE                 | 字幕键                         |
494| KEY_FULL_SCREEN              | 全屏键                         |
495| KEY_KEYBOARD                 | 键盘                          |
496| KEY_ASPECT_RATIO             | 屏幕纵横比调节键                    |
497| KEY_PC                       | 端口控制键                       |
498| KEY_TV                       | TV键                         |
499| KEY_TV2                      | TV键2                        |
500| KEY_VCR                      | 录像机开启键                      |
501| KEY_VCR2                     | 录像机开启键2                     |
502| KEY_SAT                      | SIM卡应用工具包(SAT)键             |
503| KEY_CD                       | CD键                         |
504| KEY_TAPE                     | 磁带键                         |
505| KEY_TUNER                    | 调谐器键                        |
506| KEY_PLAYER                   | 播放器键                        |
507| KEY_DVD                      | DVD键                        |
508| KEY_AUDIO                    | 音频键                         |
509| KEY_VIDEO                    | 视频键                         |
510| KEY_MEMO                     | 备忘录键                        |
511| KEY_CALENDAR                 | 日历键                         |
512| KEY_RED                      | 红色指示器                       |
513| KEY_GREEN                    | 绿色指示器                       |
514| KEY_YELLOW                   | 黄色指示器                       |
515| KEY_BLUE                     | 蓝色指示器                       |
516| KEY_CHANNELUP                | 频道向上键                       |
517| KEY_CHANNELDOWN              | 频道向下键                       |
518| KEY_LAST                     | 末尾键                         |
519| KEY_RESTART                  | 重启键                         |
520| KEY_SLOW                     | 慢速键                         |
521| KEY_SHUFFLE                  | 随机播放键                       |
522| KEY_VIDEOPHONE               | 可视电话键                       |
523| KEY_GAMES                    | 游戏键                         |
524| KEY_ZOOMIN                   | 放大键                         |
525| KEY_ZOOMOUT                  | 缩小键                         |
526| KEY_ZOOMRESET                | 缩放重置键                       |
527| KEY_WORDPROCESSOR            | 文字处理键                       |
528| KEY_EDITOR                   | 编辑器键                        |
529| KEY_SPREADSHEET              | 电子表格键                       |
530| KEY_GRAPHICSEDITOR           | 图形编辑器键                      |
531| KEY_PRESENTATION             | 演示文稿键                       |
532| KEY_DATABASE                 | 数据库键标                       |
533| KEY_NEWS                     | 新闻键                         |
534| KEY_VOICEMAIL                | 语音信箱                        |
535| KEY_ADDRESSBOOK              | 通讯簿                         |
536| KEY_MESSENGER                | 通信键                         |
537| KEY_BRIGHTNESS_TOGGLE        | 亮度切换键                       |
538| KEY_SPELLCHECK               | AL拼写检查                      |
539| KEY_COFFEE                   | 终端锁/屏幕保护程序                  |
540| KEY_MEDIA_REPEAT             | 媒体循环键                       |
541| KEY_IMAGES                   | 图像键                         |
542| KEY_BUTTONCONFIG             | 按键配置键                       |
543| KEY_TASKMANAGER              | 任务管理器                       |
544| KEY_JOURNAL                  | 日志按键                        |
545| KEY_CONTROLPANEL             | 控制面板键                       |
546| KEY_APPSELECT                | 应用程序选择键                     |
547| KEY_SCREENSAVER              | 屏幕保护程序键                     |
548| KEY_ASSISTANT                | 辅助键                         |
549| KEY_KBD_LAYOUT_NEXT          | 下一个键盘布局键                    |
550| KEY_BRIGHTNESS_MIN           | 最小亮度键                       |
551| KEY_BRIGHTNESS_MAX           | 最大亮度键                       |
552| KEY_KBDINPUTASSIST_PREV      | 键盘输入Assist_Previous         |
553| KEY_KBDINPUTASSIST_NEXT      | 键盘输入Assist_Next             |
554| KEY_KBDINPUTASSIST_PREVGROUP | 键盘输入Assist_Previous         |
555| KEY_KBDINPUTASSIST_NEXTGROUP | 键盘输入Assist_Next             |
556| KEY_KBDINPUTASSIST_ACCEPT    | 键盘输入Assist_Accept           |
557| KEY_KBDINPUTASSIST_CANCEL    | 键盘输入Assist_Cancel           |
558| KEY_FRONT                    | 挡风玻璃除雾器开关                   |
559| KEY_SETUP                    | 设置键                         |
560| KEY_WAKEUP                   | 唤醒键                         |
561| KEY_SENDFILE                 | 发送文件按键                      |
562| KEY_DELETEFILE               | 删除文件按键                      |
563| KEY_XFER                     | 文件传输(XFER)按键                |
564| KEY_PROG1                    | 程序键1                        |
565| KEY_PROG2                    | 程序键2                        |
566| KEY_MSDOS                    | MS-DOS键(微软磁盘操作系统            |
567| KEY_SCREENLOCK               | 屏幕锁定键                       |
568| KEY_DIRECTION_ROTATE_DISPLAY | 方向旋转显示键                     |
569| KEY_CYCLEWINDOWS             | Windows循环键                  |
570| KEY_COMPUTER                 | 按键                          |
571| KEY_EJECTCLOSECD             | 弹出CD键                       |
572| KEY_ISO                      | ISO键                        |
573| KEY_MOVE                     | 移动键                         |
574| KEY_F13                      | 按键'F13'                     |
575| KEY_F14                      | 按键'F14'                     |
576| KEY_F15                      | 按键'F15'                     |
577| KEY_F16                      | 按键'F16'                     |
578| KEY_F17                      | 按键'F17'                     |
579| KEY_F18                      | 按键'F18'                     |
580| KEY_F19                      | 按键'F19'                     |
581| KEY_F20                      | 按键'F20'                     |
582| KEY_F21                      | 按键'F21'                     |
583| KEY_F22                      | 按键'F22'                     |
584| KEY_F23                      | 按键'F23'                     |
585| KEY_F24                      | 按键'F24'                     |
586| KEY_PROG3                    | 程序键3                        |
587| KEY_PROG4                    | 程序键4                        |
588| KEY_DASHBOARD                | 仪表板                         |
589| KEY_SUSPEND                  | 挂起键                         |
590| KEY_HP                       | 高阶路径键                       |
591| KEY_SOUND                    | 音量键                         |
592| KEY_QUESTION                 | 疑问按键                        |
593| KEY_CONNECT                  | 连接键                         |
594| KEY_SPORT                    | 运动按键                        |
595| KEY_SHOP                     | 商城键                         |
596| KEY_ALTERASE                 | 交替键                         |
597| KEY_SWITCHVIDEOMODE          | 在可用视频之间循环输出(监视器/LCD/TV输出/等) |
598| KEY_BATTERY                  | 电池按键                        |
599| KEY_BLUETOOTH                | 蓝牙按键                        |
600| KEY_WLAN                     | 无线局域网                       |
601| KEY_UWB                      | 超宽带(UWB)                    |
602| KEY_WWAN_WIMAX               | WWAN&nbsp;WiMAX按键           |
603| KEY_RFKILL                   | 控制所有收音机的键                   |
604| KEY_CHANNEL                  | 向上频道键                       |
605| KEY_BTN_0                    | 按键0                         |
606| KEY_BTN_1                    | 按键1                         |
607| KEY_BTN_2                    | 按键2                         |
608| KEY_BTN_3                    | 按键3                         |
609| KEY_BTN_4                    | 按键4                         |
610| KEY_BTN_5                    | 按键5                         |
611| KEY_BTN_6                    | 按键6                         |
612| KEY_BTN_7                    | 按键7                         |
613| KEY_BTN_8                    | 按键8                         |
614| KEY_BTN_9                    | 按键9                         |
615
616**起始版本:**
617
61810
619
620
621### OH_NativeXComponent_MouseEventAction
622
623```
624enum OH_NativeXComponent_MouseEventAction
625```
626
627**描述:**
628
629鼠标事件动作。
630
631| 枚举值                               | 描述               |
632| --------------------------------- | ---------------- |
633| OH_NATIVEXCOMPONENT_MOUSE_NONE    | 无效鼠标事件&nbsp;。    |
634| OH_NATIVEXCOMPONENT_MOUSE_PRESS   | 鼠标按键按下时触发鼠标事件。   |
635| OH_NATIVEXCOMPONENT_MOUSE_RELEASE | 鼠标按键松开时触发鼠标事件。   |
636| OH_NATIVEXCOMPONENT_MOUSE_MOVE    | 鼠标在屏幕上移动时触发鼠标事件。 |
637
638**起始版本:**
639
6409
641
642
643### OH_NativeXComponent_MouseEventButton
644
645```
646enum OH_NativeXComponent_MouseEventButton
647```
648
649**描述:**
650
651鼠标事件按键。
652
653| 枚举值                                | 描述                |
654| ---------------------------------- | ----------------- |
655| OH_NATIVEXCOMPONENT_NONE_BUTTON    | 鼠标无按键操作时触发鼠标事件。   |
656| OH_NATIVEXCOMPONENT_LEFT_BUTTON    | 按下鼠标左键时触发鼠标事件。    |
657| OH_NATIVEXCOMPONENT_RIGHT_BUTTON   | 按下鼠标右键时触发鼠标事件。    |
658| OH_NATIVEXCOMPONENT_MIDDLE_BUTTON  | 按下鼠标中键时触发鼠标事件。    |
659| OH_NATIVEXCOMPONENT_BACK_BUTTON    | 按下鼠标左侧后退键时触发鼠标事件。 |
660| OH_NATIVEXCOMPONENT_FORWARD_BUTTON | 按下鼠标左侧前进键时触发鼠标事件。 |
661
662**起始版本:**
663
6649
665
666
667### OH_NativeXComponent_TouchEventType
668
669```
670enum OH_NativeXComponent_TouchEventType
671```
672
673**描述:**
674
675触摸事件类型。
676
677| 枚举值                         | 描述                    |
678| --------------------------- | --------------------- |
679| OH_NATIVEXCOMPONENT_DOWN    | 手指按下时触发触摸事件。          |
680| OH_NATIVEXCOMPONENT_UP      | 手指抬起时触发触摸事件。          |
681| OH_NATIVEXCOMPONENT_MOVE    | 手指按下状态下在屏幕上移动时触发触摸事件。 |
682| OH_NATIVEXCOMPONENT_CANCEL  | 触摸事件取消时触发事件。          |
683| OH_NATIVEXCOMPONENT_UNKNOWN | 无效的触摸类型。              |
684
685**起始版本:**
686
6878
688
689
690### OH_NativeXComponent_TouchPointToolType
691
692```
693enum OH_NativeXComponent_TouchPointToolType
694```
695
696**描述:**
697
698触摸点工具类型
699
700| 枚举值                                    | 描述       |
701| -------------------------------------- | -------- |
702| OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN  | 未识别工具类型。 |
703| OH_NATIVEXCOMPONENT_TOOL_TYPE_FINGER   | 表示用手指。   |
704| OH_NATIVEXCOMPONENT_TOOL_TYPE_PEN      | 表示用触笔。   |
705| OH_NATIVEXCOMPONENT_TOOL_TYPE_RUBBER   | 表示用橡皮擦。  |
706| OH_NATIVEXCOMPONENT_TOOL_TYPE_BRUSH    | 表示用画笔。   |
707| OH_NATIVEXCOMPONENT_TOOL_TYPE_PENCIL   | 表示用铅笔。   |
708| OH_NATIVEXCOMPONENT_TOOL_TYPE_AIRBRUSH | 表示用气笔。   |
709| OH_NATIVEXCOMPONENT_TOOL_TYPE_MOUSE    | 表示用鼠标。   |
710| OH_NATIVEXCOMPONENT_TOOL_TYPE_LENS     | 表示用晶状体。  |
711
712**起始版本:**
713
7149
715
716
717## 函数说明
718
719### OH_NativeXComponent_AttachNativeRootNode()
720
721```
722int32_t OH_NativeXComponent_AttachNativeRootNode (OH_NativeXComponent * component, ArkUI_NodeHandle root )
723```
724**描述:**
725
726将通过ArkUI的native接口创建出来的UI组件挂载到当前XComponent上。
727
728**起始版本:** 12
729
730**参数:**
731
732| 名称 | 描述 |
733| -------- | -------- |
734| component | 表示指向OH_NativeXComponent实例的指针。  |
735| root | 指向Native接口创建的组件实例的指针。  |
736
737**返回:**
738
7390:成功。
740
741-2:参数异常。
742
743
744### OH_NativeXComponent_DetachNativeRootNode()
745
746```
747int32_t OH_NativeXComponent_DetachNativeRootNode (OH_NativeXComponent * component, ArkUI_NodeHandle root )
748```
749**描述:**
750
751将ArkUI的native组件从当前XComponent上卸载.
752
753**起始版本:** 12
754
755**参数:**
756
757| 名称 | 描述 |
758| -------- | -------- |
759| component | 表示指向OH_NativeXComponent实例的指针。  |
760| root | 指向Native接口创建的组件实例的指针。  |
761
762**返回:**
763
7640:成功。
765
766-2:参数异常。
767
768
769
770### OH_NativeXComponent_GetKeyEvent()
771
772```
773int32_t OH_NativeXComponent_GetKeyEvent (OH_NativeXComponent * component, OH_NativeXComponent_KeyEvent ** keyEvent )
774```
775
776**描述:**
777
778获取ArkUI XComponent调度的按键事件。
779
780**参数:**
781
782| 名称        | 描述                            |
783| --------- | ----------------------------- |
784| component | 表示指向OH_NativeXComponent实例的指针。 |
785| keyEvent  | 表示指向当前按键事件指针的指针。              |
786
787**返回:**
788
789返回执行的状态代码。
790
791**起始版本:**
792
79310
794
795
796### OH_NativeXComponent_GetKeyEventAction()
797
798```
799int32_t OH_NativeXComponent_GetKeyEventAction (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_KeyAction * action )
800```
801
802**描述:**
803
804获取传入按键事件的动作。
805
806**参数:**
807
808| 名称       | 描述                                     |
809| -------- | -------------------------------------- |
810| keyEvent | 表示指向OH_NativeXComponent_KeyEvent实例的指针。 |
811| action   | 表示指向按键事件动作的指针。                         |
812
813**返回:**
814
815返回执行的状态代码。
816
817**起始版本:**
818
81910
820
821
822### OH_NativeXComponent_GetKeyEventCode()
823
824```
825int32_t OH_NativeXComponent_GetKeyEventCode (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_KeyCode * code )
826```
827
828**描述:**
829
830获取传入按键事件的按键码。
831
832**参数:**
833
834| 名称       | 描述                                     |
835| -------- | -------------------------------------- |
836| keyEvent | 表示指向OH_NativeXComponent_KeyEvent实例的指针。 |
837| code     | 表示指向按键事件按键码的指针。                        |
838
839**返回:**
840
841返回执行的状态代码。
842
843**起始版本:**
844
84510
846
847
848### OH_NativeXComponent_GetKeyEventDeviceId()
849
850```
851int32_t OH_NativeXComponent_GetKeyEventDeviceId (OH_NativeXComponent_KeyEvent * keyEvent, int64_t * deviceId )
852```
853
854**描述:**
855
856获取传入按键事件的设备id。
857
858**参数:**
859
860| 名称       | 描述                                     |
861| -------- | -------------------------------------- |
862| keyEvent | 表示指向OH_NativeXComponent_KeyEvent实例的指针。 |
863| deviceId | 表示指向按键事件设备id的指针。                       |
864
865**返回:**
866
867返回执行的状态代码。
868
869**起始版本:**
870
87110
872
873
874### OH_NativeXComponent_GetKeyEventSourceType()
875
876```
877int32_t OH_NativeXComponent_GetKeyEventSourceType (OH_NativeXComponent_KeyEvent * keyEvent, OH_NativeXComponent_EventSourceType * sourceType )
878```
879
880**描述:**
881
882获取传入按键事件的事件源类型。
883
884**参数:**
885
886| 名称         | 描述                                     |
887| ---------- | -------------------------------------- |
888| keyEvent   | 表示指向OH_NativeXComponent_KeyEvent实例的指针。 |
889| sourceType | 表示指向按键事件事件源类型的指针。                      |
890
891**返回:**
892
893返回执行的状态代码。
894
895**起始版本:**
896
89710
898
899
900### OH_NativeXComponent_GetKeyEventTimeStamp()
901
902```
903int32_t OH_NativeXComponent_GetKeyEventTimeStamp (OH_NativeXComponent_KeyEvent * keyEvent, int64_t * timeStamp )
904```
905
906**描述:**
907
908获取传入按键事件的时间戳。
909
910**参数:**
911
912| 名称        | 描述                                     |
913| --------- | -------------------------------------- |
914| keyEvent  | 表示指向OH_NativeXComponent_KeyEvent实例的指针。 |
915| timeStamp | 表示指向按键事件时间戳的指针。                        |
916
917**返回:**
918
919返回执行的状态代码。
920
921**起始版本:**
922
92310
924
925
926### OH_NativeXComponent_GetMouseEvent()
927
928```
929int32_t OH_NativeXComponent_GetMouseEvent (OH_NativeXComponent * component, const void * window, OH_NativeXComponent_MouseEvent * mouseEvent )
930```
931
932**描述:**
933
934获取ArkUI XComponent调度的鼠标事件
935
936**参数:**
937
938| 名称         | 描述                            |
939| ---------- | ----------------------------- |
940| component  | 表示指向OH_NativeXComponent实例的指针。 |
941| window     | 表示NativeWindow句柄              |
942| mouseEvent | 指示指向当前鼠标事件的指针。                |
943
944**返回:**
945
946返回执行的状态代码。
947
948**起始版本:**
949
9509
951
952### OH_NativeXComponent_GetNativeXComponent()
953
954```
955OH_NativeXComponent* OH_NativeXComponent_GetNativeXComponent (ArkUI_NodeHandle node)
956```
957**描述:**
958
959基于Native接口创建的组件实例获取OH_NativeXComponent类型的指针。
960
961**起始版本:** 12
962
963**参数:**
964
965| 名称 | 描述 |
966| -------- | -------- |
967| node | 指向Native接口创建的组件实例的指针。  |
968
969**返回:**
970
971表示指向OH_NativeXComponent实例的指针。
972
973
974### OH_NativeXComponent_GetTouchEvent()
975
976```
977int32_t OH_NativeXComponent_GetTouchEvent (OH_NativeXComponent * component, const void * window, OH_NativeXComponent_TouchEvent * touchEvent )
978```
979
980**描述:**
981
982获取ArkUI XComponent调度的触摸事件。
983
984**参数:**
985
986| 名称         | 描述                            |
987| ---------- | ----------------------------- |
988| component  | 表示指向OH_NativeXComponent实例的指针。 |
989| window     | 表示NativeWindow句柄。             |
990| touchEvent | 指示指向当前触摸事件的指针。                |
991
992**返回:**
993
994返回执行的状态代码。
995
996**起始版本:**
997
9988
999
1000
1001### OH_NativeXComponent_GetTouchPointTiltX()
1002
1003```
1004int32_t OH_NativeXComponent_GetTouchPointTiltX (OH_NativeXComponent * component, uint32_t pointIndex, float * tiltX )
1005```
1006
1007**描述:**
1008
1009获取ArkUI XComponent触摸点倾斜与X轴角度。
1010
1011**参数:**
1012
1013| 名称         | 描述                            |
1014| ---------- | ----------------------------- |
1015| component  | 表示指向OH_NativeXComponent实例的指针。 |
1016| pointIndex | 表示触摸点的指针索引。                   |
1017| tiltX      | 表示指向X倾斜度的指针。                  |
1018
1019**返回:**
1020
1021返回执行的状态代码。
1022
1023**起始版本:**
1024
10259
1026
1027
1028### OH_NativeXComponent_GetTouchPointTiltY()
1029
1030```
1031int32_t OH_NativeXComponent_GetTouchPointTiltY (OH_NativeXComponent * component, uint32_t pointIndex, float * tiltY )
1032```
1033
1034**描述:**
1035
1036获取ArkUI XComponent触摸点倾斜与Y轴角度。
1037
1038**参数:**
1039
1040| 名称         | 描述                            |
1041| ---------- | ----------------------------- |
1042| component  | 表示指向OH_NativeXComponent实例的指针。 |
1043| pointIndex | 表示触摸点的指针索引。                   |
1044| tiltY      | 表示指向Y倾斜度的指针。                  |
1045
1046**返回:**
1047
1048返回执行的状态代码。
1049
1050**起始版本:**
1051
10529
1053
1054
1055### OH_NativeXComponent_GetTouchPointWindowX()
1056
1057```
1058int32_t OH_NativeXComponent_GetTouchPointWindowX(OH_NativeXComponent * component, uint32_t pointIndex, float * windowX )
1059```
1060
1061**描述:**
1062
1063获取ArkUI XComponent触摸点相对于应用窗口左上角的X坐标。
1064
1065**参数:**
1066
1067| 名称         | 描述                            |
1068| ---------- | ----------------------------- |
1069| component  | 表示指向OH_NativeXComponent实例的指针。        |
1070| pointIndex | 表示触摸点的指针索引。                          |
1071| windowX    | 表示指向触摸点相对于应用窗口左上角的X坐标的指针。  |
1072
1073**返回:**
1074
1075返回执行的状态代码。
1076
1077**起始版本:**
1078
107912
1080
1081
1082### OH_NativeXComponent_GetTouchPointWindowY()
1083
1084```
1085int32_t OH_NativeXComponent_GetTouchPointWindowY(OH_NativeXComponent * component, uint32_t pointIndex, float * windowY )
1086```
1087
1088**描述:**
1089
1090获取ArkUI XComponent触摸点相对于应用窗口左上角的Y坐标。
1091
1092**参数:**
1093
1094| 名称         | 描述                            |
1095| ---------- | ----------------------------- |
1096| component  | 表示指向OH_NativeXComponent实例的指针。        |
1097| pointIndex | 表示触摸点的指针索引。                          |
1098| windowY    | 表示指向触摸点相对于应用窗口左上角的Y坐标的指针。  |
1099
1100**返回:**
1101
1102返回执行的状态代码。
1103
1104**起始版本:**
1105
110612
1107
1108
1109### OH_NativeXComponent_GetTouchPointDisplayX()
1110
1111```
1112int32_t OH_NativeXComponent_GetTouchPointDisplayX(OH_NativeXComponent * component, uint32_t pointIndex, float * displayX )
1113```
1114
1115**描述:**
1116
1117获取ArkUI XComponent触摸点相对于应用所在屏幕左上角的X坐标。
1118
1119**参数:**
1120
1121| 名称         | 描述                            |
1122| ---------- | ----------------------------- |
1123| component  | 表示指向OH_NativeXComponent实例的指针。        |
1124| pointIndex | 表示触摸点的指针索引。                          |
1125| displayX    | 表示指向触摸点相对于应用所在屏幕左上角的X坐标的指针。  |
1126
1127**返回:**
1128
1129返回执行的状态代码。
1130
1131**起始版本:**
1132
113312
1134
1135
1136### OH_NativeXComponent_GetTouchPointDisplayY()
1137
1138```
1139int32_t OH_NativeXComponent_GetTouchPointDisplayY(OH_NativeXComponent * component, uint32_t pointIndex, float * displayY )
1140```
1141
1142**描述:**
1143
1144获取ArkUI XComponent触摸点相对于应用所在屏幕左上角的Y坐标。
1145
1146**参数:**
1147
1148| 名称         | 描述                            |
1149| ---------- | ----------------------------- |
1150| component  | 表示指向OH_NativeXComponent实例的指针。        |
1151| pointIndex | 表示触摸点的指针索引。                          |
1152| displayY    | 表示指向触摸点相对于应用所在屏幕左上角的Y坐标的指针。  |
1153
1154**返回:**
1155
1156返回执行的状态代码。
1157
1158**起始版本:**
1159
116012
1161
1162
1163### OH_NativeXComponent_GetTouchPointToolType()
1164
1165```
1166int32_t OH_NativeXComponent_GetTouchPointToolType (OH_NativeXComponent * component, uint32_t pointIndex, OH_NativeXComponent_TouchPointToolType * toolType )
1167```
1168
1169**描述:**
1170
1171获取ArkUI XComponent触摸点工具类型。
1172
1173**参数:**
1174
1175| 名称         | 描述                            |
1176| ---------- | ----------------------------- |
1177| component  | 表示指向OH_NativeXComponent实例的指针。 |
1178| pointIndex | 表示触摸点的指针索引。                   |
1179| toolType   | 表示指向工具类型的指针。                  |
1180
1181**返回:**
1182
1183返回执行的状态代码。
1184
1185**起始版本:**
1186
11879
1188
1189
1190### OH_NativeXComponent_GetXComponentId()
1191
1192```
1193int32_t OH_NativeXComponent_GetXComponentId (OH_NativeXComponent * component, char * id, uint64_t * size )
1194```
1195
1196**描述:**
1197
1198获取ArkUI XComponent的id。
1199
1200**参数:**
1201
1202| 名称      | 描述                                                         |
1203| --------- | ------------------------------------------------------------ |
1204| component | 表示指向OH_NativeXComponent实例的指针。                      |
1205| id        | 指示用于保存此OH_NativeXComponent实例的ID的字符缓冲区。&nbsp;请注意,空终止符将附加到字符缓冲区,因此字符缓冲区的大小应至少比真实id长度大一个单位。&nbsp;建议字符缓冲区的大小为[OH_XCOMPONENT_ID_LEN_MAX&nbsp;+&nbsp;1]。 |
1206| size      | 指示指向id长度的指针,用于接收id的长度信息。                 |
1207
1208**返回:**
1209
1210返回执行的状态代码。
1211
1212**起始版本:**
1213
12148
1215
1216
1217### OH_NativeXComponent_GetXComponentOffset()
1218
1219```
1220int32_t OH_NativeXComponent_GetXComponentOffset (OH_NativeXComponent * component, const void * window, double * x, double * y )
1221```
1222
1223**描述:**
1224
1225获取ArkUI XComponent持有的surface相对其父组件左顶点的偏移量。
1226
1227**参数:**
1228
1229| 名称        | 描述                            |
1230| --------- | ----------------------------- |
1231| component | 表示指向OH_NativeXComponent实例的指针。 |
1232| window    | 表示NativeWindow句柄。             |
1233| x         | 指示指向当前surface相对于XComponent父组件左顶点x坐标的指针。         |
1234| y         | 指示指向当前surface相对于XComponent父组件左顶点y坐标的指针。         |
1235
1236**返回:**
1237
1238返回执行的状态代码。
1239
1240**起始版本:**
1241
12428
1243
1244
1245### OH_NativeXComponent_GetXComponentSize()
1246
1247```
1248int32_t OH_NativeXComponent_GetXComponentSize (OH_NativeXComponent * component, const void * window, uint64_t * width, uint64_t * height )
1249```
1250
1251**描述:**
1252
1253获取ArkUI XComponent持有的surface的大小。
1254
1255**参数:**
1256
1257| 名称        | 描述                            |
1258| --------- | ----------------------------- |
1259| component | 表示指向OH_NativeXComponent实例的指针。 |
1260| window    | 表示NativeWindow句柄。             |
1261| width     | 指示指向当前surface宽度的指针。           |
1262| height    | 指示指向当前surface高度的指针。           |
1263
1264**返回:**
1265
1266返回执行的状态代码。
1267
1268**起始版本:**
1269
12708
1271
1272
1273### OH_NativeXComponent_RegisterBlurEventCallback()
1274
1275```
1276int32_t OH_NativeXComponent_RegisterBlurEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))
1277```
1278
1279**描述:**
1280
1281为此OH_NativeXComponent实例注册失焦事件回调。
1282
1283**参数:**
1284
1285| 名称        | 描述                            |
1286| --------- | ----------------------------- |
1287| component | 表示指向OH_NativeXComponent实例的指针。 |
1288| callback  | 指示指向失焦事件回调的指针。                |
1289
1290**返回:**
1291
1292返回执行的状态代码。
1293
1294**起始版本:**
1295
129610
1297
1298
1299### OH_NativeXComponent_RegisterCallback()
1300
1301```
1302int32_t OH_NativeXComponent_RegisterCallback (OH_NativeXComponent * component, OH_NativeXComponent_Callback * callback )
1303```
1304
1305**描述:**
1306
1307为此OH_NativeXComponent实例注册回调。
1308
1309**参数:**
1310
1311| 名称        | 描述                            |
1312| --------- | ----------------------------- |
1313| component | 表示指向OH_NativeXComponent实例的指针。 |
1314| callback  | 指示指向surface生命周期和触摸事件回调的指针。    |
1315
1316**返回:**
1317
1318返回执行的状态代码。
1319
1320**起始版本:**
1321
13228
1323
1324
1325### OH_NativeXComponent_RegisterFocusEventCallback()
1326
1327```
1328int32_t OH_NativeXComponent_RegisterFocusEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))
1329```
1330
1331**描述:**
1332
1333为此OH_NativeXComponent实例注册获焦事件回调。
1334
1335**参数:**
1336
1337| 名称        | 描述                            |
1338| --------- | ----------------------------- |
1339| component | 表示指向OH_NativeXComponent实例的指针。 |
1340| callback  | 指示指向获焦事件回调的指针。                |
1341
1342**返回:**
1343
1344返回执行的状态代码。
1345
1346**起始版本:**
1347
134810
1349
1350
1351### OH_NativeXComponent_RegisterKeyEventCallback()
1352
1353```
1354int32_t OH_NativeXComponent_RegisterKeyEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))
1355```
1356
1357**描述:**
1358
1359为此OH_NativeXComponent实例注册按键事件回调。
1360
1361**参数:**
1362
1363| 名称        | 描述                            |
1364| --------- | ----------------------------- |
1365| component | 表示指向OH_NativeXComponent实例的指针。 |
1366| callback  | 指示指向按键事件回调的指针。                |
1367
1368**返回:**
1369
1370返回执行的状态代码。
1371
1372**起始版本:**
1373
137410
1375
1376
1377### OH_NativeXComponent_RegisterKeyEventCallbackWithResult()
1378
1379```
1380int32_t OH_NativeXComponent_RegisterKeyEventCallbackWithResult (OH_NativeXComponent * component, bool(*callback)(OH_NativeXComponent *component, void *window))
1381```
1382
1383**描述:**
1384
1385为此OH_NativeXComponent实例注册带有返回值的按键事件回调。通过此接口注册的按键事件回调都必须返回一个结果,即true或false。当返回值为true时,该事件将不会继续分发;当返回值为false时,该事件将按照事件处理流程继续分发。
1386
1387**参数:**
1388
1389| 名称        | 描述                            |
1390| --------- | ----------------------------- |
1391| component | 表示指向OH_NativeXComponent实例的指针。 |
1392| callback  | 指示指向按键事件回调的指针。                |
1393
1394**返回:**
1395
1396返回执行的状态代码。
1397
1398**起始版本:**
1399
140014
1401
1402
1403### OH_NativeXComponent_RegisterMouseEventCallback()
1404
1405```
1406int32_t OH_NativeXComponent_RegisterMouseEventCallback (OH_NativeXComponent * component, OH_NativeXComponent_MouseEvent_Callback * callback )
1407```
1408
1409**描述:**
1410
1411为此OH_NativeXComponent实例注册鼠标事件回调。
1412
1413**参数:**
1414
1415| 名称        | 描述                            |
1416| --------- | ----------------------------- |
1417| component | 表示指向OH_NativeXComponent实例的指针。 |
1418| callback  | 指示指向鼠标事件回调的指针。                |
1419
1420**返回:**
1421
1422返回执行的状态代码。
1423
1424**起始版本:**
1425
14269
1427
1428### OH_NativeXComponent_RegisterOnFrameCallback()
1429
1430```
1431int32_t OH_NativeXComponent_RegisterOnFrameCallback (OH_NativeXComponent* component, void (*callback)(OH_NativeXComponent *component, uint64_t timestamp, uint64_t targetTimestamp))
1432```
1433**描述:**
1434
1435为此OH_NativeXComponent实例注册显示更新回调,并使能每帧回调此函数。
1436
1437**参数:**
1438
1439| 名称 | 描述 |
1440| -------- | -------- |
1441| component | 表示指向OH_NativeXComponent实例的指针。  |
1442| callback | 指示指向显示更新回调的指针。  |
1443| timestamp | 当前帧到达的时间(单位:纳秒)。 |
1444| targetTimestamp | 下一帧预期到达的时间(单位:纳秒)。 |
1445
1446**返回:**
1447
1448返回执行的状态代码。
1449
1450**起始版本:**
1451
145211
1453
1454### OH_NativeXComponent_RegisterOnTouchInterceptCallback()
1455
1456```
1457int32_t OH_NativeXComponent_RegisterOnTouchInterceptCallback (OH_NativeXComponent * component, HitTestMode(*callback)(OH_NativeXComponent *component, ArkUI_UIInputEvent *event))
1458```
1459**描述:**
1460
1461为此OH_NativeXComponent实例注册自定义事件拦截回调,并使能在做触摸测试时回调此函数。
1462
1463**起始版本:** 12
1464
1465**参数:**
1466
1467| 名称 | 描述 |
1468| -------- | -------- |
1469| component | 表示指向OH_NativeXComponent实例的指针。  |
1470| callback | 指示指向自定义事件拦截回调的指针。  |
1471
1472**返回:**
1473
14740 - 成功。 401 - 参数异常。
1475
1476### OH_NativeXComponent_RegisterUIInputEventCallback()
1477
1478```
1479int32_t OH_NativeXComponent_RegisterUIInputEventCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, ArkUI_UIInputEvent *event, ArkUI_UIInputEvent_Type type), ArkUI_UIInputEvent_Type type )
1480```
1481**描述:**
1482
1483为此OH_NativeXComponent实例注册UI输入事件回调,并使能收到UI输入事件时回调此函数。
1484
1485**起始版本:** 12
1486
1487**参数:**
1488
1489| 名称 | 描述 |
1490| -------- | -------- |
1491| component | 表示指向OH_NativeXComponent实例的指针。  |
1492| callback | 指示指向UI输入事件回调的指针。  |
1493| type | 指示当前UI输入事件的类型。  |
1494
1495**返回:**
1496
1497返回执行的状态代码。
1498
1499### OH_NativeXComponent_SetExpectedFrameRateRange()
1500
1501```
1502int32_t OH_NativeXComponent_SetExpectedFrameRateRange (OH_NativeXComponent * component, OH_NativeXComponent_ExpectedRateRange * range )
1503```
1504**描述:**
1505
1506设置期望帧率范围。
1507
1508**参数:**
1509
1510| 名称 | 描述 |
1511| -------- | -------- |
1512| component | 表示指向OH_NativeXComponent实例的指针。  |
1513| range | 表示指向期望帧率范围的指针。 |
1514
1515**返回:**
1516
1517返回执行的状态代码。
1518
1519**起始版本:**
1520
152111
1522
1523
1524### OH_NativeXComponent_UnregisterOnFrameCallback()
1525
1526```
1527int32_t OH_NativeXComponent_UnregisterOnFrameCallback (OH_NativeXComponent * component)
1528```
1529**描述:**
1530
1531为此OH_NativeXComponent实例取消注册回调函数,并关闭每帧回调此函数。
1532
1533**参数:**
1534
1535| 名称 | 描述 |
1536| -------- | -------- |
1537| component | 表示指向OH_NativeXComponent实例的指针。  |
1538
1539**返回:**
1540
1541返回执行的状态代码。
1542
1543**起始版本:**
1544
154511
1546
1547### OH_NativeXComponent_SetNeedSoftKeyboard()
1548
1549```
1550int32_t OH_NativeXComponent_SetNeedSoftKeyboard(OH_NativeXComponent* component, bool isNeedSoftKeyboard)
1551```
1552
1553**描述:**
1554
1555为此OH_NativeXComponent实例设置是否需要软键盘。
1556
1557**参数:**
1558
1559| 名称               | 描述                                          |
1560| ------------------ | --------------------------------------------- |
1561| component          | 表示指向OH_NativeXComponent实例的指针。       |
1562| isNeedSoftKeyboard | 表示此OH_NativeXComponent实例是否需要软键盘。 |
1563
1564**返回:**
1565
1566返回执行的状态代码。
1567
1568**起始版本:**
1569
157012
1571
1572### OH_NativeXComponent_RegisterSurfaceShowCallback()
1573
1574```
1575int32_t OH_NativeXComponent_RegisterSurfaceShowCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))
1576```
1577
1578**描述:**
1579
1580为此OH_NativeXComponent实例注册surface显示回调,该回调在应用从后台返回前台后触发。
1581
1582**参数:**
1583
1584| 名称        | 描述                            |
1585| --------- | ----------------------------- |
1586| component | 表示指向OH_NativeXComponent实例的指针。 |
1587| callback  | 指示指向surface显示回调的指针。                |
1588
1589**返回:**
1590
1591返回执行的状态代码。
1592
1593**起始版本:**
1594
159512
1596
1597### OH_NativeXComponent_RegisterSurfaceHideCallback()
1598
1599```
1600int32_t OH_NativeXComponent_RegisterSurfaceHideCallback (OH_NativeXComponent * component, void(*callback)(OH_NativeXComponent *component, void *window))
1601```
1602
1603**描述:**
1604
1605为此OH_NativeXComponent实例注册surface隐藏回调,该回调在应用从前台来到后台后触发。
1606
1607**参数:**
1608
1609| 名称        | 描述                            |
1610| --------- | ----------------------------- |
1611| component | 表示指向OH_NativeXComponent实例的指针。 |
1612| callback  | 指示指向surface隐藏回调的指针。                |
1613
1614**返回:**
1615
1616返回执行的状态代码。
1617
1618**起始版本:**
1619
162012
1621
1622### OH_NativeXComponent_GetTouchEventSourceType()
1623
1624```
1625int32_t OH_NativeXComponent_GetTouchEventSourceType (OH_NativeXComponent* component, int32_t pointId, OH_NativeXComponent_EventSourceType* sourceType);
1626```
1627
1628**描述:**
1629
1630获取ArkUI XComponent触摸事件的输入设备类型。
1631
1632**参数:**
1633
1634| 名称        | 描述                            |
1635| --------- | ----------------------------- |
1636| component | 表示指向OH_NativeXComponent实例的指针。 |
1637| pointId  | 表示触摸点的id。<br/>**说明:**<br/>仅当传入的id为触发该touch事件的触点id时,可正确返回输入设备类型,否则返回OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER。 |
1638| sourceType  | 指示指向返回设备类型的指针。 |
1639
1640**返回:**
1641
1642OH_NATIVEXCOMPONENT_RESULT_SUCCESS - 成功。
1643
1644OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER - 参数异常。
1645
1646OH_NATIVEXCOMPONENT_RESULT_FAILED - 其他错误。
1647
1648**起始版本:**
1649
165012
1651
1652### OH_NativeXComponent_GetNativeAccessibilityProvider()
1653
1654```
1655int32_t OH_NativeXComponent_GetNativeAccessibilityProvider(
1656    OH_NativeXComponent* component, ArkUI_AccessibilityProvider** handle);
1657```
1658
1659**描述:**
1660
1661获取ArkUI XComponent无障碍接入句柄指针。
1662
1663**参数:**
1664
1665| 名称      | 描述                                    |
1666| --------- | --------------------------------------- |
1667| component | 表示指向OH_NativeXComponent实例的指针。 |
1668| handle    | 返回无障碍接入句柄指针。                |
1669
1670**返回:**
1671
1672OH_NATIVEXCOMPONENT_RESULT_SUCCESS - 成功。
1673
1674OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER - 参数异常。
1675
1676OH_NATIVEXCOMPONENT_RESULT_FAILED - 其他错误。
1677
1678**起始版本:**
1679
168013
1681
1682
1683
1684<!--  -->
1685
1686## 变量说明
1687
1688
1689### OH_XCOMPONENT_ID_LEN_MAX
1690
1691```
1692const uint32_t OH_XCOMPONENT_ID_LEN_MAX = 128
1693```
1694
1695
1696**描述:**
1697
1698
1699ArkUI XComponent的id最大长度。
1700
1701
1702**起始版本:**
1703
1704
17058
1706
1707
1708### OH_MAX_TOUCH_POINTS_NUMBER
1709
1710```
1711const uint32_t OH_MAX_TOUCH_POINTS_NUMBER = 10
1712```
1713
1714**描述:**
1715
1716触摸事件中的可识别的触摸点个数最大值。
1717
1718**起始版本:**
1719
17208
1721
1722
1723### action
1724
1725```
1726OH_NativeXComponent_MouseEventAction OH_NativeXComponent_MouseEvent::action
1727```
1728
1729**描述:**
1730
1731当前鼠标事件动作。
1732
1733**起始版本:**
1734
17358
1736
1737
1738### button
1739
1740```
1741OH_NativeXComponent_MouseEventButton OH_NativeXComponent_MouseEvent::button
1742```
1743
1744**描述:**
1745
1746鼠标事件按键。
1747
1748**起始版本:**
1749
17508
1751
1752
1753### deviceId
1754
1755```
1756int64_t OH_NativeXComponent_TouchEvent::deviceId = 0
1757```
1758
1759**描述:**
1760
1761产生当前触摸事件的设备的ID。
1762
1763**起始版本:**
1764
17658
1766
1767
1768### DispatchHoverEvent
1769
1770```
1771void(* OH_NativeXComponent_MouseEvent_Callback::DispatchHoverEvent) (OH_NativeXComponent *component, bool isHover)
1772```
1773
1774**描述:**
1775
1776当悬停事件被触发时调用。
1777
1778**起始版本:**
1779
17808
1781
1782
1783### DispatchMouseEvent
1784
1785```
1786void(* OH_NativeXComponent_MouseEvent_Callback::DispatchMouseEvent) (OH_NativeXComponent *component, void *window)
1787```
1788
1789**描述:**
1790
1791当鼠标事件被触发时调用。
1792
1793**参数:**
1794
1795| 名称        | 描述                            |
1796| --------- | ----------------------------- |
1797| component | 表示指向OH_NativeXComponent实例的指针。 |
1798| window  | 表示NatievWindow句柄。              |
1799
1800**起始版本:**
1801
18028
1803
1804
1805### DispatchTouchEvent
1806
1807```
1808void(* OH_NativeXComponent_Callback::DispatchTouchEvent) (OH_NativeXComponent *component, void *window)
1809```
1810
1811**描述:**
1812
1813当触摸事件被触发时调用。
1814
1815**起始版本:**
1816
18178
1818
1819
1820### force [1/2]
1821
1822```
1823float OH_NativeXComponent_TouchPoint::force = 0.0
1824```
1825
1826**描述:**
1827
1828当前触摸事件的压力。
1829
1830**起始版本:**
1831
18328
1833
1834
1835### force [2/2]
1836
1837```
1838float OH_NativeXComponent_TouchEvent::force = 0.0
1839```
1840
1841**描述:**
1842
1843当前触摸事件的压力。
1844
1845**起始版本:**
1846
18478
1848
1849
1850### id [1/2]
1851
1852```
1853int32_t OH_NativeXComponent_TouchPoint::id = 0
1854```
1855
1856**描述:**
1857
1858手指的唯一标识符。
1859
1860**起始版本:**
1861
18628
1863
1864
1865### id [2/2]
1866
1867```
1868int32_t OH_NativeXComponent_TouchEvent::id = 0
1869```
1870
1871**描述:**
1872
1873手指的唯一标识符。
1874
1875**起始版本:**
1876
18778
1878
1879
1880### isPressed
1881
1882```
1883bool OH_NativeXComponent_TouchPoint::isPressed = false
1884```
1885
1886**描述:**
1887
1888当前点是否被按下。
1889
1890**起始版本:**
1891
18928
1893
1894
1895### numPoints
1896
1897```
1898uint32_t OH_NativeXComponent_TouchEvent::numPoints = 0
1899```
1900
1901**描述:**
1902
1903当前接触点的数量。
1904
1905**起始版本:**
1906
19078
1908
1909
1910### OnSurfaceChanged
1911
1912```
1913void(* OH_NativeXComponent_Callback::OnSurfaceChanged) (OH_NativeXComponent *component, void *window)
1914```
1915
1916**描述:**
1917
1918当surface改变时调用。
1919
1920**参数:**
1921
1922| 名称        | 描述                            |
1923| --------- | ----------------------------- |
1924| component | 表示指向OH_NativeXComponent实例的指针。 |
1925| window  | 表示NatievWindow句柄。              |
1926
1927**起始版本:**
1928
19298
1930
1931
1932### OnSurfaceCreated
1933
1934```
1935void(* OH_NativeXComponent_Callback::OnSurfaceCreated) (OH_NativeXComponent *component, void *window)
1936```
1937
1938**描述:**
1939
1940创建surface时调用。
1941
1942**参数:**
1943
1944| 名称        | 描述                            |
1945| --------- | ----------------------------- |
1946| component | 表示指向OH_NativeXComponent实例的指针。 |
1947| window  | 表示NatievWindow句柄。              |
1948
1949**起始版本:**
1950
19518
1952
1953
1954### OnSurfaceDestroyed
1955
1956```
1957void(* OH_NativeXComponent_Callback::OnSurfaceDestroyed) (OH_NativeXComponent *component, void *window)
1958```
1959
1960**描述:**
1961
1962当surface被销毁时调用。
1963
1964**参数:**
1965
1966| 名称        | 描述                            |
1967| --------- | ----------------------------- |
1968| component | 表示指向OH_NativeXComponent实例的指针。 |
1969| window  | 表示NatievWindow句柄。              |
1970
1971**起始版本:**
1972
19738
1974
1975
1976### screenX [1/3]
1977
1978```
1979float OH_NativeXComponent_TouchPoint::screenX = 0.0
1980```
1981
1982**描述:**
1983
1984触摸点相对于XComponent所在应用窗口左上角的x坐标。
1985
1986**起始版本:**
1987
19888
1989
1990
1991### screenX [2/3]
1992
1993```
1994float OH_NativeXComponent_TouchEvent::screenX = 0.0
1995```
1996
1997**描述:**
1998
1999触摸点相对于所在应用窗口左上角的x坐标。
2000
2001**起始版本:**
2002
20038
2004
2005
2006### screenX [3/3]
2007
2008```
2009float OH_NativeXComponent_MouseEvent::screenX
2010```
2011
2012**描述:**
2013
2014点击触点相对于所在应用屏幕左上角的x轴坐标。
2015
2016**起始版本:**
2017
20188
2019
2020
2021### screenY [1/3]
2022
2023```
2024float OH_NativeXComponent_TouchPoint::screenY = 0.0
2025```
2026
2027**描述:**
2028
2029触摸点相对于XComponent所在应用窗口左上角的y坐标。
2030
2031**起始版本:**
2032
20338
2034
2035
2036### screenY [2/3]
2037
2038```
2039float OH_NativeXComponent_TouchEvent::screenY = 0.0
2040```
2041
2042**描述:**
2043
2044触摸点相对于所在应用窗口左上角的y坐标。
2045
2046**起始版本:**
2047
20488
2049
2050
2051### screenY [3/3]
2052
2053```
2054float OH_NativeXComponent_MouseEvent::screenY
2055```
2056
2057**描述:**
2058
2059点击触点相对于所在应用屏幕左上角的y轴坐标。
2060
2061**起始版本:**
2062
20638
2064
2065
2066### size [1/2]
2067
2068```
2069double OH_NativeXComponent_TouchPoint::size = 0.0
2070```
2071
2072**描述:**
2073
2074指垫和屏幕之间的接触面积。
2075
2076**起始版本:**
2077
20788
2079
2080
2081### size [2/2]
2082
2083```
2084double OH_NativeXComponent_TouchEvent::size = 0.0
2085```
2086
2087**描述:**
2088
2089指垫和屏幕之间的接触面积。
2090
2091**起始版本:**
2092
20938
2094
2095
2096### timeStamp [1/2]
2097
2098```
2099long long OH_NativeXComponent_TouchPoint::timeStamp = 0
2100```
2101
2102**描述:**
2103
2104当前触摸事件的时间戳。
2105
2106**起始版本:**
2107
21088
2109
2110
2111### timeStamp [2/2]
2112
2113```
2114long long OH_NativeXComponent_TouchEvent::timeStamp = 0
2115```
2116
2117**描述:**
2118
2119当前触摸事件的时间戳。
2120
2121**起始版本:**
2122
21238
2124
2125
2126### timestamp
2127
2128```
2129int64_t OH_NativeXComponent_MouseEvent::timestamp
2130```
2131
2132**描述:**
2133
2134当前鼠标事件的时间戳。
2135
2136**起始版本:**
2137
21388
2139
2140
2141### touchPoints
2142
2143```
2144OH_NativeXComponent_TouchPoint OH_NativeXComponent_TouchEvent::touchPoints[OH_MAX_TOUCH_POINTS_NUMBER]
2145```
2146
2147**描述:**
2148
2149当前触摸点的数组。
2150
2151**起始版本:**
2152
21538
2154
2155
2156### type [1/2]
2157
2158```
2159OH_NativeXComponent_TouchEventType OH_NativeXComponent_TouchPoint::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN
2160```
2161
2162**描述:**
2163
2164触摸事件的触摸类型。
2165
2166**起始版本:**
2167
21688
2169
2170
2171### type [2/2]
2172
2173```
2174OH_NativeXComponent_TouchEventType OH_NativeXComponent_TouchEvent::type = OH_NativeXComponent_TouchEventType::OH_NATIVEXCOMPONENT_UNKNOWN
2175```
2176
2177**描述:**
2178
2179触摸事件的触摸类型。
2180
2181**起始版本:**
2182
21838
2184
2185
2186### x [1/3]
2187
2188```
2189float OH_NativeXComponent_TouchPoint::x = 0.0
2190```
2191
2192**描述:**
2193
2194触摸点相对于XComponent组件左边缘的x坐标。
2195
2196**起始版本:**
2197
21988
2199
2200
2201### x [2/3]
2202
2203```
2204float OH_NativeXComponent_TouchEvent::x = 0.0
2205```
2206
2207**描述:**
2208
2209触摸点相对于XComponent组件左边缘的x坐标。
2210
2211**起始版本:**
2212
22138
2214
2215
2216### x [3/3]
2217
2218```
2219float OH_NativeXComponent_MouseEvent::x
2220```
2221
2222**描述:**
2223
2224点击触点相对于当前组件左上角的x轴坐标。
2225
2226**起始版本:**
2227
22288
2229
2230
2231### y [1/3]
2232
2233```
2234float OH_NativeXComponent_TouchPoint::y = 0.0
2235```
2236
2237**描述:**
2238
2239触摸点相对于XComponent组件上边缘的y坐标。
2240
2241**起始版本:**
2242
22438
2244
2245
2246### y [2/3]
2247
2248```
2249float OH_NativeXComponent_TouchEvent::y = 0.0
2250```
2251
2252**描述:**
2253
2254触摸点相对于XComponent组件上边缘的y坐标。
2255
2256**起始版本:**
2257
22588
2259
2260
2261### y [3/3]
2262
2263```
2264float OH_NativeXComponent_MouseEvent::y
2265```
2266
2267**描述:**
2268
2269点击触点相对于当前组件左上角的y轴坐标。
2270
2271**起始版本:**
2272
22738
2274
2275### expected
2276
2277```
2278int32_t OH_NativeXComponent_ExpectedRateRange::expected
2279```
2280**描述:**
2281
2282期望帧率。
2283
2284**起始版本:**
2285
228611
2287
2288### max
2289
2290```
2291int32_t OH_NativeXComponent_ExpectedRateRange::max
2292```
2293**描述:**
2294
2295期望帧率范围最大值。
2296
2297**起始版本:**
2298
229911
2300
2301
2302### min
2303
2304```
2305int32_t OH_NativeXComponent_ExpectedRateRange::min
2306```
2307**描述:**
2308
2309期望帧率范围最小值。
2310
2311**起始版本:**
2312
231311
2314