2021-11-13 21:56:53 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
2023-05-13 16:10:33 +03:00
|
|
|
#ifndef LABWC_LIBINPUT_H
|
|
|
|
|
#define LABWC_LIBINPUT_H
|
2021-10-15 12:27:52 -04:00
|
|
|
|
|
|
|
|
#include <libinput.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <wayland-server-core.h>
|
|
|
|
|
|
2024-01-01 19:15:16 +00:00
|
|
|
enum lab_libinput_device_type {
|
2023-12-29 19:50:37 +00:00
|
|
|
LAB_LIBINPUT_DEVICE_NONE = 0,
|
2024-01-01 19:14:08 +00:00
|
|
|
LAB_LIBINPUT_DEVICE_DEFAULT,
|
|
|
|
|
LAB_LIBINPUT_DEVICE_TOUCH,
|
|
|
|
|
LAB_LIBINPUT_DEVICE_TOUCHPAD,
|
|
|
|
|
LAB_LIBINPUT_DEVICE_NON_TOUCH,
|
2021-10-15 12:27:52 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct libinput_category {
|
2024-01-01 19:15:16 +00:00
|
|
|
enum lab_libinput_device_type type;
|
2021-10-15 12:27:52 -04:00
|
|
|
char *name;
|
|
|
|
|
struct wl_list link;
|
|
|
|
|
float pointer_speed;
|
|
|
|
|
int natural_scroll;
|
|
|
|
|
int left_handed;
|
|
|
|
|
enum libinput_config_tap_state tap;
|
2021-12-12 22:12:30 +00:00
|
|
|
enum libinput_config_tap_button_map tap_button_map;
|
2024-03-20 03:32:41 +08:00
|
|
|
int tap_and_drag; /* -1 or libinput_config_drag_state */
|
|
|
|
|
int drag_lock; /* -1 or libinput_config_drag_lock_state */
|
2025-06-06 23:08:53 +02:00
|
|
|
int three_finger_drag; /* -1 or libinput_config_3fg_drag_state */
|
2024-03-20 03:32:41 +08:00
|
|
|
int accel_profile; /* -1 or libinput_config_accel_profile */
|
|
|
|
|
int middle_emu; /* -1 or libinput_config_middle_emulation_state */
|
|
|
|
|
int dwt; /* -1 or libinput_config_dwt_state */
|
|
|
|
|
int click_method; /* -1 or libinput_config_click_method */
|
2025-05-27 14:19:21 +02:00
|
|
|
int scroll_method; /* -1 or libinput_config_scroll_method */
|
2024-03-20 03:32:41 +08:00
|
|
|
int send_events_mode; /* -1 or libinput_config_send_events_mode */
|
2024-03-20 11:31:42 +08:00
|
|
|
bool have_calibration_matrix;
|
2024-08-08 17:29:43 +09:00
|
|
|
double scroll_factor;
|
2024-03-20 11:31:42 +08:00
|
|
|
float calibration_matrix[6];
|
2021-10-15 12:27:52 -04:00
|
|
|
};
|
|
|
|
|
|
2024-01-01 19:15:16 +00:00
|
|
|
enum lab_libinput_device_type get_device_type(const char *s);
|
2021-10-15 20:52:36 +01:00
|
|
|
struct libinput_category *libinput_category_create(void);
|
2022-12-22 16:44:08 -05:00
|
|
|
struct libinput_category *libinput_category_get_default(void);
|
2021-10-15 12:27:52 -04:00
|
|
|
|
2023-05-13 16:10:33 +03:00
|
|
|
#endif /* LABWC_LIBINPUT_H */
|