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