1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License.
5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at
6c29fa5a6Sopenharmony_ci *
7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
8c29fa5a6Sopenharmony_ci *
9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and
13c29fa5a6Sopenharmony_ci * limitations under the License.
14c29fa5a6Sopenharmony_ci */
15c29fa5a6Sopenharmony_ci
16c29fa5a6Sopenharmony_ci#ifndef LIBINPUT_H
17c29fa5a6Sopenharmony_ci#define LIBINPUT_H
18c29fa5a6Sopenharmony_ci
19c29fa5a6Sopenharmony_ci#include <stdint.h>
20c29fa5a6Sopenharmony_ci
21c29fa5a6Sopenharmony_ci#include "libudev.h"
22c29fa5a6Sopenharmony_ci
23c29fa5a6Sopenharmony_ci#ifdef __cplusplus
24c29fa5a6Sopenharmony_ciextern "C" {
25c29fa5a6Sopenharmony_ci#endif
26c29fa5a6Sopenharmony_ci
27c29fa5a6Sopenharmony_cienum libinput_event_type {
28c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_NONE = 0,
29c29fa5a6Sopenharmony_ci
30c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_KEYBOARD_KEY = 300,
31c29fa5a6Sopenharmony_ci
32c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_TAP,
33c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_AXIS,
34c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_MOTION_TOUCHPAD,
35c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_BUTTON_TOUCHPAD,
36c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_BUTTON,
37c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_MOTION,
38c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE,
39c29fa5a6Sopenharmony_ci
40c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCH_DOWN = 500,
41c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCH_UP,
42c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCH_MOTION,
43c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCH_CANCEL,
44c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCH_FRAME,
45c29fa5a6Sopenharmony_ci
46c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCHPAD_DOWN = 550,
47c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCHPAD_UP,
48c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TOUCHPAD_MOTION,
49c29fa5a6Sopenharmony_ci
50c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN = 800,
51c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE,
52c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_SWIPE_END,
53c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_PINCH_BEGIN,
54c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_PINCH_UPDATE,
55c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_GESTURE_PINCH_END,
56c29fa5a6Sopenharmony_ci
57c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TABLET_TOOL_AXIS,
58c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY,
59c29fa5a6Sopenharmony_ci    LIBINPUT_EVENT_TABLET_TOOL_TIP,
60c29fa5a6Sopenharmony_ci};
61c29fa5a6Sopenharmony_ci
62c29fa5a6Sopenharmony_cienum libinput_key_state {
63c29fa5a6Sopenharmony_ci    LIBINPUT_KEY_STATE_RELEASED = 0,
64c29fa5a6Sopenharmony_ci    LIBINPUT_KEY_STATE_PRESSED = 1
65c29fa5a6Sopenharmony_ci};
66c29fa5a6Sopenharmony_ci
67c29fa5a6Sopenharmony_cienum libinput_tablet_tool_tip_state {
68c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TIP_UP = 0,
69c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TIP_DOWN = 1,
70c29fa5a6Sopenharmony_ci};
71c29fa5a6Sopenharmony_ci
72c29fa5a6Sopenharmony_cienum libinput_button_state {
73c29fa5a6Sopenharmony_ci    LIBINPUT_BUTTON_STATE_RELEASED = 0,
74c29fa5a6Sopenharmony_ci    LIBINPUT_BUTTON_STATE_PRESSED = 1
75c29fa5a6Sopenharmony_ci};
76c29fa5a6Sopenharmony_ci
77c29fa5a6Sopenharmony_cienum libinput_pointer_axis_source {
78c29fa5a6Sopenharmony_ci    LIBINPUT_POINTER_AXIS_SOURCE_WHEEL = 1,
79c29fa5a6Sopenharmony_ci    LIBINPUT_POINTER_AXIS_SOURCE_FINGER,
80c29fa5a6Sopenharmony_ci    LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS,
81c29fa5a6Sopenharmony_ci    LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT,
82c29fa5a6Sopenharmony_ci};
83c29fa5a6Sopenharmony_ci
84c29fa5a6Sopenharmony_cienum libinput_device_capability {
85c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_KEYBOARD = 0,
86c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_POINTER = 1,
87c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_TOUCH = 2,
88c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_TABLET_TOOL = 3,
89c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_TABLET_PAD = 4,
90c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_GESTURE = 5,
91c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_SWITCH = 6,
92c29fa5a6Sopenharmony_ci    LIBINPUT_DEVICE_CAP_JOYSTICK = 7,
93c29fa5a6Sopenharmony_ci};
94c29fa5a6Sopenharmony_ci
95c29fa5a6Sopenharmony_cienum evdev_device_udev_tags {
96c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_INPUT = 1 << 0,
97c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_KEYBOARD = 1 << 1,
98c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_MOUSE = 1 << 2,
99c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_TOUCHPAD = 1 << 3,
100c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_TOUCHSCREEN = 1 << 4,
101c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_TABLET = 1 << 5,
102c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_JOYSTICK = 1 << 6,
103c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_ACCELEROMETER = 1 << 7,
104c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_TABLET_PAD = 1 << 8,
105c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_POINTINGSTICK = 1 << 9,
106c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_TRACKBALL = 1 << 10,
107c29fa5a6Sopenharmony_ci    EVDEV_UDEV_TAG_SWITCH = 1 << 11,
108c29fa5a6Sopenharmony_ci};
109c29fa5a6Sopenharmony_ci
110c29fa5a6Sopenharmony_cienum libinput_tablet_tool_type {
111c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_PEN = 1,
112c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_ERASER,
113c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_BRUSH,
114c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_PENCIL,
115c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_AIRBRUSH,
116c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_MOUSE,
117c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_LENS,
118c29fa5a6Sopenharmony_ci    LIBINPUT_TABLET_TOOL_TYPE_TOTEM,
119c29fa5a6Sopenharmony_ci};
120c29fa5a6Sopenharmony_ci
121c29fa5a6Sopenharmony_cienum libinput_pointer_axis {
122c29fa5a6Sopenharmony_ci	LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL = 0,
123c29fa5a6Sopenharmony_ci	LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL = 1,
124c29fa5a6Sopenharmony_ci};
125c29fa5a6Sopenharmony_ci
126c29fa5a6Sopenharmony_cistruct udev_device;
127c29fa5a6Sopenharmony_cistruct libinput_device;
128c29fa5a6Sopenharmony_cistruct libinput_event;
129c29fa5a6Sopenharmony_cistruct libinput_event_keyboard;
130c29fa5a6Sopenharmony_cistruct libinput_event_pointer;
131c29fa5a6Sopenharmony_cistruct libinput_event_touch;
132c29fa5a6Sopenharmony_cistruct libinput_event_tablet_tool;
133c29fa5a6Sopenharmony_cistruct libinput_event_gesture;
134c29fa5a6Sopenharmony_cistruct libinput_tablet_tool;
135c29fa5a6Sopenharmony_ci
136c29fa5a6Sopenharmony_cienum libinput_event_type libinput_event_get_type(struct libinput_event *event);
137c29fa5a6Sopenharmony_ci
138c29fa5a6Sopenharmony_ciint32_t libinput_event_tablet_tool_get_tool_type(struct libinput_event_tablet_tool *event);
139c29fa5a6Sopenharmony_ci
140c29fa5a6Sopenharmony_cistruct libinput_tablet_tool* libinput_event_tablet_tool_get_tool(struct libinput_event_tablet_tool *event);
141c29fa5a6Sopenharmony_ci
142c29fa5a6Sopenharmony_cienum libinput_tablet_tool_type libinput_tablet_tool_get_type(struct libinput_tablet_tool *tool);
143c29fa5a6Sopenharmony_ci
144c29fa5a6Sopenharmony_cienum libinput_tablet_tool_tip_state libinput_event_tablet_tool_get_tip_state(struct libinput_event_tablet_tool *event);
145c29fa5a6Sopenharmony_ci
146c29fa5a6Sopenharmony_cienum libinput_pointer_axis_source libinput_event_pointer_get_axis_source(struct libinput_event_pointer *event);
147c29fa5a6Sopenharmony_ci
148c29fa5a6Sopenharmony_cidouble libinput_event_tablet_tool_get_tilt_x(struct libinput_event_tablet_tool *event);
149c29fa5a6Sopenharmony_ci
150c29fa5a6Sopenharmony_cidouble libinput_event_tablet_tool_get_tilt_y(struct libinput_event_tablet_tool *event);
151c29fa5a6Sopenharmony_ci
152c29fa5a6Sopenharmony_ciuint64_t libinput_event_tablet_tool_get_time_usec(struct libinput_event_tablet_tool *event);
153c29fa5a6Sopenharmony_ci
154c29fa5a6Sopenharmony_cidouble libinput_event_tablet_tool_get_pressure(struct libinput_event_tablet_tool *event);
155c29fa5a6Sopenharmony_ci
156c29fa5a6Sopenharmony_cistruct libinput_device* libinput_event_get_device(struct libinput_event *event);
157c29fa5a6Sopenharmony_ci
158c29fa5a6Sopenharmony_ciuint64_t libinput_event_get_sensortime(struct libinput_event *event);
159c29fa5a6Sopenharmony_ci
160c29fa5a6Sopenharmony_cistruct libinput_event_keyboard* libinput_event_get_keyboard_event(struct libinput_event *event);
161c29fa5a6Sopenharmony_ci
162c29fa5a6Sopenharmony_cistruct libinput_event_pointer* libinput_event_get_pointer_event(struct libinput_event *event);
163c29fa5a6Sopenharmony_ci
164c29fa5a6Sopenharmony_cistruct libinput_event_touch* libinput_event_get_touch_event(struct libinput_event *event);
165c29fa5a6Sopenharmony_ci
166c29fa5a6Sopenharmony_cistruct libinput_event_touch* libinput_event_get_touchpad_event(struct libinput_event *event);
167c29fa5a6Sopenharmony_ci
168c29fa5a6Sopenharmony_cistruct libinput_event_gesture* libinput_event_get_gesture_event(struct libinput_event *event);
169c29fa5a6Sopenharmony_ci
170c29fa5a6Sopenharmony_cistruct libinput_event_tablet_tool* libinput_event_get_tablet_tool_event(struct libinput_event *event);
171c29fa5a6Sopenharmony_ci
172c29fa5a6Sopenharmony_ciuint64_t libinput_event_keyboard_get_time_usec(struct libinput_event_keyboard *event);
173c29fa5a6Sopenharmony_ci
174c29fa5a6Sopenharmony_ciuint32_t libinput_event_keyboard_get_key(struct libinput_event_keyboard *event);
175c29fa5a6Sopenharmony_ci
176c29fa5a6Sopenharmony_ciint libinput_device_keyboard_has_key(struct libinput_device *device, uint32_t code);
177c29fa5a6Sopenharmony_ci
178c29fa5a6Sopenharmony_cienum libinput_key_state libinput_event_keyboard_get_key_state(struct libinput_event_keyboard *event);
179c29fa5a6Sopenharmony_ci
180c29fa5a6Sopenharmony_cienum libinput_button_state libinput_event_pointer_get_button_state(struct libinput_event_pointer *event);
181c29fa5a6Sopenharmony_ci
182c29fa5a6Sopenharmony_ciuint64_t libinput_event_touch_get_time_usec(struct libinput_event_touch *event);
183c29fa5a6Sopenharmony_ci
184c29fa5a6Sopenharmony_ciint32_t libinput_event_touch_get_seat_slot(struct libinput_event_touch *event);
185c29fa5a6Sopenharmony_ci
186c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_pressure(struct libinput_event_touch* event);
187c29fa5a6Sopenharmony_ci
188c29fa5a6Sopenharmony_ciint32_t libinput_event_touch_get_move_flag(struct libinput_event_touch* event);
189c29fa5a6Sopenharmony_ci
190c29fa5a6Sopenharmony_ciint32_t libinput_event_get_touch_contact_long_axis(struct libinput_event_touch *event);
191c29fa5a6Sopenharmony_ci
192c29fa5a6Sopenharmony_ciint32_t libinput_event_get_touch_contact_short_axis(struct libinput_event_touch *event);
193c29fa5a6Sopenharmony_ci
194c29fa5a6Sopenharmony_ciint32_t libinput_event_touch_get_tool_type(struct libinput_event_touch *event);
195c29fa5a6Sopenharmony_ci
196c29fa5a6Sopenharmony_ciint libinput_device_touch_btn_tool_type_down(struct libinput_device *device, int32_t btnToolType);
197c29fa5a6Sopenharmony_ci
198c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_x_transformed(struct libinput_event_touch *event, uint32_t width);
199c29fa5a6Sopenharmony_ci
200c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_y_transformed(struct libinput_event_touch *event, uint32_t height);
201c29fa5a6Sopenharmony_ci
202c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_tool_x_transformed(struct libinput_event_touch *event, uint32_t width);
203c29fa5a6Sopenharmony_ci
204c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_tool_y_transformed(struct libinput_event_touch *event, uint32_t height);
205c29fa5a6Sopenharmony_ci
206c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_tool_width_transformed(struct libinput_event_touch *event, uint32_t width);
207c29fa5a6Sopenharmony_ci
208c29fa5a6Sopenharmony_cidouble libinput_event_touch_get_tool_height_transformed(struct libinput_event_touch *event, uint32_t height);
209c29fa5a6Sopenharmony_ci
210c29fa5a6Sopenharmony_cidouble libinput_event_tablet_tool_get_x_transformed(struct libinput_event_tablet_tool *event, uint32_t width);
211c29fa5a6Sopenharmony_ci
212c29fa5a6Sopenharmony_cidouble libinput_event_tablet_tool_get_y_transformed(struct libinput_event_tablet_tool *event, uint32_t height);
213c29fa5a6Sopenharmony_ci
214c29fa5a6Sopenharmony_ciuint64_t libinput_event_touchpad_get_time_usec(struct libinput_event_touch *event);
215c29fa5a6Sopenharmony_ci
216c29fa5a6Sopenharmony_ciint32_t libinput_event_touchpad_get_seat_slot(struct libinput_event_touch *event);
217c29fa5a6Sopenharmony_ci
218c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_x(struct libinput_event_touch *event);
219c29fa5a6Sopenharmony_ci
220c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_y(struct libinput_event_touch *event);
221c29fa5a6Sopenharmony_ci
222c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_pressure(struct libinput_event_touch *event);
223c29fa5a6Sopenharmony_ci
224c29fa5a6Sopenharmony_ciint32_t libinput_event_touchpad_get_touch_contact_long_axis(struct libinput_event_touch *event);
225c29fa5a6Sopenharmony_ci
226c29fa5a6Sopenharmony_ciint32_t libinput_event_touchpad_get_touch_contact_short_axis(struct libinput_event_touch *event);
227c29fa5a6Sopenharmony_ci
228c29fa5a6Sopenharmony_ciint32_t libinput_event_touchpad_get_tool_type(struct libinput_event_touch *event);
229c29fa5a6Sopenharmony_ci
230c29fa5a6Sopenharmony_ciint32_t libinput_device_touchpad_btn_tool_type_down(struct libinput_device *device, int32_t btnToolType);
231c29fa5a6Sopenharmony_ci
232c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_tool_x(struct libinput_event_touch *event);
233c29fa5a6Sopenharmony_ci
234c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_tool_y(struct libinput_event_touch *event);
235c29fa5a6Sopenharmony_ci
236c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_tool_width(struct libinput_event_touch *event);
237c29fa5a6Sopenharmony_ci
238c29fa5a6Sopenharmony_cidouble libinput_event_touchpad_get_tool_height(struct libinput_event_touch *event);
239c29fa5a6Sopenharmony_ci
240c29fa5a6Sopenharmony_ciuint32_t libinput_event_gesture_get_time(struct libinput_event_gesture *event);
241c29fa5a6Sopenharmony_ci
242c29fa5a6Sopenharmony_ciint libinput_event_gesture_get_finger_count(struct libinput_event_gesture *event);
243c29fa5a6Sopenharmony_ci
244c29fa5a6Sopenharmony_cidouble libinput_event_gesture_get_scale(struct libinput_event_gesture *event);
245c29fa5a6Sopenharmony_ci
246c29fa5a6Sopenharmony_cidouble libinput_event_gesture_get_angle_delta(struct libinput_event_gesture *event);
247c29fa5a6Sopenharmony_ci
248c29fa5a6Sopenharmony_ciint libinput_event_gesture_get_device_coords_x(struct libinput_event_gesture *event, uint32_t idx);
249c29fa5a6Sopenharmony_ci
250c29fa5a6Sopenharmony_ciint libinput_event_gesture_get_device_coords_y(struct libinput_event_gesture *event, uint32_t idx);
251c29fa5a6Sopenharmony_ci
252c29fa5a6Sopenharmony_ciint libinput_has_event_led_type(struct libinput_device *device);
253c29fa5a6Sopenharmony_ci
254c29fa5a6Sopenharmony_ciconst char* libinput_device_get_name(struct libinput_device *device);
255c29fa5a6Sopenharmony_ci
256c29fa5a6Sopenharmony_ciunsigned int libinput_device_get_id_bustype(struct libinput_device *device);
257c29fa5a6Sopenharmony_ci
258c29fa5a6Sopenharmony_ciunsigned int libinput_device_get_id_version(struct libinput_device *device);
259c29fa5a6Sopenharmony_ci
260c29fa5a6Sopenharmony_ciunsigned int libinput_device_get_id_product(struct libinput_device *device);
261c29fa5a6Sopenharmony_ci
262c29fa5a6Sopenharmony_ciunsigned int libinput_device_get_id_vendor(struct libinput_device *device);
263c29fa5a6Sopenharmony_ci
264c29fa5a6Sopenharmony_ciconst char* libinput_device_get_phys(struct libinput_device* device);
265c29fa5a6Sopenharmony_ci
266c29fa5a6Sopenharmony_ciconst char* libinput_device_get_uniq(struct libinput_device* device);
267c29fa5a6Sopenharmony_ci
268c29fa5a6Sopenharmony_ciconst char* libinput_device_get_sysname(struct libinput_device *device);
269c29fa5a6Sopenharmony_ci
270c29fa5a6Sopenharmony_cistruct udev_device* libinput_device_get_udev_device(struct libinput_device *device);
271c29fa5a6Sopenharmony_ci
272c29fa5a6Sopenharmony_cienum evdev_device_udev_tags libinput_device_get_tags(struct libinput_device* device);
273c29fa5a6Sopenharmony_ci
274c29fa5a6Sopenharmony_ciint libinput_device_has_capability(struct libinput_device *device, enum libinput_device_capability capability);
275c29fa5a6Sopenharmony_ci
276c29fa5a6Sopenharmony_ciint32_t libinput_device_has_key(struct libinput_device* device, int32_t keyCode);
277c29fa5a6Sopenharmony_ci
278c29fa5a6Sopenharmony_ciint32_t libinput_device_get_axis_min(struct libinput_device* device, int32_t code);
279c29fa5a6Sopenharmony_ci
280c29fa5a6Sopenharmony_ciint32_t libinput_device_get_axis_max(struct libinput_device* device, int32_t code);
281c29fa5a6Sopenharmony_ci
282c29fa5a6Sopenharmony_ciint32_t libinput_device_get_axis_fuzz(struct libinput_device* device, int32_t code);
283c29fa5a6Sopenharmony_ci
284c29fa5a6Sopenharmony_ciint32_t libinput_device_get_axis_flat(struct libinput_device* device, int32_t code);
285c29fa5a6Sopenharmony_ci
286c29fa5a6Sopenharmony_ciint32_t libinput_device_get_axis_resolution(struct libinput_device* device, int32_t code);
287c29fa5a6Sopenharmony_ci
288c29fa5a6Sopenharmony_ciint libinput_get_funckey_state(struct libinput_device *device, unsigned int code);
289c29fa5a6Sopenharmony_ci
290c29fa5a6Sopenharmony_ciuint32_t libinput_event_pointer_get_finger_count(struct libinput_event_pointer *event);
291c29fa5a6Sopenharmony_ci
292c29fa5a6Sopenharmony_cidouble libinput_event_pointer_get_dx_unaccelerated(struct libinput_event_pointer *event);
293c29fa5a6Sopenharmony_ci
294c29fa5a6Sopenharmony_cidouble libinput_event_pointer_get_dy_unaccelerated(struct libinput_event_pointer *event);
295c29fa5a6Sopenharmony_ci
296c29fa5a6Sopenharmony_ciuint32_t libinput_event_pointer_get_button(struct libinput_event_pointer *event);
297c29fa5a6Sopenharmony_ci
298c29fa5a6Sopenharmony_ciint libinput_event_pointer_has_axis(struct libinput_event_pointer *event, enum libinput_pointer_axis axis);
299c29fa5a6Sopenharmony_ci
300c29fa5a6Sopenharmony_cidouble libinput_event_pointer_get_axis_value(struct libinput_event_pointer *event, enum libinput_pointer_axis axis);
301c29fa5a6Sopenharmony_ci
302c29fa5a6Sopenharmony_ci#ifdef __cplusplus
303c29fa5a6Sopenharmony_ci}
304c29fa5a6Sopenharmony_ci#endif
305c29fa5a6Sopenharmony_ci#endif /* LIBINPUT_H */