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-20")]
171#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
172impl Input_InjectionStatus {
173 /// Unauthorized
174 pub const UNAUTHORIZED: Input_InjectionStatus = Input_InjectionStatus(0);
175 /// Authorizing
176 pub const AUTHORIZING: Input_InjectionStatus = Input_InjectionStatus(1);
177 /// Authorized
178 pub const AUTHORIZED: Input_InjectionStatus = Input_InjectionStatus(2);
179}
180#[repr(transparent)]
181/// Enumerates the injection authorization status.
182///
183///
184/// Available since API-level: 20
185#[cfg(feature = "api-20")]
186#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
187#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
188pub struct Input_InjectionStatus(pub ::core::ffi::c_uint);
189#[cfg(feature = "api-12")]
190#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
191impl InputEvent_SourceType {
192 /// Indicates that the input source generates events similar to mouse cursor movement,
193 /// button press and release, and wheel scrolling.
194 ///
195 ///
196 /// Available since API-level: 12
197 #[cfg(feature = "api-12")]
198 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
199 pub const SOURCE_TYPE_MOUSE: InputEvent_SourceType = InputEvent_SourceType(1);
200 /// Indicates that the input source generates a touchscreen multi-touch event.
201 ///
202 ///
203 /// Available since API-level: 12
204 #[cfg(feature = "api-12")]
205 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
206 pub const SOURCE_TYPE_TOUCHSCREEN: InputEvent_SourceType = InputEvent_SourceType(2);
207 /// Indicates that the input source generates a touchpad multi-touch event.
208 ///
209 ///
210 /// Available since API-level: 12
211 #[cfg(feature = "api-12")]
212 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
213 pub const SOURCE_TYPE_TOUCHPAD: InputEvent_SourceType = InputEvent_SourceType(3);
214}
215#[repr(transparent)]
216/// Enumerates event source types.
217///
218///
219/// Available since API-level: 12
220#[cfg(feature = "api-12")]
221#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
222#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
223pub struct InputEvent_SourceType(pub ::core::ffi::c_uint);
224pub type Input_Result = Result<(), InputErrorCode>;
225#[cfg(feature = "api-12")]
226#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
227impl InputErrorCode {
228 /// Permission verification failed
229 pub const PERMISSION_DENIED: InputErrorCode =
230 InputErrorCode(const { core::num::NonZero::new(201).unwrap() });
231 /// Non-system application
232 pub const NOT_SYSTEM_APPLICATION: InputErrorCode =
233 InputErrorCode(const { core::num::NonZero::new(202).unwrap() });
234 /// Parameter check failed
235 pub const PARAMETER_ERROR: InputErrorCode =
236 InputErrorCode(const { core::num::NonZero::new(401).unwrap() });
237 /// Device not support
238 pub const DEVICE_NOT_SUPPORTED: InputErrorCode =
239 InputErrorCode(const { core::num::NonZero::new(801).unwrap() });
240 /// Service error
241 pub const SERVICE_EXCEPTION: InputErrorCode =
242 InputErrorCode(const { core::num::NonZero::new(3800001).unwrap() });
243 /// Interceptor repeatedly created for an application
244 pub const REPEAT_INTERCEPTOR: InputErrorCode =
245 InputErrorCode(const { core::num::NonZero::new(4200001).unwrap() });
246 /// Already occupied by the system
247 ///
248 /// Available since API-level: 14
249 #[cfg(feature = "api-14")]
250 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
251 pub const OCCUPIED_BY_SYSTEM: InputErrorCode =
252 InputErrorCode(const { core::num::NonZero::new(4200002).unwrap() });
253 /// Already occupied by the other
254 ///
255 /// Available since API-level: 14
256 #[cfg(feature = "api-14")]
257 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
258 pub const OCCUPIED_BY_OTHER: InputErrorCode =
259 InputErrorCode(const { core::num::NonZero::new(4200003).unwrap() });
260 /// No keyboard device connected
261 ///
262 /// Available since API-level: 15
263 #[cfg(feature = "api-15")]
264 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
265 pub const KEYBOARD_DEVICE_NOT_EXIST: InputErrorCode =
266 InputErrorCode(const { core::num::NonZero::new(3900002).unwrap() });
267 /// Authorizing
268 ///
269 /// Available since API-level: 20
270 #[cfg(feature = "api-20")]
271 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
272 pub const INJECTION_AUTHORIZING: InputErrorCode =
273 InputErrorCode(const { core::num::NonZero::new(3900005).unwrap() });
274 /// Too many operations
275 ///
276 /// Available since API-level: 20
277 #[cfg(feature = "api-20")]
278 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
279 pub const INJECTION_OPERATION_FREQUENT: InputErrorCode =
280 InputErrorCode(const { core::num::NonZero::new(3900006).unwrap() });
281 /// Authorized
282 ///
283 /// Available since API-level: 20
284 #[cfg(feature = "api-20")]
285 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
286 pub const INJECTION_AUTHORIZED: InputErrorCode =
287 InputErrorCode(const { core::num::NonZero::new(3900007).unwrap() });
288 /// Authorized to other applications
289 ///
290 /// Available since API-level: 20
291 #[cfg(feature = "api-20")]
292 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
293 pub const INJECTION_AUTHORIZED_OTHERS: InputErrorCode =
294 InputErrorCode(const { core::num::NonZero::new(3900008).unwrap() });
295 /// App is not the focused app
296 ///
297 /// Available since API-level: 20
298 #[cfg(feature = "api-20")]
299 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
300 pub const APP_NOT_FOCUSED: InputErrorCode =
301 InputErrorCode(const { core::num::NonZero::new(3900009).unwrap() });
302 /// The device has no pointer
303 ///
304 /// Available since API-level: 20
305 #[cfg(feature = "api-20")]
306 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
307 pub const DEVICE_NO_POINTER: InputErrorCode =
308 InputErrorCode(const { core::num::NonZero::new(3900010).unwrap() });
309}
310#[repr(transparent)]
311/// Enumerates error codes.
312///
313///
314/// Available since API-level: 12
315#[cfg(feature = "api-12")]
316#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
317#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
318pub struct InputErrorCode(pub core::num::NonZero<::core::ffi::c_uint>);
319/// Callback used to return shortcut key events.
320///
321/// Available since API-level: 14
322#[cfg(feature = "api-14")]
323#[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
324pub type Input_HotkeyCallback =
325 ::core::option::Option<unsafe extern "C" fn(hotkey: *mut Input_Hotkey)>;
326/// Represents information about the input device.
327///
328///
329/// Available since API-level: 13
330#[cfg(feature = "api-13")]
331#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
332#[repr(C)]
333pub struct Input_DeviceInfo {
334 _unused: [u8; 0],
335}
336/// Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed.
337///
338/// # Arguments
339///
340/// * `keyEvent` - Key event object.
341///
342/// Available since API-level: 12
343#[cfg(feature = "api-12")]
344#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
345pub type Input_KeyEventCallback =
346 ::core::option::Option<unsafe extern "C" fn(keyEvent: *const Input_KeyEvent)>;
347/// Defines a lifecycle callback for mouseEvent. If the callback is triggered, mouseEvent will be destroyed.
348///
349/// # Arguments
350///
351/// * `mouseEvent` - Mouse event object.
352///
353/// Available since API-level: 12
354#[cfg(feature = "api-12")]
355#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
356pub type Input_MouseEventCallback =
357 ::core::option::Option<unsafe extern "C" fn(mouseEvent: *const Input_MouseEvent)>;
358/// Defines a lifecycle callback for touchEvent. If the callback is triggered, touchEvent will be destroyed.
359///
360/// # Arguments
361///
362/// * `touchEvent` - Touch event object.
363///
364/// Available since API-level: 12
365#[cfg(feature = "api-12")]
366#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
367pub type Input_TouchEventCallback =
368 ::core::option::Option<unsafe extern "C" fn(touchEvent: *const Input_TouchEvent)>;
369/// Defines a lifecycle callback for axisEvent. If the callback is triggered, axisEvent will be destroyed.
370///
371/// # Arguments
372///
373/// * `axisEvent` - Axis event object.
374///
375/// Available since API-level: 12
376#[cfg(feature = "api-12")]
377#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
378pub type Input_AxisEventCallback =
379 ::core::option::Option<unsafe extern "C" fn(axisEvent: *const Input_AxisEvent)>;
380/// Defines the callback for device addition events.
381/// # Arguments
382///
383/// * `deviceId` - Device ID.
384///
385/// Available since API-level: 13
386#[cfg(feature = "api-13")]
387#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
388pub type Input_DeviceAddedCallback = ::core::option::Option<unsafe extern "C" fn(deviceId: i32)>;
389/// Defines the callback for device removal events.
390/// # Arguments
391///
392/// * `deviceId` - Device ID.
393///
394/// Available since API-level: 13
395#[cfg(feature = "api-13")]
396#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
397pub type Input_DeviceRemovedCallback = ::core::option::Option<unsafe extern "C" fn(deviceId: i32)>;
398/// Defines the event injection callback.
399/// # Arguments
400///
401/// * `authorizedStatus` - Authorization status.
402///
403/// Available since API-level: 20
404#[cfg(feature = "api-20")]
405#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
406pub type Input_InjectAuthorizeCallback =
407 ::core::option::Option<unsafe extern "C" fn(authorizedStatus: Input_InjectionStatus)>;
408/// Defines the structure for the interceptor of event callbacks,
409/// including mouseCallback, touchCallback, and axisCallback.
410///
411/// Available since API-level: 12
412#[cfg(feature = "api-12")]
413#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
414#[repr(C)]
415#[derive(Debug, Copy, Clone)]
416pub struct Input_InterceptorEventCallback {
417 /// Defines a lifecycle callback for **mouseEvent**.
418 pub mouseCallback: Input_MouseEventCallback,
419 /// Defines a lifecycle callback for **touchEvent**.
420 pub touchCallback: Input_TouchEventCallback,
421 /// Defines a lifecycle callback for **axisEvent**.
422 pub axisCallback: Input_AxisEventCallback,
423}
424/// Defines a listener for device insertion and removal events.
425///
426/// Available since API-level: 13
427#[cfg(feature = "api-13")]
428#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
429#[repr(C)]
430#[derive(Debug, Copy, Clone)]
431pub struct Input_DeviceListener {
432 /// Callback for device addition events
433 pub deviceAddedCallback: Input_DeviceAddedCallback,
434 /// Callback for device removal events
435 pub deviceRemovedCallback: Input_DeviceRemovedCallback,
436}
437/// Defines event interceptor options.
438///
439/// Available since API-level: 12
440#[cfg(feature = "api-12")]
441#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
442#[repr(C)]
443pub struct Input_InterceptorOptions {
444 _unused: [u8; 0],
445}
446extern "C" {
447 /// Queries the key state.
448 ///
449 /// # Arguments
450 ///
451 /// * `keyState` - Key state.
452 ///
453 /// # Returns
454 ///
455 /// * OH_Input_GetKeyState function result code.
456 /// [`INPUT_SUCCESS`] get KeyState success.
457 ///
458 /// [`INPUT_PARAMETER_ERROR`] keyCode is invalid.
459 ///
460 ///
461 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
462 ///
463 /// Available since API-level: 12
464 #[cfg(feature = "api-12")]
465 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
466 pub fn OH_Input_GetKeyState(keyState: *mut Input_KeyState) -> Input_Result;
467 /// Creates a key status enumeration object.
468 ///
469 ///
470 /// # Returns
471 ///
472 /// * Returns an [`Input_KeyState`] pointer object if the operation is successful.
473 /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
474 ///
475 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
476 ///
477 /// Available since API-level: 12
478 #[cfg(feature = "api-12")]
479 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
480 pub fn OH_Input_CreateKeyState() -> *mut Input_KeyState;
481 /// Destroys a key status enumeration object.
482 ///
483 /// # Arguments
484 ///
485 /// * `keyState` - Key status enumeration object.
486 ///
487 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
488 ///
489 /// Available since API-level: 12
490 #[cfg(feature = "api-12")]
491 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
492 pub fn OH_Input_DestroyKeyState(keyState: *mut *mut Input_KeyState);
493 /// Sets the key value of a key status enumeration object.
494 ///
495 /// # Arguments
496 ///
497 /// * `keyState` - Key status enumeration object.
498 ///
499 /// * `keyCode` - Key value of the key status enumeration object.
500 ///
501 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
502 ///
503 /// Available since API-level: 12
504 #[cfg(feature = "api-12")]
505 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
506 pub fn OH_Input_SetKeyCode(keyState: *mut Input_KeyState, keyCode: i32);
507 /// Obtains the key value of a key status enumeration object.
508 ///
509 /// # Arguments
510 ///
511 /// * `keyState` - Key status enumeration object.
512 ///
513 /// # Returns
514 ///
515 /// * Key value of the key status enumeration object.
516 ///
517 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
518 ///
519 /// Available since API-level: 12
520 #[cfg(feature = "api-12")]
521 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
522 pub fn OH_Input_GetKeyCode(keyState: *const Input_KeyState) -> i32;
523 /// Sets whether the key specific to a key status enumeration object is pressed.
524 ///
525 /// # Arguments
526 ///
527 /// * `keyState` - Key status enumeration object.
528 ///
529 /// * `keyAction` - Whether the key is pressed.
530 ///
531 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
532 ///
533 /// Available since API-level: 12
534 #[cfg(feature = "api-12")]
535 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
536 pub fn OH_Input_SetKeyPressed(keyState: *mut Input_KeyState, keyAction: i32);
537 /// Checks whether the key specific to a key status enumeration object is pressed.
538 ///
539 /// # Arguments
540 ///
541 /// * `keyState` - Key status enumeration object.
542 ///
543 /// # Returns
544 ///
545 /// * Key pressing status of the key status enumeration object.
546 ///
547 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
548 ///
549 /// Available since API-level: 12
550 #[cfg(feature = "api-12")]
551 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
552 pub fn OH_Input_GetKeyPressed(keyState: *const Input_KeyState) -> i32;
553 /// Sets the key switch of the key status enumeration object.
554 ///
555 /// # Arguments
556 ///
557 /// * `keyState` - Key status enumeration object.
558 ///
559 /// * `keySwitch` - Key switch of the key status enumeration object.
560 ///
561 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
562 ///
563 /// Available since API-level: 12
564 #[cfg(feature = "api-12")]
565 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
566 pub fn OH_Input_SetKeySwitch(keyState: *mut Input_KeyState, keySwitch: i32);
567 /// Obtains the key switch of the key status enumeration object.
568 ///
569 /// # Arguments
570 ///
571 /// * `keyState` - Key status enumeration object.
572 ///
573 /// # Returns
574 ///
575 /// * Key switch of the key status enumeration object.
576 ///
577 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
578 ///
579 /// Available since API-level: 12
580 #[cfg(feature = "api-12")]
581 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
582 pub fn OH_Input_GetKeySwitch(keyState: *const Input_KeyState) -> i32;
583 /// Inject system keys.
584 /// since API 20, it is recommended to use OH_Input_RequestInjection
585 /// to request authorization before using the interface,
586 /// and then use OH_Input_QueryAuthorizedStatus to query the authorization status.
587 /// When the authorization status is AUTHORIZED, use the interface.
588 ///
589 /// # Arguments
590 ///
591 /// * `keyEvent` - - the key event to be injected.
592 ///
593 /// # Returns
594 ///
595 /// * OH_Input_InjectKeyEvent function result code.
596 /// [`INPUT_SUCCESS`] inject keyEvent success.
597 ///
598 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
599 ///
600 /// [`INPUT_PARAMETER_ERROR`] keyCode is less 0, can not process.
601 ///
602 ///
603 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
604 ///
605 /// Available since API-level: 12
606 #[cfg(feature = "api-12")]
607 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
608 pub fn OH_Input_InjectKeyEvent(keyEvent: *const Input_KeyEvent) -> i32;
609 /// Creates a key event object.
610 ///
611 ///
612 /// # Returns
613 ///
614 /// * Returns an [`Input_KeyEvent`] pointer object if the operation is successful.
615 /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
616 ///
617 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
618 ///
619 /// Available since API-level: 12
620 #[cfg(feature = "api-12")]
621 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
622 pub fn OH_Input_CreateKeyEvent() -> *mut Input_KeyEvent;
623 /// Destroys a key event object.
624 ///
625 /// # Arguments
626 ///
627 /// * `keyEvent` - Key event object.
628 ///
629 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
630 ///
631 /// Available since API-level: 12
632 #[cfg(feature = "api-12")]
633 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
634 pub fn OH_Input_DestroyKeyEvent(keyEvent: *mut *mut Input_KeyEvent);
635 /// Sets the key event type.
636 ///
637 /// # Arguments
638 ///
639 /// * `keyEvent` - Key event object.
640 ///
641 /// * `action` - Key event type.
642 ///
643 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
644 ///
645 /// Available since API-level: 12
646 #[cfg(feature = "api-12")]
647 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
648 pub fn OH_Input_SetKeyEventAction(keyEvent: *mut Input_KeyEvent, action: i32);
649 /// Obtains the key event type.
650 ///
651 /// # Arguments
652 ///
653 /// * `keyEvent` - Key event object.
654 ///
655 /// # Returns
656 ///
657 /// * Key event type.
658 ///
659 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
660 ///
661 /// Available since API-level: 12
662 #[cfg(feature = "api-12")]
663 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
664 pub fn OH_Input_GetKeyEventAction(keyEvent: *const Input_KeyEvent) -> i32;
665 /// Sets the key value for a key event.
666 ///
667 /// # Arguments
668 ///
669 /// * `keyEvent` - Key event object.
670 ///
671 /// * `keyCode` - keyCode Key code.
672 ///
673 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
674 ///
675 /// Available since API-level: 12
676 #[cfg(feature = "api-12")]
677 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
678 pub fn OH_Input_SetKeyEventKeyCode(keyEvent: *mut Input_KeyEvent, keyCode: i32);
679 /// Obtains the key value of a key event.
680 ///
681 /// # Arguments
682 ///
683 /// * `keyEvent` - Key event object.
684 ///
685 /// # Returns
686 ///
687 /// * Key code.
688 ///
689 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
690 ///
691 /// Available since API-level: 12
692 #[cfg(feature = "api-12")]
693 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
694 pub fn OH_Input_GetKeyEventKeyCode(keyEvent: *const Input_KeyEvent) -> i32;
695 /// Sets the time when a key event occurs.
696 ///
697 /// # Arguments
698 ///
699 /// * `keyEvent` - Key event object.
700 ///
701 /// * `actionTime` - Time when the key event occurs.
702 ///
703 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
704 ///
705 /// Available since API-level: 12
706 #[cfg(feature = "api-12")]
707 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
708 pub fn OH_Input_SetKeyEventActionTime(keyEvent: *mut Input_KeyEvent, actionTime: i64);
709 /// Obtains the time when a key event occurs.
710 ///
711 /// # Arguments
712 ///
713 /// * `keyEvent` - Key event object.
714 ///
715 /// # Returns
716 ///
717 /// * Returns the time when the key event occurs.
718 ///
719 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
720 ///
721 /// Available since API-level: 12
722 #[cfg(feature = "api-12")]
723 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
724 pub fn OH_Input_GetKeyEventActionTime(keyEvent: *const Input_KeyEvent) -> i64;
725 /// Sets the windowId for a key event.
726 ///
727 /// # Arguments
728 ///
729 /// * `keyEvent` - Key event object.
730 ///
731 /// * `windowId` - The windowId for a key event.
732 ///
733 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
734 ///
735 /// Available since API-level: 15
736 #[cfg(feature = "api-15")]
737 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
738 pub fn OH_Input_SetKeyEventWindowId(keyEvent: *mut Input_KeyEvent, windowId: i32);
739 /// Obtains the windowId of a key event.
740 ///
741 /// # Arguments
742 ///
743 /// * `keyEvent` - Key event object.
744 ///
745 /// # Returns
746 ///
747 /// * windowId.
748 ///
749 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
750 ///
751 /// Available since API-level: 15
752 #[cfg(feature = "api-15")]
753 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
754 pub fn OH_Input_GetKeyEventWindowId(keyEvent: *const Input_KeyEvent) -> i32;
755 /// Sets the displayId for a key event.
756 ///
757 /// # Arguments
758 ///
759 /// * `keyEvent` - Key event object.
760 ///
761 /// * `displayId` - The displayId for a key event.
762 ///
763 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
764 ///
765 /// Available since API-level: 15
766 #[cfg(feature = "api-15")]
767 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
768 pub fn OH_Input_SetKeyEventDisplayId(keyEvent: *mut Input_KeyEvent, displayId: i32);
769 /// Obtains the displayId of a key event.
770 ///
771 /// # Arguments
772 ///
773 /// * `keyEvent` - Key event object.
774 ///
775 /// # Returns
776 ///
777 /// * displayId.
778 ///
779 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
780 ///
781 /// Available since API-level: 15
782 #[cfg(feature = "api-15")]
783 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
784 pub fn OH_Input_GetKeyEventDisplayId(keyEvent: *const Input_KeyEvent) -> i32;
785 /// Get the eventId of the keyEvent.
786 ///
787 /// # Arguments
788 ///
789 /// * `keyEvent` - - Key event object.
790 ///
791 /// * `eventId` - - Get the keyEvent eventId.
792 ///
793 /// # Returns
794 ///
795 /// * OH_Input_GetKeyEventId function result code.
796 /// [`INPUT_SUCCESS`] Get the eventId of the keyEvent success.
797 ///
798 /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
799 ///
800 ///
801 /// Available since API-level: 21
802 #[cfg(feature = "api-21")]
803 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
804 pub fn OH_Input_GetKeyEventId(
805 keyEvent: *const Input_KeyEvent,
806 eventId: *mut i32,
807 ) -> Input_Result;
808 /// Add a keyEvent interception hook function. Before using this interface,
809 /// the user needs to authorize it in the settings.
810 ///
811 /// ohos.permission.HOOK_KEY_EVENT
812 /// # Arguments
813 ///
814 /// * `callback` - - Hook function, keyEvent will be sent to the hook function for priority processing.
815 ///
816 /// # Returns
817 ///
818 /// * OH_Input_AddKeyEventHook function result code.
819 /// [`INPUT_SUCCESS`] Added hook function successfully.
820 ///
821 /// [`INPUT_PARAMETER_ERROR`] Failed to add the hook function. Reason: Parameter check failed.
822 ///
823 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
824 ///
825 /// [`INPUT_PERMISSION_DENIED`] Failed to add the hook function. Reason: Permission check failed.
826 ///
827 /// [`INPUT_REPEAT_INTERCEPTOR`] Failed to add the hook function.
828 ///
829 /// Reason: Repeatedly set the hook function. A process can only have one key hook function.
830 ///
831 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the hook function.
832 ///
833 /// Reason: Input service exception, please try again.
834 ///
835 ///
836 /// Available since API-level: 21
837 #[cfg(feature = "api-21")]
838 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
839 pub fn OH_Input_AddKeyEventHook(callback: Input_KeyEventCallback) -> Input_Result;
840 /// Remove keyEvent interception hook function.
841 ///
842 /// # Arguments
843 ///
844 /// * `callback` - - Hook function, Same as the parameters when calling OH_Input_AddKeyEventHook.
845 ///
846 /// # Returns
847 ///
848 /// * OH_Input_RemoveKeyEventHook function result code.
849 /// [`INPUT_SUCCESS`] Hook function removed successfully.
850 ///
851 /// Even if the hook function has not been added before, it will return success when removed.
852 ///
853 /// [`INPUT_PARAMETER_ERROR`] Failed to remove the hook function. Reason: Parameter check failed.
854 ///
855 /// [`INPUT_SERVICE_EXCEPTION`] Failed to remove the hook function.
856 ///
857 /// Reason: Input service exception, please try again.
858 ///
859 ///
860 /// Available since API-level: 21
861 #[cfg(feature = "api-21")]
862 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
863 pub fn OH_Input_RemoveKeyEventHook(callback: Input_KeyEventCallback) -> Input_Result;
864 /// Redispatches keyEvent.
865 /// Only keyEvent intercepted by hook functions can be redispatched,
866 /// and the event order must be maintained during redispatching.
867 /// The hook function intercepts the input event and then redistributes it for 3 seconds.
868 /// If this time is exceeded, calling this function will return INPUT_PARAMETER_ERROR.
869 /// Re-dispatching requires event pairing, usually starting with one or more KEY_ACTION_DOWN and
870 /// ending with KEY_ACTION_UP or KEY_ACTION_CANCEL.
871 /// Only KEY_ACTION_UP or KEY_ACTION_CANCEL is redispatched, the function call succeeds,
872 /// but no actual dispatch is made.
873 /// If an event is dispatched that is not intercepted by the hook function,
874 /// the function call succeeds, but no actual dispatch action is taken.
875 ///
876 /// # Arguments
877 ///
878 /// * `eventId` - - keyEvent eventId.
879 ///
880 /// # Returns
881 ///
882 /// * OH_Input_DispatchToNextHandler function result code.
883 /// [`INPUT_SUCCESS`] Redistribution successful.
884 ///
885 /// [`INPUT_PARAMETER_ERROR`] Redistribution failed. Reason: KeyEvent does not exist.
886 ///
887 /// [`INPUT_SERVICE_EXCEPTION`] Redistribution failed.
888 ///
889 /// Reason: Input service exception, it's recommended to reset the pending distribution status.
890 ///
891 ///
892 /// Available since API-level: 21
893 #[cfg(feature = "api-21")]
894 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
895 pub fn OH_Input_DispatchToNextHandler(eventId: i32) -> Input_Result;
896 /// Inject mouse event.
897 /// since API 20, it is recommended to use OH_Input_RequestInjection
898 /// to request authorization before using the interface,
899 /// and then use OH_Input_QueryAuthorizedStatus to query the authorization status.
900 /// When the authorization status is AUTHORIZED, use the interface.
901 ///
902 /// # Arguments
903 ///
904 /// * `mouseEvent` - - the mouse event to be injected.
905 ///
906 /// # Returns
907 ///
908 /// * OH_Input_InjectMouseEvent function result code.
909 /// [`INPUT_SUCCESS`] inject mouseEvent success.
910 ///
911 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
912 ///
913 /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
914 ///
915 ///
916 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
917 ///
918 /// Available since API-level: 12
919 #[cfg(feature = "api-12")]
920 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
921 pub fn OH_Input_InjectMouseEvent(mouseEvent: *const Input_MouseEvent) -> i32;
922 /// Inject mouse event using global coordinate.
923 /// since API 20, it is recommended to use OH_Input_RequestInjection
924 /// to request authorization before using the interface,
925 /// and then use OH_Input_QueryAuthorizedStatus to query the authorization status.
926 /// When the authorization status is AUTHORIZED, use the interface.
927 ///
928 /// # Arguments
929 ///
930 /// * `mouseEvent` - - the mouse event to be injected, set up effective globalX globalY.
931 ///
932 /// # Returns
933 ///
934 /// * OH_Input_InjectMouseEventGlobal function result code.
935 /// [`INPUT_SUCCESS`] inject mouseEvent success.
936 ///
937 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
938 ///
939 /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
940 ///
941 ///
942 /// Available since API-level: 20
943 #[cfg(feature = "api-20")]
944 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
945 pub fn OH_Input_InjectMouseEventGlobal(mouseEvent: *const Input_MouseEvent) -> i32;
946 /// Creates a mouse event object.
947 ///
948 ///
949 /// # Returns
950 ///
951 /// * Returns an [`Input_MouseEvent`] pointer object if the operation is successful.
952 /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
953 ///
954 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
955 ///
956 /// Available since API-level: 12
957 #[cfg(feature = "api-12")]
958 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
959 pub fn OH_Input_CreateMouseEvent() -> *mut Input_MouseEvent;
960 /// Destroys a mouse event object.
961 ///
962 /// # Arguments
963 ///
964 /// * `mouseEvent` - Mouse event object.
965 ///
966 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
967 ///
968 /// Available since API-level: 12
969 #[cfg(feature = "api-12")]
970 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
971 pub fn OH_Input_DestroyMouseEvent(mouseEvent: *mut *mut Input_MouseEvent);
972 /// Sets the action for a mouse event.
973 ///
974 /// # Arguments
975 ///
976 /// * `mouseEvent` - Mouse event object.
977 ///
978 /// * `action` - Mouse action.
979 ///
980 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
981 ///
982 /// Available since API-level: 12
983 #[cfg(feature = "api-12")]
984 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
985 pub fn OH_Input_SetMouseEventAction(mouseEvent: *mut Input_MouseEvent, action: i32);
986 /// Obtains the action of a mouse event.
987 ///
988 /// # Arguments
989 ///
990 /// * `mouseEvent` - Mouse event object.
991 ///
992 /// # Returns
993 ///
994 /// * Mouse action.
995 ///
996 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
997 ///
998 /// Available since API-level: 12
999 #[cfg(feature = "api-12")]
1000 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1001 pub fn OH_Input_GetMouseEventAction(mouseEvent: *const Input_MouseEvent) -> i32;
1002 /// Sets the X coordinate for a mouse event.
1003 ///
1004 /// # Arguments
1005 ///
1006 /// * `mouseEvent` - Mouse event object.
1007 ///
1008 /// * `displayX` - X coordinate on the display.
1009 ///
1010 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1011 ///
1012 /// Available since API-level: 12
1013 #[cfg(feature = "api-12")]
1014 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1015 pub fn OH_Input_SetMouseEventDisplayX(mouseEvent: *mut Input_MouseEvent, displayX: i32);
1016 /// Obtains the X coordinate of a mouse event.
1017 ///
1018 /// # Arguments
1019 ///
1020 /// * `mouseEvent` - Mouse event object.
1021 ///
1022 /// # Returns
1023 ///
1024 /// * X coordinate on the display.
1025 ///
1026 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1027 ///
1028 /// Available since API-level: 12
1029 #[cfg(feature = "api-12")]
1030 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1031 pub fn OH_Input_GetMouseEventDisplayX(mouseEvent: *const Input_MouseEvent) -> i32;
1032 /// Sets the Y coordinate for a mouse event.
1033 ///
1034 /// # Arguments
1035 ///
1036 /// * `mouseEvent` - Mouse event object.
1037 ///
1038 /// * `displayY` - Y coordinate on the display.
1039 ///
1040 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1041 ///
1042 /// Available since API-level: 12
1043 #[cfg(feature = "api-12")]
1044 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1045 pub fn OH_Input_SetMouseEventDisplayY(mouseEvent: *mut Input_MouseEvent, displayY: i32);
1046 /// Obtains the Y coordinate of a mouse event.
1047 ///
1048 /// # Arguments
1049 ///
1050 /// * `mouseEvent` - Mouse event object.
1051 ///
1052 /// # Returns
1053 ///
1054 /// * Y coordinate on the display.
1055 ///
1056 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1057 ///
1058 /// Available since API-level: 12
1059 #[cfg(feature = "api-12")]
1060 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1061 pub fn OH_Input_GetMouseEventDisplayY(mouseEvent: *const Input_MouseEvent) -> i32;
1062 /// Sets the button for a mouse event.
1063 ///
1064 /// # Arguments
1065 ///
1066 /// * `mouseEvent` - Mouse event object.
1067 ///
1068 /// * `button` - Mouse button.
1069 ///
1070 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1071 ///
1072 /// Available since API-level: 12
1073 #[cfg(feature = "api-12")]
1074 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1075 pub fn OH_Input_SetMouseEventButton(mouseEvent: *mut Input_MouseEvent, button: i32);
1076 /// Obtains the button of a mouse event.
1077 ///
1078 /// # Arguments
1079 ///
1080 /// * `mouseEvent` - Mouse event object.
1081 ///
1082 /// # Returns
1083 ///
1084 /// * Mouse button.
1085 ///
1086 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1087 ///
1088 /// Available since API-level: 12
1089 #[cfg(feature = "api-12")]
1090 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1091 pub fn OH_Input_GetMouseEventButton(mouseEvent: *const Input_MouseEvent) -> i32;
1092 /// Sets the axis type for mouse event.
1093 ///
1094 /// # Arguments
1095 ///
1096 /// * `mouseEvent` - Mouse event object.
1097 ///
1098 /// * `axisType` - Axis type, for example, X axis or Y axis.
1099 ///
1100 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1101 ///
1102 /// Available since API-level: 12
1103 #[cfg(feature = "api-12")]
1104 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1105 pub fn OH_Input_SetMouseEventAxisType(mouseEvent: *mut Input_MouseEvent, axisType: i32);
1106 /// Obtains the axis type of a mouse event.
1107 ///
1108 /// # Arguments
1109 ///
1110 /// * `mouseEvent` - Mouse event object.
1111 ///
1112 /// # Returns
1113 ///
1114 /// * Axis type.
1115 ///
1116 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1117 ///
1118 /// Available since API-level: 12
1119 #[cfg(feature = "api-12")]
1120 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1121 pub fn OH_Input_GetMouseEventAxisType(mouseEvent: *const Input_MouseEvent) -> i32;
1122 /// Sets the axis value for a mouse axis event.
1123 ///
1124 /// # Arguments
1125 ///
1126 /// * `mouseEvent` - Mouse event object.
1127 ///
1128 /// * `axisValue` - Axis value. A positive value means scrolling forward,
1129 /// and a negative number means scrolling backward.
1130 ///
1131 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1132 ///
1133 /// Available since API-level: 12
1134 #[cfg(feature = "api-12")]
1135 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1136 pub fn OH_Input_SetMouseEventAxisValue(mouseEvent: *mut Input_MouseEvent, axisValue: f32);
1137 /// Obtains the axis value of a mouse event.
1138 ///
1139 /// # Arguments
1140 ///
1141 /// * `mouseEvent` - Mouse event object.
1142 ///
1143 /// # Returns
1144 ///
1145 /// * Axis value.
1146 ///
1147 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1148 ///
1149 /// Available since API-level: 12
1150 #[cfg(feature = "api-12")]
1151 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1152 pub fn OH_Input_GetMouseEventAxisValue(mouseEvent: *const Input_MouseEvent) -> f32;
1153 /// Sets the time when a mouse event occurs.
1154 ///
1155 /// # Arguments
1156 ///
1157 /// * `mouseEvent` - Mouse event object.
1158 ///
1159 /// * `actionTime` - Time when the mouse event occurs.
1160 ///
1161 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1162 ///
1163 /// Available since API-level: 12
1164 #[cfg(feature = "api-12")]
1165 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1166 pub fn OH_Input_SetMouseEventActionTime(mouseEvent: *mut Input_MouseEvent, actionTime: i64);
1167 /// Obtains the time when a mouse event occurs.
1168 ///
1169 /// # Arguments
1170 ///
1171 /// * `mouseEvent` - Mouse event object.
1172 ///
1173 /// # Returns
1174 ///
1175 /// * Returns the time when the mouse event occurs.
1176 ///
1177 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1178 ///
1179 /// Available since API-level: 12
1180 #[cfg(feature = "api-12")]
1181 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1182 pub fn OH_Input_GetMouseEventActionTime(mouseEvent: *const Input_MouseEvent) -> i64;
1183 /// Sets the windowId for a mouse event.
1184 ///
1185 /// # Arguments
1186 ///
1187 /// * `mouseEvent` - Mouse event object.
1188 ///
1189 /// * `windowId` - The windowId for a mouse event.
1190 ///
1191 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1192 ///
1193 /// Available since API-level: 15
1194 #[cfg(feature = "api-15")]
1195 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1196 pub fn OH_Input_SetMouseEventWindowId(mouseEvent: *mut Input_MouseEvent, windowId: i32);
1197 /// Obtains the windowId of a mouse event.
1198 ///
1199 /// # Arguments
1200 ///
1201 /// * `mouseEvent` - Mouse event object.
1202 ///
1203 /// # Returns
1204 ///
1205 /// * windowId.
1206 ///
1207 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1208 ///
1209 /// Available since API-level: 15
1210 #[cfg(feature = "api-15")]
1211 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1212 pub fn OH_Input_GetMouseEventWindowId(mouseEvent: *const Input_MouseEvent) -> i32;
1213 /// Sets the displayId for a mouse event.
1214 ///
1215 /// # Arguments
1216 ///
1217 /// * `mouseEvent` - Mouse event object.
1218 ///
1219 /// * `displayId` - The displayId for a mouse event.
1220 ///
1221 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1222 ///
1223 /// Available since API-level: 15
1224 #[cfg(feature = "api-15")]
1225 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1226 pub fn OH_Input_SetMouseEventDisplayId(mouseEvent: *mut Input_MouseEvent, displayId: i32);
1227 /// Obtains the displayId of a mouse event.
1228 ///
1229 /// # Arguments
1230 ///
1231 /// * `mouseEvent` - Mouse event object.
1232 ///
1233 /// # Returns
1234 ///
1235 /// * displayId.
1236 ///
1237 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1238 ///
1239 /// Available since API-level: 15
1240 #[cfg(feature = "api-15")]
1241 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1242 pub fn OH_Input_GetMouseEventDisplayId(mouseEvent: *const Input_MouseEvent) -> i32;
1243 /// Set the global X coordinate of the mouse event.
1244 ///
1245 /// # Arguments
1246 ///
1247 /// * `mouseEvent` - Mouse event object.
1248 ///
1249 /// * `globalX` - Global X coordinate.
1250 ///
1251 /// Available since API-level: 20
1252 #[cfg(feature = "api-20")]
1253 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1254 pub fn OH_Input_SetMouseEventGlobalX(mouseEvent: *mut Input_MouseEvent, globalX: i32);
1255 /// Queries the global X coordinate of the mouse event.
1256 ///
1257 /// # Arguments
1258 ///
1259 /// * `mouseEvent` - Mouse event object.
1260 ///
1261 /// # Returns
1262 ///
1263 /// * Global X coordinate.
1264 ///
1265 /// Available since API-level: 20
1266 #[cfg(feature = "api-20")]
1267 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1268 pub fn OH_Input_GetMouseEventGlobalX(mouseEvent: *const Input_MouseEvent) -> i32;
1269 /// Set the global Y coordinate of the mouse event.
1270 ///
1271 /// # Arguments
1272 ///
1273 /// * `mouseEvent` - Mouse event object.
1274 ///
1275 /// * `globalY` - Global Y coordinate.
1276 ///
1277 /// Available since API-level: 20
1278 #[cfg(feature = "api-20")]
1279 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1280 pub fn OH_Input_SetMouseEventGlobalY(mouseEvent: *mut Input_MouseEvent, globalY: i32);
1281 /// Queries the global Y coordinate of the mouse event.
1282 ///
1283 /// # Arguments
1284 ///
1285 /// * `mouseEvent` - Mouse event object.
1286 ///
1287 /// # Returns
1288 ///
1289 /// * Global Y coordinate.
1290 ///
1291 /// Available since API-level: 20
1292 #[cfg(feature = "api-20")]
1293 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1294 pub fn OH_Input_GetMouseEventGlobalY(mouseEvent: *const Input_MouseEvent) -> i32;
1295 /// Inject touch event.
1296 /// since API 20, it is recommended to use OH_Input_RequestInjection
1297 /// to request authorization before using the interface,
1298 /// and then use OH_Input_QueryAuthorizedStatus to query the authorization status.
1299 /// When the authorization status is AUTHORIZED, use the interface.
1300 ///
1301 /// # Arguments
1302 ///
1303 /// * `touchEvent` - - the touch event to be injected.
1304 ///
1305 /// # Returns
1306 ///
1307 /// * OH_Input_InjectTouchEvent function result code.
1308 /// [`INPUT_SUCCESS`] inject touchEvent success.
1309 ///
1310 /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
1311 ///
1312 ///
1313 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1314 ///
1315 /// Available since API-level: 12
1316 #[cfg(feature = "api-12")]
1317 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1318 pub fn OH_Input_InjectTouchEvent(touchEvent: *const Input_TouchEvent) -> i32;
1319 /// Inject touch event using global coordinate.
1320 /// since API 20, it is recommended to use OH_Input_RequestInjection
1321 /// to request authorization before using the interface,
1322 /// and then use OH_Input_QueryAuthorizedStatus to query the authorization status.
1323 /// When the authorization status is AUTHORIZED, use the interface.
1324 ///
1325 /// # Arguments
1326 ///
1327 /// * `touchEvent` - - the touch event to be injected, set up effective globalX globalY.
1328 ///
1329 /// # Returns
1330 ///
1331 /// * OH_Input_InjectTouchEventGlobal function result code.
1332 /// [`INPUT_SUCCESS`] inject touchEvent success.
1333 ///
1334 /// [`INPUT_PARAMETER_ERROR`] Parameter check failed.
1335 ///
1336 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
1337 ///
1338 ///
1339 /// Available since API-level: 20
1340 #[cfg(feature = "api-20")]
1341 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1342 pub fn OH_Input_InjectTouchEventGlobal(touchEvent: *const Input_TouchEvent) -> i32;
1343 /// Creates a touch event object.
1344 ///
1345 ///
1346 /// # Returns
1347 ///
1348 /// * Returns an [`Input_TouchEvent`] pointer object if the operation is successful.
1349 /// Otherwise, a null pointer is returned. The possible cause is memory allocation failure.
1350 ///
1351 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1352 ///
1353 /// Available since API-level: 12
1354 #[cfg(feature = "api-12")]
1355 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1356 pub fn OH_Input_CreateTouchEvent() -> *mut Input_TouchEvent;
1357 /// Destroys a touch event object.
1358 ///
1359 /// # Arguments
1360 ///
1361 /// * `touchEvent` - Touch event object.
1362 ///
1363 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1364 ///
1365 /// Available since API-level: 12
1366 #[cfg(feature = "api-12")]
1367 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1368 pub fn OH_Input_DestroyTouchEvent(touchEvent: *mut *mut Input_TouchEvent);
1369 /// Sets the action for a touch event.
1370 ///
1371 /// # Arguments
1372 ///
1373 /// * `touchEvent` - Touch event object.
1374 ///
1375 /// * `action` - Touch action.
1376 ///
1377 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1378 ///
1379 /// Available since API-level: 12
1380 #[cfg(feature = "api-12")]
1381 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1382 pub fn OH_Input_SetTouchEventAction(touchEvent: *mut Input_TouchEvent, action: i32);
1383 /// Obtains the action of a touch event.
1384 ///
1385 /// # Arguments
1386 ///
1387 /// * `touchEvent` - Touch event object.
1388 ///
1389 /// # Returns
1390 ///
1391 /// * Touch action.
1392 ///
1393 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1394 ///
1395 /// Available since API-level: 12
1396 #[cfg(feature = "api-12")]
1397 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1398 pub fn OH_Input_GetTouchEventAction(touchEvent: *const Input_TouchEvent) -> i32;
1399 /// Sets the finger ID for the touch event.
1400 ///
1401 /// # Arguments
1402 ///
1403 /// * `touchEvent` - Touch event object.
1404 ///
1405 /// * `id` - Finger ID.
1406 ///
1407 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1408 ///
1409 /// Available since API-level: 12
1410 #[cfg(feature = "api-12")]
1411 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1412 pub fn OH_Input_SetTouchEventFingerId(touchEvent: *mut Input_TouchEvent, id: i32);
1413 /// Obtains the finger ID of a touch event.
1414 ///
1415 /// # Arguments
1416 ///
1417 /// * `touchEvent` - Touch event object.
1418 ///
1419 /// # Returns
1420 ///
1421 /// * Finger ID.
1422 ///
1423 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1424 ///
1425 /// Available since API-level: 12
1426 #[cfg(feature = "api-12")]
1427 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1428 pub fn OH_Input_GetTouchEventFingerId(touchEvent: *const Input_TouchEvent) -> i32;
1429 /// Sets the X coordinate for a touch event.
1430 ///
1431 /// # Arguments
1432 ///
1433 /// * `touchEvent` - Touch event object.
1434 ///
1435 /// * `displayX` - X coordinate.
1436 ///
1437 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1438 ///
1439 /// Available since API-level: 12
1440 #[cfg(feature = "api-12")]
1441 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1442 pub fn OH_Input_SetTouchEventDisplayX(touchEvent: *mut Input_TouchEvent, displayX: i32);
1443 /// Obtains the X coordinate of a touch event.
1444 ///
1445 /// # Arguments
1446 ///
1447 /// * `touchEvent` - Touch event object.
1448 ///
1449 /// # Returns
1450 ///
1451 /// * X coordinate.
1452 ///
1453 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1454 ///
1455 /// Available since API-level: 12
1456 #[cfg(feature = "api-12")]
1457 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1458 pub fn OH_Input_GetTouchEventDisplayX(touchEvent: *const Input_TouchEvent) -> i32;
1459 /// Sets the Y coordinate for a touch event.
1460 ///
1461 /// # Arguments
1462 ///
1463 /// * `touchEvent` - Touch event object.
1464 ///
1465 /// * `displayY` - Y coordinate.
1466 ///
1467 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1468 ///
1469 /// Available since API-level: 12
1470 #[cfg(feature = "api-12")]
1471 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1472 pub fn OH_Input_SetTouchEventDisplayY(touchEvent: *mut Input_TouchEvent, displayY: i32);
1473 /// Obtains the Y coordinate of a touch event.
1474 ///
1475 /// # Arguments
1476 ///
1477 /// * `touchEvent` - Touch event object.
1478 ///
1479 /// # Returns
1480 ///
1481 /// * Y coordinate.
1482 ///
1483 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1484 ///
1485 /// Available since API-level: 12
1486 #[cfg(feature = "api-12")]
1487 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1488 pub fn OH_Input_GetTouchEventDisplayY(touchEvent: *const Input_TouchEvent) -> i32;
1489 /// Sets the time when a touch event occurs.
1490 ///
1491 /// # Arguments
1492 ///
1493 /// * `touchEvent` - Touch event object.
1494 ///
1495 /// * `actionTime` - Time when the touch event occurs.
1496 ///
1497 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1498 ///
1499 /// Available since API-level: 12
1500 #[cfg(feature = "api-12")]
1501 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1502 pub fn OH_Input_SetTouchEventActionTime(touchEvent: *mut Input_TouchEvent, actionTime: i64);
1503 /// Obtains the time when a touch event occurs.
1504 ///
1505 /// # Arguments
1506 ///
1507 /// * `touchEvent` - touch event object.
1508 ///
1509 /// # Returns
1510 ///
1511 /// * Returns the time when the touch event occurs.
1512 ///
1513 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1514 ///
1515 /// Available since API-level: 12
1516 #[cfg(feature = "api-12")]
1517 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1518 pub fn OH_Input_GetTouchEventActionTime(touchEvent: *const Input_TouchEvent) -> i64;
1519 /// Sets the windowId for a touch event.
1520 ///
1521 /// # Arguments
1522 ///
1523 /// * `touchEvent` - Touch event object.
1524 ///
1525 /// * `windowId` - The windowId for a touch event.
1526 ///
1527 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1528 ///
1529 /// Available since API-level: 15
1530 #[cfg(feature = "api-15")]
1531 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1532 pub fn OH_Input_SetTouchEventWindowId(touchEvent: *mut Input_TouchEvent, windowId: i32);
1533 /// Obtains the windowId of a touch event.
1534 ///
1535 /// # Arguments
1536 ///
1537 /// * `touchEvent` - Touch event object.
1538 ///
1539 /// # Returns
1540 ///
1541 /// * windowId.
1542 ///
1543 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1544 ///
1545 /// Available since API-level: 15
1546 #[cfg(feature = "api-15")]
1547 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1548 pub fn OH_Input_GetTouchEventWindowId(touchEvent: *const Input_TouchEvent) -> i32;
1549 /// Sets the displayId for a touch event.
1550 ///
1551 /// # Arguments
1552 ///
1553 /// * `touchEvent` - Touch event object.
1554 ///
1555 /// * `displayId` - The displayId for a touch event.
1556 ///
1557 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1558 ///
1559 /// Available since API-level: 15
1560 #[cfg(feature = "api-15")]
1561 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1562 pub fn OH_Input_SetTouchEventDisplayId(touchEvent: *mut Input_TouchEvent, displayId: i32);
1563 /// Obtains the displayId of a touch event.
1564 ///
1565 /// # Arguments
1566 ///
1567 /// * `touchEvent` - Touch event object.
1568 ///
1569 /// # Returns
1570 ///
1571 /// * displayId.
1572 ///
1573 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1574 ///
1575 /// Available since API-level: 15
1576 #[cfg(feature = "api-15")]
1577 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
1578 pub fn OH_Input_GetTouchEventDisplayId(touchEvent: *const Input_TouchEvent) -> i32;
1579 /// Set the global X coordinate of the touch event.
1580 ///
1581 /// # Arguments
1582 ///
1583 /// * `touchEvent` - Touch event object.
1584 ///
1585 /// * `globalX` - Global X coordinate.
1586 ///
1587 /// Available since API-level: 20
1588 #[cfg(feature = "api-20")]
1589 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1590 pub fn OH_Input_SetTouchEventGlobalX(touchEvent: *mut Input_TouchEvent, globalX: i32);
1591 /// Queries the global X coordinate of the touch event.
1592 ///
1593 /// # Arguments
1594 ///
1595 /// * `touchEvent` - Touch event object.
1596 ///
1597 /// # Returns
1598 ///
1599 /// * Global X coordinate.
1600 ///
1601 /// Available since API-level: 20
1602 #[cfg(feature = "api-20")]
1603 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1604 pub fn OH_Input_GetTouchEventGlobalX(touchEvent: *const Input_TouchEvent) -> i32;
1605 /// Set the global Y coordinate of the touch event.
1606 ///
1607 /// # Arguments
1608 ///
1609 /// * `touchEvent` - Touch event object.
1610 ///
1611 /// * `globalY` - Global Y coordinate.
1612 ///
1613 /// Available since API-level: 20
1614 #[cfg(feature = "api-20")]
1615 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1616 pub fn OH_Input_SetTouchEventGlobalY(touchEvent: *mut Input_TouchEvent, globalY: i32);
1617 /// Queries the global Y coordinate of the touch event.
1618 ///
1619 /// # Arguments
1620 ///
1621 /// * `touchEvent` - Touch event object.
1622 ///
1623 /// # Returns
1624 ///
1625 /// * Global Y coordinate.
1626 ///
1627 /// Available since API-level: 20
1628 #[cfg(feature = "api-20")]
1629 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1630 pub fn OH_Input_GetTouchEventGlobalY(touchEvent: *const Input_TouchEvent) -> i32;
1631 /// Cancels event injection and revokes authorization.
1632 ///
1633 ///
1634 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1635 ///
1636 /// Available since API-level: 12
1637 #[cfg(feature = "api-12")]
1638 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1639 pub fn OH_Input_CancelInjection();
1640 /// Requests for injection authorization.
1641 ///
1642 /// # Arguments
1643 ///
1644 /// * `callback` - - callback used to return the result.
1645 ///
1646 /// # Returns
1647 ///
1648 /// * OH_Input_RequestInjection function result code.
1649 /// [`INPUT_SUCCESS`] Success.
1650 ///
1651 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
1652 ///
1653 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
1654 ///
1655 /// [`INPUT_SERVICE_EXCEPTION`] Service error.
1656 ///
1657 /// [`INPUT_INJECTION_AUTHORIZING`] Authorizing.
1658 ///
1659 /// [`INPUT_INJECTION_OPERATION_FREQUENT`] Too many operations.
1660 ///
1661 /// [`INPUT_INJECTION_AUTHORIZED`] Authorized.
1662 ///
1663 /// [`INPUT_INJECTION_AUTHORIZED_OTHERS`] Authorized to other applications.
1664 ///
1665 ///
1666 /// Available since API-level: 20
1667 #[cfg(feature = "api-20")]
1668 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1669 pub fn OH_Input_RequestInjection(callback: Input_InjectAuthorizeCallback) -> Input_Result;
1670 /// Queries the injection authorization status.
1671 ///
1672 /// # Arguments
1673 ///
1674 /// * `status` - Injection authorization status. For details, see [`Input_InjectionStatus`].
1675 ///
1676 /// # Returns
1677 ///
1678 /// * OH_Input_QueryAuthorizedStatus function result code.
1679 /// [`INPUT_SUCCESS`] Success.
1680 ///
1681 /// [`INPUT_PARAMETER_ERROR`] The status is NULL
1682 ///
1683 /// [`INPUT_SERVICE_EXCEPTION`] Service error.
1684 ///
1685 ///
1686 /// Available since API-level: 20
1687 #[cfg(feature = "api-20")]
1688 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1689 pub fn OH_Input_QueryAuthorizedStatus(status: *mut Input_InjectionStatus) -> Input_Result;
1690 /// Creates an axis event object.
1691 ///
1692 ///
1693 /// # Returns
1694 ///
1695 /// * If the operation is successful, a [`Input_AxisEvent`] object is returned.
1696 /// If the operation fails, null is returned.
1697 ///
1698 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1699 ///
1700 /// Available since API-level: 12
1701 #[cfg(feature = "api-12")]
1702 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1703 pub fn OH_Input_CreateAxisEvent() -> *mut Input_AxisEvent;
1704 /// Destroys an axis event object.
1705 ///
1706 /// # Arguments
1707 ///
1708 /// * `axisEvent` - Pointer to the axis event object.
1709 ///
1710 /// # Returns
1711 ///
1712 /// * OH_Input_DestroyAxisEvent function result code.
1713 /// [`INPUT_SUCCESS`] Destroys axisEvent success.
1714 ///
1715 /// [`INPUT_PARAMETER_ERROR`]The axisEvent is NULL or the *axisEvent is NULL.
1716 ///
1717 ///
1718 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1719 ///
1720 /// Available since API-level: 12
1721 #[cfg(feature = "api-12")]
1722 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1723 pub fn OH_Input_DestroyAxisEvent(axisEvent: *mut *mut Input_AxisEvent) -> Input_Result;
1724 /// Sets the axis event action.
1725 ///
1726 /// # Arguments
1727 ///
1728 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1729 ///
1730 /// * `action` - Axis event action. The values are defined in [`InputEvent_AxisAction`].
1731 ///
1732 /// # Returns
1733 ///
1734 /// * OH_Input_SetAxisEventAction function result code.
1735 /// [`INPUT_SUCCESS`] Sets the axis event action success.
1736 ///
1737 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1738 ///
1739 ///
1740 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1741 ///
1742 /// Available since API-level: 12
1743 #[cfg(feature = "api-12")]
1744 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1745 pub fn OH_Input_SetAxisEventAction(
1746 axisEvent: *mut Input_AxisEvent,
1747 action: InputEvent_AxisAction,
1748 ) -> Input_Result;
1749 /// Obtains the axis event action.
1750 ///
1751 /// # Arguments
1752 ///
1753 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1754 ///
1755 /// * `action` - Axis event action. The values are defined in [`InputEvent_AxisAction`].
1756 ///
1757 /// # Returns
1758 ///
1759 /// * OH_Input_GetAxisEventAction function result code.
1760 /// [`INPUT_SUCCESS`] Obtains the axis event action success.
1761 ///
1762 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the action is NULL.
1763 ///
1764 ///
1765 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1766 ///
1767 /// Available since API-level: 12
1768 #[cfg(feature = "api-12")]
1769 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1770 pub fn OH_Input_GetAxisEventAction(
1771 axisEvent: *const Input_AxisEvent,
1772 action: *mut InputEvent_AxisAction,
1773 ) -> Input_Result;
1774 /// Sets the X coordinate of an axis event.
1775 ///
1776 /// # Arguments
1777 ///
1778 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1779 ///
1780 /// * `displayX` - X coordinate of the axis event.
1781 ///
1782 /// # Returns
1783 ///
1784 /// * OH_Input_SetAxisEventDisplayX function result code.
1785 /// [`INPUT_SUCCESS`] Sets the X coordinate of the axis event success.
1786 ///
1787 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1788 ///
1789 ///
1790 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1791 ///
1792 /// Available since API-level: 12
1793 #[cfg(feature = "api-12")]
1794 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1795 pub fn OH_Input_SetAxisEventDisplayX(
1796 axisEvent: *mut Input_AxisEvent,
1797 displayX: f32,
1798 ) -> Input_Result;
1799 /// Obtains the X coordinate of an axis event.
1800 ///
1801 /// # Arguments
1802 ///
1803 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1804 ///
1805 /// * `displayX` - X coordinate of the axis event.
1806 ///
1807 /// # Returns
1808 ///
1809 /// * OH_Input_GetAxisEventDisplayX function result code.
1810 /// [`INPUT_SUCCESS`] Obtains the X coordinate of the axis event success.
1811 ///
1812 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayX is NULL.
1813 ///
1814 ///
1815 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1816 ///
1817 /// Available since API-level: 12
1818 #[cfg(feature = "api-12")]
1819 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1820 pub fn OH_Input_GetAxisEventDisplayX(
1821 axisEvent: *const Input_AxisEvent,
1822 displayX: *mut f32,
1823 ) -> Input_Result;
1824 /// Sets the Y coordinate of an axis event.
1825 ///
1826 /// # Arguments
1827 ///
1828 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1829 ///
1830 /// * `displayY` - Y coordinate of the axis event.
1831 ///
1832 /// # Returns
1833 ///
1834 /// * OH_Input_SetAxisEventDisplayY function result code.
1835 /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
1836 ///
1837 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1838 ///
1839 ///
1840 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1841 ///
1842 /// Available since API-level: 12
1843 #[cfg(feature = "api-12")]
1844 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1845 pub fn OH_Input_SetAxisEventDisplayY(
1846 axisEvent: *mut Input_AxisEvent,
1847 displayY: f32,
1848 ) -> Input_Result;
1849 /// Obtains the Y coordinate of an axis event.
1850 ///
1851 /// # Arguments
1852 ///
1853 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1854 ///
1855 /// * `displayY` - Y coordinate of the axis event.
1856 ///
1857 /// # Returns
1858 ///
1859 /// * OH_Input_GetAxisEventDisplayY function result code.
1860 /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
1861 ///
1862 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
1863 ///
1864 ///
1865 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1866 ///
1867 /// Available since API-level: 12
1868 #[cfg(feature = "api-12")]
1869 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1870 pub fn OH_Input_GetAxisEventDisplayY(
1871 axisEvent: *const Input_AxisEvent,
1872 displayY: *mut f32,
1873 ) -> Input_Result;
1874 /// Sets the axis value of the axis type specified by the axis event.
1875 ///
1876 /// # Arguments
1877 ///
1878 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1879 ///
1880 /// * `axisType` - Axis type. The values are defined in [`InputEvent_AxisType`].
1881 ///
1882 /// * `axisValue` - Axis value.
1883 ///
1884 /// # Returns
1885 ///
1886 /// * OH_Input_SetAxisEventAxisValue function result code.
1887 /// [`INPUT_SUCCESS`] Sets the axis value of the axis event success.
1888 ///
1889 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1890 ///
1891 ///
1892 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1893 ///
1894 /// Available since API-level: 12
1895 #[cfg(feature = "api-12")]
1896 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1897 pub fn OH_Input_SetAxisEventAxisValue(
1898 axisEvent: *mut Input_AxisEvent,
1899 axisType: InputEvent_AxisType,
1900 axisValue: f64,
1901 ) -> Input_Result;
1902 /// Obtains the axis value for the specified axis type of the axis event.
1903 ///
1904 /// # Arguments
1905 ///
1906 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1907 ///
1908 /// * `axisType` - Axis type. The values are defined in [`InputEvent_AxisType`].
1909 ///
1910 /// * `axisValue` - Axis value.
1911 ///
1912 /// # Returns
1913 ///
1914 /// * OH_Input_GetAxisEventAxisValue function result code.
1915 /// [`INPUT_SUCCESS`] Obtains the axis value of the axis event success.
1916 ///
1917 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the axisValue is NULL,
1918 /// or the axisType not found in the axisEvent.
1919 ///
1920 ///
1921 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1922 ///
1923 /// Available since API-level: 12
1924 #[cfg(feature = "api-12")]
1925 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1926 pub fn OH_Input_GetAxisEventAxisValue(
1927 axisEvent: *const Input_AxisEvent,
1928 axisType: InputEvent_AxisType,
1929 axisValue: *mut f64,
1930 ) -> Input_Result;
1931 /// Sets the time when an axis event occurs.
1932 ///
1933 /// # Arguments
1934 ///
1935 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1936 ///
1937 /// * `actionTime` - Time when an axis event occurs.
1938 ///
1939 /// # Returns
1940 ///
1941 /// * OH_Input_SetAxisEventActionTime function result code.
1942 /// [`INPUT_SUCCESS`] Sets the time when an axis event occurs success.
1943 ///
1944 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1945 ///
1946 ///
1947 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1948 ///
1949 /// Available since API-level: 12
1950 #[cfg(feature = "api-12")]
1951 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1952 pub fn OH_Input_SetAxisEventActionTime(
1953 axisEvent: *mut Input_AxisEvent,
1954 actionTime: i64,
1955 ) -> Input_Result;
1956 /// Obtains the time when an axis event occurs.
1957 ///
1958 /// # Arguments
1959 ///
1960 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1961 ///
1962 /// * `actionTime` - Time when an axis event occurs.
1963 ///
1964 /// # Returns
1965 ///
1966 /// * OH_Input_GetAxisEventActionTime function result code.
1967 /// [`INPUT_SUCCESS`] Obtains the time when an axis event occurs success.
1968 ///
1969 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the actionTime is NULL.
1970 ///
1971 ///
1972 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1973 ///
1974 /// Available since API-level: 12
1975 #[cfg(feature = "api-12")]
1976 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1977 pub fn OH_Input_GetAxisEventActionTime(
1978 axisEvent: *const Input_AxisEvent,
1979 actionTime: *mut i64,
1980 ) -> Input_Result;
1981 /// Sets the axis event type.
1982 ///
1983 /// # Arguments
1984 ///
1985 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
1986 ///
1987 /// * `axisEventType` - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
1988 ///
1989 /// # Returns
1990 ///
1991 /// * OH_Input_SetAxisEventType function result code.
1992 /// [`INPUT_SUCCESS`] Sets the axis event type success.
1993 ///
1994 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
1995 ///
1996 ///
1997 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
1998 ///
1999 /// Available since API-level: 12
2000 #[cfg(feature = "api-12")]
2001 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2002 pub fn OH_Input_SetAxisEventType(
2003 axisEvent: *mut Input_AxisEvent,
2004 axisEventType: InputEvent_AxisEventType,
2005 ) -> Input_Result;
2006 /// Obtains the axis event type.
2007 ///
2008 /// # Arguments
2009 ///
2010 /// * `axisEvent` - Axis event object.
2011 ///
2012 /// * `axisEventType` - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
2013 ///
2014 /// # Returns
2015 ///
2016 /// * OH_Input_GetAxisEventType function result code.
2017 /// [`INPUT_SUCCESS`] Obtains the axis event type success.
2018 ///
2019 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the axisEventType is NULL.
2020 ///
2021 ///
2022 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2023 ///
2024 /// Available since API-level: 12
2025 #[cfg(feature = "api-12")]
2026 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2027 pub fn OH_Input_GetAxisEventType(
2028 axisEvent: *const Input_AxisEvent,
2029 axisEventType: *mut InputEvent_AxisEventType,
2030 ) -> Input_Result;
2031 /// Sets the axis event source type.
2032 ///
2033 /// # Arguments
2034 ///
2035 /// * `axisEvent` - Axis event object.
2036 ///
2037 /// * `sourceType` - Axis event source type. The values are defined in [`InputEvent_SourceType`].
2038 ///
2039 /// # Returns
2040 ///
2041 /// * OH_Input_SetAxisEventSourceType function result code.
2042 /// [`INPUT_SUCCESS`] Sets the axis event source type success.
2043 ///
2044 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
2045 ///
2046 ///
2047 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2048 ///
2049 /// Available since API-level: 12
2050 #[cfg(feature = "api-12")]
2051 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2052 pub fn OH_Input_SetAxisEventSourceType(
2053 axisEvent: *mut Input_AxisEvent,
2054 sourceType: InputEvent_SourceType,
2055 ) -> Input_Result;
2056 /// Obtains the axis event source type.
2057 ///
2058 /// # Arguments
2059 ///
2060 /// * `axisEvent` - Axis event object.
2061 ///
2062 /// * `sourceType` - Axis event source type. The values are defined in [`InputEvent_SourceType`].
2063 ///
2064 /// # Returns
2065 ///
2066 /// * OH_Input_GetAxisEventSourceType function result code.
2067 /// [`INPUT_SUCCESS`] Obtains the axis event source type success.
2068 ///
2069 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the sourceType is NULL.
2070 ///
2071 ///
2072 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2073 ///
2074 /// Available since API-level: 12
2075 #[cfg(feature = "api-12")]
2076 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2077 pub fn OH_Input_GetAxisEventSourceType(
2078 axisEvent: *const Input_AxisEvent,
2079 sourceType: *mut InputEvent_SourceType,
2080 ) -> Input_Result;
2081 /// Sets the windowId of an axis event.
2082 ///
2083 /// # Arguments
2084 ///
2085 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2086 ///
2087 /// * `windowId` - The windowId for the axis event.
2088 ///
2089 /// # Returns
2090 ///
2091 /// * OH_Input_SetAxisEventWindowId function result code.
2092 /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
2093 ///
2094 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
2095 ///
2096 ///
2097 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2098 ///
2099 /// Available since API-level: 15
2100 #[cfg(feature = "api-15")]
2101 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2102 pub fn OH_Input_SetAxisEventWindowId(
2103 axisEvent: *mut Input_AxisEvent,
2104 windowId: i32,
2105 ) -> Input_Result;
2106 /// Obtains the windowId of an axis event.
2107 ///
2108 /// # Arguments
2109 ///
2110 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2111 ///
2112 /// * `windowId` - The windowId for the axis event.
2113 ///
2114 /// # Returns
2115 ///
2116 /// * OH_Input_GetAxisEventWindowId function result code.
2117 /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
2118 ///
2119 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
2120 ///
2121 ///
2122 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2123 ///
2124 /// Available since API-level: 15
2125 #[cfg(feature = "api-15")]
2126 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2127 pub fn OH_Input_GetAxisEventWindowId(
2128 axisEvent: *const Input_AxisEvent,
2129 windowId: *mut i32,
2130 ) -> Input_Result;
2131 /// Sets the displayId of an axis event.
2132 ///
2133 /// # Arguments
2134 ///
2135 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2136 ///
2137 /// * `displayId` - The displayId for the axis event.
2138 ///
2139 /// # Returns
2140 ///
2141 /// * OH_Input_SetAxisEventDisplayId function result code.
2142 /// [`INPUT_SUCCESS`] Sets the Y coordinate of the axis event success.
2143 ///
2144 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
2145 ///
2146 ///
2147 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2148 ///
2149 /// Available since API-level: 15
2150 #[cfg(feature = "api-15")]
2151 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2152 pub fn OH_Input_SetAxisEventDisplayId(
2153 axisEvent: *mut Input_AxisEvent,
2154 displayId: i32,
2155 ) -> Input_Result;
2156 /// Obtains the displayId of an axis event.
2157 ///
2158 /// # Arguments
2159 ///
2160 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2161 ///
2162 /// * `displayId` - The displayId for the axis event.
2163 ///
2164 /// # Returns
2165 ///
2166 /// * OH_Input_GetAxisEventDisplayId function result code.
2167 /// [`INPUT_SUCCESS`] Obtains the Y coordinate of the axis event success.
2168 ///
2169 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the displayY is NULL.
2170 ///
2171 ///
2172 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2173 ///
2174 /// Available since API-level: 15
2175 #[cfg(feature = "api-15")]
2176 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2177 pub fn OH_Input_GetAxisEventDisplayId(
2178 axisEvent: *const Input_AxisEvent,
2179 displayId: *mut i32,
2180 ) -> Input_Result;
2181 /// Set the global X coordinate of the axis event.
2182 ///
2183 /// # Arguments
2184 ///
2185 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2186 ///
2187 /// * `globalX` - Global X coordinate.
2188 ///
2189 /// # Returns
2190 ///
2191 /// * OH_Input_SetAxisEventGlobalX function result code.
2192 /// [`INPUT_SUCCESS`] Success.
2193 ///
2194 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
2195 ///
2196 ///
2197 /// Available since API-level: 20
2198 #[cfg(feature = "api-20")]
2199 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2200 pub fn OH_Input_SetAxisEventGlobalX(
2201 axisEvent: *mut Input_AxisEvent,
2202 globalX: i32,
2203 ) -> Input_Result;
2204 /// Queries the global X coordinate of the axis event.
2205 ///
2206 /// # Arguments
2207 ///
2208 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2209 ///
2210 /// * `globalX` - Global X coordinate.
2211 ///
2212 /// # Returns
2213 ///
2214 /// * OH_Input_GetAxisEventGlobalX function result code.
2215 /// [`INPUT_SUCCESS`] Success.
2216 ///
2217 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the globalX is NULL.
2218 ///
2219 ///
2220 /// Available since API-level: 20
2221 #[cfg(feature = "api-20")]
2222 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2223 pub fn OH_Input_GetAxisEventGlobalX(
2224 axisEvent: *const Input_AxisEvent,
2225 globalX: *mut i32,
2226 ) -> Input_Result;
2227 /// Set the global Y coordinate of the axis event.
2228 ///
2229 /// # Arguments
2230 ///
2231 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2232 ///
2233 /// * `globalY` - Global Y coordinate.
2234 ///
2235 /// # Returns
2236 ///
2237 /// * OH_Input_SetAxisEventGlobalY function result code.
2238 /// [`INPUT_SUCCESS`] Success.
2239 ///
2240 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL.
2241 ///
2242 ///
2243 /// Available since API-level: 20
2244 #[cfg(feature = "api-20")]
2245 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2246 pub fn OH_Input_SetAxisEventGlobalY(
2247 axisEvent: *mut Input_AxisEvent,
2248 globalY: i32,
2249 ) -> Input_Result;
2250 /// Queries the global Y coordinate of the axis event.
2251 ///
2252 /// # Arguments
2253 ///
2254 /// * `axisEvent` - Axis event object. For details, see [`Input_AxisEvent`].
2255 ///
2256 /// * `globalY` - Global Y coordinate.
2257 ///
2258 /// # Returns
2259 ///
2260 /// * OH_Input_GetAxisEventGlobalY function result code.
2261 /// [`INPUT_SUCCESS`] Success.
2262 ///
2263 /// [`INPUT_PARAMETER_ERROR`] The axisEvent is NULL or the globalY is NULL.
2264 ///
2265 ///
2266 /// Available since API-level: 20
2267 #[cfg(feature = "api-20")]
2268 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2269 pub fn OH_Input_GetAxisEventGlobalY(
2270 axisEvent: *const Input_AxisEvent,
2271 globalY: *mut i32,
2272 ) -> Input_Result;
2273 /// Adds a listener of key events.
2274 ///
2275 /// ohos.permission.INPUT_MONITORING
2276 /// # Arguments
2277 ///
2278 /// * `callback` - - Callback used to receive key events.
2279 ///
2280 /// # Returns
2281 ///
2282 /// * OH_Input_AddKeyEventMonitor function result code.
2283 /// [`INPUT_SUCCESS`] Adds a listener of key events success.
2284 ///
2285 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2286 ///
2287 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2288 ///
2289 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
2290 ///
2291 ///
2292 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2293 ///
2294 /// Available since API-level: 12
2295 #[cfg(feature = "api-12")]
2296 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2297 pub fn OH_Input_AddKeyEventMonitor(callback: Input_KeyEventCallback) -> Input_Result;
2298 /// Adds a listener for mouse events, including mouse click and movement events,
2299 /// but not scroll wheel events. Scroll wheel events are axis events.
2300 ///
2301 /// ohos.permission.INPUT_MONITORING
2302 /// # Arguments
2303 ///
2304 /// * `callback` - - Callback used to receive mouse events.
2305 ///
2306 /// # Returns
2307 ///
2308 /// * OH_Input_AddMouseEventMonitor function result code.
2309 /// [`INPUT_SUCCESS`] Adds a listener of mouse events success.
2310 ///
2311 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2312 ///
2313 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2314 ///
2315 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
2316 ///
2317 ///
2318 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2319 ///
2320 /// Available since API-level: 12
2321 #[cfg(feature = "api-12")]
2322 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2323 pub fn OH_Input_AddMouseEventMonitor(callback: Input_MouseEventCallback) -> Input_Result;
2324 /// Add a listener for touch events.
2325 ///
2326 /// ohos.permission.INPUT_MONITORING
2327 /// # Arguments
2328 ///
2329 /// * `callback` - - Callback used to receive touch events.
2330 ///
2331 /// # Returns
2332 ///
2333 /// * OH_Input_AddTouchEventMonitor function result code.
2334 /// [`INPUT_SUCCESS`] Adds a listener of touch events success.
2335 ///
2336 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2337 ///
2338 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2339 ///
2340 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
2341 ///
2342 ///
2343 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2344 ///
2345 /// Available since API-level: 12
2346 #[cfg(feature = "api-12")]
2347 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2348 pub fn OH_Input_AddTouchEventMonitor(callback: Input_TouchEventCallback) -> Input_Result;
2349 /// Adds a listener for all types of axis events.
2350 /// The axis event types are defined in [`InputEvent_AxisEventType`].
2351 ///
2352 /// ohos.permission.INPUT_MONITORING
2353 /// # Arguments
2354 ///
2355 /// * `callback` - - Callback used to receive axis events.
2356 ///
2357 /// # Returns
2358 ///
2359 /// * OH_Input_AddAxisEventMonitorForAll function result code.
2360 /// [`INPUT_SUCCESS`] Adds a listener for all types of axis events success.
2361 ///
2362 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2363 ///
2364 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2365 ///
2366 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
2367 ///
2368 ///
2369 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2370 ///
2371 /// Available since API-level: 12
2372 #[cfg(feature = "api-12")]
2373 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2374 pub fn OH_Input_AddAxisEventMonitorForAll(callback: Input_AxisEventCallback) -> Input_Result;
2375 /// Adds a listener for the specified type of axis events.
2376 ///
2377 /// ohos.permission.INPUT_MONITORING
2378 /// # Arguments
2379 ///
2380 /// * `axisEventType` - - Axis event type. The values are defined in [`InputEvent_AxisEventType`].
2381 ///
2382 /// * `callback` - - Callback used to receive the specified type of axis events.
2383 ///
2384 /// # Returns
2385 ///
2386 /// * OH_Input_AddAxisEventMonitor function result code.
2387 /// [`INPUT_SUCCESS`] Adds a listener for the specified types of axis events success.
2388 ///
2389 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2390 ///
2391 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2392 ///
2393 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the monitor because the service is exception.
2394 ///
2395 ///
2396 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2397 ///
2398 /// Available since API-level: 12
2399 #[cfg(feature = "api-12")]
2400 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2401 pub fn OH_Input_AddAxisEventMonitor(
2402 axisEventType: InputEvent_AxisEventType,
2403 callback: Input_AxisEventCallback,
2404 ) -> Input_Result;
2405 /// Removes a key event listener.
2406 ///
2407 /// ohos.permission.INPUT_MONITORING
2408 /// # Arguments
2409 ///
2410 /// * `callback` - - Callback for the key event listener.
2411 ///
2412 /// # Returns
2413 ///
2414 /// * OH_Input_RemoveKeyEventMonitor function result code.
2415 /// [`INPUT_SUCCESS`] Removes a key event listener success.
2416 ///
2417 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2418 ///
2419 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2420 ///
2421 /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2422 ///
2423 ///
2424 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2425 ///
2426 /// Available since API-level: 12
2427 #[cfg(feature = "api-12")]
2428 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2429 pub fn OH_Input_RemoveKeyEventMonitor(callback: Input_KeyEventCallback) -> Input_Result;
2430 /// Removes a mouse event listener.
2431 ///
2432 /// ohos.permission.INPUT_MONITORING
2433 /// # Arguments
2434 ///
2435 /// * `callback` - - Callback for the mouse event listener.
2436 ///
2437 /// # Returns
2438 ///
2439 /// * OH_Input_RemoveMouseEventMonitor function result code.
2440 /// [`INPUT_SUCCESS`] Removes a mouse event listener success.
2441 ///
2442 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2443 ///
2444 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2445 ///
2446 /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2447 ///
2448 ///
2449 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2450 ///
2451 /// Available since API-level: 12
2452 #[cfg(feature = "api-12")]
2453 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2454 pub fn OH_Input_RemoveMouseEventMonitor(callback: Input_MouseEventCallback) -> Input_Result;
2455 /// Removes a touch event listener.
2456 ///
2457 /// ohos.permission.INPUT_MONITORING
2458 /// # Arguments
2459 ///
2460 /// * `callback` - - Callback for the touch event listener.
2461 ///
2462 /// # Returns
2463 ///
2464 /// * OH_Input_RemoveTouchEventMonitor function result code.
2465 /// [`INPUT_SUCCESS`] Removes a touch event listener success.
2466 ///
2467 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2468 ///
2469 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2470 ///
2471 /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2472 ///
2473 ///
2474 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2475 ///
2476 /// Available since API-level: 12
2477 #[cfg(feature = "api-12")]
2478 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2479 pub fn OH_Input_RemoveTouchEventMonitor(callback: Input_TouchEventCallback) -> Input_Result;
2480 /// Removes the listener for all types of axis events.
2481 ///
2482 /// ohos.permission.INPUT_MONITORING
2483 /// # Arguments
2484 ///
2485 /// * `callback` - - Callback for the listener used to listen for all types of axis events.
2486 ///
2487 /// # Returns
2488 ///
2489 /// * OH_Input_RemoveAxisEventMonitorForAll function result code.
2490 /// [`INPUT_SUCCESS`] Removes the listener for all types of axis events success.
2491 ///
2492 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2493 ///
2494 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2495 ///
2496 /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2497 ///
2498 ///
2499 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2500 ///
2501 /// Available since API-level: 12
2502 #[cfg(feature = "api-12")]
2503 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2504 pub fn OH_Input_RemoveAxisEventMonitorForAll(callback: Input_AxisEventCallback)
2505 -> Input_Result;
2506 /// Removes the listener for the specified type of axis events.
2507 ///
2508 /// ohos.permission.INPUT_MONITORING
2509 /// # Arguments
2510 ///
2511 /// * `axisEventType` - - Axis event type. The axis event type is defined in [`InputEvent_AxisEventType`].
2512 ///
2513 /// * `callback` - - Callback for the listener used to listen for the specified type of axis events.
2514 ///
2515 /// # Returns
2516 ///
2517 /// * OH_Input_RemoveAxisEventMonitor function result code.
2518 /// [`INPUT_SUCCESS`] Removes the listener for the specified type of axis events success.
2519 ///
2520 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2521 ///
2522 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL or has not been added.
2523 ///
2524 /// [`INPUT_SERVICE_EXCEPTION`] Fail to remove the monitor because the service is exception.
2525 ///
2526 ///
2527 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2528 ///
2529 /// Available since API-level: 12
2530 #[cfg(feature = "api-12")]
2531 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2532 pub fn OH_Input_RemoveAxisEventMonitor(
2533 axisEventType: InputEvent_AxisEventType,
2534 callback: Input_AxisEventCallback,
2535 ) -> Input_Result;
2536 /// Adds a key event interceptor. If multiple interceptors are added, only the first one takes effect.
2537 ///
2538 /// ohos.permission.INTERCEPT_INPUT_EVENT
2539 /// # Arguments
2540 ///
2541 /// * `callback` - - Callback used to receive key events.
2542 ///
2543 /// * `option` - - Options for event interception. If **null** is passed, the default value is used.
2544 ///
2545 /// # Returns
2546 ///
2547 /// * OH_Input_AddKeyEventInterceptor function result code.
2548 /// [`INPUT_SUCCESS`] Adds a key event interceptor success.
2549 ///
2550 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2551 ///
2552 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2553 ///
2554 /// [`INPUT_REPEAT_INTERCEPTOR`] Interceptor repeatedly created for an application.
2555 ///
2556 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the interceptor because the service is exception.
2557 ///
2558 ///
2559 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2560 ///
2561 /// Available since API-level: 12
2562 #[cfg(feature = "api-12")]
2563 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2564 pub fn OH_Input_AddKeyEventInterceptor(
2565 callback: Input_KeyEventCallback,
2566 option: *mut Input_InterceptorOptions,
2567 ) -> Input_Result;
2568 /// Adds an interceptor for input events, including mouse, touch, and axis events.
2569 /// If multiple interceptors are added, only the first one takes effect.
2570 ///
2571 /// ohos.permission.INTERCEPT_INPUT_EVENT
2572 /// # Arguments
2573 ///
2574 /// * `callback` - - Pointer to the structure of the callback for the input event interceptor.
2575 /// For details, see [`Input_InterceptorEventCallback`].
2576 ///
2577 /// * `option` - - Options for event interception. If **null** is passed, the default value is used.
2578 ///
2579 /// # Returns
2580 ///
2581 /// * OH_Input_AddInputEventInterceptor function result code.
2582 /// [`INPUT_SUCCESS`] Adds an interceptor for input events success.
2583 ///
2584 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2585 ///
2586 /// [`INPUT_PARAMETER_ERROR`] The callback is NULL.
2587 ///
2588 /// [`INPUT_REPEAT_INTERCEPTOR`] Interceptor repeatedly created for an application.
2589 ///
2590 /// [`INPUT_SERVICE_EXCEPTION`] Failed to add the interceptor because the service is exception.
2591 ///
2592 ///
2593 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2594 ///
2595 /// Available since API-level: 12
2596 #[cfg(feature = "api-12")]
2597 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2598 pub fn OH_Input_AddInputEventInterceptor(
2599 callback: *mut Input_InterceptorEventCallback,
2600 option: *mut Input_InterceptorOptions,
2601 ) -> Input_Result;
2602 /// Removes a key event interceptor.
2603 ///
2604 /// ohos.permission.INTERCEPT_INPUT_EVENT
2605 ///
2606 /// # Returns
2607 ///
2608 /// * OH_Input_RemoveKeyEventInterceptor function result code.
2609 /// [`INPUT_SUCCESS`]Removes a key event interceptor success.
2610 ///
2611 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2612 ///
2613 /// [`INPUT_SERVICE_EXCEPTION`] Failed to remove the interceptor because the service is exception.
2614 ///
2615 ///
2616 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2617 ///
2618 /// Available since API-level: 12
2619 #[cfg(feature = "api-12")]
2620 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2621 pub fn OH_Input_RemoveKeyEventInterceptor() -> Input_Result;
2622 /// Removes an interceptor for input events, including mouse, touch, and axis events.
2623 ///
2624 /// ohos.permission.INTERCEPT_INPUT_EVENT
2625 ///
2626 /// # Returns
2627 ///
2628 /// * OH_Input_RemoveInputEventInterceptor function result code.
2629 /// [`INPUT_SUCCESS`] Removes an interceptor for input events success.
2630 ///
2631 /// [`INPUT_PERMISSION_DENIED`] Permission verification failed.
2632 ///
2633 /// [`INPUT_SERVICE_EXCEPTION`] Failed to remove the interceptor because the service is exception.
2634 ///
2635 ///
2636 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2637 ///
2638 /// Available since API-level: 12
2639 #[cfg(feature = "api-12")]
2640 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2641 pub fn OH_Input_RemoveInputEventInterceptor() -> Input_Result;
2642 /// Obtains the interval since the last system input event.
2643 ///
2644 /// # Arguments
2645 ///
2646 /// * `timeInterval` - Interval, in microseconds.
2647 ///
2648 /// # Returns
2649 ///
2650 /// * OH_Input_GetIntervalSinceLastInput status code, specifically.
2651 /// [`INPUT_SUCCESS`] if the Operation is successful.
2652 ///
2653 /// [`INPUT_SERVICE_EXCEPTION`] Failed to get the interval because the service is exception.
2654 ///
2655 /// [`INPUT_PARAMETER_ERROR`] The timeInterval is NULL.
2656 ///
2657 ///
2658 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2659 ///
2660 /// Available since API-level: 14
2661 #[cfg(feature = "api-14")]
2662 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2663 pub fn OH_Input_GetIntervalSinceLastInput(timeInterval: *mut i64) -> Input_Result;
2664 /// Creates a hot key object.
2665 ///
2666 ///
2667 /// # Returns
2668 ///
2669 /// * Returns an [`Input_Hotkey`] pointer object if the operation is successful. Otherwise, a null pointer is
2670 /// returned. The possible cause is memory allocation failure.
2671 ///
2672 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2673 ///
2674 /// Available since API-level: 14
2675 #[cfg(feature = "api-14")]
2676 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2677 pub fn OH_Input_CreateHotkey() -> *mut Input_Hotkey;
2678 /// Destroys a hot key object.
2679 ///
2680 /// # Arguments
2681 ///
2682 /// * `hotkey` - Hot key object.
2683 ///
2684 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2685 ///
2686 /// Available since API-level: 14
2687 #[cfg(feature = "api-14")]
2688 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2689 pub fn OH_Input_DestroyHotkey(hotkey: *mut *mut Input_Hotkey);
2690 /// Sets a modifier key.
2691 ///
2692 /// # Arguments
2693 ///
2694 /// * `hotkey` - Hotkey key object.
2695 ///
2696 /// * `preKeys` - List of modifier keys.
2697 ///
2698 /// * `size` - Number of modifier keys. One or two modifier keys are supported.
2699 ///
2700 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2701 ///
2702 /// Available since API-level: 14
2703 #[cfg(feature = "api-14")]
2704 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2705 pub fn OH_Input_SetPreKeys(hotkey: *mut Input_Hotkey, preKeys: *mut i32, size: i32);
2706 /// Obtains a modifier key.
2707 ///
2708 /// # Arguments
2709 ///
2710 /// * `hotkey` - Hotkey key object.
2711 ///
2712 /// * `preKeys` - List of modifier keys.
2713 ///
2714 /// * `preKeyCount` - Number of modifier keys.
2715 ///
2716 /// # Returns
2717 ///
2718 /// * OH_Input_GetPreKeys status code, specifically,
2719 /// [`INPUT_SUCCESS`] if the operation is successful;
2720 ///
2721 /// [`INPUT_PARAMETER_ERROR`] The hotkey is NULL or the pressedKeys is NULL or the pressedKeyCount
2722 /// is NULL;
2723 ///
2724 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2725 ///
2726 ///
2727 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2728 ///
2729 /// Available since API-level: 14
2730 #[cfg(feature = "api-14")]
2731 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2732 pub fn OH_Input_GetPreKeys(
2733 hotkey: *const Input_Hotkey,
2734 preKeys: *mut *mut i32,
2735 preKeyCount: *mut i32,
2736 ) -> Input_Result;
2737 /// Sets a modified key.
2738 ///
2739 /// # Arguments
2740 ///
2741 /// * `hotkey` - Hotkey key object.
2742 ///
2743 /// * `finalKey` - Modified key. Only one modified key is supported.
2744 ///
2745 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2746 ///
2747 /// Available since API-level: 14
2748 #[cfg(feature = "api-14")]
2749 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2750 pub fn OH_Input_SetFinalKey(hotkey: *mut Input_Hotkey, finalKey: i32);
2751 /// Obtains a modified key.
2752 ///
2753 /// # Arguments
2754 ///
2755 /// * `hotkey` - Hotkey key object.
2756 ///
2757 /// * `finalKeyCode` - Returns the key value of the decorated key.
2758 ///
2759 /// # Returns
2760 ///
2761 /// * OH_Input_GetFinalKey status code, specifically,
2762 /// [`INPUT_SUCCESS`] if the operation is successful;
2763 ///
2764 /// [`INPUT_PARAMETER_ERROR`] The hotkey is NULL or the finalKeyCode is NULL;
2765 ///
2766 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2767 ///
2768 ///
2769 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2770 ///
2771 /// Available since API-level: 14
2772 #[cfg(feature = "api-14")]
2773 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2774 pub fn OH_Input_GetFinalKey(
2775 hotkey: *const Input_Hotkey,
2776 finalKeyCode: *mut i32,
2777 ) -> Input_Result;
2778 /// Creates an array of [`Input_Hotkey`] instances.
2779 ///
2780 /// # Arguments
2781 ///
2782 /// * `count` - Number of [`Input_Hotkey`] instances to be created. The count must be the same as the number of
2783 /// system shortcut keys.
2784 ///
2785 /// # Returns
2786 ///
2787 /// * Returns a pointer to an array of [`Input_Hotkey`] instances if the operation is successful. If the
2788 /// operation fails, a null pointer is returned. The possible cause is memory allocation failure or count is not equal
2789 /// to the number of system hotkeys.
2790 ///
2791 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2792 ///
2793 /// Available since API-level: 14
2794 #[cfg(feature = "api-14")]
2795 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2796 pub fn OH_Input_CreateAllSystemHotkeys(count: i32) -> *mut *mut Input_Hotkey;
2797 /// Destroys an array of [`Input_Hotkey`] instances and reclaims memory.
2798 ///
2799 /// # Arguments
2800 ///
2801 /// * `hotkeys` - Pointer to an array of [`Input_Hotkey`] instances created by the
2802 /// [`OH_Input_CreateAllSystemHotkeys`] method.
2803 ///
2804 /// * `count` - Count of the array to be destroyed, which must be the same as the number of system shortcut keys.
2805 ///
2806 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2807 ///
2808 /// Available since API-level: 14
2809 #[cfg(feature = "api-14")]
2810 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2811 pub fn OH_Input_DestroyAllSystemHotkeys(hotkeys: *mut *mut Input_Hotkey, count: i32);
2812 /// Obtains all hot keys supported by the system.
2813 ///
2814 /// # Arguments
2815 ///
2816 /// * `hotkey` - Array of [`Input_Hotkey`] instances.
2817 /// When calling this API for the first time, you can pass NULL to obtain the array length.
2818 ///
2819 /// * `count` - Number of hot keys supported by the system.
2820 ///
2821 /// # Returns
2822 ///
2823 /// * OH_Input_GetAllSystemHotkeys status code, specifically,
2824 /// [`INPUT_SUCCESS`] if the operation is successful;
2825 ///
2826 /// [`INPUT_PARAMETER_ERROR`] The hotkey or count is NULL, or the value of count does not match the number
2827 /// of system shortcut keys supported by the system;
2828 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2829 ///
2830 ///
2831 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2832 ///
2833 /// Available since API-level: 14
2834 #[cfg(feature = "api-14")]
2835 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2836 pub fn OH_Input_GetAllSystemHotkeys(
2837 hotkey: *mut *mut Input_Hotkey,
2838 count: *mut i32,
2839 ) -> Input_Result;
2840 /// Specifies whether to report repeated key events.
2841 ///
2842 /// # Arguments
2843 ///
2844 /// * `hotkey` - Shortcut key object.
2845 ///
2846 /// * `isRepeat` - Whether to report repeated key events.
2847 /// The value <b>true</b> means to report repeated key events, and the value <b>false</b> means the opposite.
2848 ///
2849 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2850 ///
2851 /// Available since API-level: 14
2852 #[cfg(feature = "api-14")]
2853 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2854 pub fn OH_Input_SetRepeat(hotkey: *mut Input_Hotkey, isRepeat: bool);
2855 /// Checks whether to report repeated key events.
2856 ///
2857 /// # Arguments
2858 ///
2859 /// * `hotkey` - Shortcut key object.
2860 ///
2861 /// * `isRepeat` - Whether a key event is repeated.
2862 ///
2863 /// # Returns
2864 ///
2865 /// * OH_Input_GetRepeat status code, specifically,
2866 /// [`INPUT_SUCCESS`] if the operation is successful;
2867 ///
2868 /// [`INPUT_PARAMETER_ERROR`] otherwise;
2869 ///
2870 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2871 ///
2872 ///
2873 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2874 ///
2875 /// Available since API-level: 14
2876 #[cfg(feature = "api-14")]
2877 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2878 pub fn OH_Input_GetRepeat(hotkey: *const Input_Hotkey, isRepeat: *mut bool) -> Input_Result;
2879 /// Subscribes to shortcut key events.
2880 ///
2881 /// # Arguments
2882 ///
2883 /// * `hotkey` - Shortcut key object.
2884 ///
2885 /// * `callback` - Callback used to return shortcut key events.
2886 ///
2887 /// # Returns
2888 ///
2889 /// * OH_Input_AddHotkeyMonitor status code, specifically,
2890 /// [`INPUT_SUCCESS`] if the operation is successful;
2891 ///
2892 /// [`INPUT_PARAMETER_ERROR`] if hotkey or callback is NULL;
2893 ///
2894 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported;
2895 ///
2896 /// [`INPUT_OCCUPIED_BY_SYSTEM`] The hotkey has been used by the system. You can call the [`GetAllSystemHotkeys`] interface to query all system shortcut keys.
2897 ///
2898 /// [`INPUT_OCCUPIED_BY_OTHER`] The hotkey has been subscribed to by another.
2899 ///
2900 ///
2901 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2902 ///
2903 /// Available since API-level: 14
2904 #[cfg(feature = "api-14")]
2905 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2906 pub fn OH_Input_AddHotkeyMonitor(
2907 hotkey: *const Input_Hotkey,
2908 callback: Input_HotkeyCallback,
2909 ) -> Input_Result;
2910 /// Unsubscribes from shortcut key events.
2911 ///
2912 /// # Arguments
2913 ///
2914 /// * `hotkey` - Shortcut key object.
2915 ///
2916 /// * `callback` - Callback used to return shortcut key events.
2917 ///
2918 /// # Returns
2919 ///
2920 /// * OH_Input_RemoveHotkeyMonitor status code, specifically,
2921 /// [`INPUT_SUCCESS`] if the operation is successful;
2922 ///
2923 /// [`INPUT_PARAMETER_ERROR`] if hotkey or callback is NULL;
2924 ///
2925 /// [`INPUT_DEVICE_NOT_SUPPORTED`] Capability not supported.
2926 ///
2927 ///
2928 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2929 ///
2930 /// Available since API-level: 14
2931 #[cfg(feature = "api-14")]
2932 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2933 pub fn OH_Input_RemoveHotkeyMonitor(
2934 hotkey: *const Input_Hotkey,
2935 callback: Input_HotkeyCallback,
2936 ) -> Input_Result;
2937 /// Obtains the IDs of all input devices.
2938 ///
2939 /// # Arguments
2940 ///
2941 /// * `deviceIds` - Array of input device IDs.
2942 ///
2943 /// * `inSize` - Size of the array of input device IDs.
2944 ///
2945 /// * `outSize` - Length of the list of input device IDs. The value cannot be greater than the value of inSize.
2946 ///
2947 /// # Returns
2948 ///
2949 /// * OH_Input_GetDeviceIds result code, specifically,
2950 /// [`INPUT_SUCCESS`] if the operation is successful;
2951 /// [`INPUT_PARAMETER_ERROR`] if deviceIds or outSize is a null pointer or inSize is less than 0.
2952 ///
2953 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2954 ///
2955 /// Available since API-level: 13
2956 #[cfg(feature = "api-13")]
2957 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2958 pub fn OH_Input_GetDeviceIds(
2959 deviceIds: *mut i32,
2960 inSize: i32,
2961 outSize: *mut i32,
2962 ) -> Input_Result;
2963 /// Obtains the information about an input device.
2964 ///
2965 /// # Arguments
2966 ///
2967 /// * `deviceId` - Device ID.
2968 ///
2969 /// * `deviceInfo` - Pointer to an [`Input_DeviceInfo`] object.
2970 ///
2971 /// # Returns
2972 ///
2973 /// * OH_Input_GetDevice result code, specifically,
2974 /// [`INPUT_SUCCESS`] if the operation is successful;
2975 /// [`INPUT_PARAMETER_ERROR`] if the deviceInfo is a null pointer or the deviceId is invalid.
2976 /// You can use the [`OH_Input_GetDeviceIds`] interface to query the device IDs supported by the system.
2977 ///
2978 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2979 ///
2980 /// Available since API-level: 13
2981 #[cfg(feature = "api-13")]
2982 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
2983 pub fn OH_Input_GetDevice(
2984 deviceId: i32,
2985 deviceInfo: *mut *mut Input_DeviceInfo,
2986 ) -> Input_Result;
2987 /// Creates a deviceInfo object.
2988 ///
2989 ///
2990 /// # Returns
2991 ///
2992 /// * Pointer to an [`Input_DeviceInfo`] object if the operation is successful;
2993 /// a null pointer otherwise (possibly because of a memory allocation failure).
2994 ///
2995 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
2996 ///
2997 /// Available since API-level: 13
2998 #[cfg(feature = "api-13")]
2999 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3000 pub fn OH_Input_CreateDeviceInfo() -> *mut Input_DeviceInfo;
3001 /// Destroys a deviceInfo object.
3002 ///
3003 /// # Arguments
3004 ///
3005 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3006 ///
3007 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3008 ///
3009 /// Available since API-level: 13
3010 #[cfg(feature = "api-13")]
3011 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3012 pub fn OH_Input_DestroyDeviceInfo(deviceInfo: *mut *mut Input_DeviceInfo);
3013 /// Obtains the keyboard type of an input device.
3014 ///
3015 /// # Arguments
3016 ///
3017 /// * `deviceId` - Device ID.
3018 ///
3019 /// * `keyboardType` - Pointer to the keyboard type of the input device.
3020 ///
3021 /// # Returns
3022 ///
3023 /// * OH_Input_GetKeyboardType result code, specifically,
3024 /// [`INPUT_SUCCESS`] if the operation is successful;
3025 /// [`INPUT_PARAMETER_ERROR`] if the device ID is invalid or keyboardType is a null pointer.
3026 ///
3027 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3028 ///
3029 /// Available since API-level: 13
3030 #[cfg(feature = "api-13")]
3031 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3032 pub fn OH_Input_GetKeyboardType(deviceId: i32, keyboardType: *mut i32) -> Input_Result;
3033 /// Obtains the ID of an input device.
3034 ///
3035 /// # Arguments
3036 ///
3037 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3038 ///
3039 /// * `id` - Pointer to the ID of the input device.
3040 ///
3041 /// # Returns
3042 ///
3043 /// * OH_Input_GetDeviceId result code, specifically,
3044 /// [`INPUT_SUCCESS`] if the operation is successful;
3045 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or id is a null pointer.
3046 ///
3047 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3048 ///
3049 /// Available since API-level: 13
3050 #[cfg(feature = "api-13")]
3051 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3052 pub fn OH_Input_GetDeviceId(deviceInfo: *mut Input_DeviceInfo, id: *mut i32) -> Input_Result;
3053 /// Obtains the name of an input device.
3054 ///
3055 /// # Arguments
3056 ///
3057 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3058 ///
3059 /// * `name` - Pointer to the name of the input device.
3060 ///
3061 /// # Returns
3062 ///
3063 /// * OH_Input_GetDeviceName result code, specifically,
3064 /// [`INPUT_SUCCESS`] if the operation is successful;
3065 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or name is a null pointer.
3066 ///
3067 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3068 ///
3069 /// Available since API-level: 13
3070 #[cfg(feature = "api-13")]
3071 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3072 pub fn OH_Input_GetDeviceName(
3073 deviceInfo: *mut Input_DeviceInfo,
3074 name: *mut *mut ::core::ffi::c_char,
3075 ) -> Input_Result;
3076 /// Obtains the capabilities of an input device, for example, a touchscreen, touchpad, or keyboard.
3077 ///
3078 /// # Arguments
3079 ///
3080 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3081 ///
3082 /// * `capabilities` - Pointer to the capabilities of the input device.
3083 ///
3084 /// # Returns
3085 ///
3086 /// * OH_Input_GetCapabilities result code, specifically,
3087 /// [`INPUT_SUCCESS`] if the operation is successful;
3088 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or capabilities is a null pointer.
3089 ///
3090 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3091 ///
3092 /// Available since API-level: 13
3093 #[cfg(feature = "api-13")]
3094 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3095 pub fn OH_Input_GetCapabilities(
3096 deviceInfo: *mut Input_DeviceInfo,
3097 capabilities: *mut i32,
3098 ) -> Input_Result;
3099 /// Obtains the version information of an input device.
3100 ///
3101 /// # Arguments
3102 ///
3103 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3104 ///
3105 /// * `version` - Pointer to the version information of the input device.
3106 ///
3107 /// # Returns
3108 ///
3109 /// * OH_Input_GetDeviceVersion result code, specifically,
3110 /// [`INPUT_SUCCESS`] if the operation is successful;
3111 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or version is a null pointer.
3112 ///
3113 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3114 ///
3115 /// Available since API-level: 13
3116 #[cfg(feature = "api-13")]
3117 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3118 pub fn OH_Input_GetDeviceVersion(
3119 deviceInfo: *mut Input_DeviceInfo,
3120 version: *mut i32,
3121 ) -> Input_Result;
3122 /// Obtains the product information of an input device.
3123 ///
3124 /// # Arguments
3125 ///
3126 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3127 ///
3128 /// * `product` - Pointer to the product information of the input device.
3129 ///
3130 /// # Returns
3131 ///
3132 /// * OH_Input_GetDeviceProduct result code, specifically,
3133 /// [`INPUT_SUCCESS`] if the operation is successful;
3134 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or product is a null pointer.
3135 ///
3136 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3137 ///
3138 /// Available since API-level: 13
3139 #[cfg(feature = "api-13")]
3140 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3141 pub fn OH_Input_GetDeviceProduct(
3142 deviceInfo: *mut Input_DeviceInfo,
3143 product: *mut i32,
3144 ) -> Input_Result;
3145 /// Obtains the vendor information of an input device.
3146 ///
3147 /// # Arguments
3148 ///
3149 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3150 ///
3151 /// * `vendor` - Pointer to the vendor information of the input device.
3152 ///
3153 /// # Returns
3154 ///
3155 /// * OH_Input_GetDeviceVendor result code, specifically,
3156 /// [`INPUT_SUCCESS`] if the operation is successful;
3157 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or vendor is a null pointer.
3158 ///
3159 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3160 ///
3161 /// Available since API-level: 13
3162 #[cfg(feature = "api-13")]
3163 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3164 pub fn OH_Input_GetDeviceVendor(
3165 deviceInfo: *mut Input_DeviceInfo,
3166 vendor: *mut i32,
3167 ) -> Input_Result;
3168 /// Obtains the physical address of an input device.
3169 ///
3170 /// # Arguments
3171 ///
3172 /// * `deviceInfo` - information object. For details, see [`Input_DeviceInfo`].
3173 ///
3174 /// * `address` - Pointer to the physical address of the input device.
3175 ///
3176 /// # Returns
3177 ///
3178 /// * OH_Input_GetDeviceAddress result code, specifically,
3179 /// [`INPUT_SUCCESS`] if the operation is successful;
3180 /// [`INPUT_PARAMETER_ERROR`] if deviceInfo or address is a null pointer.
3181 ///
3182 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3183 ///
3184 /// Available since API-level: 13
3185 #[cfg(feature = "api-13")]
3186 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3187 pub fn OH_Input_GetDeviceAddress(
3188 deviceInfo: *mut Input_DeviceInfo,
3189 address: *mut *mut ::core::ffi::c_char,
3190 ) -> Input_Result;
3191 /// Registers a listener for device hot swap events.
3192 ///
3193 /// # Arguments
3194 ///
3195 /// * `listener` - Pointer to an [`Input_DeviceListener`] object.
3196 ///
3197 ///
3198 /// # Returns
3199 ///
3200 /// * OH_Input_RegisterDeviceListener status code, specifically,
3201 /// [`INPUT_SUCCESS`] if the operation is successful;
3202 ///
3203 /// [`INPUT_PARAMETER_ERROR`] if listener is NULL;
3204 ///
3205 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3206 ///
3207 /// Available since API-level: 13
3208 #[cfg(feature = "api-13")]
3209 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3210 pub fn OH_Input_RegisterDeviceListener(listener: *mut Input_DeviceListener) -> Input_Result;
3211 /// Unregisters the listener for device hot swap events.
3212 ///
3213 /// # Arguments
3214 ///
3215 /// * `listener` - Pointer to the listener for device hot swap events. For details, see [`Input_DeviceListener`].
3216 ///
3217 ///
3218 /// # Returns
3219 ///
3220 /// * OH_Input_UnregisterDeviceListener status code, specifically,
3221 /// [`INPUT_SUCCESS`] if the operation is successful;
3222 ///
3223 /// [`INPUT_PARAMETER_ERROR`] if listener is NULL or no listener is registered;
3224 /// [`INPUT_SERVICE_EXCEPTION`] if the service is abnormal.
3225 ///
3226 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3227 ///
3228 /// Available since API-level: 13
3229 #[cfg(feature = "api-13")]
3230 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3231 pub fn OH_Input_UnregisterDeviceListener(listener: *mut Input_DeviceListener) -> Input_Result;
3232 /// Unregisters the listener for all device hot swap events.
3233 ///
3234 ///
3235 /// # Returns
3236 ///
3237 /// * OH_Input_UnregisterDeviceListeners status code, specifically,
3238 /// [`INPUT_SUCCESS`] if the operation is successful;
3239 ///
3240 /// [`INPUT_SERVICE_EXCEPTION`] if the service is abnormal.
3241 ///
3242 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3243 ///
3244 /// Available since API-level: 13
3245 #[cfg(feature = "api-13")]
3246 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
3247 pub fn OH_Input_UnregisterDeviceListeners() -> Input_Result;
3248 /// Obtains the function key status.
3249 ///
3250 /// # Arguments
3251 ///
3252 /// * `keyCode` - Function key value. Supported function keys include capsLock, NumLock, and ScrollLock.
3253 ///
3254 /// * `state` - Function key status. The value 0 indicates that the function key is disabled,
3255 /// and the value 1 indicates the opposite.
3256 ///
3257 /// # Returns
3258 ///
3259 /// * OH_Input_GetFunctionKeyState function api result code
3260 /// [`INPUT_SUCCESS`] if the operation is successful;
3261 /// [`INPUT_PARAMETER_ERROR`] if keyCode is invalid or state is a null pointer.
3262 /// [`INPUT_KEYBOARD_DEVICE_NOT_EXIST`] no keyboard device connected.
3263 ///
3264 /// Required System Capabilities: SystemCapability.MultimodalInput.Input.Core
3265 ///
3266 /// Available since API-level: 15
3267 #[cfg(feature = "api-15")]
3268 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
3269 pub fn OH_Input_GetFunctionKeyState(keyCode: i32, state: *mut i32) -> Input_Result;
3270 /// Queries the maximum number of touch points supported by the current device.
3271 /// If -1 is returned, the number is unknown.
3272 ///
3273 /// # Arguments
3274 ///
3275 /// * `count` - Maximum number of touch points supported.
3276 ///
3277 /// # Returns
3278 ///
3279 /// * OH_Input_QueryMaxTouchPoints function api result code
3280 /// [`INPUT_SUCCESS`] if the operation is successful;
3281 /// [`INPUT_PARAMETER_ERROR`] if count is a null pointer.
3282 ///
3283 /// Available since API-level: 20
3284 #[cfg(feature = "api-20")]
3285 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3286 pub fn OH_Input_QueryMaxTouchPoints(count: *mut i32) -> Input_Result;
3287 /// Get pointer location.
3288 ///
3289 /// # Arguments
3290 ///
3291 /// * `displayId` - The displayId for the pointer location.
3292 ///
3293 /// * `displayX` - The displayX for the pointer location.
3294 ///
3295 /// * `displayY` - The displayY for the pointer location.
3296 ///
3297 /// # Returns
3298 ///
3299 /// * OH_Input_GetPointerLocation function api result code
3300 /// [`INPUT_SUCCESS`] if the operation is successful;
3301 /// [`INPUT_PARAMETER_ERROR`] if parameter is a null pointer;
3302 /// [`INPUT_APP_NOT_FOCUSED`] if the app is not the focused app;
3303 /// [`INPUT_DEVICE_NO_POINTER`] if the device has no pointer;
3304 /// [`INPUT_SERVICE_EXCEPTION`] if the service is exception.
3305 ///
3306 /// Available since API-level: 20
3307 #[cfg(feature = "api-20")]
3308 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3309 pub fn OH_Input_GetPointerLocation(
3310 displayId: *mut i32,
3311 displayX: *mut f64,
3312 displayY: *mut f64,
3313 ) -> Input_Result;
3314}