ohos_input_sys/input_manager/
input_manager_ffi.rs

1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6use crate::axis_type::{InputEvent_AxisAction, InputEvent_AxisEventType, InputEvent_AxisType};
7#[cfg(feature = "api-14")]
8use ohos_sys_opaque_types::Input_Hotkey;
9use ohos_sys_opaque_types::{
10    Input_AxisEvent, Input_KeyEvent, Input_KeyState, Input_MouseEvent, Input_TouchEvent,
11};
12
13#[cfg(feature = "api-12")]
14#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15impl Input_KeyStateAction {
16    /// Default
17    pub const KEY_DEFAULT: Input_KeyStateAction = Input_KeyStateAction(-1);
18    /// Pressing of a key
19    pub const KEY_PRESSED: Input_KeyStateAction = Input_KeyStateAction(0);
20    /// Release of a key
21    pub const KEY_RELEASED: Input_KeyStateAction = Input_KeyStateAction(1);
22    /// Key switch enabled
23    pub const KEY_SWITCH_ON: Input_KeyStateAction = Input_KeyStateAction(2);
24    /// Key switch disabled
25    pub const KEY_SWITCH_OFF: Input_KeyStateAction = Input_KeyStateAction(3);
26}
27#[repr(transparent)]
28/// Enumerated values of key event action.
29///
30///
31/// Available since API-level: 12
32#[cfg(feature = "api-12")]
33#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
34#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
35pub struct Input_KeyStateAction(pub ::core::ffi::c_int);
36#[cfg(feature = "api-12")]
37#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
38impl Input_KeyEventAction {
39    /// Cancellation of a key action.
40    pub const KEY_ACTION_CANCEL: Input_KeyEventAction = Input_KeyEventAction(0);
41    /// Pressing of a key.
42    pub const KEY_ACTION_DOWN: Input_KeyEventAction = Input_KeyEventAction(1);
43    /// Release of a key.
44    pub const KEY_ACTION_UP: Input_KeyEventAction = Input_KeyEventAction(2);
45}
46#[repr(transparent)]
47/// Enumerates key event types.
48///
49///
50/// Available since API-level: 12
51#[cfg(feature = "api-12")]
52#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
53#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
54pub struct Input_KeyEventAction(pub ::core::ffi::c_uint);
55#[cfg(feature = "api-12")]
56#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
57impl Input_MouseEventAction {
58    /// Cancel.
59    pub const MOUSE_ACTION_CANCEL: Input_MouseEventAction = Input_MouseEventAction(0);
60    /// Moving of the mouse pointer.
61    pub const MOUSE_ACTION_MOVE: Input_MouseEventAction = Input_MouseEventAction(1);
62    /// Pressing down of the mouse.
63    pub const MOUSE_ACTION_BUTTON_DOWN: Input_MouseEventAction = Input_MouseEventAction(2);
64    /// Lifting of the mouse button.
65    pub const MOUSE_ACTION_BUTTON_UP: Input_MouseEventAction = Input_MouseEventAction(3);
66    /// Beginning of the mouse axis event
67    pub const MOUSE_ACTION_AXIS_BEGIN: Input_MouseEventAction = Input_MouseEventAction(4);
68    /// Updating of the mouse axis event
69    pub const MOUSE_ACTION_AXIS_UPDATE: Input_MouseEventAction = Input_MouseEventAction(5);
70    /// End of the mouse axis event
71    pub const MOUSE_ACTION_AXIS_END: Input_MouseEventAction = Input_MouseEventAction(6);
72}
73#[repr(transparent)]
74/// Enumerated values of mouse event action.
75///
76///
77/// Available since API-level: 12
78#[cfg(feature = "api-12")]
79#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
80#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
81pub struct Input_MouseEventAction(pub ::core::ffi::c_uint);
82#[cfg(feature = "api-12")]
83#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
84impl InputEvent_MouseAxis {
85    /// Vertical scroll axis
86    pub const MOUSE_AXIS_SCROLL_VERTICAL: InputEvent_MouseAxis = InputEvent_MouseAxis(0);
87    /// Horizontal scroll axis
88    pub const MOUSE_AXIS_SCROLL_HORIZONTAL: InputEvent_MouseAxis = InputEvent_MouseAxis(1);
89}
90#[repr(transparent)]
91/// Mouse axis types.
92///
93///
94/// Available since API-level: 12
95#[cfg(feature = "api-12")]
96#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
97#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
98pub struct InputEvent_MouseAxis(pub ::core::ffi::c_uint);
99#[cfg(feature = "api-12")]
100#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
101impl Input_MouseEventButton {
102    /// Invalid button
103    pub const MOUSE_BUTTON_NONE: Input_MouseEventButton = Input_MouseEventButton(-1);
104    /// Left button on the mouse.
105    pub const MOUSE_BUTTON_LEFT: Input_MouseEventButton = Input_MouseEventButton(0);
106    /// Middle button on the mouse.
107    pub const MOUSE_BUTTON_MIDDLE: Input_MouseEventButton = Input_MouseEventButton(1);
108    /// Right button on the mouse.
109    pub const MOUSE_BUTTON_RIGHT: Input_MouseEventButton = Input_MouseEventButton(2);
110    /// Forward button on the mouse.
111    pub const MOUSE_BUTTON_FORWARD: Input_MouseEventButton = Input_MouseEventButton(3);
112    /// Back button on the mouse.
113    pub const MOUSE_BUTTON_BACK: Input_MouseEventButton = Input_MouseEventButton(4);
114}
115#[repr(transparent)]
116/// Enumerated values of mouse event button.
117///
118///
119/// Available since API-level: 12
120#[cfg(feature = "api-12")]
121#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
122#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
123pub struct Input_MouseEventButton(pub ::core::ffi::c_int);
124#[cfg(feature = "api-12")]
125#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
126impl Input_TouchEventAction {
127    /// Touch cancelled.
128    pub const TOUCH_ACTION_CANCEL: Input_TouchEventAction = Input_TouchEventAction(0);
129    /// Touch pressed.
130    pub const TOUCH_ACTION_DOWN: Input_TouchEventAction = Input_TouchEventAction(1);
131    /// Touch moved.
132    pub const TOUCH_ACTION_MOVE: Input_TouchEventAction = Input_TouchEventAction(2);
133    /// Touch lifted.
134    pub const TOUCH_ACTION_UP: Input_TouchEventAction = Input_TouchEventAction(3);
135}
136#[repr(transparent)]
137/// Enumerated values of touch event action.
138///
139///
140/// Available since API-level: 12
141#[cfg(feature = "api-12")]
142#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
143#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
144pub struct Input_TouchEventAction(pub ::core::ffi::c_uint);
145#[cfg(feature = "api-13")]
146#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
147impl Input_KeyboardType {
148    /// Keyboard without keys
149    pub const KEYBOARD_TYPE_NONE: Input_KeyboardType = Input_KeyboardType(0);
150    /// Keyboard with unknown keys
151    pub const KEYBOARD_TYPE_UNKNOWN: Input_KeyboardType = Input_KeyboardType(1);
152    /// Full keyboard
153    pub const KEYBOARD_TYPE_ALPHABETIC: Input_KeyboardType = Input_KeyboardType(2);
154    /// Digital keyboard
155    pub const KEYBOARD_TYPE_DIGITAL: Input_KeyboardType = Input_KeyboardType(3);
156    /// Stylus
157    pub const KEYBOARD_TYPE_STYLUS: Input_KeyboardType = Input_KeyboardType(4);
158    /// Remote control
159    pub const KEYBOARD_TYPE_REMOTE_CONTROL: Input_KeyboardType = Input_KeyboardType(5);
160}
161#[repr(transparent)]
162/// Enumerates keyboard types.
163///
164///
165/// Available since API-level: 13
166#[cfg(feature = "api-13")]
167#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
168#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
169pub struct Input_KeyboardType(pub ::core::ffi::c_uint);
170#[cfg(feature = "api-12")]
171#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
172impl InputEvent_SourceType {
173    /// Indicates that the input source generates events similar to mouse cursor movement,
174    /// button press and release, and wheel scrolling.
175    ///
176    ///
177    /// Available since API-level: 12
178    #[cfg(feature = "api-12")]
179    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
180    pub const SOURCE_TYPE_MOUSE: InputEvent_SourceType = InputEvent_SourceType(1);
181    /// Indicates that the input source generates a touchscreen multi-touch event.
182    ///
183    ///
184    /// Available since API-level: 12
185    #[cfg(feature = "api-12")]
186    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
187    pub const SOURCE_TYPE_TOUCHSCREEN: InputEvent_SourceType = InputEvent_SourceType(2);
188    /// Indicates that the input source generates a touchpad multi-touch event.
189    ///
190    ///
191    /// Available since API-level: 12
192    #[cfg(feature = "api-12")]
193    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
194    pub const SOURCE_TYPE_TOUCHPAD: InputEvent_SourceType = InputEvent_SourceType(3);
195}
196#[repr(transparent)]
197/// Enumerates event source types.
198///
199///
200/// Available since API-level: 12
201#[cfg(feature = "api-12")]
202#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
203#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
204pub struct InputEvent_SourceType(pub ::core::ffi::c_uint);
205pub type Input_Result = Result<(), InputErrorCode>;
206#[cfg(feature = "api-12")]
207#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
208impl InputErrorCode {
209    /// Permission verification failed
210    pub const PERMISSION_DENIED: InputErrorCode =
211        InputErrorCode(const { core::num::NonZero::new(201).unwrap() });
212    /// Non-system application
213    pub const NOT_SYSTEM_APPLICATION: InputErrorCode =
214        InputErrorCode(const { core::num::NonZero::new(202).unwrap() });
215    /// Parameter check failed
216    pub const PARAMETER_ERROR: InputErrorCode =
217        InputErrorCode(const { core::num::NonZero::new(401).unwrap() });
218    /// Device not support
219    pub const DEVICE_NOT_SUPPORTED: InputErrorCode =
220        InputErrorCode(const { core::num::NonZero::new(801).unwrap() });
221    /// Service error
222    pub const SERVICE_EXCEPTION: InputErrorCode =
223        InputErrorCode(const { core::num::NonZero::new(3800001).unwrap() });
224    /// Interceptor repeatedly created for an application
225    pub const REPEAT_INTERCEPTOR: InputErrorCode =
226        InputErrorCode(const { core::num::NonZero::new(4200001).unwrap() });
227    /// Already occupied by the system
228    ///
229    /// Available since API-level: 14
230    #[cfg(feature = "api-14")]
231    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
232    pub const OCCUPIED_BY_SYSTEM: InputErrorCode =
233        InputErrorCode(const { core::num::NonZero::new(4200002).unwrap() });
234    /// Already occupied by the other
235    ///
236    /// Available since API-level: 14
237    #[cfg(feature = "api-14")]
238    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
239    pub const OCCUPIED_BY_OTHER: InputErrorCode =
240        InputErrorCode(const { core::num::NonZero::new(4200003).unwrap() });
241    /// No keyboard device connected
242    ///
243    /// Available since API-level: 15
244    #[cfg(feature = "api-15")]
245    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
246    pub const KEYBOARD_DEVICE_NOT_EXIST: InputErrorCode =
247        InputErrorCode(const { core::num::NonZero::new(3900002).unwrap() });
248}
249#[repr(transparent)]
250/// Enumerates error codes.
251///
252///
253/// Available since API-level: 12
254#[cfg(feature = "api-12")]
255#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
256#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
257pub struct InputErrorCode(pub core::num::NonZero<::core::ffi::c_uint>);
258/// Callback used to return shortcut key events.
259///
260/// Available since API-level: 14
261#[cfg(feature = "api-14")]
262#[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
263pub type Input_HotkeyCallback =
264    ::core::option::Option<unsafe extern "C" fn(hotkey: *mut Input_Hotkey)>;
265/// Represents information about the input device.
266///
267///
268/// Available since API-level: 13
269#[cfg(feature = "api-13")]
270#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
271#[repr(C)]
272pub struct Input_DeviceInfo {
273    _unused: [u8; 0],
274}
275/// Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed.
276///
277/// # Arguments
278///
279/// * `keyEvent` - Key event object.
280///
281/// Available since API-level: 12
282#[cfg(feature = "api-12")]
283#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
284pub type Input_KeyEventCallback =
285    ::core::option::Option<unsafe extern "C" fn(keyEvent: *const Input_KeyEvent)>;
286/// Defines a lifecycle callback for mouseEvent. If the callback is triggered, mouseEvent will be destroyed.
287///
288/// # Arguments
289///
290/// * `mouseEvent` - Mouse event object.
291///
292/// Available since API-level: 12
293#[cfg(feature = "api-12")]
294#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
295pub type Input_MouseEventCallback =
296    ::core::option::Option<unsafe extern "C" fn(mouseEvent: *const Input_MouseEvent)>;
297/// Defines a lifecycle callback for touchEvent. If the callback is triggered, touchEvent will be destroyed.
298///
299/// # Arguments
300///
301/// * `touchEvent` - Touch event object.
302///
303/// Available since API-level: 12
304#[cfg(feature = "api-12")]
305#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
306pub type Input_TouchEventCallback =
307    ::core::option::Option<unsafe extern "C" fn(touchEvent: *const Input_TouchEvent)>;
308/// Defines a lifecycle callback for axisEvent. If the callback is triggered, axisEvent will be destroyed.
309///
310/// # Arguments
311///
312/// * `axisEvent` - Axis event object.
313///
314/// Available since API-level: 12
315#[cfg(feature = "api-12")]
316#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
317pub type Input_AxisEventCallback =
318    ::core::option::Option<unsafe extern "C" fn(axisEvent: *const Input_AxisEvent)>;
319/// Defines the callback for device addition events.
320/// # Arguments
321///
322/// * `deviceId` - Device ID.
323///
324/// Available since API-level: 13
325#[cfg(feature = "api-13")]
326#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
327pub type Input_DeviceAddedCallback = ::core::option::Option<unsafe extern "C" fn(deviceId: i32)>;
328/// Defines the callback for device removal events.
329/// # Arguments
330///
331/// * `deviceId` - Device ID.
332///
333/// Available since API-level: 13
334#[cfg(feature = "api-13")]
335#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
336pub type Input_DeviceRemovedCallback = ::core::option::Option<unsafe extern "C" fn(deviceId: i32)>;
337/// Defines the structure for the interceptor of event callbacks,
338/// including mouseCallback, touchCallback, and axisCallback.
339///
340/// Available since API-level: 12
341#[cfg(feature = "api-12")]
342#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
343#[repr(C)]
344#[derive(Debug, Copy, Clone)]
345pub struct Input_InterceptorEventCallback {
346    /// Defines a lifecycle callback for **mouseEvent**.
347    pub mouseCallback: Input_MouseEventCallback,
348    /// Defines a lifecycle callback for **touchEvent**.
349    pub touchCallback: Input_TouchEventCallback,
350    /// Defines a lifecycle callback for **axisEvent**.
351    pub axisCallback: Input_AxisEventCallback,
352}
353/// Defines a listener for device insertion and removal events.
354///
355/// Available since API-level: 13
356#[cfg(feature = "api-13")]
357#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
358#[repr(C)]
359#[derive(Debug, Copy, Clone)]
360pub struct Input_DeviceListener {
361    /// Callback for device addition events
362    pub deviceAddedCallback: Input_DeviceAddedCallback,
363    /// Callback for device removal events
364    pub deviceRemovedCallback: Input_DeviceRemovedCallback,
365}
366/// Defines event interceptor options.
367///
368/// Available since API-level: 12
369#[cfg(feature = "api-12")]
370#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
371#[repr(C)]
372pub struct Input_InterceptorOptions {
373    _unused: [u8; 0],
374}
375extern "C" {
376    /// Queries the key state.
377    ///
378    /// # Arguments
379    ///
380    /// * `keyState` - Key state.
381    ///
382    /// # Returns
383    ///
384    /// * OH_Input_GetKeyState function result code.
385    /// [`INPUT_SUCCESS`] get KeyState success.
386    ///
387    /// [`INPUT_PARAMETER_ERROR`] keyCode is invalid.
388    ///
389    ///
390    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
391    ///
392    /// Available since API-level: 12
393    #[cfg(feature = "api-12")]
394    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
395    pub fn OH_Input_GetKeyState(keyState: *mut Input_KeyState) -> Input_Result;
396    /// Creates a key status enumeration object.
397    ///
398    ///
399    /// # Returns
400    ///
401    /// * Returns an [`Input_KeyState`] pointer object if the operation is successful.
402    /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
403    ///
404    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
405    ///
406    /// Available since API-level: 12
407    #[cfg(feature = "api-12")]
408    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
409    pub fn OH_Input_CreateKeyState() -> *mut Input_KeyState;
410    /// Destroys a key status enumeration object.
411    ///
412    /// # Arguments
413    ///
414    /// * `keyState` - Key status enumeration object.
415    ///
416    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
417    ///
418    /// Available since API-level: 12
419    #[cfg(feature = "api-12")]
420    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
421    pub fn OH_Input_DestroyKeyState(keyState: *mut *mut Input_KeyState);
422    /// Sets the key value of a key status enumeration object.
423    ///
424    /// # Arguments
425    ///
426    /// * `keyState` - Key status enumeration object.
427    ///
428    /// * `keyCode` - Key value of the key status enumeration object.
429    ///
430    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
431    ///
432    /// Available since API-level: 12
433    #[cfg(feature = "api-12")]
434    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
435    pub fn OH_Input_SetKeyCode(keyState: *mut Input_KeyState, keyCode: i32);
436    /// Obtains the key value of a key status enumeration object.
437    ///
438    /// # Arguments
439    ///
440    /// * `keyState` - Key status enumeration object.
441    ///
442    /// # Returns
443    ///
444    /// * Key value of the key status enumeration object.
445    ///
446    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
447    ///
448    /// Available since API-level: 12
449    #[cfg(feature = "api-12")]
450    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
451    pub fn OH_Input_GetKeyCode(keyState: *const Input_KeyState) -> i32;
452    /// Sets whether the key specific to a key status enumeration object is pressed.
453    ///
454    /// # Arguments
455    ///
456    /// * `keyState` - Key status enumeration object.
457    ///
458    /// * `keyAction` - Whether the key is pressed.
459    ///
460    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
461    ///
462    /// Available since API-level: 12
463    #[cfg(feature = "api-12")]
464    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
465    pub fn OH_Input_SetKeyPressed(keyState: *mut Input_KeyState, keyAction: i32);
466    /// Checks whether the key specific to a key status enumeration object is pressed.
467    ///
468    /// # Arguments
469    ///
470    /// * `keyState` - Key status enumeration object.
471    ///
472    /// # Returns
473    ///
474    /// * Key pressing status of the key status enumeration object.
475    ///
476    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
477    ///
478    /// Available since API-level: 12
479    #[cfg(feature = "api-12")]
480    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
481    pub fn OH_Input_GetKeyPressed(keyState: *const Input_KeyState) -> i32;
482    /// Sets the key switch of the key status enumeration object.
483    ///
484    /// # Arguments
485    ///
486    /// * `keyState` - Key status enumeration object.
487    ///
488    /// * `keySwitch` - Key switch of the key status enumeration object.
489    ///
490    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
491    ///
492    /// Available since API-level: 12
493    #[cfg(feature = "api-12")]
494    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
495    pub fn OH_Input_SetKeySwitch(keyState: *mut Input_KeyState, keySwitch: i32);
496    /// Obtains the key switch of the key status enumeration object.
497    ///
498    /// # Arguments
499    ///
500    /// * `keyState` - Key status enumeration object.
501    ///
502    /// # Returns
503    ///
504    /// * Key switch of the key status enumeration object.
505    ///
506    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
507    ///
508    /// Available since API-level: 12
509    #[cfg(feature = "api-12")]
510    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
511    pub fn OH_Input_GetKeySwitch(keyState: *const Input_KeyState) -> i32;
512    /// Inject system keys.
513    ///
514    /// # Arguments
515    ///
516    /// * `keyEvent` - - the key event to be injected.
517    ///
518    /// # Returns
519    ///
520    /// * OH_Input_InjectKeyEvent function result code.
521    /// [`INPUT_SUCCESS`] inject keyEvent success.
522    ///
523    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
524    ///
525    /// [`INPUT_PARAMETER_ERROR`] keyCode is less 0, can not process.
526    ///
527    ///
528    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
529    ///
530    /// Available since API-level: 12
531    #[cfg(feature = "api-12")]
532    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
533    pub fn OH_Input_InjectKeyEvent(keyEvent: *const Input_KeyEvent) -> i32;
534    /// Creates a key event object.
535    ///
536    ///
537    /// # Returns
538    ///
539    /// * Returns an [`Input_KeyEvent`] pointer object if the operation is successful.
540    /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
541    ///
542    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
543    ///
544    /// Available since API-level: 12
545    #[cfg(feature = "api-12")]
546    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
547    pub fn OH_Input_CreateKeyEvent() -> *mut Input_KeyEvent;
548    /// Destroys a key event object.
549    ///
550    /// # Arguments
551    ///
552    /// * `keyEvent` - Key event object.
553    ///
554    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
555    ///
556    /// Available since API-level: 12
557    #[cfg(feature = "api-12")]
558    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
559    pub fn OH_Input_DestroyKeyEvent(keyEvent: *mut *mut Input_KeyEvent);
560    /// Sets the key event type.
561    ///
562    /// # Arguments
563    ///
564    /// * `keyEvent` - Key event object.
565    ///
566    /// * `action` - Key event type.
567    ///
568    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
569    ///
570    /// Available since API-level: 12
571    #[cfg(feature = "api-12")]
572    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
573    pub fn OH_Input_SetKeyEventAction(keyEvent: *mut Input_KeyEvent, action: i32);
574    /// Obtains the key event type.
575    ///
576    /// # Arguments
577    ///
578    /// * `keyEvent` - Key event object.
579    ///
580    /// # Returns
581    ///
582    /// * Key event type.
583    ///
584    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
585    ///
586    /// Available since API-level: 12
587    #[cfg(feature = "api-12")]
588    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
589    pub fn OH_Input_GetKeyEventAction(keyEvent: *const Input_KeyEvent) -> i32;
590    /// Sets the key value for a key event.
591    ///
592    /// # Arguments
593    ///
594    /// * `keyEvent` - Key event object.
595    ///
596    /// * `keyCode` - keyCode Key code.
597    ///
598    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
599    ///
600    /// Available since API-level: 12
601    #[cfg(feature = "api-12")]
602    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
603    pub fn OH_Input_SetKeyEventKeyCode(keyEvent: *mut Input_KeyEvent, keyCode: i32);
604    /// Obtains the key value of a key event.
605    ///
606    /// # Arguments
607    ///
608    /// * `keyEvent` - Key event object.
609    ///
610    /// # Returns
611    ///
612    /// * Key code.
613    ///
614    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
615    ///
616    /// Available since API-level: 12
617    #[cfg(feature = "api-12")]
618    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
619    pub fn OH_Input_GetKeyEventKeyCode(keyEvent: *const Input_KeyEvent) -> i32;
620    /// Sets the time when a key event occurs.
621    ///
622    /// # Arguments
623    ///
624    /// * `keyEvent` - Key event object.
625    ///
626    /// * `actionTime` - Time when the key event occurs.
627    ///
628    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
629    ///
630    /// Available since API-level: 12
631    #[cfg(feature = "api-12")]
632    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
633    pub fn OH_Input_SetKeyEventActionTime(keyEvent: *mut Input_KeyEvent, actionTime: i64);
634    /// Obtains the time when a key event occurs.
635    ///
636    /// # Arguments
637    ///
638    /// * `keyEvent` - Key event object.
639    ///
640    /// # Returns
641    ///
642    /// * Returns the time when the key event occurs.
643    ///
644    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
645    ///
646    /// Available since API-level: 12
647    #[cfg(feature = "api-12")]
648    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
649    pub fn OH_Input_GetKeyEventActionTime(keyEvent: *const Input_KeyEvent) -> i64;
650    /// Sets the windowId for a key event.
651    ///
652    /// # Arguments
653    ///
654    /// * `keyEvent` - Key event object.
655    ///
656    /// * `windowId` - The windowId for a key event.
657    ///
658    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
659    ///
660    /// Available since API-level: 15
661    #[cfg(feature = "api-15")]
662    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
663    pub fn OH_Input_SetKeyEventWindowId(keyEvent: *mut Input_KeyEvent, windowId: i32);
664    /// Obtains the windowId of a key event.
665    ///
666    /// # Arguments
667    ///
668    /// * `keyEvent` - Key event object.
669    ///
670    /// # Returns
671    ///
672    /// * windowId.
673    ///
674    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
675    ///
676    /// Available since API-level: 15
677    #[cfg(feature = "api-15")]
678    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
679    pub fn OH_Input_GetKeyEventWindowId(keyEvent: *const Input_KeyEvent) -> i32;
680    /// Sets the displayId for a key event.
681    ///
682    /// # Arguments
683    ///
684    /// * `keyEvent` - Key event object.
685    ///
686    /// * `displayId` - The displayId for a key event.
687    ///
688    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
689    ///
690    /// Available since API-level: 15
691    #[cfg(feature = "api-15")]
692    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
693    pub fn OH_Input_SetKeyEventDisplayId(keyEvent: *mut Input_KeyEvent, displayId: i32);
694    /// Obtains the displayId of a key event.
695    ///
696    /// # Arguments
697    ///
698    /// * `keyEvent` - Key event object.
699    ///
700    /// # Returns
701    ///
702    /// * displayId.
703    ///
704    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
705    ///
706    /// Available since API-level: 15
707    #[cfg(feature = "api-15")]
708    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
709    pub fn OH_Input_GetKeyEventDisplayId(keyEvent: *const Input_KeyEvent) -> i32;
710    /// Inject mouse event.
711    ///
712    /// # Arguments
713    ///
714    /// * `mouseEvent` - - the mouse event to be injected.
715    ///
716    /// # Returns
717    ///
718    /// * OH_Input_InjectMouseEvent function result code.
719    /// [`INPUT_SUCCESS`] inject mouseEvent success.
720    ///
721    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
722    ///
723    /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
724    ///
725    ///
726    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
727    ///
728    /// Available since API-level: 12
729    #[cfg(feature = "api-12")]
730    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
731    pub fn OH_Input_InjectMouseEvent(mouseEvent: *const Input_MouseEvent) -> i32;
732    /// Creates a mouse event object.
733    ///
734    ///
735    /// # Returns
736    ///
737    /// * Returns an [`Input_MouseEvent`] pointer object if the operation is successful.
738    /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
739    ///
740    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
741    ///
742    /// Available since API-level: 12
743    #[cfg(feature = "api-12")]
744    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
745    pub fn OH_Input_CreateMouseEvent() -> *mut Input_MouseEvent;
746    /// Destroys a mouse event object.
747    ///
748    /// # Arguments
749    ///
750    /// * `mouseEvent` - Mouse event object.
751    ///
752    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
753    ///
754    /// Available since API-level: 12
755    #[cfg(feature = "api-12")]
756    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
757    pub fn OH_Input_DestroyMouseEvent(mouseEvent: *mut *mut Input_MouseEvent);
758    /// Sets the action for a mouse event.
759    ///
760    /// # Arguments
761    ///
762    /// * `mouseEvent` - Mouse event object.
763    ///
764    /// * `action` - Mouse action.
765    ///
766    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
767    ///
768    /// Available since API-level: 12
769    #[cfg(feature = "api-12")]
770    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
771    pub fn OH_Input_SetMouseEventAction(mouseEvent: *mut Input_MouseEvent, action: i32);
772    /// Obtains the action of a mouse event.
773    ///
774    /// # Arguments
775    ///
776    /// * `mouseEvent` - Mouse event object.
777    ///
778    /// # Returns
779    ///
780    /// * Mouse action.
781    ///
782    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
783    ///
784    /// Available since API-level: 12
785    #[cfg(feature = "api-12")]
786    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
787    pub fn OH_Input_GetMouseEventAction(mouseEvent: *const Input_MouseEvent) -> i32;
788    /// Sets the X coordinate for a mouse event.
789    ///
790    /// # Arguments
791    ///
792    /// * `mouseEvent` - Mouse event object.
793    ///
794    /// * `displayX` - X coordinate on the display.
795    ///
796    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
797    ///
798    /// Available since API-level: 12
799    #[cfg(feature = "api-12")]
800    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
801    pub fn OH_Input_SetMouseEventDisplayX(mouseEvent: *mut Input_MouseEvent, displayX: i32);
802    /// Obtains the X coordinate of a mouse event.
803    ///
804    /// # Arguments
805    ///
806    /// * `mouseEvent` - Mouse event object.
807    ///
808    /// # Returns
809    ///
810    /// * X coordinate on the display.
811    ///
812    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
813    ///
814    /// Available since API-level: 12
815    #[cfg(feature = "api-12")]
816    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
817    pub fn OH_Input_GetMouseEventDisplayX(mouseEvent: *const Input_MouseEvent) -> i32;
818    /// Sets the Y coordinate for a mouse event.
819    ///
820    /// # Arguments
821    ///
822    /// * `mouseEvent` - Mouse event object.
823    ///
824    /// * `displayY` - Y coordinate on the display.
825    ///
826    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
827    ///
828    /// Available since API-level: 12
829    #[cfg(feature = "api-12")]
830    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
831    pub fn OH_Input_SetMouseEventDisplayY(mouseEvent: *mut Input_MouseEvent, displayY: i32);
832    /// Obtains the Y coordinate of a mouse event.
833    ///
834    /// # Arguments
835    ///
836    /// * `mouseEvent` - Mouse event object.
837    ///
838    /// # Returns
839    ///
840    /// * Y coordinate on the display.
841    ///
842    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
843    ///
844    /// Available since API-level: 12
845    #[cfg(feature = "api-12")]
846    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
847    pub fn OH_Input_GetMouseEventDisplayY(mouseEvent: *const Input_MouseEvent) -> i32;
848    /// Sets the button for a mouse event.
849    ///
850    /// # Arguments
851    ///
852    /// * `mouseEvent` - Mouse event object.
853    ///
854    /// * `button` - Mouse button.
855    ///
856    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
857    ///
858    /// Available since API-level: 12
859    #[cfg(feature = "api-12")]
860    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
861    pub fn OH_Input_SetMouseEventButton(mouseEvent: *mut Input_MouseEvent, button: i32);
862    /// Obtains the button of a mouse event.
863    ///
864    /// # Arguments
865    ///
866    /// * `mouseEvent` - Mouse event object.
867    ///
868    /// # Returns
869    ///
870    /// * Mouse button.
871    ///
872    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
873    ///
874    /// Available since API-level: 12
875    #[cfg(feature = "api-12")]
876    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
877    pub fn OH_Input_GetMouseEventButton(mouseEvent: *const Input_MouseEvent) -> i32;
878    /// Sets the axis type for mouse event.
879    ///
880    /// # Arguments
881    ///
882    /// * `mouseEvent` - Mouse event object.
883    ///
884    /// * `axisType` - Axis type, for example, X axis or Y axis.
885    ///
886    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
887    ///
888    /// Available since API-level: 12
889    #[cfg(feature = "api-12")]
890    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
891    pub fn OH_Input_SetMouseEventAxisType(mouseEvent: *mut Input_MouseEvent, axisType: i32);
892    /// Obtains the axis type of a mouse event.
893    ///
894    /// # Arguments
895    ///
896    /// * `mouseEvent` - Mouse event object.
897    ///
898    /// # Returns
899    ///
900    /// * Axis type.
901    ///
902    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
903    ///
904    /// Available since API-level: 12
905    #[cfg(feature = "api-12")]
906    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
907    pub fn OH_Input_GetMouseEventAxisType(mouseEvent: *const Input_MouseEvent) -> i32;
908    /// Sets the axis value for a mouse axis event.
909    ///
910    /// # Arguments
911    ///
912    /// * `mouseEvent` - Mouse event object.
913    ///
914    /// * `axisValue` - Axis value. A positive value means scrolling forward,
915    /// and a negative number means scrolling backward.
916    ///
917    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
918    ///
919    /// Available since API-level: 12
920    #[cfg(feature = "api-12")]
921    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
922    pub fn OH_Input_SetMouseEventAxisValue(mouseEvent: *mut Input_MouseEvent, axisValue: f32);
923    /// Obtains the axis value of a mouse event.
924    ///
925    /// # Arguments
926    ///
927    /// * `mouseEvent` - Mouse event object.
928    ///
929    /// # Returns
930    ///
931    /// * Axis value.
932    ///
933    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
934    ///
935    /// Available since API-level: 12
936    #[cfg(feature = "api-12")]
937    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
938    pub fn OH_Input_GetMouseEventAxisValue(mouseEvent: *const Input_MouseEvent) -> f32;
939    /// Sets the time when a mouse event occurs.
940    ///
941    /// # Arguments
942    ///
943    /// * `mouseEvent` - Mouse event object.
944    ///
945    /// * `actionTime` - Time when the mouse event occurs.
946    ///
947    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
948    ///
949    /// Available since API-level: 12
950    #[cfg(feature = "api-12")]
951    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
952    pub fn OH_Input_SetMouseEventActionTime(mouseEvent: *mut Input_MouseEvent, actionTime: i64);
953    /// Obtains the time when a mouse event occurs.
954    ///
955    /// # Arguments
956    ///
957    /// * `mouseEvent` - Mouse event object.
958    ///
959    /// # Returns
960    ///
961    /// * Returns the time when the mouse event occurs.
962    ///
963    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
964    ///
965    /// Available since API-level: 12
966    #[cfg(feature = "api-12")]
967    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
968    pub fn OH_Input_GetMouseEventActionTime(mouseEvent: *const Input_MouseEvent) -> i64;
969    /// Sets the windowId for a mouse event.
970    ///
971    /// # Arguments
972    ///
973    /// * `mouseEvent` - Mouse event object.
974    ///
975    /// * `windowId` - The windowId for a mouse event.
976    ///
977    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
978    ///
979    /// Available since API-level: 15
980    #[cfg(feature = "api-15")]
981    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
982    pub fn OH_Input_SetMouseEventWindowId(mouseEvent: *mut Input_MouseEvent, windowId: i32);
983    /// Obtains the windowId of a mouse event.
984    ///
985    /// # Arguments
986    ///
987    /// * `mouseEvent` - Mouse event object.
988    ///
989    /// # Returns
990    ///
991    /// * windowId.
992    ///
993    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
994    ///
995    /// Available since API-level: 15
996    #[cfg(feature = "api-15")]
997    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
998    pub fn OH_Input_GetMouseEventWindowId(mouseEvent: *const Input_MouseEvent) -> i32;
999    /// Sets the displayId for a mouse event.
1000    ///
1001    /// # Arguments
1002    ///
1003    /// * `mouseEvent` - Mouse event object.
1004    ///
1005    /// * `displayId` - The displayId for a mouse event.
1006    ///
1007    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1008    ///
1009    /// Available since API-level: 15
1010    #[cfg(feature = "api-15")]
1011    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1012    pub fn OH_Input_SetMouseEventDisplayId(mouseEvent: *mut Input_MouseEvent, displayId: i32);
1013    /// Obtains the displayId of a mouse event.
1014    ///
1015    /// # Arguments
1016    ///
1017    /// * `mouseEvent` - Mouse event object.
1018    ///
1019    /// # Returns
1020    ///
1021    /// * displayId.
1022    ///
1023    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1024    ///
1025    /// Available since API-level: 15
1026    #[cfg(feature = "api-15")]
1027    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1028    pub fn OH_Input_GetMouseEventDisplayId(mouseEvent: *const Input_MouseEvent) -> i32;
1029    /// Inject touch event.
1030    ///
1031    /// # Arguments
1032    ///
1033    /// * `touchEvent` - - the touch event to be injected.
1034    ///
1035    /// # Returns
1036    ///
1037    /// * OH_Input_InjectTouchEvent function result code.
1038    /// [`INPUT_SUCCESS`] inject touchEvent success.
1039    ///
1040    /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
1041    ///
1042    ///
1043    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1044    ///
1045    /// Available since API-level: 12
1046    #[cfg(feature = "api-12")]
1047    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1048    pub fn OH_Input_InjectTouchEvent(touchEvent: *const Input_TouchEvent) -> i32;
1049    /// Creates a touch event object.
1050    ///
1051    ///
1052    /// # Returns
1053    ///
1054    /// * Returns an [`Input_TouchEvent`] pointer object if the operation is successful.
1055    /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
1056    ///
1057    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1058    ///
1059    /// Available since API-level: 12
1060    #[cfg(feature = "api-12")]
1061    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1062    pub fn OH_Input_CreateTouchEvent() -> *mut Input_TouchEvent;
1063    /// Destroys a touch event object.
1064    ///
1065    /// # Arguments
1066    ///
1067    /// * `touchEvent` - Touch event object.
1068    ///
1069    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1070    ///
1071    /// Available since API-level: 12
1072    #[cfg(feature = "api-12")]
1073    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1074    pub fn OH_Input_DestroyTouchEvent(touchEvent: *mut *mut Input_TouchEvent);
1075    /// Sets the action for a touch event.
1076    ///
1077    /// # Arguments
1078    ///
1079    /// * `touchEvent` - Touch event object.
1080    ///
1081    /// * `action` - Touch action.
1082    ///
1083    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1084    ///
1085    /// Available since API-level: 12
1086    #[cfg(feature = "api-12")]
1087    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1088    pub fn OH_Input_SetTouchEventAction(touchEvent: *mut Input_TouchEvent, action: i32);
1089    /// Obtains the action of a touch event.
1090    ///
1091    /// # Arguments
1092    ///
1093    /// * `touchEvent` - Touch event object.
1094    ///
1095    /// # Returns
1096    ///
1097    /// * Touch action.
1098    ///
1099    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1100    ///
1101    /// Available since API-level: 12
1102    #[cfg(feature = "api-12")]
1103    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1104    pub fn OH_Input_GetTouchEventAction(touchEvent: *const Input_TouchEvent) -> i32;
1105    /// Sets the finger ID for the touch event.
1106    ///
1107    /// # Arguments
1108    ///
1109    /// * `touchEvent` - Touch event object.
1110    ///
1111    /// * `id` - Finger ID.
1112    ///
1113    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1114    ///
1115    /// Available since API-level: 12
1116    #[cfg(feature = "api-12")]
1117    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1118    pub fn OH_Input_SetTouchEventFingerId(touchEvent: *mut Input_TouchEvent, id: i32);
1119    /// Obtains the finger ID of a touch event.
1120    ///
1121    /// # Arguments
1122    ///
1123    /// * `touchEvent` - Touch event object.
1124    ///
1125    /// # Returns
1126    ///
1127    /// * Finger ID.
1128    ///
1129    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1130    ///
1131    /// Available since API-level: 12
1132    #[cfg(feature = "api-12")]
1133    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1134    pub fn OH_Input_GetTouchEventFingerId(touchEvent: *const Input_TouchEvent) -> i32;
1135    /// Sets the X coordinate for a touch event.
1136    ///
1137    /// # Arguments
1138    ///
1139    /// * `touchEvent` - Touch event object.
1140    ///
1141    /// * `displayX` - X coordinate.
1142    ///
1143    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1144    ///
1145    /// Available since API-level: 12
1146    #[cfg(feature = "api-12")]
1147    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1148    pub fn OH_Input_SetTouchEventDisplayX(touchEvent: *mut Input_TouchEvent, displayX: i32);
1149    /// Obtains the X coordinate of a touch event.
1150    ///
1151    /// # Arguments
1152    ///
1153    /// * `touchEvent` - Touch event object.
1154    ///
1155    /// # Returns
1156    ///
1157    /// * X coordinate.
1158    ///
1159    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1160    ///
1161    /// Available since API-level: 12
1162    #[cfg(feature = "api-12")]
1163    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1164    pub fn OH_Input_GetTouchEventDisplayX(touchEvent: *const Input_TouchEvent) -> i32;
1165    /// Sets the Y coordinate for a touch event.
1166    ///
1167    /// # Arguments
1168    ///
1169    /// * `touchEvent` - Touch event object.
1170    ///
1171    /// * `displayY` - Y coordinate.
1172    ///
1173    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1174    ///
1175    /// Available since API-level: 12
1176    #[cfg(feature = "api-12")]
1177    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1178    pub fn OH_Input_SetTouchEventDisplayY(touchEvent: *mut Input_TouchEvent, displayY: i32);
1179    /// Obtains the Y coordinate of a touch event.
1180    ///
1181    /// # Arguments
1182    ///
1183    /// * `touchEvent` - Touch event object.
1184    ///
1185    /// # Returns
1186    ///
1187    /// * Y coordinate.
1188    ///
1189    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1190    ///
1191    /// Available since API-level: 12
1192    #[cfg(feature = "api-12")]
1193    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1194    pub fn OH_Input_GetTouchEventDisplayY(touchEvent: *const Input_TouchEvent) -> i32;
1195    /// Sets the time when a touch event occurs.
1196    ///
1197    /// # Arguments
1198    ///
1199    /// * `touchEvent` - Touch event object.
1200    ///
1201    /// * `actionTime` - Time when the touch event occurs.
1202    ///
1203    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1204    ///
1205    /// Available since API-level: 12
1206    #[cfg(feature = "api-12")]
1207    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1208    pub fn OH_Input_SetTouchEventActionTime(touchEvent: *mut Input_TouchEvent, actionTime: i64);
1209    /// Obtains the time when a touch event occurs.
1210    ///
1211    /// # Arguments
1212    ///
1213    /// * `touchEvent` - touch event object.
1214    ///
1215    /// # Returns
1216    ///
1217    /// * Returns the time when the touch event occurs.
1218    ///
1219    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1220    ///
1221    /// Available since API-level: 12
1222    #[cfg(feature = "api-12")]
1223    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1224    pub fn OH_Input_GetTouchEventActionTime(touchEvent: *const Input_TouchEvent) -> i64;
1225    /// Sets the windowId for a touch event.
1226    ///
1227    /// # Arguments
1228    ///
1229    /// * `touchEvent` - Touch event object.
1230    ///
1231    /// * `windowId` - The windowId for a touch event.
1232    ///
1233    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1234    ///
1235    /// Available since API-level: 15
1236    #[cfg(feature = "api-15")]
1237    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1238    pub fn OH_Input_SetTouchEventWindowId(touchEvent: *mut Input_TouchEvent, windowId: i32);
1239    /// Obtains the windowId of a touch event.
1240    ///
1241    /// # Arguments
1242    ///
1243    /// * `touchEvent` - Touch event object.
1244    ///
1245    /// # Returns
1246    ///
1247    /// * windowId.
1248    ///
1249    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1250    ///
1251    /// Available since API-level: 15
1252    #[cfg(feature = "api-15")]
1253    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1254    pub fn OH_Input_GetTouchEventWindowId(touchEvent: *const Input_TouchEvent) -> i32;
1255    /// Sets the displayId for a touch event.
1256    ///
1257    /// # Arguments
1258    ///
1259    /// * `touchEvent` - Touch event object.
1260    ///
1261    /// * `displayId` - The displayId for a touch event.
1262    ///
1263    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1264    ///
1265    /// Available since API-level: 15
1266    #[cfg(feature = "api-15")]
1267    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1268    pub fn OH_Input_SetTouchEventDisplayId(touchEvent: *mut Input_TouchEvent, displayId: i32);
1269    /// Obtains the displayId of a touch event.
1270    ///
1271    /// # Arguments
1272    ///
1273    /// * `touchEvent` - Touch event object.
1274    ///
1275    /// # Returns
1276    ///
1277    /// * displayId.
1278    ///
1279    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1280    ///
1281    /// Available since API-level: 15
1282    #[cfg(feature = "api-15")]
1283    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1284    pub fn OH_Input_GetTouchEventDisplayId(touchEvent: *const Input_TouchEvent) -> i32;
1285    /// Cancels event injection and revokes authorization.
1286    ///
1287    ///
1288    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1289    ///
1290    /// Available since API-level: 12
1291    #[cfg(feature = "api-12")]
1292    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1293    pub fn OH_Input_CancelInjection();
1294    /// Creates an axis event object.
1295    ///
1296    ///
1297    /// # Returns
1298    ///
1299    /// * If the operation is successful, a [`Input_AxisEvent`] object is returned.
1300    /// If the operation fails, null is returned.
1301    ///
1302    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1303    ///
1304    /// Available since API-level: 12
1305    #[cfg(feature = "api-12")]
1306    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1307    pub fn OH_Input_CreateAxisEvent() -> *mut Input_AxisEvent;
1308    /// Destroys an axis event object.
1309    ///
1310    /// # Arguments
1311    ///
1312    /// * `axisEvent` - Pointer to the axis event object.
1313    ///
1314    /// # Returns
1315    ///
1316    /// * OH_Input_DestroyAxisEvent function result code.
1317    /// [`INPUT_SUCCESS`] Destroys axisEvent success.
1318    ///
1319    /// [`INPUT_PARAMETER_ERROR`]The axisEvent is NULL or the *axisEvent is NULL.
1320    ///
1321    ///
1322    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1323    ///
1324    /// Available since API-level: 12
1325    #[cfg(feature = "api-12")]
1326    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1327    pub fn OH_Input_DestroyAxisEvent(axisEvent: *mut *mut Input_AxisEvent) -> Input_Result;
1328    /// Sets the axis event action.
1329    ///
1330    /// # Arguments
1331    ///
1332    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1333    ///
1334    /// * `action` - Axis event action. The values are defined in [`InputEvent_AxisAction`].
1335    ///
1336    /// # Returns
1337    ///
1338    /// * OH_Input_SetAxisEventAction function result code.
1339    /// [`INPUT_SUCCESS`] Sets the axis event action success.
1340    ///
1341    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1342    ///
1343    ///
1344    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1345    ///
1346    /// Available since API-level: 12
1347    #[cfg(feature = "api-12")]
1348    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1349    pub fn OH_Input_SetAxisEventAction(
1350        axisEvent: *mut Input_AxisEvent,
1351        action: InputEvent_AxisAction,
1352    ) -> Input_Result;
1353    /// Obtains the axis event action.
1354    ///
1355    /// # Arguments
1356    ///
1357    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1358    ///
1359    /// * `action` - Axis event action. The values are defined in [`InputEvent_AxisAction`].
1360    ///
1361    /// # Returns
1362    ///
1363    /// * OH_Input_GetAxisEventAction function result code.
1364    /// [`INPUT_SUCCESS`] Obtains the axis event action success.
1365    ///
1366    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the action is NULL.
1367    ///
1368    ///
1369    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1370    ///
1371    /// Available since API-level: 12
1372    #[cfg(feature = "api-12")]
1373    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1374    pub fn OH_Input_GetAxisEventAction(
1375        axisEvent: *const Input_AxisEvent,
1376        action: *mut InputEvent_AxisAction,
1377    ) -> Input_Result;
1378    /// Sets the X coordinate of an axis event.
1379    ///
1380    /// # Arguments
1381    ///
1382    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1383    ///
1384    /// * `displayX` - X coordinate of the axis event.
1385    ///
1386    /// # Returns
1387    ///
1388    /// * OH_Input_SetAxisEventDisplayX function result code.
1389    /// [`INPUT_SUCCESS`] Sets the X coordinate of the axis event success.
1390    ///
1391    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1392    ///
1393    ///
1394    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1395    ///
1396    /// Available since API-level: 12
1397    #[cfg(feature = "api-12")]
1398    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1399    pub fn OH_Input_SetAxisEventDisplayX(
1400        axisEvent: *mut Input_AxisEvent,
1401        displayX: f32,
1402    ) -> Input_Result;
1403    /// Obtains the X coordinate of an axis event.
1404    ///
1405    /// # Arguments
1406    ///
1407    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1408    ///
1409    /// * `displayX` - X coordinate of the axis event.
1410    ///
1411    /// # Returns
1412    ///
1413    /// * OH_Input_GetAxisEventDisplayX function result code.
1414    /// [`INPUT_SUCCESS`] Obtains the X coordinate of the axis event success.
1415    ///
1416    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayX is NULL.
1417    ///
1418    ///
1419    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1420    ///
1421    /// Available since API-level: 12
1422    #[cfg(feature = "api-12")]
1423    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1424    pub fn OH_Input_GetAxisEventDisplayX(
1425        axisEvent: *const Input_AxisEvent,
1426        displayX: *mut f32,
1427    ) -> Input_Result;
1428    /// Sets the Y coordinate of an axis event.
1429    ///
1430    /// # Arguments
1431    ///
1432    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1433    ///
1434    /// * `displayY` - Y coordinate of the axis event.
1435    ///
1436    /// # Returns
1437    ///
1438    /// * OH_Input_SetAxisEventDisplayY function result code.
1439    /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
1440    ///
1441    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1442    ///
1443    ///
1444    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1445    ///
1446    /// Available since API-level: 12
1447    #[cfg(feature = "api-12")]
1448    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1449    pub fn OH_Input_SetAxisEventDisplayY(
1450        axisEvent: *mut Input_AxisEvent,
1451        displayY: f32,
1452    ) -> Input_Result;
1453    /// Obtains the Y coordinate of an axis event.
1454    ///
1455    /// # Arguments
1456    ///
1457    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1458    ///
1459    /// * `displayY` - Y coordinate of the axis event.
1460    ///
1461    /// # Returns
1462    ///
1463    /// * OH_Input_GetAxisEventDisplayY function result code.
1464    /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
1465    ///
1466    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
1467    ///
1468    ///
1469    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1470    ///
1471    /// Available since API-level: 12
1472    #[cfg(feature = "api-12")]
1473    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1474    pub fn OH_Input_GetAxisEventDisplayY(
1475        axisEvent: *const Input_AxisEvent,
1476        displayY: *mut f32,
1477    ) -> Input_Result;
1478    /// Sets the axis value of the axis type specified by the axis event.
1479    ///
1480    /// # Arguments
1481    ///
1482    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1483    ///
1484    /// * `axisType` - Axis type. The values are defined in [`InputEvent_AxisType`].
1485    ///
1486    /// * `axisValue` - Axis value.
1487    ///
1488    /// # Returns
1489    ///
1490    /// * OH_Input_SetAxisEventAxisValue function result code.
1491    /// [`INPUT_SUCCESS`] Sets the axis value of the axis event success.
1492    ///
1493    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1494    ///
1495    ///
1496    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1497    ///
1498    /// Available since API-level: 12
1499    #[cfg(feature = "api-12")]
1500    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1501    pub fn OH_Input_SetAxisEventAxisValue(
1502        axisEvent: *mut Input_AxisEvent,
1503        axisType: InputEvent_AxisType,
1504        axisValue: f64,
1505    ) -> Input_Result;
1506    /// Obtains the axis value for the specified axis type of the axis event.
1507    ///
1508    /// # Arguments
1509    ///
1510    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1511    ///
1512    /// * `axisType` - Axis type. The values are defined in [`InputEvent_AxisType`].
1513    ///
1514    /// * `axisValue` - Axis value.
1515    ///
1516    /// # Returns
1517    ///
1518    /// * OH_Input_GetAxisEventAxisValue function result code.
1519    /// [`INPUT_SUCCESS`] Obtains the axis value of the axis event success.
1520    ///
1521    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the axisValue is NULL,
1522    /// or the axisType not found in the axisEvent.
1523    ///
1524    ///
1525    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1526    ///
1527    /// Available since API-level: 12
1528    #[cfg(feature = "api-12")]
1529    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1530    pub fn OH_Input_GetAxisEventAxisValue(
1531        axisEvent: *const Input_AxisEvent,
1532        axisType: InputEvent_AxisType,
1533        axisValue: *mut f64,
1534    ) -> Input_Result;
1535    /// Sets the time when an axis event occurs.
1536    ///
1537    /// # Arguments
1538    ///
1539    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1540    ///
1541    /// * `actionTime` - Time when an axis event occurs.
1542    ///
1543    /// # Returns
1544    ///
1545    /// * OH_Input_SetAxisEventActionTime function result code.
1546    /// [`INPUT_SUCCESS`] Sets the time when an axis event occurs success.
1547    ///
1548    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1549    ///
1550    ///
1551    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1552    ///
1553    /// Available since API-level: 12
1554    #[cfg(feature = "api-12")]
1555    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1556    pub fn OH_Input_SetAxisEventActionTime(
1557        axisEvent: *mut Input_AxisEvent,
1558        actionTime: i64,
1559    ) -> Input_Result;
1560    /// Obtains the time when an axis event occurs.
1561    ///
1562    /// # Arguments
1563    ///
1564    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1565    ///
1566    /// * `actionTime` - Time when an axis event occurs.
1567    ///
1568    /// # Returns
1569    ///
1570    /// * OH_Input_GetAxisEventActionTime function result code.
1571    /// [`INPUT_SUCCESS`] Obtains the time when an axis event occurs success.
1572    ///
1573    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the actionTime is NULL.
1574    ///
1575    ///
1576    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1577    ///
1578    /// Available since API-level: 12
1579    #[cfg(feature = "api-12")]
1580    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1581    pub fn OH_Input_GetAxisEventActionTime(
1582        axisEvent: *const Input_AxisEvent,
1583        actionTime: *mut i64,
1584    ) -> Input_Result;
1585    /// Sets the axis event type.
1586    ///
1587    /// # Arguments
1588    ///
1589    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1590    ///
1591    /// * `axisEventType` - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
1592    ///
1593    /// # Returns
1594    ///
1595    /// * OH_Input_SetAxisEventType function result code.
1596    /// [`INPUT_SUCCESS`] Sets the axis event type success.
1597    ///
1598    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1599    ///
1600    ///
1601    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1602    ///
1603    /// Available since API-level: 12
1604    #[cfg(feature = "api-12")]
1605    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1606    pub fn OH_Input_SetAxisEventType(
1607        axisEvent: *mut Input_AxisEvent,
1608        axisEventType: InputEvent_AxisEventType,
1609    ) -> Input_Result;
1610    /// Obtains the axis event type.
1611    ///
1612    /// # Arguments
1613    ///
1614    /// * `axisEvent` - Axis event object.
1615    ///
1616    /// * `axisEventType` - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
1617    ///
1618    /// # Returns
1619    ///
1620    /// * OH_Input_GetAxisEventType function result code.
1621    /// [`INPUT_SUCCESS`] Obtains the axis event type success.
1622    ///
1623    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the axisEventType is NULL.
1624    ///
1625    ///
1626    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1627    ///
1628    /// Available since API-level: 12
1629    #[cfg(feature = "api-12")]
1630    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1631    pub fn OH_Input_GetAxisEventType(
1632        axisEvent: *const Input_AxisEvent,
1633        axisEventType: *mut InputEvent_AxisEventType,
1634    ) -> Input_Result;
1635    /// Sets the axis event source type.
1636    ///
1637    /// # Arguments
1638    ///
1639    /// * `axisEvent` - Axis event object.
1640    ///
1641    /// * `sourceType` - Axis event source type. The values are defined in [`InputEvent_SourceType`].
1642    ///
1643    /// # Returns
1644    ///
1645    /// * OH_Input_SetAxisEventSourceType function result code.
1646    /// [`INPUT_SUCCESS`] Sets the axis event source type success.
1647    ///
1648    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1649    ///
1650    ///
1651    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1652    ///
1653    /// Available since API-level: 12
1654    #[cfg(feature = "api-12")]
1655    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1656    pub fn OH_Input_SetAxisEventSourceType(
1657        axisEvent: *mut Input_AxisEvent,
1658        sourceType: InputEvent_SourceType,
1659    ) -> Input_Result;
1660    /// Obtains the axis event source type.
1661    ///
1662    /// # Arguments
1663    ///
1664    /// * `axisEvent` - Axis event object.
1665    ///
1666    /// * `sourceType` - Axis event source type. The values are defined in [`InputEvent_SourceType`].
1667    ///
1668    /// # Returns
1669    ///
1670    /// * OH_Input_GetAxisEventSourceType function result code.
1671    /// [`INPUT_SUCCESS`] Obtains the axis event source type success.
1672    ///
1673    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the sourceType is NULL.
1674    ///
1675    ///
1676    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1677    ///
1678    /// Available since API-level: 12
1679    #[cfg(feature = "api-12")]
1680    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1681    pub fn OH_Input_GetAxisEventSourceType(
1682        axisEvent: *const Input_AxisEvent,
1683        sourceType: *mut InputEvent_SourceType,
1684    ) -> Input_Result;
1685    /// Sets the windowId of an axis event.
1686    ///
1687    /// # Arguments
1688    ///
1689    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1690    ///
1691    /// * `windowId` - The windowId for the axis event.
1692    ///
1693    /// # Returns
1694    ///
1695    /// * OH_Input_SetAxisEventDisplayY function result code.
1696    /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
1697    ///
1698    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1699    ///
1700    ///
1701    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1702    ///
1703    /// Available since API-level: 15
1704    #[cfg(feature = "api-15")]
1705    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1706    pub fn OH_Input_SetAxisEventWindowId(
1707        axisEvent: *mut Input_AxisEvent,
1708        windowId: i32,
1709    ) -> Input_Result;
1710    /// Obtains the windowId of an axis event.
1711    ///
1712    /// # Arguments
1713    ///
1714    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1715    ///
1716    /// * `windowId` - The windowId for the axis event.
1717    ///
1718    /// # Returns
1719    ///
1720    /// * OH_Input_GetAxisEventDisplayY function result code.
1721    /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
1722    ///
1723    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
1724    ///
1725    ///
1726    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1727    ///
1728    /// Available since API-level: 15
1729    #[cfg(feature = "api-15")]
1730    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1731    pub fn OH_Input_GetAxisEventWindowId(
1732        axisEvent: *const Input_AxisEvent,
1733        windowId: *mut i32,
1734    ) -> Input_Result;
1735    /// Sets the displayId of an axis event.
1736    ///
1737    /// # Arguments
1738    ///
1739    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1740    ///
1741    /// * `displayId` - The displayId for the axis event.
1742    ///
1743    /// # Returns
1744    ///
1745    /// * OH_Input_SetAxisEventDisplayY function result code.
1746    /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
1747    ///
1748    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1749    ///
1750    ///
1751    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1752    ///
1753    /// Available since API-level: 15
1754    #[cfg(feature = "api-15")]
1755    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1756    pub fn OH_Input_SetAxisEventDisplayId(
1757        axisEvent: *mut Input_AxisEvent,
1758        displayId: i32,
1759    ) -> Input_Result;
1760    /// Obtains the displayId of an axis event.
1761    ///
1762    /// # Arguments
1763    ///
1764    /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1765    ///
1766    /// * `displayId` - The displayId for the axis event.
1767    ///
1768    /// # Returns
1769    ///
1770    /// * OH_Input_GetAxisEventDisplayY function result code.
1771    /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
1772    ///
1773    /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
1774    ///
1775    ///
1776    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1777    ///
1778    /// Available since API-level: 15
1779    #[cfg(feature = "api-15")]
1780    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1781    pub fn OH_Input_GetAxisEventDisplayId(
1782        axisEvent: *const Input_AxisEvent,
1783        displayId: *mut i32,
1784    ) -> Input_Result;
1785    /// Adds a listener of key events.
1786    ///
1787    /// ohos.permission.INPUT_MONITORING
1788    /// # Arguments
1789    ///
1790    /// * `callback` - - Callback used to receive key events.
1791    ///
1792    /// # Returns
1793    ///
1794    /// * OH_Input_AddKeyEventMonitor function result code.
1795    /// [`INPUT_SUCCESS`] Adds a listener of key events success.
1796    ///
1797    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1798    ///
1799    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1800    ///
1801    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
1802    ///
1803    ///
1804    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1805    ///
1806    /// Available since API-level: 12
1807    #[cfg(feature = "api-12")]
1808    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1809    pub fn OH_Input_AddKeyEventMonitor(callback: Input_KeyEventCallback) -> Input_Result;
1810    /// Adds a listener for mouse events, including mouse click and movement events,
1811    /// but not scroll wheel events. Scroll wheel events are axis events.
1812    ///
1813    /// ohos.permission.INPUT_MONITORING
1814    /// # Arguments
1815    ///
1816    /// * `callback` - - Callback used to receive mouse events.
1817    ///
1818    /// # Returns
1819    ///
1820    /// * OH_Input_AddMouseEventMonitor function result code.
1821    /// [`INPUT_SUCCESS`] Adds a listener of mouse events success.
1822    ///
1823    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1824    ///
1825    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1826    ///
1827    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
1828    ///
1829    ///
1830    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1831    ///
1832    /// Available since API-level: 12
1833    #[cfg(feature = "api-12")]
1834    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1835    pub fn OH_Input_AddMouseEventMonitor(callback: Input_MouseEventCallback) -> Input_Result;
1836    /// Add a listener for touch events.
1837    ///
1838    /// ohos.permission.INPUT_MONITORING
1839    /// # Arguments
1840    ///
1841    /// * `callback` - - Callback used to receive touch events.
1842    ///
1843    /// # Returns
1844    ///
1845    /// * OH_Input_AddTouchEventMonitor function result code.
1846    /// [`INPUT_SUCCESS`] Adds a listener of touch events success.
1847    ///
1848    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1849    ///
1850    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1851    ///
1852    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
1853    ///
1854    ///
1855    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1856    ///
1857    /// Available since API-level: 12
1858    #[cfg(feature = "api-12")]
1859    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1860    pub fn OH_Input_AddTouchEventMonitor(callback: Input_TouchEventCallback) -> Input_Result;
1861    /// Adds a listener for all types of axis events.
1862    /// The axis event types are defined in [`InputEvent_AxisEventType`].
1863    ///
1864    /// ohos.permission.INPUT_MONITORING
1865    /// # Arguments
1866    ///
1867    /// * `callback` - - Callback used to receive axis events.
1868    ///
1869    /// # Returns
1870    ///
1871    /// * OH_Input_AddAxisEventMonitorForAll function result code.
1872    /// [`INPUT_SUCCESS`] Adds a listener for all types of axis events success.
1873    ///
1874    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1875    ///
1876    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1877    ///
1878    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
1879    ///
1880    ///
1881    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1882    ///
1883    /// Available since API-level: 12
1884    #[cfg(feature = "api-12")]
1885    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1886    pub fn OH_Input_AddAxisEventMonitorForAll(callback: Input_AxisEventCallback) -> Input_Result;
1887    /// Adds a listener for the specified type of axis events.
1888    ///
1889    /// ohos.permission.INPUT_MONITORING
1890    /// # Arguments
1891    ///
1892    /// * `axisEventType` - - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
1893    ///
1894    /// * `callback` - - Callback used to receive the specified type of axis events.
1895    ///
1896    /// # Returns
1897    ///
1898    /// * OH_Input_AddAxisEventMonitor function result code.
1899    /// [`INPUT_SUCCESS`] Adds a listener for the specified types of axis events success.
1900    ///
1901    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1902    ///
1903    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1904    ///
1905    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
1906    ///
1907    ///
1908    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1909    ///
1910    /// Available since API-level: 12
1911    #[cfg(feature = "api-12")]
1912    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1913    pub fn OH_Input_AddAxisEventMonitor(
1914        axisEventType: InputEvent_AxisEventType,
1915        callback: Input_AxisEventCallback,
1916    ) -> Input_Result;
1917    /// Removes a key event listener.
1918    ///
1919    /// ohos.permission.INPUT_MONITORING
1920    /// # Arguments
1921    ///
1922    /// * `callback` - - Callback for the key event listener.
1923    ///
1924    /// # Returns
1925    ///
1926    /// * OH_Input_RemoveKeyEventMonitor function result code.
1927    /// [`INPUT_SUCCESS`] Removes a key event listener success.
1928    ///
1929    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1930    ///
1931    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
1932    ///
1933    /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
1934    ///
1935    ///
1936    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1937    ///
1938    /// Available since API-level: 12
1939    #[cfg(feature = "api-12")]
1940    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1941    pub fn OH_Input_RemoveKeyEventMonitor(callback: Input_KeyEventCallback) -> Input_Result;
1942    /// Removes a mouse event listener.
1943    ///
1944    /// ohos.permission.INPUT_MONITORING
1945    /// # Arguments
1946    ///
1947    /// * `callback` - - Callback for the mouse event listener.
1948    ///
1949    /// # Returns
1950    ///
1951    /// * OH_Input_RemoveMouseEventMonitor function result code.
1952    /// [`INPUT_SUCCESS`] Removes a mouse event listener success.
1953    ///
1954    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1955    ///
1956    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
1957    ///
1958    /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
1959    ///
1960    ///
1961    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1962    ///
1963    /// Available since API-level: 12
1964    #[cfg(feature = "api-12")]
1965    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1966    pub fn OH_Input_RemoveMouseEventMonitor(callback: Input_MouseEventCallback) -> Input_Result;
1967    /// Removes a touch event listener.
1968    ///
1969    /// ohos.permission.INPUT_MONITORING
1970    /// # Arguments
1971    ///
1972    /// * `callback` - - Callback for the touch event listener.
1973    ///
1974    /// # Returns
1975    ///
1976    /// * OH_Input_RemoveTouchEventMonitor function result code.
1977    /// [`INPUT_SUCCESS`] Removes a touch event listener success.
1978    ///
1979    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1980    ///
1981    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
1982    ///
1983    /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
1984    ///
1985    ///
1986    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1987    ///
1988    /// Available since API-level: 12
1989    #[cfg(feature = "api-12")]
1990    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1991    pub fn OH_Input_RemoveTouchEventMonitor(callback: Input_TouchEventCallback) -> Input_Result;
1992    /// Removes the listener for all types of axis events.
1993    ///
1994    /// ohos.permission.INPUT_MONITORING
1995    /// # Arguments
1996    ///
1997    /// * `callback` - - Callback for the listener used to listen for all types of axis events.
1998    ///
1999    /// # Returns
2000    ///
2001    /// * OH_Input_RemoveAxisEventMonitorForAll function result code.
2002    /// [`INPUT_SUCCESS`] Removes the listener for all types of axis events success.
2003    ///
2004    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2005    ///
2006    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2007    ///
2008    /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2009    ///
2010    ///
2011    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2012    ///
2013    /// Available since API-level: 12
2014    #[cfg(feature = "api-12")]
2015    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2016    pub fn OH_Input_RemoveAxisEventMonitorForAll(callback: Input_AxisEventCallback)
2017        -> Input_Result;
2018    /// Removes the listener for the specified type of axis events.
2019    ///
2020    /// ohos.permission.INPUT_MONITORING
2021    /// # Arguments
2022    ///
2023    /// * `axisEventType` - - Axis event type. The axis event type is defined in [`InputEvent_AxisEventType`].
2024    ///
2025    /// * `callback` - - Callback for the listener used to listen for the specified type of axis events.
2026    ///
2027    /// # Returns
2028    ///
2029    /// * OH_Input_RemoveAxisEventMonitor function result code.
2030    /// [`INPUT_SUCCESS`] Removes the listener for the specified type of axis events success.
2031    ///
2032    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2033    ///
2034    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2035    ///
2036    /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2037    ///
2038    ///
2039    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2040    ///
2041    /// Available since API-level: 12
2042    #[cfg(feature = "api-12")]
2043    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2044    pub fn OH_Input_RemoveAxisEventMonitor(
2045        axisEventType: InputEvent_AxisEventType,
2046        callback: Input_AxisEventCallback,
2047    ) -> Input_Result;
2048    /// Adds a key event interceptor. If multiple interceptors are added, only the first one takes effect.
2049    ///
2050    /// ohos.permission.INTERCEPT_INPUT_EVENT
2051    /// # Arguments
2052    ///
2053    /// * `callback` - - Callback used to receive key events.
2054    ///
2055    /// * `option` - - Options for event interception. If **null** is passed, the default value is used.
2056    ///
2057    /// # Returns
2058    ///
2059    /// * OH_Input_AddKeyEventInterceptor function result code.
2060    /// [`INPUT_SUCCESS`] Adds a key event interceptor success.
2061    ///
2062    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2063    ///
2064    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2065    ///
2066    /// [`INPUT_REPEAT_INTERCEPTOR`] Interceptor repeatedly created for an application.
2067    ///
2068    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the interceptor because the service is exception.
2069    ///
2070    ///
2071    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2072    ///
2073    /// Available since API-level: 12
2074    #[cfg(feature = "api-12")]
2075    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2076    pub fn OH_Input_AddKeyEventInterceptor(
2077        callback: Input_KeyEventCallback,
2078        option: *mut Input_InterceptorOptions,
2079    ) -> Input_Result;
2080    /// Adds an interceptor for input events, including mouse, touch, and axis events.
2081    /// If multiple interceptors are added, only the first one takes effect.
2082    ///
2083    /// ohos.permission.INTERCEPT_INPUT_EVENT
2084    /// # Arguments
2085    ///
2086    /// * `callback` - - Pointer to the structure of the callback for the input event interceptor.
2087    /// For details, see [`Input_InterceptorEventCallback`].
2088    ///
2089    /// * `option` - - Options for event interception. If **null** is passed, the default value is used.
2090    ///
2091    /// # Returns
2092    ///
2093    /// * OH_Input_AddInputEventInterceptor function result code.
2094    /// [`INPUT_SUCCESS`] Adds an interceptor for input events success.
2095    ///
2096    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2097    ///
2098    /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2099    ///
2100    /// [`INPUT_REPEAT_INTERCEPTOR`] Interceptor repeatedly created for an application.
2101    ///
2102    /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the interceptor because the service is exception.
2103    ///
2104    ///
2105    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2106    ///
2107    /// Available since API-level: 12
2108    #[cfg(feature = "api-12")]
2109    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2110    pub fn OH_Input_AddInputEventInterceptor(
2111        callback: *mut Input_InterceptorEventCallback,
2112        option: *mut Input_InterceptorOptions,
2113    ) -> Input_Result;
2114    /// Removes a key event interceptor.
2115    ///
2116    /// ohos.permission.INTERCEPT_INPUT_EVENT
2117    ///
2118    /// # Returns
2119    ///
2120    /// * OH_Input_RemoveKeyEventInterceptor function result code.
2121    /// [`INPUT_SUCCESS`]Removes a key event interceptor success.
2122    ///
2123    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2124    ///
2125    /// [`INPUT_SERVICE_EXCEPTION`] Failed to remove the interceptor because the service is exception.
2126    ///
2127    ///
2128    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2129    ///
2130    /// Available since API-level: 12
2131    #[cfg(feature = "api-12")]
2132    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2133    pub fn OH_Input_RemoveKeyEventInterceptor() -> Input_Result;
2134    /// Removes an interceptor for input events, including mouse, touch, and axis events.
2135    ///
2136    /// ohos.permission.INTERCEPT_INPUT_EVENT
2137    ///
2138    /// # Returns
2139    ///
2140    /// * OH_Input_RemoveInputEventInterceptor function result code.
2141    /// [`INPUT_SUCCESS`] Removes an interceptor for input events success.
2142    ///
2143    /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2144    ///
2145    /// [`INPUT_SERVICE_EXCEPTION`] Failed to remove the interceptor because the service is exception.
2146    ///
2147    ///
2148    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2149    ///
2150    /// Available since API-level: 12
2151    #[cfg(feature = "api-12")]
2152    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2153    pub fn OH_Input_RemoveInputEventInterceptor() -> Input_Result;
2154    /// Obtains the interval since the last system input event.
2155    ///
2156    /// # Arguments
2157    ///
2158    /// * `timeInterval` - Interval, in microseconds.
2159    ///
2160    /// # Returns
2161    ///
2162    /// * OH_Input_GetIntervalSinceLastInput status code, specifically.
2163    /// [`INPUT_SUCCESS`] if the Operation is successful.
2164    ///
2165    /// [`INPUT_SERVICE_EXCEPTION`] Failed to get the interval because the service is exception.
2166    ///
2167    /// [`INPUT_PARAMETER_ERROR`] The timeInterval is NULL.
2168    ///
2169    ///
2170    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2171    ///
2172    /// Available since API-level: 14
2173    #[cfg(feature = "api-14")]
2174    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2175    pub fn OH_Input_GetIntervalSinceLastInput(timeInterval: *mut i64) -> Input_Result;
2176    /// Creates a hot key object.
2177    ///
2178    ///
2179    /// # Returns
2180    ///
2181    /// * Returns an [`Input_Hotkey`] pointer object if the operation is successful. Otherwise, a null pointer is
2182    /// returned. The possible cause is memory allocation failure.
2183    ///
2184    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2185    ///
2186    /// Available since API-level: 14
2187    #[cfg(feature = "api-14")]
2188    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2189    pub fn OH_Input_CreateHotkey() -> *mut Input_Hotkey;
2190    /// Destroys a hot key object.
2191    ///
2192    /// # Arguments
2193    ///
2194    /// * `hotkey` - Hot key object.
2195    ///
2196    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2197    ///
2198    /// Available since API-level: 14
2199    #[cfg(feature = "api-14")]
2200    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2201    pub fn OH_Input_DestroyHotkey(hotkey: *mut *mut Input_Hotkey);
2202    /// Sets a modifier key.
2203    ///
2204    /// # Arguments
2205    ///
2206    /// * `hotkey` - Hotkey key object.
2207    ///
2208    /// * `preKeys` - List of modifier keys.
2209    ///
2210    /// * `size` - Number of modifier keys. One or two modifier keys are supported.
2211    ///
2212    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2213    ///
2214    /// Available since API-level: 14
2215    #[cfg(feature = "api-14")]
2216    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2217    pub fn OH_Input_SetPreKeys(hotkey: *mut Input_Hotkey, preKeys: *mut i32, size: i32);
2218    /// Obtains a modifier key.
2219    ///
2220    /// # Arguments
2221    ///
2222    /// * `hotkey` - Hotkey key object.
2223    ///
2224    /// * `preKeys` - List of modifier keys.
2225    ///
2226    /// * `preKeyCount` - Number of modifier keys.
2227    ///
2228    /// # Returns
2229    ///
2230    /// * OH_Input_GetPreKeys status code, specifically,
2231    /// [`INPUT_SUCCESS`] if the operation is successful;
2232    ///
2233    /// [`INPUT_PARAMETER_ERROR`] The hotkey is NULL or the pressedKeys is NULL or the pressedKeyCount
2234    /// is NULL;
2235    ///
2236    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2237    ///
2238    ///
2239    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2240    ///
2241    /// Available since API-level: 14
2242    #[cfg(feature = "api-14")]
2243    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2244    pub fn OH_Input_GetPreKeys(
2245        hotkey: *const Input_Hotkey,
2246        preKeys: *mut *mut i32,
2247        preKeyCount: *mut i32,
2248    ) -> Input_Result;
2249    /// Sets a modified key.
2250    ///
2251    /// # Arguments
2252    ///
2253    /// * `hotkey` - Hotkey key object.
2254    ///
2255    /// * `finalKey` - Modified key. Only one modified key is supported.
2256    ///
2257    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2258    ///
2259    /// Available since API-level: 14
2260    #[cfg(feature = "api-14")]
2261    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2262    pub fn OH_Input_SetFinalKey(hotkey: *mut Input_Hotkey, finalKey: i32);
2263    /// Obtains a modified key.
2264    ///
2265    /// # Arguments
2266    ///
2267    /// * `hotkey` - Hotkey key object.
2268    ///
2269    /// * `finalKeyCode` - Returns the key value of the decorated key.
2270    ///
2271    /// # Returns
2272    ///
2273    /// * OH_Input_GetfinalKey status code, specifically,
2274    /// [`INPUT_SUCCESS`] if the operation is successful;
2275    ///
2276    /// [`INPUT_PARAMETER_ERROR`] The hotkey is NULL or the finalKeyCode is NULL;
2277    ///
2278    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2279    ///
2280    ///
2281    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2282    ///
2283    /// Available since API-level: 14
2284    #[cfg(feature = "api-14")]
2285    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2286    pub fn OH_Input_GetFinalKey(
2287        hotkey: *const Input_Hotkey,
2288        finalKeyCode: *mut i32,
2289    ) -> Input_Result;
2290    /// Creates an array of [`Input_Hotkey`] instances.
2291    ///
2292    /// # Arguments
2293    ///
2294    /// * `count` - Number of [`Input_Hotkey`] instances to be created. The count must be the same as the number of
2295    /// system shortcut keys.
2296    ///
2297    /// # Returns
2298    ///
2299    /// * Returns a pointer to an array of [`Input_Hotkey`] instances if the operation is successful. If the
2300    /// operation fails, a null pointer is returned. The possible cause is memory allocation failure or count is not equal
2301    /// to the number of system hotkeys.
2302    ///
2303    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2304    ///
2305    /// Available since API-level: 14
2306    #[cfg(feature = "api-14")]
2307    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2308    pub fn OH_Input_CreateAllSystemHotkeys(count: i32) -> *mut *mut Input_Hotkey;
2309    /// Destroys an array of [`Input_Hotkey`] instances and reclaims memory.
2310    ///
2311    /// # Arguments
2312    ///
2313    /// * `hotkeys` - Pointer to an array of [`Input_Hotkey`] instances created by the
2314    /// [`OH_Input_CreateAllSystemHotkeys`] method.
2315    ///
2316    /// * `count` - Count of the array to be destroyed, which must be the same as the number of system shortcut keys.
2317    ///
2318    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2319    ///
2320    /// Available since API-level: 14
2321    #[cfg(feature = "api-14")]
2322    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2323    pub fn OH_Input_DestroyAllSystemHotkeys(hotkeys: *mut *mut Input_Hotkey, count: i32);
2324    /// Obtains all hot keys supported by the system.
2325    ///
2326    /// # Arguments
2327    ///
2328    /// * `hotkey` - Array of [`Input_Hotkey`] instances.
2329    /// When calling this API for the first time, you can pass NULL to obtain the array length.
2330    ///
2331    /// * `count` - Number of hot keys supported by the system.
2332    ///
2333    /// # Returns
2334    ///
2335    /// * OH_Input_GetAllSystemHotkeys status code, specifically,
2336    /// [`INPUT_SUCCESS`] if the operation is successful;
2337    ///
2338    /// [`INPUT_PARAMETER_ERROR`] The hotkey or count is NULL, or the value of count does not match the number
2339    /// of system shortcut keys supported by the system;
2340    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2341    ///
2342    ///
2343    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2344    ///
2345    /// Available since API-level: 14
2346    #[cfg(feature = "api-14")]
2347    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2348    pub fn OH_Input_GetAllSystemHotkeys(
2349        hotkey: *mut *mut Input_Hotkey,
2350        count: *mut i32,
2351    ) -> Input_Result;
2352    /// Specifies whether to report repeated key events.
2353    ///
2354    /// # Arguments
2355    ///
2356    /// * `hotkey` - Shortcut key object.
2357    ///
2358    /// * `isRepeat` - Whether to report repeated key events.
2359    /// The value <b>true</b> means to report repeated key events, and the value <b>false</b> means the opposite.
2360    ///
2361    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2362    ///
2363    /// Available since API-level: 14
2364    #[cfg(feature = "api-14")]
2365    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2366    pub fn OH_Input_SetRepeat(hotkey: *mut Input_Hotkey, isRepeat: bool);
2367    /// Checks whether to report repeated key events.
2368    ///
2369    /// # Arguments
2370    ///
2371    /// * `hotkey` - Shortcut key object.
2372    ///
2373    /// * `isRepeat` - Whether a key event is repeated.
2374    ///
2375    /// # Returns
2376    ///
2377    /// * OH_Input_GetIsRepeat status code, specifically,
2378    /// [`INPUT_SUCCESS`] if the operation is successful;
2379    ///
2380    /// [`INPUT_PARAMETER_ERROR`] otherwise;
2381    ///
2382    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2383    ///
2384    ///
2385    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2386    ///
2387    /// Available since API-level: 14
2388    #[cfg(feature = "api-14")]
2389    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2390    pub fn OH_Input_GetRepeat(hotkey: *const Input_Hotkey, isRepeat: *mut bool) -> Input_Result;
2391    /// Subscribes to shortcut key events.
2392    ///
2393    /// # Arguments
2394    ///
2395    /// * `hotkey` - Shortcut key object.
2396    ///
2397    /// * `callback` - Callback used to return shortcut key events.
2398    ///
2399    /// # Returns
2400    ///
2401    /// * OH_Input_AddHotkeyMonitor status code, specifically,
2402    /// [`INPUT_SUCCESS`] if the operation is successful;
2403    ///
2404    /// [`INPUT_PARAMETER_ERROR`] if hotkey or callback is NULL;
2405    ///
2406    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported;
2407    ///
2408    /// [`INPUT_OCCUPIED_BY_SYSTEM`] The hotkey has been used by the system. You can call the [`GetAllSystemHotkeys`] interface to query all system shortcut keys.
2409    ///
2410    /// [`INPUT_OCCUPIED_BY_OTHER`] The hotkey has been subscribed to by another.
2411    ///
2412    ///
2413    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2414    ///
2415    /// Available since API-level: 14
2416    #[cfg(feature = "api-14")]
2417    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2418    pub fn OH_Input_AddHotkeyMonitor(
2419        hotkey: *const Input_Hotkey,
2420        callback: Input_HotkeyCallback,
2421    ) -> Input_Result;
2422    /// Unsubscribes from shortcut key events.
2423    ///
2424    /// # Arguments
2425    ///
2426    /// * `hotkey` - Shortcut key object.
2427    ///
2428    /// * `callback` - Callback used to return shortcut key events.
2429    ///
2430    /// # Returns
2431    ///
2432    /// * OH_Input_RemoveHotkeyMonitor status code, specifically,
2433    /// [`INPUT_SUCCESS`] if the operation is successful;
2434    ///
2435    /// [`INPUT_PARAMETER_ERROR`] if hotkey or callback is NULL;
2436    ///
2437    /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2438    ///
2439    ///
2440    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2441    ///
2442    /// Available since API-level: 14
2443    #[cfg(feature = "api-14")]
2444    #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2445    pub fn OH_Input_RemoveHotkeyMonitor(
2446        hotkey: *const Input_Hotkey,
2447        callback: Input_HotkeyCallback,
2448    ) -> Input_Result;
2449    /// Registers a listener for device hot swap events.
2450    ///
2451    /// # Arguments
2452    ///
2453    /// * `listener` - Pointer to an [`Input_DeviceListener`] object.
2454    ///
2455    ///
2456    /// # Returns
2457    ///
2458    /// * OH_Input_RegisterDeviceListener status code, specifically,
2459    /// [`INPUT_SUCCESS`] if the operation is successful;
2460    ///
2461    /// [`INPUT_PARAMETER_ERROR`] if listener is NULL;
2462    ///
2463    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2464    ///
2465    /// Available since API-level: 13
2466    #[cfg(feature = "api-13")]
2467    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2468    pub fn OH_Input_RegisterDeviceListener(listener: *mut Input_DeviceListener) -> Input_Result;
2469    /// Unregisters the listener for device hot swap events.
2470    ///
2471    /// # Arguments
2472    ///
2473    /// * `listener` - Pointer to the listener for device hot swap events. For details, see [`Input_DeviceListener`].
2474    ///
2475    ///
2476    /// # Returns
2477    ///
2478    /// * OH_Input_UnregisterDeviceListener status code, specifically,
2479    /// [`INPUT_SUCCESS`] if the operation is successful;
2480    ///
2481    /// [`INPUT_PARAMETER_ERROR`] if listener is NULL or no listener is registered;
2482    /// [`INPUT_SERVICE_EXCEPTION`] if the service is abnormal.
2483    ///
2484    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2485    ///
2486    /// Available since API-level: 13
2487    #[cfg(feature = "api-13")]
2488    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2489    pub fn OH_Input_UnregisterDeviceListener(listener: *mut Input_DeviceListener) -> Input_Result;
2490    /// Unregisters the listener for all device hot swap events.
2491    ///
2492    ///
2493    /// # Returns
2494    ///
2495    /// * OH_Input_UnregisterDeviceListener status code, specifically,
2496    /// [`INPUT_SUCCESS`] if the operation is successful;
2497    ///
2498    /// [`INPUT_SERVICE_EXCEPTION`] if the service is abnormal.
2499    ///
2500    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2501    ///
2502    /// Available since API-level: 13
2503    #[cfg(feature = "api-13")]
2504    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2505    pub fn OH_Input_UnregisterDeviceListeners() -> Input_Result;
2506    /// Obtains the IDs of all input devices.
2507    ///
2508    /// # Arguments
2509    ///
2510    /// * `deviceIds` - Array of input device IDs.
2511    ///
2512    /// * `inSize` - Size of the array of input device IDs.
2513    ///
2514    /// * `outSize` - Length of the list of input device IDs. The value cannot be greater than the value of inSize.
2515    ///
2516    /// # Returns
2517    ///
2518    /// * OH_Input_GetDeviceIds result code, specifically,
2519    /// [`INPUT_SUCCESS`] if the operation is successful;
2520    /// [`INPUT_PARAMETER_ERROR`] if deviceIds or outSize is a null pointer or inSize is less than 0.
2521    ///
2522    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2523    ///
2524    /// Available since API-level: 13
2525    #[cfg(feature = "api-13")]
2526    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2527    pub fn OH_Input_GetDeviceIds(
2528        deviceIds: *mut i32,
2529        inSize: i32,
2530        outSize: *mut i32,
2531    ) -> Input_Result;
2532    /// Obtains the information about an input device.
2533    ///
2534    /// # Arguments
2535    ///
2536    /// * `deviceId` - Device ID.
2537    ///
2538    /// * `deviceInfo` - Pointer to an [`Input_DeviceInfo`] object.
2539    ///
2540    /// # Returns
2541    ///
2542    /// * OH_Input_GetDevice result code, specifically,
2543    /// [`INPUT_SUCCESS`] if the operation is successful;
2544    /// [`INPUT_PARAMETER_ERROR`] if the deviceInfo is a null pointer or the deviceId is invalid.
2545    /// You can use the [`OH_Input_GetDeviceIds`] interface to query the device IDs supported by the system.
2546    ///
2547    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2548    ///
2549    /// Available since API-level: 13
2550    #[cfg(feature = "api-13")]
2551    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2552    pub fn OH_Input_GetDevice(
2553        deviceId: i32,
2554        deviceInfo: *mut *mut Input_DeviceInfo,
2555    ) -> Input_Result;
2556    /// Creates a deviceInfo object.
2557    ///
2558    ///
2559    /// # Returns
2560    ///
2561    /// * Pointer to an [`Input_DeviceInfo`] object if the operation is successful;
2562    /// a null pointer otherwise (possibly because of a memory allocation failure).
2563    ///
2564    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2565    ///
2566    /// Available since API-level: 13
2567    #[cfg(feature = "api-13")]
2568    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2569    pub fn OH_Input_CreateDeviceInfo() -> *mut Input_DeviceInfo;
2570    /// Destroys a deviceInfo object.
2571    ///
2572    /// # Arguments
2573    ///
2574    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2575    ///
2576    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2577    ///
2578    /// Available since API-level: 13
2579    #[cfg(feature = "api-13")]
2580    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2581    pub fn OH_Input_DestroyDeviceInfo(deviceInfo: *mut *mut Input_DeviceInfo);
2582    /// Obtains the keyboard type of an input device.
2583    ///
2584    /// # Arguments
2585    ///
2586    /// * `deviceId` - Device ID.
2587    ///
2588    /// * `keyboardType` - Pointer to the keyboard type of the input device.
2589    ///
2590    /// # Returns
2591    ///
2592    /// * OH_Input_GetKeyboardType result code, specifically,
2593    /// [`INPUT_SUCCESS`] if the operation is successful;
2594    /// [`INPUT_PARAMETER_ERROR`] if the device ID is invalid or keyboardType is a null pointer.
2595    ///
2596    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2597    ///
2598    /// Available since API-level: 13
2599    #[cfg(feature = "api-13")]
2600    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2601    pub fn OH_Input_GetKeyboardType(deviceId: i32, keyboardType: *mut i32) -> Input_Result;
2602    /// Obtains the ID of an input device.
2603    ///
2604    /// # Arguments
2605    ///
2606    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2607    ///
2608    /// * `id` - Pointer to the ID of the input device.
2609    ///
2610    /// # Returns
2611    ///
2612    /// * OH_Input_GetDeviceId result code, specifically,
2613    /// [`INPUT_SUCCESS`] if the operation is successful;
2614    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or id is a null pointer.
2615    ///
2616    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2617    ///
2618    /// Available since API-level: 13
2619    #[cfg(feature = "api-13")]
2620    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2621    pub fn OH_Input_GetDeviceId(deviceInfo: *mut Input_DeviceInfo, id: *mut i32) -> Input_Result;
2622    /// Obtains the name of an input device.
2623    ///
2624    /// # Arguments
2625    ///
2626    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2627    ///
2628    /// * `name` - Pointer to the name of the input device.
2629    ///
2630    /// # Returns
2631    ///
2632    /// * OH_Input_GetDeviceName result code, specifically,
2633    /// [`INPUT_SUCCESS`] if the operation is successful;
2634    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or name is a null pointer.
2635    ///
2636    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2637    ///
2638    /// Available since API-level: 13
2639    #[cfg(feature = "api-13")]
2640    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2641    pub fn OH_Input_GetDeviceName(
2642        deviceInfo: *mut Input_DeviceInfo,
2643        name: *mut *mut ::core::ffi::c_char,
2644    ) -> Input_Result;
2645    /// Obtains the capabilities of an input device, for example, a touchscreen, touchpad, or keyboard.
2646    ///
2647    /// # Arguments
2648    ///
2649    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2650    ///
2651    /// * `capabilities` - Pointer to the capabilities of the input device.
2652    ///
2653    /// # Returns
2654    ///
2655    /// * OH_Input_GetCapabilities result code, specifically,
2656    /// [`INPUT_SUCCESS`] if the operation is successful;
2657    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or capabilities is a null pointer.
2658    ///
2659    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2660    ///
2661    /// Available since API-level: 13
2662    #[cfg(feature = "api-13")]
2663    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2664    pub fn OH_Input_GetCapabilities(
2665        deviceInfo: *mut Input_DeviceInfo,
2666        capabilities: *mut i32,
2667    ) -> Input_Result;
2668    /// Obtains the version information of an input device.
2669    ///
2670    /// # Arguments
2671    ///
2672    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2673    ///
2674    /// * `version` - Pointer to the version information of the input device.
2675    ///
2676    /// # Returns
2677    ///
2678    /// * OH_Input_GetDeviceVersion result code, specifically,
2679    /// [`INPUT_SUCCESS`] if the operation is successful;
2680    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or version is a null pointer.
2681    ///
2682    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2683    ///
2684    /// Available since API-level: 13
2685    #[cfg(feature = "api-13")]
2686    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2687    pub fn OH_Input_GetDeviceVersion(
2688        deviceInfo: *mut Input_DeviceInfo,
2689        version: *mut i32,
2690    ) -> Input_Result;
2691    /// Obtains the product information of an input device.
2692    ///
2693    /// # Arguments
2694    ///
2695    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2696    ///
2697    /// * `product` - Pointer to the product information of the input device.
2698    ///
2699    /// # Returns
2700    ///
2701    /// * OH_Input_GetDeviceProduct result code, specifically,
2702    /// [`INPUT_SUCCESS`] if the operation is successful;
2703    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or product is a null pointer.
2704    ///
2705    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2706    ///
2707    /// Available since API-level: 13
2708    #[cfg(feature = "api-13")]
2709    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2710    pub fn OH_Input_GetDeviceProduct(
2711        deviceInfo: *mut Input_DeviceInfo,
2712        product: *mut i32,
2713    ) -> Input_Result;
2714    /// Obtains the vendor information of an input device.
2715    ///
2716    /// # Arguments
2717    ///
2718    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2719    ///
2720    /// * `vendor` - Pointer to the vendor information of the input device.
2721    ///
2722    /// # Returns
2723    ///
2724    /// * OH_Input_GetDeviceVendor result code, specifically,
2725    /// [`INPUT_SUCCESS`] if the operation is successful;
2726    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or vendor is a null pointer.
2727    ///
2728    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2729    ///
2730    /// Available since API-level: 13
2731    #[cfg(feature = "api-13")]
2732    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2733    pub fn OH_Input_GetDeviceVendor(
2734        deviceInfo: *mut Input_DeviceInfo,
2735        vendor: *mut i32,
2736    ) -> Input_Result;
2737    /// Obtains the physical address of an input device.
2738    ///
2739    /// # Arguments
2740    ///
2741    /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
2742    ///
2743    /// * `address` - Pointer to the physical address of the input device.
2744    ///
2745    /// # Returns
2746    ///
2747    /// * OH_Input_GetDeviceAddress result code, specifically,
2748    /// [`INPUT_SUCCESS`] if the operation is successful;
2749    /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or address is a null pointer.
2750    ///
2751    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2752    ///
2753    /// Available since API-level: 13
2754    #[cfg(feature = "api-13")]
2755    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2756    pub fn OH_Input_GetDeviceAddress(
2757        deviceInfo: *mut Input_DeviceInfo,
2758        address: *mut *mut ::core::ffi::c_char,
2759    ) -> Input_Result;
2760    /// Obtains the function key status.
2761    ///
2762    /// # Arguments
2763    ///
2764    /// * `keyCode` - Function key value. Supported function keys include capsLock, NumLock, and ScrollLock.
2765    ///
2766    /// * `state` - Function key status. The value 0 indicates that the function key is disabled,
2767    /// and the value 1 indicates the opposite.
2768    ///
2769    /// # Returns
2770    ///
2771    /// * OH_Input_GetFunctionKeyState function api result code
2772    /// [`INPUT_SUCCESS`] if the operation is successful;
2773    /// [`INPUT_PARAMETER_ERROR`] if keyCode is invalid or state is a null pointer.
2774    /// [`INPUT_KEYBOARD_DEVICE_NOT_EXIST`] no keyboard device connected.
2775    ///
2776    /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2777    ///
2778    /// Available since API-level: 15
2779    #[cfg(feature = "api-15")]
2780    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2781    pub fn OH_Input_GetFunctionKeyState(keyCode: i32, state: *mut i32) -> Input_Result;
2782}