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