libinput.h
Go to the documentation of this file.
1/*
2 * Copyright © 2013 Jonas Ådahl
3 * Copyright © 2013-2015 Red Hat, Inc.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25#ifndef LIBINPUT_H
26#define LIBINPUT_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include <libudev.h>
33#include <stdarg.h>
34#include <stdint.h>
35#include <stdlib.h>
36
37#define LIBINPUT_ATTRIBUTE_PRINTF(_format, _args) \
38 __attribute__ ((format (printf, _format, _args)))
39#define LIBINPUT_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
40
48struct libinput;
49
57struct libinput_device;
58
68
76struct libinput_seat;
77
97
108struct libinput_event;
109
117
125
134
146
160
174
188
199
215
226
239
250
267
305
322
339
375
396
412
441
458int
460
485 unsigned int index);
486
499unsigned int
501
519unsigned int
521 struct libinput_tablet_pad_mode_group *group);
522
542unsigned int
544
557int
559 unsigned int button);
560
573int
575 unsigned int dial);
576
589int
591 unsigned int ring);
592
605int
607 unsigned int strip);
608
627int
629 struct libinput_tablet_pad_mode_group *group,
630 unsigned int button);
631
645
659
673void
675 struct libinput_tablet_pad_mode_group *group,
676 void *user_data);
677
689void *
691 struct libinput_tablet_pad_mode_group *group);
692
708
754
764
1044
1061void
1063
1073
1082struct libinput *
1084
1098struct libinput_device *
1100
1113
1126
1137struct libinput_event_touch *
1139
1159
1174
1187
1200struct libinput_event_switch *
1202
1216
1222struct libinput_event *
1224
1240uint32_t
1242
1251uint64_t
1253
1259uint32_t
1261
1269
1275struct libinput_event *
1277
1290uint32_t
1292
1308uint32_t
1310
1319uint64_t
1321
1340double
1342
1361double
1363
1385double
1387
1409double
1411
1427double
1429
1445double
1447
1465double
1467 uint32_t width);
1468
1486double
1488 uint32_t height);
1489
1502uint32_t
1504
1519
1533uint32_t
1535
1558int
1560 enum libinput_pointer_axis axis);
1561
1586double
1588 enum libinput_pointer_axis axis);
1589
1638
1664double
1666 enum libinput_pointer_axis axis);
1667
1716double
1718 enum libinput_pointer_axis axis);
1719
1756double
1758 enum libinput_pointer_axis axis);
1759
1765struct libinput_event *
1767
1782uint32_t
1784
1793uint64_t
1795
1815int32_t
1817
1837int32_t
1839
1857double
1859
1877double
1879
1897double
1899 uint32_t width);
1900
1918double
1920 uint32_t height);
1921
1927struct libinput_event *
1929
1952uint32_t
1954
1963uint64_t
1965
1971struct libinput_event *
1973
1989int
1991
2006int
2008
2024double
2026
2042double
2044
2063double
2065
2084double
2086
2113double
2115
2137double
2139
2164struct libinput_event *
2166
2186int
2188
2208int
2210
2230int
2232 struct libinput_event_tablet_tool *event);
2233
2255int
2257 struct libinput_event_tablet_tool *event);
2258
2278int
2280
2300int
2321int
2323 struct libinput_event_tablet_tool *event);
2343int
2345
2363int
2365 struct libinput_event_tablet_tool *event);
2366
2384int
2386 struct libinput_event_tablet_tool *event);
2387
2407int
2409
2430double
2432
2453double
2455
2472double
2474
2491double
2493
2507double
2509
2523double
2525
2543double
2545
2563double
2565
2585double
2587
2603double
2605 struct libinput_event_tablet_tool *event);
2606
2622double
2624
2640double
2642
2653double
2655
2668int
2670 struct libinput_event_tablet_tool *event);
2671
2691double
2693 uint32_t width);
2694
2714double
2716 uint32_t height);
2717
2740struct libinput_tablet_tool *
2742
2771 struct libinput_event_tablet_tool *event);
2772
2788
2803uint32_t
2805
2821
2837uint32_t
2839 struct libinput_event_tablet_tool *event);
2840
2852uint32_t
2854
2866uint64_t
2868
2894
2914uint64_t
2916
2930struct libinput_tablet_tool *
2932
2947struct libinput_tablet_tool *
2949
2960int
2962
2973int
2975
2986int
2988
2999int
3001
3012int
3014
3026int
3028
3039int
3041
3055int
3057
3074int
3076
3113uint64_t
3115
3128void *
3130
3141void
3143
3160struct libinput_event *
3162
3185double
3187
3204unsigned int
3206
3225
3248double
3250
3267unsigned int
3269
3288
3309uint32_t
3311
3328
3347uint32_t
3349
3366
3383double
3385
3402unsigned int
3404
3437unsigned int
3439
3465
3477uint32_t
3479
3491uint64_t
3493
3515enum libinput_switch
3517
3535
3543struct libinput_event *
3545
3557uint32_t
3559
3571uint64_t
3573
3601 int (*open_restricted)(const char *path, int flags, void *user_data);
3609 void (*close_restricted)(int fd, void *user_data);
3610};
3611
3625struct libinput *
3627 void *user_data,
3628 struct udev *udev);
3629
3651int
3652libinput_udev_assign_seat(struct libinput *libinput, const char *seat_id);
3653
3673struct libinput *
3675 void *user_data);
3676
3697struct libinput_device *
3698libinput_path_add_device(struct libinput *libinput, const char *path);
3699
3718void
3720
3746void
3748
3776void
3778
3782
3809int
3811 enum libinput_plugin_system_flags flags);
3812
3821int
3823
3841int
3843
3855struct libinput_event *
3857
3871
3883void
3884libinput_set_user_data(struct libinput *libinput, void *user_data);
3885
3896void *
3898
3910int
3912
3922void
3924
3934struct libinput *
3936
3968struct libinput *
3970
3986void
3988 enum libinput_log_priority priority);
3989
4006
4022 enum libinput_log_priority priority,
4023 const char *format,
4024 va_list args) LIBINPUT_ATTRIBUTE_PRINTF(3, 0);
4025
4041void
4043
4065struct libinput_seat *
4067
4079struct libinput_seat *
4081
4093void
4094libinput_seat_set_user_data(struct libinput_seat *seat, void *user_data);
4095
4105void *
4107
4116struct libinput *
4118
4135const char *
4137
4147const char *
4149
4165struct libinput_device *
4167
4179struct libinput_device *
4181
4193void
4194libinput_device_set_user_data(struct libinput_device *device, void *user_data);
4195
4205void *
4207
4216struct libinput *
4218
4279struct libinput_device_group *
4281
4293const char *
4295
4309const char *
4311
4322unsigned int
4324
4333unsigned int
4335
4344unsigned int
4346
4366const char *
4368
4389struct libinput_seat *
4391
4417int
4419
4439struct udev_device *
4441
4452void
4454
4462int
4464 enum libinput_device_capability capability);
4465
4480int
4481libinput_device_get_size(struct libinput_device *device, double *width, double *height);
4482
4495int
4497
4510int
4512
4526int
4528
4543int
4545 enum libinput_switch sw);
4546
4561int
4563
4578int
4580
4595int
4597
4612int
4614
4629int
4631
4644struct libinput_device_group *
4646
4660struct libinput_device_group *
4662
4674void
4676 void *user_data);
4677
4688void *
4690
4748
4758const char *
4760
4770
4786int
4788
4811 enum libinput_config_tap_state enable);
4812
4831
4848
4860
4870
4904
4926
4948
4970
4990 enum libinput_config_drag_state enable);
4991
5009
5029
5045
5073 struct libinput_device *device,
5075
5098
5123 struct libinput_device *device);
5124
5149
5163int
5165
5186 enum libinput_config_3fg_drag_state enable);
5187
5206
5225
5238int
5240
5292 const float matrix[6]);
5293
5310int
5312 float matrix[6]);
5313
5334int
5336 float matrix[6]);
5337
5355 double x1;
5356 double y1;
5357 double x2;
5358 double y2;
5359};
5360
5373int
5375
5431 struct libinput_device *device,
5432 const struct libinput_config_area_rectangle *rect);
5433
5454
5475
5510
5525uint32_t
5527
5558 uint32_t mode);
5559
5579uint32_t
5581
5595uint32_t
5597
5611int
5613
5636
5658double
5660
5675double
5677
5713
5739struct libinput_config_accel;
5740
5762struct libinput_config_accel *
5764
5779void
5780libinput_config_accel_destroy(struct libinput_config_accel *accel_config);
5781
5802 struct libinput_config_accel *accel_config);
5803
5842
5874libinput_config_accel_set_points(struct libinput_config_accel *accel_config,
5875 enum libinput_config_accel_type accel_type,
5876 double step,
5877 size_t npoints,
5878 const double *points);
5879
5892uint32_t
5894
5910 enum libinput_config_accel_profile profile);
5911
5925
5939
5969int
5971
5988 int enable);
6002int
6004 struct libinput_device *device);
6005
6019int
6021 struct libinput_device *device);
6022
6036int
6038
6064
6078int
6080
6094int
6096
6119
6135uint32_t
6137
6160 enum libinput_config_click_method method);
6178
6196
6223 struct libinput_device *device,
6225
6242
6259 struct libinput_device *device);
6260
6276
6297int
6299
6324 struct libinput_device *device,
6326
6352
6379 struct libinput_device *device);
6380
6409
6427uint32_t
6429
6456 enum libinput_config_scroll_method method);
6457
6476
6495
6533 uint32_t button);
6534
6559uint32_t
6561
6582uint32_t
6584
6589
6613 struct libinput_device *device,
6615
6640
6660
6670
6688int
6690
6716 enum libinput_config_dwt_state enable);
6717
6737
6757
6781
6794uint32_t
6796
6808
6829int
6831
6859 enum libinput_config_dwtp_state enable);
6860
6882
6904
6925 uint32_t millis);
6926
6939uint32_t
6941
6956int
6958
6988 unsigned int degrees_cw);
6989
7006unsigned int
7008
7025unsigned int
7027
7044int
7046 struct libinput_tablet_tool *tool);
7047
7078 double minimum,
7079 double maximum);
7080
7100double
7102 struct libinput_tablet_tool *tool);
7103
7123double
7125 struct libinput_tablet_tool *tool);
7126
7146double
7148 struct libinput_tablet_tool *tool);
7149
7169double
7171 struct libinput_tablet_tool *tool);
7172
7191
7219uint32_t
7221
7252 struct libinput_tablet_tool *tool,
7254
7276
7298 struct libinput_tablet_tool *tool);
7299
7331 uint32_t button);
7332
7352unsigned int
7354
7374unsigned int
7376 struct libinput_tablet_tool *tool);
7377
7378#ifdef __cplusplus
7379}
7380#endif
7381#endif /* LIBINPUT_H */
int libinput_dispatch(struct libinput *libinput)
Main event dispatchment function.
void libinput_plugin_system_append_path(struct libinput *libinput, const char *path)
Appends the given directory path to the libinput plugin lookup path.
struct libinput * libinput_ref(struct libinput *libinput)
Add a reference to the context.
int libinput_plugin_system_load_plugins(struct libinput *libinput, enum libinput_plugin_system_flags flags)
Load the plugins from the set of lookup paths.
int libinput_resume(struct libinput *libinput)
Resume a suspended libinput context.
struct libinput_event * libinput_get_event(struct libinput *libinput)
Retrieve the next event from libinput's internal event queue.
void libinput_suspend(struct libinput *libinput)
Suspend monitoring for new devices and close existing devices.
struct libinput * libinput_udev_create_context(const struct libinput_interface *interface, void *user_data, struct udev *udev)
Create a new libinput context from udev.
int libinput_udev_assign_seat(struct libinput *libinput, const char *seat_id)
Assign a seat to this libinput context.
enum libinput_log_priority libinput_log_get_priority(const struct libinput *libinput)
Get the context's log priority.
void libinput_log_set_priority(struct libinput *libinput, enum libinput_log_priority priority)
Set the log priority for the libinput context.
void libinput_plugin_system_append_default_paths(struct libinput *libinput)
Add the default plugin lookup paths, typically:
int libinput_get_fd(struct libinput *libinput)
libinput keeps a single file descriptor for all events.
void libinput_path_remove_device(struct libinput_device *device)
Remove a device from a libinput context initialized with libinput_path_create_context() or added to s...
void(* libinput_log_handler)(struct libinput *libinput, enum libinput_log_priority priority, const char *format, va_list args) LIBINPUT_ATTRIBUTE_PRINTF(3
Log handler type for custom logging.
Definition libinput.h:4021
libinput_log_priority
Log priority for internal logging messages.
Definition libinput.h:194
void libinput_set_user_data(struct libinput *libinput, void *user_data)
Set caller-specific data associated with this context.
libinput_event_type
Event type for events returned by libinput_get_event().
Definition libinput.h:770
struct libinput_device * libinput_path_add_device(struct libinput *libinput, const char *path)
Add a device to a libinput context initialized with libinput_path_create_context().
enum libinput_event_type libinput_next_event_type(struct libinput *libinput)
Return the type of the next event in the internal queue.
void(*) voi libinput_log_set_handler)(struct libinput *libinput, libinput_log_handler log_handler)
Set the context's log handler.
Definition libinput.h:4042
void * libinput_get_user_data(struct libinput *libinput)
Get the caller-specific data associated with this context, if any.
struct libinput * libinput_unref(struct libinput *libinput)
Dereference the libinput context.
struct libinput * libinput_path_create_context(const struct libinput_interface *interface, void *user_data)
Create a new libinput context that requires the caller to manually add or remove devices with libinpu...
@ LIBINPUT_LOG_PRIORITY_DEBUG
Definition libinput.h:195
@ LIBINPUT_LOG_PRIORITY_INFO
Definition libinput.h:196
@ LIBINPUT_LOG_PRIORITY_ERROR
Definition libinput.h:197
@ LIBINPUT_EVENT_POINTER_SCROLL_WHEEL
A scroll event from a wheel.
Definition libinput.h:842
@ LIBINPUT_EVENT_TABLET_PAD_DIAL
A status change on a tablet dial with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
Definition libinput.h:1025
@ LIBINPUT_EVENT_GESTURE_SWIPE_END
Definition libinput.h:1029
@ LIBINPUT_EVENT_TABLET_PAD_KEY
A key pressed on a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
Definition libinput.h:1017
@ LIBINPUT_EVENT_POINTER_MOTION
Definition libinput.h:796
@ LIBINPUT_EVENT_TOUCH_UP
Definition libinput.h:874
@ LIBINPUT_EVENT_TABLET_PAD_RING
A status change on a tablet ring with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
Definition libinput.h:996
@ LIBINPUT_EVENT_POINTER_BUTTON
Definition libinput.h:798
@ LIBINPUT_EVENT_TABLET_PAD_STRIP
A status change on a strip on a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
Definition libinput.h:1004
@ LIBINPUT_EVENT_TOUCH_FRAME
Signals the end of a set of touchpoints at one device sample time.
Definition libinput.h:881
@ LIBINPUT_EVENT_POINTER_SCROLL_FINGER
A scroll event caused by the movement of one or more fingers on a device.
Definition libinput.h:856
@ LIBINPUT_EVENT_KEYBOARD_KEY
Definition libinput.h:794
@ LIBINPUT_EVENT_DEVICE_ADDED
Signals that a device has been added to the context.
Definition libinput.h:786
@ LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY
Signals that a tool has come in or out of proximity of a device with the LIBINPUT_DEVICE_CAP_TABLET_T...
Definition libinput.h:929
@ LIBINPUT_EVENT_POINTER_AXIS
A scroll event from various sources.
Definition libinput.h:828
@ LIBINPUT_EVENT_GESTURE_HOLD_END
Definition libinput.h:1037
@ LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE
Definition libinput.h:797
@ LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN
Definition libinput.h:1027
@ LIBINPUT_EVENT_TABLET_TOOL_BUTTON
Signals that a tool has changed a logical button state on a device with the LIBINPUT_DEVICE_CAP_TABLE...
Definition libinput.h:972
@ LIBINPUT_EVENT_GESTURE_HOLD_BEGIN
Definition libinput.h:1036
@ LIBINPUT_EVENT_TABLET_PAD_BUTTON
A button pressed on a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
Definition libinput.h:989
@ LIBINPUT_EVENT_DEVICE_REMOVED
Signals that a device has been removed.
Definition libinput.h:792
@ LIBINPUT_EVENT_TABLET_TOOL_TIP
Signals that a tool has come in contact with the surface of a device with the LIBINPUT_DEVICE_CAP_TAB...
Definition libinput.h:954
@ LIBINPUT_EVENT_GESTURE_PINCH_END
Definition libinput.h:1032
@ LIBINPUT_EVENT_TOUCH_DOWN
Definition libinput.h:873
@ LIBINPUT_EVENT_SWITCH_TOGGLE
Definition libinput.h:1042
@ LIBINPUT_EVENT_TOUCH_MOTION
Definition libinput.h:875
@ LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE
Definition libinput.h:1028
@ LIBINPUT_EVENT_TOUCH_CANCEL
Definition libinput.h:876
@ LIBINPUT_EVENT_NONE
This is not a real event type, and is only used to tell the user that no new event is available in th...
Definition libinput.h:776
@ LIBINPUT_EVENT_GESTURE_PINCH_UPDATE
Definition libinput.h:1031
@ LIBINPUT_EVENT_GESTURE_PINCH_BEGIN
Definition libinput.h:1030
@ LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS
A scroll event from a continuous scroll source, e.g.
Definition libinput.h:871
@ LIBINPUT_EVENT_TABLET_TOOL_AXIS
One or more axes have changed state on a device with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capability.
Definition libinput.h:902
enum libinput_config_status libinput_tablet_tool_config_pressure_range_set(struct libinput_tablet_tool *tool, double minimum, double maximum)
Set the pressure range for this tablet tool.
enum libinput_config_drag_lock_state libinput_device_config_tap_get_drag_lock_enabled(struct libinput_device *device)
Check if drag-lock during tapping is enabled on this device.
enum libinput_config_status libinput_device_config_calibration_set_matrix(struct libinput_device *device, const float matrix[6])
Apply the 3x3 transformation matrix to absolute device coordinates.
int libinput_device_config_dwt_is_available(struct libinput_device *device)
Check if this device supports configurable disable-while-typing feature.
enum libinput_config_status libinput_device_config_rotation_set_angle(struct libinput_device *device, unsigned int degrees_cw)
Set the rotation of a device in degrees clockwise off the logical neutral position.
int libinput_device_config_tap_get_finger_count(struct libinput_device *device)
Check if the device supports tap-to-click and how many fingers can be used for tapping.
enum libinput_config_clickfinger_button_map libinput_device_config_click_get_default_clickfinger_button_map(struct libinput_device *device)
Get the default finger number to button number mapping for clickfinger.
enum libinput_config_status libinput_config_accel_set_points(struct libinput_config_accel *accel_config, enum libinput_config_accel_type accel_type, double step, size_t npoints, const double *points)
Defines the acceleration function for a given movement type in an acceleration configuration with the...
int libinput_device_config_area_has_rectangle(struct libinput_device *device)
Check if the device can change its logical input area via a rectangle.
libinput_config_accel_type
Acceleration types are categories of movement by a device that may have specific acceleration functio...
Definition libinput.h:5825
libinput_config_3fg_drag_state
A config status to distinguish or set 3-finger dragging on a device.
Definition libinput.h:5132
enum libinput_config_drag_state libinput_device_config_tap_get_default_drag_enabled(struct libinput_device *device)
Return whether tap-and-drag is enabled or disabled by default on this device.
enum libinput_config_status libinput_device_config_accel_set_speed(struct libinput_device *device, double speed)
Set the pointer acceleration speed of this pointer device within a range of [-1, 1],...
double libinput_tablet_tool_config_pressure_range_get_default_minimum(struct libinput_tablet_tool *tool)
Get the minimum pressure value for this tablet tool, normalized to the range [0.0,...
enum libinput_config_status libinput_device_config_dwtp_set_timeout(struct libinput_device *device, uint32_t millis)
Set the disable-while-trackpointing timeout.
enum libinput_config_accel_profile libinput_device_config_accel_get_default_profile(struct libinput_device *device)
Return the default pointer acceleration profile for this pointer device.
enum libinput_config_status libinput_device_config_accel_apply(struct libinput_device *device, struct libinput_config_accel *accel_config)
Apply this pointer acceleration configuration to the device.
int libinput_device_config_rotation_is_available(struct libinput_device *device)
Check whether a device can have a custom rotation applied.
uint32_t libinput_device_config_click_get_methods(struct libinput_device *device)
Check which button click methods a device supports.
enum libinput_config_status libinput_device_config_dwtp_set_enabled(struct libinput_device *device, enum libinput_config_dwtp_state enable)
Enable or disable the disable-while-trackpointing feature.
libinput_config_status
Status codes returned when applying configuration settings.
Definition libinput.h:4742
struct libinput_config_area_rectangle libinput_device_config_area_get_rectangle(struct libinput_device *device)
Return the current area rectangle for this device.
enum libinput_config_status libinput_device_config_scroll_set_button_lock(struct libinput_device *device, enum libinput_config_scroll_button_lock_state state)
Set the scroll button lock.
enum libinput_config_status libinput_device_config_tap_set_enabled(struct libinput_device *device, enum libinput_config_tap_state enable)
Enable or disable tap-to-click on this device, with a default mapping of 1, 2, 3 finger tap mapping t...
int libinput_device_config_calibration_get_default_matrix(struct libinput_device *device, float matrix[6])
Return the default calibration matrix for this device.
unsigned int libinput_tablet_tool_config_eraser_button_get_default_button(struct libinput_tablet_tool *tool)
Get the default button configured to emulate an eraser for this tool.
libinput_config_click_method
The click method defines when to generate software-emulated buttons, usually on a device that does no...
Definition libinput.h:6104
enum libinput_config_status libinput_device_config_area_set_rectangle(struct libinput_device *device, const struct libinput_config_area_rectangle *rect)
Set the given rectangle as the logical input area of this device.
enum libinput_config_eraser_button_mode libinput_tablet_tool_config_eraser_button_get_default_mode(struct libinput_tablet_tool *tool)
Get the default mode for the eraser button.
libinput_config_middle_emulation_state
Definition libinput.h:6264
enum libinput_config_middle_emulation_state libinput_device_config_middle_emulation_get_enabled(struct libinput_device *device)
Check if configurable middle button emulation is enabled on this device.
enum libinput_config_status libinput_device_config_scroll_set_method(struct libinput_device *device, enum libinput_config_scroll_method method)
Set the scroll method for this device.
enum libinput_config_dwt_state libinput_device_config_dwt_get_default_enabled(struct libinput_device *device)
Check if the disable-while-typing feature is enabled on this device by default.
enum libinput_config_scroll_method libinput_device_config_scroll_get_method(struct libinput_device *device)
Get the scroll method for this device.
enum libinput_config_tap_button_map libinput_device_config_tap_get_button_map(struct libinput_device *device)
Get the finger number to button number mapping for tap-to-click.
enum libinput_config_tap_button_map libinput_device_config_tap_get_default_button_map(struct libinput_device *device)
Get the default finger number to button number mapping for tap-to-click.
libinput_config_send_events_mode
The send-event mode of a device defines when a device may generate events and pass those events to th...
Definition libinput.h:5482
int libinput_device_config_dwtp_is_available(struct libinput_device *device)
Check if this device supports configurable disable-while-trackpointing feature.
enum libinput_config_click_method libinput_device_config_click_get_default_method(struct libinput_device *device)
Get the default button click method for this device.
enum libinput_config_status libinput_device_config_middle_emulation_set_enabled(struct libinput_device *device, enum libinput_config_middle_emulation_state enable)
Enable or disable middle button emulation on this device.
enum libinput_config_scroll_button_lock_state libinput_device_config_scroll_get_default_button_lock(struct libinput_device *device)
Get the default scroll button lock state.
enum libinput_config_status libinput_device_config_dwt_set_enabled(struct libinput_device *device, enum libinput_config_dwt_state enable)
Enable or disable the disable-while-typing feature.
enum libinput_config_3fg_drag_state libinput_device_config_3fg_drag_get_default_enabled(struct libinput_device *device)
Return whether 3-finger drag is enabled or disabled by default on this device.
enum libinput_config_middle_emulation_state libinput_device_config_middle_emulation_get_default_enabled(struct libinput_device *device)
Check if configurable middle button emulation is enabled by default on this device.
libinput_config_eraser_button_mode
Definition libinput.h:7176
enum libinput_config_status libinput_device_config_3fg_drag_set_enabled(struct libinput_device *device, enum libinput_config_3fg_drag_state enable)
Enable or disable 3-finger drag on this device.
libinput_config_scroll_method
The scroll method of a device selects when to generate scroll axis events instead of pointer motion e...
Definition libinput.h:6387
uint32_t libinput_tablet_tool_config_eraser_button_get_modes(struct libinput_tablet_tool *tool)
Check if a tool can change the behavior of or to a firmware eraser button.
enum libinput_config_click_method libinput_device_config_click_get_method(struct libinput_device *device)
Get the button click method for this device.
double libinput_device_config_accel_get_default_speed(struct libinput_device *device)
Return the default speed setting for this device, normalized to a range of [-1, 1].
int libinput_device_config_left_handed_is_available(struct libinput_device *device)
Check if a device has a configuration that supports left-handed usage.
int libinput_device_config_accel_is_available(struct libinput_device *device)
Check if a device uses libinput-internal pointer-acceleration.
double libinput_tablet_tool_config_pressure_range_get_maximum(struct libinput_tablet_tool *tool)
Get the maximum pressure value for this tablet tool, normalized to the range [0.0,...
libinput_config_tap_button_map
Definition libinput.h:4854
enum libinput_config_accel_profile libinput_device_config_accel_get_profile(struct libinput_device *device)
Get the current pointer acceleration profile for this pointer device.
unsigned int libinput_device_config_rotation_get_default_angle(struct libinput_device *device)
Get the default rotation of a device in degrees clockwise off the logical neutral position.
int libinput_device_config_scroll_has_natural_scroll(struct libinput_device *device)
Return non-zero if the device supports "natural scrolling".
uint32_t libinput_device_config_scroll_get_button(struct libinput_device *device)
Get the button for the LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN method for this device.
enum libinput_config_scroll_method libinput_device_config_scroll_get_default_method(struct libinput_device *device)
Get the default scroll method for this device.
enum libinput_config_status libinput_device_config_tap_set_drag_lock_enabled(struct libinput_device *device, enum libinput_config_drag_lock_state enable)
Enable or disable drag-lock during tapping on this device.
double libinput_tablet_tool_config_pressure_range_get_minimum(struct libinput_tablet_tool *tool)
Get the minimum pressure value for this tablet tool, normalized to the range [0.0,...
enum libinput_config_tap_state libinput_device_config_tap_get_enabled(struct libinput_device *device)
Check if tap-to-click is enabled on this device.
enum libinput_config_status libinput_device_config_scroll_set_natural_scroll_enabled(struct libinput_device *device, int enable)
Enable or disable natural scrolling on the device.
const char * libinput_config_status_to_str(enum libinput_config_status status)
Return a string describing the error.
int libinput_device_config_left_handed_get(struct libinput_device *device)
Get the current left-handed configuration of the device.
enum libinput_config_status libinput_device_config_left_handed_set(struct libinput_device *device, int left_handed)
Set the left-handed configuration of the device.
enum libinput_config_clickfinger_button_map libinput_device_config_click_get_clickfinger_button_map(struct libinput_device *device)
Get the finger number to button number mapping for clickfinger.
uint32_t libinput_device_config_dwt_get_timeout(struct libinput_device *device)
Get the current disable-while-typing timeout.
uint32_t libinput_device_config_send_events_get_modes(struct libinput_device *device)
Return the possible send-event modes for this device.
int libinput_device_config_calibration_get_matrix(struct libinput_device *device, float matrix[6])
Return the current calibration matrix for this device.
int libinput_device_config_left_handed_get_default(struct libinput_device *device)
Get the default left-handed configuration of the device.
void libinput_config_accel_destroy(struct libinput_config_accel *accel_config)
Destroy an acceleration configuration.
int libinput_tablet_tool_config_pressure_range_is_available(struct libinput_tablet_tool *tool)
Check if a tablet tool can have a custom pressure range.
enum libinput_config_drag_lock_state libinput_device_config_tap_get_default_drag_lock_enabled(struct libinput_device *device)
Check if drag-lock during tapping is enabled by default on this device.
int libinput_device_config_scroll_get_default_natural_scroll_enabled(struct libinput_device *device)
Get the default mode for scrolling on this device.
double libinput_device_config_accel_get_speed(struct libinput_device *device)
Get the current pointer acceleration setting for this pointer device.
enum libinput_config_status libinput_device_config_send_events_set_mode(struct libinput_device *device, uint32_t mode)
Set the send-event mode for this device.
int libinput_device_config_scroll_get_natural_scroll_enabled(struct libinput_device *device)
Get the current mode for scrolling on this device.
enum libinput_config_drag_state libinput_device_config_tap_get_drag_enabled(struct libinput_device *device)
Return whether tap-and-drag is enabled or disabled on this device.
libinput_config_clickfinger_button_map
Definition libinput.h:4864
struct libinput_config_area_rectangle libinput_device_config_area_get_default_rectangle(struct libinput_device *device)
Return the default area rectangle for this device.
enum libinput_config_status libinput_device_config_click_set_clickfinger_button_map(struct libinput_device *device, enum libinput_config_clickfinger_button_map map)
Set the finger number to button number mapping for clickfinger.
enum libinput_config_eraser_button_mode libinput_tablet_tool_config_eraser_button_get_mode(struct libinput_tablet_tool *tool)
Get the mode for the eraser button.
uint32_t libinput_device_config_accel_get_profiles(struct libinput_device *device)
Returns a bitmask of the configurable acceleration modes available on this device.
unsigned int libinput_tablet_tool_config_eraser_button_get_button(struct libinput_tablet_tool *tool)
Get the button configured to emulate an eraser for this tool.
enum libinput_config_status libinput_device_config_accel_set_profile(struct libinput_device *device, enum libinput_config_accel_profile profile)
Set the pointer acceleration profile of this pointer device to the given mode.
enum libinput_config_status libinput_device_config_scroll_set_button(struct libinput_device *device, uint32_t button)
Set the button for the LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN method for this device.
libinput_config_tap_state
Definition libinput.h:4764
uint32_t libinput_device_config_scroll_get_methods(struct libinput_device *device)
Check which scroll methods a device supports.
struct libinput_config_accel * libinput_config_accel_create(enum libinput_config_accel_profile profile)
Create an acceleration configuration of a given profile.
enum libinput_config_status libinput_device_config_tap_set_button_map(struct libinput_device *device, enum libinput_config_tap_button_map map)
Set the finger number to button number mapping for tap-to-click.
int libinput_device_config_3fg_drag_get_finger_count(struct libinput_device *device)
Returns the maximum number of fingers available for 3-finger dragging.
libinput_config_dwt_state
Possible states for the disable-while-typing feature.
Definition libinput.h:6666
enum libinput_config_3fg_drag_state libinput_device_config_3fg_drag_get_enabled(struct libinput_device *device)
Return whether 3-finger drag is enabled or disabled on this device.
enum libinput_config_status libinput_device_config_tap_set_drag_enabled(struct libinput_device *device, enum libinput_config_drag_state enable)
Enable or disable tap-and-drag on this device.
uint32_t libinput_device_config_scroll_get_default_button(struct libinput_device *device)
Get the default button for the LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN method for this device.
uint32_t libinput_device_config_dwtp_get_timeout(struct libinput_device *device)
Get the current disable-while-trackpointing timeout.
libinput_config_accel_profile
Definition libinput.h:5683
int libinput_device_config_middle_emulation_is_available(struct libinput_device *device)
Check if middle mouse button emulation configuration is available on this device.
int libinput_device_config_calibration_has_matrix(struct libinput_device *device)
Check if the device can be calibrated via a calibration matrix.
libinput_config_drag_state
A config status to distinguish or set dragging on a device.
Definition libinput.h:4958
libinput_config_dwtp_state
Possible states for the disable-while-trackpointing feature.
Definition libinput.h:6804
enum libinput_config_scroll_button_lock_state libinput_device_config_scroll_get_button_lock(struct libinput_device *device)
Get the current scroll button lock state.
enum libinput_config_status libinput_tablet_tool_config_eraser_button_set_button(struct libinput_tablet_tool *tool, uint32_t button)
Set a button to be the eraser button for this tool.
enum libinput_config_status libinput_device_config_click_set_method(struct libinput_device *device, enum libinput_config_click_method method)
Set the button click method for this device.
enum libinput_config_status libinput_device_config_dwt_set_timeout(struct libinput_device *device, uint32_t millis)
Set the disable-while-typing timeout.
uint32_t libinput_device_config_send_events_get_mode(struct libinput_device *device)
Get the send-event mode for this device.
libinput_config_drag_lock_state
Definition libinput.h:5033
enum libinput_config_dwtp_state libinput_device_config_dwtp_get_default_enabled(struct libinput_device *device)
Check if the disable-while-trackpointing feature is enabled on this device by default.
uint32_t libinput_device_config_send_events_get_default_mode(struct libinput_device *device)
Get the default send-event mode for this device.
enum libinput_config_status libinput_tablet_tool_config_eraser_button_set_mode(struct libinput_tablet_tool *tool, enum libinput_config_eraser_button_mode mode)
Change the eraser button behavior on a tool.
enum libinput_config_dwt_state libinput_device_config_dwt_get_enabled(struct libinput_device *device)
Check if the disable-while-typing feature is currently enabled on this device.
unsigned int libinput_device_config_rotation_get_angle(struct libinput_device *device)
Get the current rotation of a device in degrees clockwise off the logical neutral position.
enum libinput_config_tap_state libinput_device_config_tap_get_default_enabled(struct libinput_device *device)
Return the default setting for whether tap-to-click is enabled on this device.
double libinput_tablet_tool_config_pressure_range_get_default_maximum(struct libinput_tablet_tool *tool)
Get the maximum pressure value for this tablet tool, normalized to the range [0.0,...
enum libinput_config_dwtp_state libinput_device_config_dwtp_get_enabled(struct libinput_device *device)
Check if the disable-while-trackpointing feature is currently enabled on this device.
@ LIBINPUT_ACCEL_TYPE_FALLBACK
The default acceleration type used as a fallback when other acceleration types are not provided.
Definition libinput.h:5830
@ LIBINPUT_ACCEL_TYPE_SCROLL
Acceleration type for scroll movement.
Definition libinput.h:5840
@ LIBINPUT_ACCEL_TYPE_MOTION
Acceleration type for regular pointer movement.
Definition libinput.h:5835
@ LIBINPUT_CONFIG_3FG_DRAG_ENABLED_4FG
Drag is to be enabled for 4 fingers, or is currently enabled.
Definition libinput.h:5147
@ LIBINPUT_CONFIG_3FG_DRAG_ENABLED_3FG
Drag is to be enabled for 3 fingers, or is currently enabled.
Definition libinput.h:5142
@ LIBINPUT_CONFIG_3FG_DRAG_DISABLED
Drag is to be disabled, or is currently disabled.
Definition libinput.h:5137
@ LIBINPUT_CONFIG_STATUS_UNSUPPORTED
Configuration not available on this device.
Definition libinput.h:4744
@ LIBINPUT_CONFIG_STATUS_SUCCESS
Config applied successfully.
Definition libinput.h:4743
@ LIBINPUT_CONFIG_STATUS_INVALID
Invalid parameter range.
Definition libinput.h:4746
@ LIBINPUT_CONFIG_CLICK_METHOD_NONE
Do not send software-emulated button events.
Definition libinput.h:6109
@ LIBINPUT_CONFIG_CLICK_METHOD_BUTTON_AREAS
Use software-button areas to generate button events.
Definition libinput.h:6113
@ LIBINPUT_CONFIG_CLICK_METHOD_CLICKFINGER
The number of fingers decides which button press to generate.
Definition libinput.h:6117
@ LIBINPUT_CONFIG_MIDDLE_EMULATION_DISABLED
Middle mouse button emulation is to be disabled, or is currently disabled.
Definition libinput.h:6269
@ LIBINPUT_CONFIG_MIDDLE_EMULATION_ENABLED
Middle mouse button emulation is to be enabled, or is currently enabled.
Definition libinput.h:6274
@ LIBINPUT_CONFIG_SEND_EVENTS_ENABLED
Send events from this device normally.
Definition libinput.h:5488
@ LIBINPUT_CONFIG_SEND_EVENTS_DISABLED
Do not send events through this device.
Definition libinput.h:5502
@ LIBINPUT_CONFIG_SEND_EVENTS_DISABLED_ON_EXTERNAL_MOUSE
If an external pointer device is plugged in, do not send events from this device.
Definition libinput.h:5508
@ LIBINPUT_CONFIG_ERASER_BUTTON_DEFAULT
Use the default hardware behavior of the tool.
Definition libinput.h:7181
@ LIBINPUT_CONFIG_ERASER_BUTTON_BUTTON
The eraser button on the tool sends a button event instead.
Definition libinput.h:7189
@ LIBINPUT_CONFIG_SCROLL_EDGE
Send scroll events when a finger moves along the bottom or right edge of a device.
Definition libinput.h:6402
@ LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN
Send scroll events when a button is down and the device moves along a scroll-capable axis.
Definition libinput.h:6407
@ LIBINPUT_CONFIG_SCROLL_2FG
Send scroll events when two fingers are logically down on the device.
Definition libinput.h:6397
@ LIBINPUT_CONFIG_SCROLL_NO_SCROLL
Never send scroll events instead of pointer motion events.
Definition libinput.h:6392
@ LIBINPUT_CONFIG_TAP_MAP_LRM
1/2/3 finger tap maps to left/right/middle
Definition libinput.h:4856
@ LIBINPUT_CONFIG_TAP_MAP_LMR
1/2/3 finger tap maps to left/middle/right
Definition libinput.h:4858
@ LIBINPUT_CONFIG_CLICKFINGER_MAP_LMR
1/2/3 finger click maps to left/middle/right
Definition libinput.h:4868
@ LIBINPUT_CONFIG_CLICKFINGER_MAP_LRM
1/2/3 finger click maps to left/right/middle
Definition libinput.h:4866
@ LIBINPUT_CONFIG_TAP_DISABLED
Tapping is to be disabled, or is currently disabled.
Definition libinput.h:4765
@ LIBINPUT_CONFIG_TAP_ENABLED
Tapping is to be enabled, or is currently enabled.
Definition libinput.h:4767
@ LIBINPUT_CONFIG_DWT_DISABLED
Definition libinput.h:6667
@ LIBINPUT_CONFIG_DWT_ENABLED
Definition libinput.h:6668
@ LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE
An adaptive acceleration profile.
Definition libinput.h:5702
@ LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM
A custom acceleration profile.
Definition libinput.h:5711
@ LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT
A flat acceleration profile.
Definition libinput.h:5696
@ LIBINPUT_CONFIG_ACCEL_PROFILE_NONE
Placeholder for devices that don't have a configurable pointer acceleration profile.
Definition libinput.h:5688
@ LIBINPUT_CONFIG_DRAG_ENABLED
Drag is to be enabled, or is currently enabled.
Definition libinput.h:4968
@ LIBINPUT_CONFIG_DRAG_DISABLED
Drag is to be disabled, or is currently disabled.
Definition libinput.h:4963
@ LIBINPUT_CONFIG_DWTP_DISABLED
Definition libinput.h:6805
@ LIBINPUT_CONFIG_DWTP_ENABLED
Definition libinput.h:6806
@ LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_TIMEOUT
Drag lock is to be enabled in timeout mode, or is currently enabled in timeout mode.
Definition libinput.h:5038
@ LIBINPUT_CONFIG_DRAG_LOCK_ENABLED
legacy spelling for LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_TIMEOUT
Definition libinput.h:5040
@ LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
Drag lock is to be enabled in sticky mode, or is currently enabled in sticky mode.
Definition libinput.h:5043
@ LIBINPUT_CONFIG_DRAG_LOCK_DISABLED
Drag lock is to be disabled, or is currently disabled.
Definition libinput.h:5035
int libinput_device_tablet_pad_has_key(struct libinput_device *device, uint32_t code)
Check if a LIBINPUT_DEVICE_CAP_TABLET_PAD device has a key with the given code (see linux/input-event...
struct libinput_device * libinput_device_unref(struct libinput_device *device)
Decrease the refcount of the input device.
const char * libinput_device_get_sysname(struct libinput_device *device)
Get the system name of the device.
int libinput_device_tablet_pad_get_num_buttons(struct libinput_device *device)
Return the number of buttons on a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability.
void * libinput_device_get_user_data(struct libinput_device *device)
Get the caller-specific data associated with this input device, if any.
libinput_device_capability
Capabilities on a device.
Definition libinput.h:206
libinput_key_state
Logical state of a key.
Definition libinput.h:222
libinput_led
Mask reflecting LEDs on a device.
Definition libinput.h:232
int libinput_device_tablet_pad_get_num_dials(struct libinput_device *device)
Return the number of dials a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability provides.
libinput_switch
The type of a switch.
Definition libinput.h:716
libinput_button_state
Logical state of a physical button.
Definition libinput.h:246
libinput_tablet_tool_proximity_state
The state of proximity for a tool on a device.
Definition libinput.h:392
void * libinput_device_group_get_user_data(struct libinput_device_group *group)
Get the caller-specific data associated with this input device group, if any.
void libinput_device_set_user_data(struct libinput_device *device, void *user_data)
Set caller-specific data associated with this input device.
int libinput_device_tablet_pad_get_num_rings(struct libinput_device *device)
Return the number of rings a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability provides.
libinput_switch_state
The state of a switch.
Definition libinput.h:704
struct libinput_device_group * libinput_device_group_unref(struct libinput_device_group *group)
Decrease the refcount of the device group.
libinput_pointer_axis_source
The source for a libinput_pointer_axis event.
Definition libinput.h:280
struct libinput_device_group * libinput_device_get_device_group(struct libinput_device *device)
Get the device group this device is assigned to.
int libinput_device_keyboard_has_key(struct libinput_device *device, uint32_t code)
Check if a LIBINPUT_DEVICE_CAP_KEYBOARD device has a key with the given code (see linux/input-event-c...
libinput_pointer_axis
Axes on a device with the capability LIBINPUT_DEVICE_CAP_POINTER that are not x or y coordinates.
Definition libinput.h:263
libinput_tablet_tool_type
Available tool types for a device with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capability.
Definition libinput.h:362
int libinput_device_set_seat_logical_name(struct libinput_device *device, const char *name)
Change the logical seat associated with this device by removing the device and adding it to the new s...
int libinput_device_tablet_pad_get_num_strips(struct libinput_device *device)
Return the number of strips a device with the LIBINPUT_DEVICE_CAP_TABLET_PAD capability provides.
struct libinput * libinput_device_get_context(struct libinput_device *device)
Get the libinput context from the device.
int libinput_device_has_capability(struct libinput_device *device, enum libinput_device_capability capability)
Check if the given device has the specified capability.
int libinput_device_pointer_has_button(struct libinput_device *device, uint32_t code)
Check if a LIBINPUT_DEVICE_CAP_POINTER device has a button with the given code (see linux/input-event...
struct libinput_device_group * libinput_device_group_ref(struct libinput_device_group *group)
Increase the refcount of the device group.
const char * libinput_device_get_output_name(struct libinput_device *device)
A device may be mapped to a single output, or all available outputs.
int libinput_device_get_size(struct libinput_device *device, double *width, double *height)
Get the physical size of a device in mm, where meaningful.
libinput_tablet_tool_tip_state
The tip contact state for a tool on a device.
Definition libinput.h:408
struct udev_device * libinput_device_get_udev_device(struct libinput_device *device)
Return a udev handle to the device that is this libinput device, if any.
int libinput_device_switch_has_switch(struct libinput_device *device, enum libinput_switch sw)
Check if a LIBINPUT_DEVICE_CAP_SWITCH device has a switch of the given type.
unsigned int libinput_device_get_id_bustype(struct libinput_device *device)
Get the bus type ID for this device.
int libinput_device_touch_get_touch_count(struct libinput_device *device)
Check how many touches a LIBINPUT_DEVICE_CAP_TOUCH device supports simultaneously.
unsigned int libinput_device_get_id_vendor(struct libinput_device *device)
Get the vendor ID for this device.
unsigned int libinput_device_get_id_product(struct libinput_device *device)
Get the product ID for this device.
struct libinput_device * libinput_device_ref(struct libinput_device *device)
Increase the refcount of the input device.
void libinput_device_group_set_user_data(struct libinput_device_group *group, void *user_data)
Set caller-specific data associated with this device group.
struct libinput_seat * libinput_device_get_seat(struct libinput_device *device)
Get the seat associated with this input device.
const char * libinput_device_get_name(struct libinput_device *device)
The descriptive device name as advertised by the kernel and/or the hardware itself.
void libinput_device_led_update(struct libinput_device *device, enum libinput_led leds)
Update the LEDs on the device, if any.
@ LIBINPUT_DEVICE_CAP_GESTURE
Definition libinput.h:212
@ LIBINPUT_DEVICE_CAP_POINTER
Definition libinput.h:208
@ LIBINPUT_DEVICE_CAP_KEYBOARD
Definition libinput.h:207
@ LIBINPUT_DEVICE_CAP_TABLET_PAD
Definition libinput.h:211
@ LIBINPUT_DEVICE_CAP_TOUCH
Definition libinput.h:209
@ LIBINPUT_DEVICE_CAP_TABLET_TOOL
Definition libinput.h:210
@ LIBINPUT_DEVICE_CAP_SWITCH
Definition libinput.h:213
@ LIBINPUT_KEY_STATE_PRESSED
Definition libinput.h:224
@ LIBINPUT_KEY_STATE_RELEASED
Definition libinput.h:223
@ LIBINPUT_LED_CAPS_LOCK
Definition libinput.h:234
@ LIBINPUT_LED_SCROLL_LOCK
Definition libinput.h:235
@ LIBINPUT_LED_KANA
Definition libinput.h:237
@ LIBINPUT_LED_COMPOSE
Definition libinput.h:236
@ LIBINPUT_LED_NUM_LOCK
Definition libinput.h:233
@ LIBINPUT_SWITCH_TABLET_MODE
This switch indicates whether the device is in normal laptop mode or behaves like a tablet-like devic...
Definition libinput.h:738
@ LIBINPUT_SWITCH_LID
The laptop lid was closed when the switch state is LIBINPUT_SWITCH_STATE_ON, or was opened when it is...
Definition libinput.h:722
@ LIBINPUT_SWITCH_KEYPAD_SLIDE
This switch indicates if the device keypad is exposed or not.
Definition libinput.h:752
@ LIBINPUT_BUTTON_STATE_PRESSED
Definition libinput.h:248
@ LIBINPUT_BUTTON_STATE_RELEASED
Definition libinput.h:247
@ LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN
Definition libinput.h:394
@ LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT
Definition libinput.h:393
@ LIBINPUT_SWITCH_STATE_OFF
Definition libinput.h:705
@ LIBINPUT_SWITCH_STATE_ON
Definition libinput.h:706
@ LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS
The event is caused by the motion of some device.
Definition libinput.h:293
@ LIBINPUT_POINTER_AXIS_SOURCE_WHEEL
The event is caused by the rotation of a wheel.
Definition libinput.h:284
@ LIBINPUT_POINTER_AXIS_SOURCE_FINGER
The event is caused by the movement of one or more fingers on a device.
Definition libinput.h:289
@ LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT
The event is caused by the tilting of a mouse wheel rather than its rotation.
Definition libinput.h:303
@ LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL
Definition libinput.h:264
@ LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL
Definition libinput.h:265
@ LIBINPUT_TABLET_TOOL_TYPE_MOUSE
A mouse bound to the tablet.
Definition libinput.h:369
@ LIBINPUT_TABLET_TOOL_TYPE_AIRBRUSH
An airbrush-like tool.
Definition libinput.h:368
@ LIBINPUT_TABLET_TOOL_TYPE_TOTEM
A rotary device with positional and rotation data.
Definition libinput.h:371
@ LIBINPUT_TABLET_TOOL_TYPE_LENS
A mouse tool with a lens.
Definition libinput.h:370
@ LIBINPUT_TABLET_TOOL_TYPE_ERASER
Eraser.
Definition libinput.h:364
@ LIBINPUT_TABLET_TOOL_TYPE_PEN
A generic pen.
Definition libinput.h:363
@ LIBINPUT_TABLET_TOOL_TYPE_BRUSH
A paintbrush-like tool.
Definition libinput.h:365
@ LIBINPUT_TABLET_TOOL_TYPE_PENCIL
Physical drawing tool, e.g.
Definition libinput.h:366
@ LIBINPUT_TABLET_TOOL_TIP_DOWN
Definition libinput.h:410
@ LIBINPUT_TABLET_TOOL_TIP_UP
Definition libinput.h:409
uint64_t libinput_event_gesture_get_time_usec(struct libinput_event_gesture *event)
double libinput_event_gesture_get_dx(struct libinput_event_gesture *event)
Return the delta between the last event and the current event.
double libinput_event_gesture_get_dy_unaccelerated(struct libinput_event_gesture *event)
Return the relative delta of the unaccelerated motion vector of the current event.
double libinput_event_gesture_get_angle_delta(struct libinput_event_gesture *event)
Return the angle delta in degrees between the last and the current LIBINPUT_EVENT_GESTURE_PINCH_UPDAT...
uint32_t libinput_event_gesture_get_time(struct libinput_event_gesture *event)
int libinput_event_gesture_get_cancelled(struct libinput_event_gesture *event)
Return if the gesture ended normally, or if it was cancelled.
double libinput_event_gesture_get_dx_unaccelerated(struct libinput_event_gesture *event)
Return the relative delta of the unaccelerated motion vector of the current event.
double libinput_event_gesture_get_scale(struct libinput_event_gesture *event)
Return the absolute scale of a pinch gesture, the scale is the division of the current distance betwe...
struct libinput_event * libinput_event_gesture_get_base_event(struct libinput_event_gesture *event)
double libinput_event_gesture_get_dy(struct libinput_event_gesture *event)
Return the delta between the last event and the current event.
int libinput_event_gesture_get_finger_count(struct libinput_event_gesture *event)
Return the number of fingers used for a gesture.
uint32_t libinput_event_keyboard_get_time(struct libinput_event_keyboard *event)
uint64_t libinput_event_keyboard_get_time_usec(struct libinput_event_keyboard *event)
uint32_t libinput_event_keyboard_get_seat_key_count(struct libinput_event_keyboard *event)
For the key of a LIBINPUT_EVENT_KEYBOARD_KEY event, return the total number of keys pressed on all de...
struct libinput_event * libinput_event_keyboard_get_base_event(struct libinput_event_keyboard *event)
uint32_t libinput_event_keyboard_get_key(struct libinput_event_keyboard *event)
enum libinput_key_state libinput_event_keyboard_get_key_state(struct libinput_event_keyboard *event)
uint32_t libinput_event_pointer_get_seat_button_count(struct libinput_event_pointer *event)
For the button of a LIBINPUT_EVENT_POINTER_BUTTON event, return the total number of buttons pressed o...
int libinput_event_pointer_has_axis(struct libinput_event_pointer *event, enum libinput_pointer_axis axis)
Check if the event has a valid value for the given axis.
enum libinput_pointer_axis_source libinput_event_pointer_get_axis_source(struct libinput_event_pointer *event)
Return the source for a given axis event.
double libinput_event_pointer_get_absolute_x_transformed(struct libinput_event_pointer *event, uint32_t width)
Return the current absolute x coordinate of the pointer event, transformed to screen coordinates.
double libinput_event_pointer_get_dx(struct libinput_event_pointer *event)
Return the delta between the last event and the current event.
double libinput_event_pointer_get_dy_unaccelerated(struct libinput_event_pointer *event)
Return the relative delta of the unaccelerated motion vector of the current event.
double libinput_event_pointer_get_scroll_value_v120(struct libinput_event_pointer *event, enum libinput_pointer_axis axis)
For events of type LIBINPUT_EVENT_POINTER_SCROLL_WHEEL the v120-normalized value represents the movem...
double libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *event, enum libinput_pointer_axis axis)
Return the axis value in discrete steps for a given axis event.
double libinput_event_pointer_get_absolute_y(struct libinput_event_pointer *event)
Return the current absolute y coordinate of the pointer event, in mm from the top left corner of the ...
enum libinput_button_state libinput_event_pointer_get_button_state(struct libinput_event_pointer *event)
Return the button state that triggered this event.
double libinput_event_pointer_get_scroll_value(struct libinput_event_pointer *event, enum libinput_pointer_axis axis)
Return the axis value of the given axis.
uint32_t libinput_event_pointer_get_button(struct libinput_event_pointer *event)
Return the button that triggered this event.
double libinput_event_pointer_get_axis_value(struct libinput_event_pointer *event, enum libinput_pointer_axis axis)
Return the axis value of the given axis.
double libinput_event_pointer_get_dy(struct libinput_event_pointer *event)
Return the delta between the last event and the current event.
double libinput_event_pointer_get_absolute_y_transformed(struct libinput_event_pointer *event, uint32_t height)
Return the current absolute y coordinate of the pointer event, transformed to screen coordinates.
double libinput_event_pointer_get_absolute_x(struct libinput_event_pointer *event)
Return the current absolute x coordinate of the pointer event, in mm from the top left corner of the ...
uint32_t libinput_event_pointer_get_time(struct libinput_event_pointer *event)
double libinput_event_pointer_get_dx_unaccelerated(struct libinput_event_pointer *event)
Return the relative delta of the unaccelerated motion vector of the current event.
struct libinput_event * libinput_event_pointer_get_base_event(struct libinput_event_pointer *event)
uint64_t libinput_event_pointer_get_time_usec(struct libinput_event_pointer *event)
enum libinput_switch libinput_event_switch_get_switch(struct libinput_event_switch *event)
Return the switch that triggered this event.
uint64_t libinput_event_switch_get_time_usec(struct libinput_event_switch *event)
uint32_t libinput_event_switch_get_time(struct libinput_event_switch *event)
struct libinput_event * libinput_event_switch_get_base_event(struct libinput_event_switch *event)
enum libinput_switch_state libinput_event_switch_get_switch_state(struct libinput_event_switch *event)
Return the switch state that triggered this event.
libinput_tablet_pad_strip_axis_source
The source for a LIBINPUT_EVENT_TABLET_PAD_STRIP event.
Definition libinput.h:331
uint32_t libinput_event_tablet_pad_get_time(struct libinput_event_tablet_pad *event)
struct libinput_tablet_pad_mode_group * libinput_event_tablet_pad_get_mode_group(struct libinput_event_tablet_pad *event)
Returns the mode group that the button, ring, or strip that triggered this event is considered in.
unsigned int libinput_event_tablet_pad_get_strip_number(struct libinput_event_tablet_pad *event)
Returns the number of the strip that has changed state, with 0 being the first strip.
uint32_t libinput_event_tablet_pad_get_key(struct libinput_event_tablet_pad *event)
Return the key code that triggered this event, e.g.
uint32_t libinput_event_tablet_pad_get_button_number(struct libinput_event_tablet_pad *event)
Return the button number that triggered this event, starting at 0.
unsigned int libinput_event_tablet_pad_get_dial_number(struct libinput_event_tablet_pad *event)
Returns the number of the dial that has changed state, with 0 being the first dial.
double libinput_event_tablet_pad_get_dial_delta_v120(struct libinput_event_tablet_pad *event)
Returns the delta change of the dial, in multiples or fractions of 120, with each multiple of 120 ind...
double libinput_event_tablet_pad_get_ring_position(struct libinput_event_tablet_pad *event)
Returns the current position of the ring, in degrees clockwise from the northern-most point of the ri...
unsigned int libinput_event_tablet_pad_get_mode(struct libinput_event_tablet_pad *event)
Returns the mode the button, ring, or strip that triggered this event is in, at the time of the event...
uint64_t libinput_event_tablet_pad_get_time_usec(struct libinput_event_tablet_pad *event)
enum libinput_button_state libinput_event_tablet_pad_get_button_state(struct libinput_event_tablet_pad *event)
Return the button state of the event.
enum libinput_tablet_pad_ring_axis_source libinput_event_tablet_pad_get_ring_source(struct libinput_event_tablet_pad *event)
Returns the source of the interaction with the ring.
enum libinput_tablet_pad_strip_axis_source libinput_event_tablet_pad_get_strip_source(struct libinput_event_tablet_pad *event)
Returns the source of the interaction with the strip.
enum libinput_key_state libinput_event_tablet_pad_get_key_state(struct libinput_event_tablet_pad *event)
Return the key state of the event.
struct libinput_event * libinput_event_tablet_pad_get_base_event(struct libinput_event_tablet_pad *event)
unsigned int libinput_event_tablet_pad_get_ring_number(struct libinput_event_tablet_pad *event)
Returns the number of the ring that has changed state, with 0 being the first ring.
double libinput_event_tablet_pad_get_strip_position(struct libinput_event_tablet_pad *event)
Returns the current position of the strip, normalized to the range [0, 1], with 0 being the top/left-...
libinput_tablet_pad_ring_axis_source
The source for a LIBINPUT_EVENT_TABLET_PAD_RING event.
Definition libinput.h:314
@ LIBINPUT_TABLET_PAD_STRIP_SOURCE_UNKNOWN
Definition libinput.h:332
@ LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER
The event is caused by the movement of one or more fingers on the strip.
Definition libinput.h:337
@ LIBINPUT_TABLET_PAD_RING_SOURCE_UNKNOWN
Definition libinput.h:315
@ LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER
The event is caused by the movement of one or more fingers on the ring.
Definition libinput.h:320
double libinput_event_tablet_tool_get_wheel_delta(struct libinput_event_tablet_tool *event)
Return the delta for the wheel in degrees.
enum libinput_tablet_tool_proximity_state libinput_event_tablet_tool_get_proximity_state(struct libinput_event_tablet_tool *event)
Returns the new proximity state of a tool from a proximity event.
enum libinput_button_state libinput_event_tablet_tool_get_button_state(struct libinput_event_tablet_tool *event)
Return the button state of the event.
int libinput_event_tablet_tool_distance_has_changed(struct libinput_event_tablet_tool *event)
Check if the distance axis was updated in this event.
struct libinput_tablet_tool * libinput_tablet_tool_ref(struct libinput_tablet_tool *tool)
Increment the reference count of the tool by one.
int libinput_tablet_tool_is_unique(struct libinput_tablet_tool *tool)
Return nonzero if the physical tool can be uniquely identified by libinput, or nonzero otherwise.
double libinput_event_tablet_tool_get_tilt_x(struct libinput_event_tablet_tool *event)
Returns the current tilt along the X axis of the tablet's current logical orientation,...
double libinput_event_tablet_tool_get_size_minor(struct libinput_event_tablet_tool *event)
Returns the current size in mm along the minor axis of the touching ellipse.
struct libinput_tablet_tool * libinput_event_tablet_tool_get_tool(struct libinput_event_tablet_tool *event)
Returns the tool that was in use during this event.
int libinput_event_tablet_tool_y_has_changed(struct libinput_event_tablet_tool *event)
Check if the y axis was updated in this event.
int libinput_event_tablet_tool_pressure_has_changed(struct libinput_event_tablet_tool *event)
Check if the pressure axis was updated in this event.
double libinput_event_tablet_tool_get_slider_position(struct libinput_event_tablet_tool *event)
Returns the current position of the slider on the tool, normalized to the range [-1,...
double libinput_event_tablet_tool_get_x_transformed(struct libinput_event_tablet_tool *event, uint32_t width)
Return the current absolute x coordinate of the tablet tool event, transformed to screen coordinates.
enum libinput_tablet_tool_tip_state libinput_event_tablet_tool_get_tip_state(struct libinput_event_tablet_tool *event)
Returns the new tip state of a tool from a tip event.
int libinput_event_tablet_tool_slider_has_changed(struct libinput_event_tablet_tool *event)
Check if the slider axis was updated in this event.
void * libinput_tablet_tool_get_user_data(struct libinput_tablet_tool *tool)
Return the user data associated with a tool object.
uint64_t libinput_tablet_tool_get_tool_id(struct libinput_tablet_tool *tool)
Return the tool ID for a tool object.
int libinput_event_tablet_tool_x_has_changed(struct libinput_event_tablet_tool *event)
Check if the x axis was updated in this event.
double libinput_event_tablet_tool_get_tilt_y(struct libinput_event_tablet_tool *event)
Returns the current tilt along the Y axis of the tablet's current logical orientation,...
double libinput_event_tablet_tool_get_y_transformed(struct libinput_event_tablet_tool *event, uint32_t height)
Return the current absolute y coordinate of the tablet tool event, transformed to screen coordinates.
int libinput_tablet_tool_has_distance(struct libinput_tablet_tool *tool)
Return whether the tablet tool supports distance.
double libinput_event_tablet_tool_get_size_major(struct libinput_event_tablet_tool *event)
Returns the current size in mm along the major axis of the touching ellipse.
double libinput_event_tablet_tool_get_dy(struct libinput_event_tablet_tool *event)
Return the delta between the last event and the current event.
uint64_t libinput_event_tablet_tool_get_time_usec(struct libinput_event_tablet_tool *event)
double libinput_event_tablet_tool_get_dx(struct libinput_event_tablet_tool *event)
Return the delta between the last event and the current event.
enum libinput_tablet_tool_type libinput_tablet_tool_get_type(struct libinput_tablet_tool *tool)
Return the high-level tool type for a tool object.
int libinput_event_tablet_tool_size_minor_has_changed(struct libinput_event_tablet_tool *event)
Check if the size minor axis was updated in this event.
struct libinput_event * libinput_event_tablet_tool_get_base_event(struct libinput_event_tablet_tool *event)
uint32_t libinput_event_tablet_tool_get_seat_button_count(struct libinput_event_tablet_tool *event)
For the button of a LIBINPUT_EVENT_TABLET_TOOL_BUTTON event, return the total number of buttons press...
struct libinput_tablet_tool * libinput_tablet_tool_unref(struct libinput_tablet_tool *tool)
Decrement the reference count of the tool by one.
int libinput_event_tablet_tool_tilt_y_has_changed(struct libinput_event_tablet_tool *event)
Check if the tilt y axis was updated in this event.
int libinput_tablet_tool_has_pressure(struct libinput_tablet_tool *tool)
Return whether the tablet tool supports pressure.
int libinput_event_tablet_tool_tilt_x_has_changed(struct libinput_event_tablet_tool *event)
Check if the tilt x axis was updated in this event.
int libinput_tablet_tool_has_rotation(struct libinput_tablet_tool *tool)
Return whether the tablet tool supports z-rotation.
int libinput_event_tablet_tool_size_major_has_changed(struct libinput_event_tablet_tool *event)
Check if the size major axis was updated in this event.
double libinput_event_tablet_tool_get_distance(struct libinput_event_tablet_tool *event)
Returns the current distance from the tablet's sensor, normalized to the range [0,...
int libinput_tablet_tool_has_size(struct libinput_tablet_tool *tool)
Return whether the tablet tool has a ellipsis major and minor.
double libinput_event_tablet_tool_get_y(struct libinput_event_tablet_tool *event)
Returns the Y coordinate of the tablet tool, in mm from the top left corner of the tablet in its curr...
uint32_t libinput_event_tablet_tool_get_time(struct libinput_event_tablet_tool *event)
double libinput_event_tablet_tool_get_x(struct libinput_event_tablet_tool *event)
Returns the X coordinate of the tablet tool, in mm from the top left corner of the tablet in its curr...
int libinput_event_tablet_tool_wheel_has_changed(struct libinput_event_tablet_tool *event)
Check if the wheel axis was updated in this event.
int libinput_tablet_tool_has_tilt(struct libinput_tablet_tool *tool)
Return whether the tablet tool supports tilt.
int libinput_tablet_tool_has_button(struct libinput_tablet_tool *tool, uint32_t code)
Check if a tablet tool has a button with the passed-in code (see linux/input.h).
uint64_t libinput_tablet_tool_get_serial(struct libinput_tablet_tool *tool)
Return the serial number of a tool.
void libinput_tablet_tool_set_user_data(struct libinput_tablet_tool *tool, void *user_data)
Set the user data associated with a tool object, if any.
int libinput_event_tablet_tool_get_wheel_delta_discrete(struct libinput_event_tablet_tool *event)
Return the delta for the wheel in discrete steps (e.g.
int libinput_tablet_tool_has_wheel(struct libinput_tablet_tool *tool)
Return whether the tablet tool has a relative wheel.
double libinput_event_tablet_tool_get_pressure(struct libinput_event_tablet_tool *event)
Returns the current pressure being applied on the tool in use, normalized to the range [0,...
int libinput_event_tablet_tool_rotation_has_changed(struct libinput_event_tablet_tool *event)
Check if the z-rotation axis was updated in this event.
int libinput_tablet_tool_has_slider(struct libinput_tablet_tool *tool)
Return whether the tablet tool has a slider axis.
uint32_t libinput_event_tablet_tool_get_button(struct libinput_event_tablet_tool *event)
Return the button that triggered this event.
double libinput_event_tablet_tool_get_rotation(struct libinput_event_tablet_tool *event)
Returns the current z rotation of the tool in degrees, clockwise from the tool's logical neutral posi...
double libinput_event_touch_get_y(struct libinput_event_touch *event)
Return the current absolute y coordinate of the touch event, in mm from the top left corner of the de...
double libinput_event_touch_get_y_transformed(struct libinput_event_touch *event, uint32_t height)
Return the current absolute y coordinate of the touch event, transformed to screen coordinates.
struct libinput_event * libinput_event_touch_get_base_event(struct libinput_event_touch *event)
uint32_t libinput_event_touch_get_time(struct libinput_event_touch *event)
uint64_t libinput_event_touch_get_time_usec(struct libinput_event_touch *event)
int32_t libinput_event_touch_get_seat_slot(struct libinput_event_touch *event)
Get the seat slot of the touch event.
double libinput_event_touch_get_x(struct libinput_event_touch *event)
Return the current absolute x coordinate of the touch event, in mm from the top left corner of the de...
double libinput_event_touch_get_x_transformed(struct libinput_event_touch *event, uint32_t width)
Return the current absolute x coordinate of the touch event, transformed to screen coordinates.
int32_t libinput_event_touch_get_slot(struct libinput_event_touch *event)
Get the slot of this touch event.
struct libinput_event_keyboard * libinput_event_get_keyboard_event(struct libinput_event *event)
Return the keyboard event that is this input event.
void libinput_event_destroy(struct libinput_event *event)
Destroy the event, freeing all associated resources.
struct libinput_event_gesture * libinput_event_get_gesture_event(struct libinput_event *event)
Return the gesture event that is this input event.
enum libinput_event_type libinput_event_get_type(struct libinput_event *event)
Get the type of the event.
struct libinput * libinput_event_get_context(struct libinput_event *event)
Get the libinput context from the event.
struct libinput_event_tablet_tool * libinput_event_get_tablet_tool_event(struct libinput_event *event)
Return the tablet tool event that is this input event.
struct libinput_event * libinput_event_device_notify_get_base_event(struct libinput_event_device_notify *event)
struct libinput_event_touch * libinput_event_get_touch_event(struct libinput_event *event)
Return the touch event that is this input event.
struct libinput_event_pointer * libinput_event_get_pointer_event(struct libinput_event *event)
Return the pointer event that is this input event.
struct libinput_device * libinput_event_get_device(struct libinput_event *event)
Return the device associated with this event.
struct libinput_event_switch * libinput_event_get_switch_event(struct libinput_event *event)
Return the switch event that is this input event.
struct libinput_event_device_notify * libinput_event_get_device_notify_event(struct libinput_event *event)
Return the device event that is this input event.
struct libinput_event_tablet_pad * libinput_event_get_tablet_pad_event(struct libinput_event *event)
Return the tablet pad event that is this input event.
struct libinput_seat * libinput_seat_ref(struct libinput_seat *seat)
Increase the refcount of the seat.
const char * libinput_seat_get_physical_name(struct libinput_seat *seat)
Return the physical name of the seat.
void libinput_seat_set_user_data(struct libinput_seat *seat, void *user_data)
Set caller-specific data associated with this seat.
void * libinput_seat_get_user_data(struct libinput_seat *seat)
Get the caller-specific data associated with this seat, if any.
const char * libinput_seat_get_logical_name(struct libinput_seat *seat)
Return the logical name of the seat.
struct libinput_seat * libinput_seat_unref(struct libinput_seat *seat)
Decrease the refcount of the seat.
struct libinput * libinput_seat_get_context(struct libinput_seat *seat)
Get the libinput context from the seat.
int libinput_tablet_pad_mode_group_has_dial(struct libinput_tablet_pad_mode_group *group, unsigned int dial)
Devices without mode switching capabilities return true for every dial.
int libinput_tablet_pad_mode_group_has_ring(struct libinput_tablet_pad_mode_group *group, unsigned int ring)
Devices without mode switching capabilities return true for every ring.
void libinput_tablet_pad_mode_group_set_user_data(struct libinput_tablet_pad_mode_group *group, void *user_data)
Set caller-specific data associated with this mode group.
struct libinput_tablet_pad_mode_group * libinput_device_tablet_pad_get_mode_group(struct libinput_device *device, unsigned int index)
The returned mode group is not refcounted and may become invalid after the next call to libinput.
int libinput_device_tablet_pad_get_num_mode_groups(struct libinput_device *device)
Most devices only provide a single mode group, however devices such as the Wacom Cintiq 22HD provide ...
int libinput_tablet_pad_mode_group_has_strip(struct libinput_tablet_pad_mode_group *group, unsigned int strip)
Devices without mode switching capabilities return true for every strip.
unsigned int libinput_tablet_pad_mode_group_get_num_modes(struct libinput_tablet_pad_mode_group *group)
Query the mode group for the number of available modes.
unsigned int libinput_tablet_pad_mode_group_get_mode(struct libinput_tablet_pad_mode_group *group)
Return the current mode this mode group is in.
unsigned int libinput_tablet_pad_mode_group_get_index(struct libinput_tablet_pad_mode_group *group)
The returned number is the same index as passed to libinput_device_tablet_pad_get_mode_group().
int libinput_tablet_pad_mode_group_has_button(struct libinput_tablet_pad_mode_group *group, unsigned int button)
Devices without mode switching capabilities return true for every button.
struct libinput_tablet_pad_mode_group * libinput_tablet_pad_mode_group_ref(struct libinput_tablet_pad_mode_group *group)
Increase the refcount of the mode group.
struct libinput_tablet_pad_mode_group * libinput_tablet_pad_mode_group_unref(struct libinput_tablet_pad_mode_group *group)
Decrease the refcount of the mode group.
int libinput_tablet_pad_mode_group_button_is_toggle(struct libinput_tablet_pad_mode_group *group, unsigned int button)
The toggle button in a mode group is the button assigned to cycle to or directly assign a new mode wh...
void * libinput_tablet_pad_mode_group_get_user_data(struct libinput_tablet_pad_mode_group *group)
Get the caller-specific data associated with this mode group, if any.
#define LIBINPUT_ATTRIBUTE_PRINTF(_format, _args)
Definition libinput.h:37
libinput_plugin_system_flags
Definition libinput.h:3779
@ LIBINPUT_PLUGIN_SYSTEM_FLAG_NONE
Definition libinput.h:3780
libinput_config_scroll_button_lock_state
Definition libinput.h:6585
@ LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_ENABLED
Definition libinput.h:6587
@ LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_DISABLED
Definition libinput.h:6586
Describes a rectangle to configure a device's area, see libinput_device_config_area_set_rectangle().
Definition libinput.h:5354
double y1
Definition libinput.h:5356
double y2
Definition libinput.h:5358
double x1
Definition libinput.h:5355
double x2
Definition libinput.h:5357
A base handle for accessing libinput device groups.
A base handle for accessing libinput devices.
An event notifying the caller of a device being added or removed.
A gesture event representing a swipe, pinch or hold gesture.
A keyboard event representing a key press/release.
A pointer event representing relative or absolute pointer movement, a button press/release or scroll ...
A switch event representing a changed state in a switch.
Tablet pad event representing a button press, or ring/strip update on the tablet pad itself.
Tablet tool event representing an axis update, button press, or tool update.
Touch event representing a touch down, move or up, as well as a touch cancel and touch frame events.
The base event type.
libinput does not open file descriptors to devices directly, instead open_restricted() and close_rest...
Definition libinput.h:3589
int(* open_restricted)(const char *path, int flags, void *user_data)
Open the device at the given path with the flags provided and return the fd.
Definition libinput.h:3601
void(* close_restricted)(int fd, void *user_data)
Close the file descriptor.
Definition libinput.h:3609
The base handle for accessing libinput seats.
A mode on a tablet pad is a virtual grouping of functionality, usually based on some visual feedback ...
An object representing a tool being used by a device with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capabil...
A handle for accessing libinput.