Data Structures | Macros | Typedefs | Enumerations | Functions
libinput.h File Reference
`#include <stdlib.h>`
`#include <stdint.h>`
`#include <libudev.h>`
Include dependency graph for libinput.h:

Go to the source code of this file.

## Data Structures
struct | libinput_interface
| libinput does not open file descriptors to devices directly, instead open_restricted() and close_restricted() are called for each path that must be opened. More...

## Macros
#define | LIBINPUT_ATTRIBUTE_PRINTF(_format, _args)
#define | LIBINPUT_ATTRIBUTE_DEPRECATED

## Typedefs
typedef 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. More...
typedef void(*) voi | libinput_log_set_handler) (struct libinput *libinput, libinput_log_handler log_handler)
| Set the context's log handler. More...

## Enumerations
enum | libinput_log_priority { LIBINPUT_LOG_PRIORITY_DEBUG, LIBINPUT_LOG_PRIORITY_INFO, LIBINPUT_LOG_PRIORITY_ERROR }
| Log priority for internal logging messages. More...
enum | libinput_device_capability { LIBINPUT_DEVICE_CAP_KEYBOARD, LIBINPUT_DEVICE_CAP_POINTER, LIBINPUT_DEVICE_CAP_TOUCH, LIBINPUT_DEVICE_CAP_TABLET_TOOL, LIBINPUT_DEVICE_CAP_TABLET_PAD, LIBINPUT_DEVICE_CAP_GESTURE, LIBINPUT_DEVICE_CAP_SWITCH }
| Capabilities on a device. More...
enum | libinput_key_state { LIBINPUT_KEY_STATE_RELEASED, LIBINPUT_KEY_STATE_PRESSED }
| Logical state of a key. More...
enum | libinput_led { LIBINPUT_LED_NUM_LOCK, LIBINPUT_LED_CAPS_LOCK, LIBINPUT_LED_SCROLL_LOCK }
| Mask reflecting LEDs on a device. More...
enum | libinput_button_state { LIBINPUT_BUTTON_STATE_RELEASED, LIBINPUT_BUTTON_STATE_PRESSED }
| Logical state of a physical button. More...
enum | libinput_pointer_axis { LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL }
| Axes on a device with the capability LIBINPUT_DEVICE_CAP_POINTER that are not x or y coordinates. More...
enum | libinput_pointer_axis_source { LIBINPUT_POINTER_AXIS_SOURCE_WHEEL, LIBINPUT_POINTER_AXIS_SOURCE_FINGER, LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS, LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT }
| The source for a libinput_pointer_axis event. More...
enum | libinput_tablet_pad_ring_axis_source { LIBINPUT_TABLET_PAD_RING_SOURCE_UNKNOWN, LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER }
| The source for a LIBINPUT_EVENT_TABLET_PAD_RING event. More...
enum | libinput_tablet_pad_strip_axis_source { LIBINPUT_TABLET_PAD_STRIP_SOURCE_UNKNOWN, LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER }
| The source for a LIBINPUT_EVENT_TABLET_PAD_STRIP event. More...
enum | libinput_tablet_tool_type { LIBINPUT_TABLET_TOOL_TYPE_PEN, LIBINPUT_TABLET_TOOL_TYPE_ERASER, LIBINPUT_TABLET_TOOL_TYPE_BRUSH, LIBINPUT_TABLET_TOOL_TYPE_PENCIL, LIBINPUT_TABLET_TOOL_TYPE_AIRBRUSH, LIBINPUT_TABLET_TOOL_TYPE_MOUSE, LIBINPUT_TABLET_TOOL_TYPE_LENS }
| Available tool types for a device with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capability. More...
enum | libinput_tablet_tool_proximity_state { LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT, LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN }
| The state of proximity for a tool on a device. More...
enum | libinput_tablet_tool_tip_state { LIBINPUT_TABLET_TOOL_TIP_UP, LIBINPUT_TABLET_TOOL_TIP_DOWN }
| The tip contact state for a tool on a device. More...
enum | libinput_switch_state { LIBINPUT_SWITCH_STATE_OFF, LIBINPUT_SWITCH_STATE_ON }
| The state of a switch. More...
enum | libinput_switch { LIBINPUT_SWITCH_LID, LIBINPUT_SWITCH_TABLET_MODE }
| The type of a switch. More...
enum | libinput_event_type { LIBINPUT_EVENT_NONE, LIBINPUT_EVENT_DEVICE_ADDED, LIBINPUT_EVENT_DEVICE_REMOVED, LIBINPUT_EVENT_KEYBOARD_KEY, LIBINPUT_EVENT_POINTER_MOTION, LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE, LIBINPUT_EVENT_POINTER_BUTTON, LIBINPUT_EVENT_POINTER_AXIS, LIBINPUT_EVENT_TOUCH_DOWN, LIBINPUT_EVENT_TOUCH_UP, LIBINPUT_EVENT_TOUCH_MOTION, LIBINPUT_EVENT_TOUCH_CANCEL, LIBINPUT_EVENT_TOUCH_FRAME, LIBINPUT_EVENT_TABLET_TOOL_AXIS, LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY, LIBINPUT_EVENT_TABLET_TOOL_TIP, LIBINPUT_EVENT_TABLET_TOOL_BUTTON, LIBINPUT_EVENT_TABLET_PAD_BUTTON, LIBINPUT_EVENT_TABLET_PAD_RING, LIBINPUT_EVENT_TABLET_PAD_STRIP, LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN, LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE, LIBINPUT_EVENT_GESTURE_SWIPE_END, LIBINPUT_EVENT_GESTURE_PINCH_BEGIN, LIBINPUT_EVENT_GESTURE_PINCH_UPDATE, LIBINPUT_EVENT_GESTURE_PINCH_END, LIBINPUT_EVENT_SWITCH_TOGGLE }
| Event type for events returned by libinput_get_event(). More...
enum | libinput_config_status { LIBINPUT_CONFIG_STATUS_SUCCESS, LIBINPUT_CONFIG_STATUS_UNSUPPORTED, LIBINPUT_CONFIG_STATUS_INVALID }
| Status codes returned when applying configuration settings. More...
enum | libinput_config_tap_state { LIBINPUT_CONFIG_TAP_DISABLED, LIBINPUT_CONFIG_TAP_ENABLED }
enum | libinput_config_tap_button_map { LIBINPUT_CONFIG_TAP_MAP_LRM, LIBINPUT_CONFIG_TAP_MAP_LMR }
enum | libinput_config_drag_state { LIBINPUT_CONFIG_DRAG_DISABLED, LIBINPUT_CONFIG_DRAG_ENABLED }
| A config status to distinguish or set dragging on a device. More...
enum | libinput_config_drag_lock_state { LIBINPUT_CONFIG_DRAG_LOCK_DISABLED, LIBINPUT_CONFIG_DRAG_LOCK_ENABLED }
enum | libinput_config_send_events_mode { LIBINPUT_CONFIG_SEND_EVENTS_ENABLED, LIBINPUT_CONFIG_SEND_EVENTS_DISABLED, LIBINPUT_CONFIG_SEND_EVENTS_DISABLED_ON_EXTERNAL_MOUSE }
| The send-event mode of a device defines when a device may generate events and pass those events to the caller. More...
enum | libinput_config_accel_profile { LIBINPUT_CONFIG_ACCEL_PROFILE_NONE, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE }
enum | libinput_config_click_method { LIBINPUT_CONFIG_CLICK_METHOD_NONE, LIBINPUT_CONFIG_CLICK_METHOD_BUTTON_AREAS, LIBINPUT_CONFIG_CLICK_METHOD_CLICKFINGER }
| The click method defines when to generate software-emulated buttons, usually on a device that does not have a specific physical button available. More...
enum | libinput_config_middle_emulation_state { LIBINPUT_CONFIG_MIDDLE_EMULATION_DISABLED, LIBINPUT_CONFIG_MIDDLE_EMULATION_ENABLED }
enum | libinput_config_scroll_method { LIBINPUT_CONFIG_SCROLL_NO_SCROLL, LIBINPUT_CONFIG_SCROLL_2FG, LIBINPUT_CONFIG_SCROLL_EDGE, LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN }
| The scroll method of a device selects when to generate scroll axis events instead of pointer motion events. More...
enum | libinput_config_dwt_state { LIBINPUT_CONFIG_DWT_DISABLED, LIBINPUT_CONFIG_DWT_ENABLED }
| Possible states for the disable-while-typing feature. More...

## Functions
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 two mode groups. More...
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. More...
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(). More...
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. More...
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. More...
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. More...
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. More...
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. More...
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 when pressed. More...
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. More...
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. More...
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. More...
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. More...
void | libinput_event_destroy (struct libinput_event *event)
| Destroy the event, freeing all associated resources. More...
enum libinput_event_type | libinput_event_get_type (struct libinput_event *event)
| Get the type of the event. More...
struct libinput * | libinput_event_get_context (struct libinput_event *event)
| Get the libinput context from the event. More...
struct libinput_device * | libinput_event_get_device (struct libinput_event *event)
| Return the device associated with this event. More...
struct libinput_event_pointer * | libinput_event_get_pointer_event (struct libinput_event *event)
| Return the pointer event that is this input event. More...
struct libinput_event_keyboard * | libinput_event_get_keyboard_event (struct libinput_event *event)
| Return the keyboard event that is this input event. More...
struct libinput_event_touch * | libinput_event_get_touch_event (struct libinput_event *event)
| Return the touch event that is this input event. More...
struct libinput_event_gesture * | libinput_event_get_gesture_event (struct libinput_event *event)
| Return the gesture event that is this input event. More...
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. More...
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. More...
struct libinput_event_switch * | libinput_event_get_switch_event (struct libinput_event *event)
| Return the switch event that is this input event. More...
struct libinput_event_device_notify * | libinput_event_get_device_notify_event (struct libinput_event *event)
| Return the device event that is this input event. More...
struct libinput_event * | libinput_event_device_notify_get_base_event (struct libinput_event_device_notify *event)
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_key (struct libinput_event_keyboard *event)
enum libinput_key_state | libinput_event_keyboard_get_key_state (struct libinput_event_keyboard *event)
struct libinput_event * | libinput_event_keyboard_get_base_event (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 devices on the associated seat after the event was triggered. More...
uint32_t | libinput_event_pointer_get_time (struct libinput_event_pointer *event)
uint64_t | libinput_event_pointer_get_time_usec (struct libinput_event_pointer *event)
double | libinput_event_pointer_get_dx (struct libinput_event_pointer *event)
| Return the delta between the last event and the current event. More...
double | libinput_event_pointer_get_dy (struct libinput_event_pointer *event)
| Return the delta between the last event and the current event. More...
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. More...
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. More...
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 device. More...
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 device. More...
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. More...
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. More...
uint32_t | libinput_event_pointer_get_button (struct libinput_event_pointer *event)
| Return the button that triggered this event. More...
enum libinput_button_state | libinput_event_pointer_get_button_state (struct libinput_event_pointer *event)
| Return the button state that triggered this event. More...
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 on all devices on the associated seat after the event was triggered. More...
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. More...
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. More...
enum libinput_pointer_axis_source | libinput_event_pointer_get_axis_source (struct libinput_event_pointer *event)
| Return the source for a given axis event. More...
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. More...
struct libinput_event * | libinput_event_pointer_get_base_event (struct libinput_event_pointer *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_slot (struct libinput_event_touch *event)
| Get the slot of this touch event. More...
int32_t | libinput_event_touch_get_seat_slot (struct libinput_event_touch *event)
| Get the seat slot of the touch event. More...
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 device. More...
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 device. More...
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. More...
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. More...
struct libinput_event * | libinput_event_touch_get_base_event (struct libinput_event_touch *event)
uint32_t | libinput_event_gesture_get_time (struct libinput_event_gesture *event)
uint64_t | libinput_event_gesture_get_time_usec (struct libinput_event_gesture *event)
struct libinput_event * | libinput_event_gesture_get_base_event (struct libinput_event_gesture *event)
int | libinput_event_gesture_get_finger_count (struct libinput_event_gesture *event)
| Return the number of fingers used for a gesture. More...
int | libinput_event_gesture_get_cancelled (struct libinput_event_gesture *event)
| Return if the gesture ended normally, or if it was cancelled. More...
double | libinput_event_gesture_get_dx (struct libinput_event_gesture *event)
| Return the delta between the last event and the current event. More...
double | libinput_event_gesture_get_dy (struct libinput_event_gesture *event)
| Return the delta between the last event and the current event. More...
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. More...
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. More...
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 between the fingers and the distance at the start of the gesture. More...
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_UPDATE event. More...
struct libinput_event * | libinput_event_tablet_tool_get_base_event (struct libinput_event_tablet_tool *event)
int | libinput_event_tablet_tool_x_has_changed (struct libinput_event_tablet_tool *event)
| Check if the x axis was updated in this event. More...
int | libinput_event_tablet_tool_y_has_changed (struct libinput_event_tablet_tool *event)
| Check if the y axis was updated in this event. More...
int | libinput_event_tablet_tool_pressure_has_changed (struct libinput_event_tablet_tool *event)
| Check if the pressure axis was updated in this event. More...
int | libinput_event_tablet_tool_distance_has_changed (struct libinput_event_tablet_tool *event)
| Check if the distance axis was updated in this event. More...
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. More...
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. More...
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. More...
int | libinput_event_tablet_tool_slider_has_changed (struct libinput_event_tablet_tool *event)
| Check if the slider axis was updated in this event. More...
int | libinput_event_tablet_tool_wheel_has_changed (struct libinput_event_tablet_tool *event)
| Check if the wheel axis was updated in this event. More...
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 current logical orientation. More...
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 current logical orientation. More...
double | libinput_event_tablet_tool_get_dx (struct libinput_event_tablet_tool *event)
| Return the delta between the last event and the current event. More...
double | libinput_event_tablet_tool_get_dy (struct libinput_event_tablet_tool *event)
| Return the delta between the last event and the current event. More...
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, 1]. More...
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, 1]. More...
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, in degrees off the tablet's z axis. More...
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, in degrees off the tablet's z axis. More...
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 position. More...
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, 1]. More...
double | libinput_event_tablet_tool_get_wheel_delta (struct libinput_event_tablet_tool *event)
| Return the delta for the wheel in degrees. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
uint32_t | libinput_event_tablet_tool_get_button (struct libinput_event_tablet_tool *event)
| Return the button that triggered this event. More...
enum libinput_button_state | libinput_event_tablet_tool_get_button_state (struct libinput_event_tablet_tool *event)
| Return the button state of the event. More...
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 pressed on all devices on the associated seat after the the event was triggered. More...
uint32_t | libinput_event_tablet_tool_get_time (struct libinput_event_tablet_tool *event)
uint64_t | libinput_event_tablet_tool_get_time_usec (struct libinput_event_tablet_tool *event)
enum libinput_tablet_tool_type | libinput_tablet_tool_get_type (struct libinput_tablet_tool *tool)
| Return the tool type for a tool object, see Vendor-specific tablet tool types for details. More...
uint64_t | libinput_tablet_tool_get_tool_id (struct libinput_tablet_tool *tool)
| Return the tool ID for a tool object. More...
struct libinput_tablet_tool * | libinput_tablet_tool_ref (struct libinput_tablet_tool *tool)
| Increment the reference count of the tool by one. More...
struct libinput_tablet_tool * | libinput_tablet_tool_unref (struct libinput_tablet_tool *tool)
| Decrement the reference count of the tool by one. More...
int | libinput_tablet_tool_has_pressure (struct libinput_tablet_tool *tool)
| Return whether the tablet tool supports pressure. More...
int | libinput_tablet_tool_has_distance (struct libinput_tablet_tool *tool)
| Return whether the tablet tool supports distance. More...
int | libinput_tablet_tool_has_tilt (struct libinput_tablet_tool *tool)
| Return whether the tablet tool supports tilt. More...
int | libinput_tablet_tool_has_rotation (struct libinput_tablet_tool *tool)
| Return whether the tablet tool supports z-rotation. More...
int | libinput_tablet_tool_has_slider (struct libinput_tablet_tool *tool)
| Return whether the tablet tool has a slider axis. More...
int | libinput_tablet_tool_has_wheel (struct libinput_tablet_tool *tool)
| Return whether the tablet tool has a relative wheel. More...
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). More...
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. More...
uint64_t | libinput_tablet_tool_get_serial (struct libinput_tablet_tool *tool)
| Return the serial number of a tool. More...
void * | libinput_tablet_tool_get_user_data (struct libinput_tablet_tool *tool)
| Return the user data associated with a tool object. More...
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. More...
struct libinput_event * | libinput_event_tablet_pad_get_base_event (struct libinput_event_tablet_pad *event)
double | libinput_event_tablet_pad_get_ring_position (struct libinput_event_tablet_pad *event)
| Returns the current position of the ring, in degrees counterclockwise from the northern-most point of the ring in the tablet's current logical orientation. More...
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. More...
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. More...
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-most point in the tablet's current logical orientation. More...
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. More...
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. More...
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. More...
enum libinput_button_state | libinput_event_tablet_pad_get_button_state (struct libinput_event_tablet_pad *event)
| Return the button state of the event. More...
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. More...
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. More...
uint32_t | libinput_event_tablet_pad_get_time (struct libinput_event_tablet_pad *event)
uint64_t | libinput_event_tablet_pad_get_time_usec (struct libinput_event_tablet_pad *event)
enum libinput_switch | libinput_event_switch_get_switch (struct libinput_event_switch *event)
| Return the switch that triggered this event. More...
enum libinput_switch_state | libinput_event_switch_get_switch_state (struct libinput_event_switch *event)
| Return the switch state that triggered this event. More...
struct libinput_event * | libinput_event_switch_get_base_event (struct libinput_event_switch *event)
uint32_t | libinput_event_switch_get_time (struct libinput_event_switch *event)
uint64_t | libinput_event_switch_get_time_usec (struct libinput_event_switch *event)
struct libinput * | libinput_udev_create_context (const struct libinput_interface *interface, void *user_data, struct udev *udev)
| Create a new libinput context from udev. More...
int | libinput_udev_assign_seat (struct libinput *libinput, const char *seat_id)
| Assign a seat to this libinput context. More...
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 libinput_path_add_device() and libinput_path_remove_device(). More...
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(). More...
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 such a context with libinput_path_add_device(). More...
int | libinput_get_fd (struct libinput *libinput)
| libinput keeps a single file descriptor for all events. More...
int | libinput_dispatch (struct libinput *libinput)
| Main event dispatchment function. More...
struct libinput_event * | libinput_get_event (struct libinput *libinput)
| Retrieve the next event from libinput's internal event queue. More...
enum libinput_event_type | libinput_next_event_type (struct libinput *libinput)
| Return the type of the next event in the internal queue. More...
void | libinput_set_user_data (struct libinput *libinput, void *user_data)
| Set caller-specific data associated with this context. More...
void * | libinput_get_user_data (struct libinput *libinput)
| Get the caller-specific data associated with this context, if any. More...
int | libinput_resume (struct libinput *libinput)
| Resume a suspended libinput context. More...
void | libinput_suspend (struct libinput *libinput)
| Suspend monitoring for new devices and close existing devices. More...
struct libinput * | libinput_ref (struct libinput *libinput)
| Add a reference to the context. More...
struct libinput * | libinput_unref (struct libinput *libinput)
| Dereference the libinput context. More...
void | libinput_log_set_priority (struct libinput *libinput, enum libinput_log_priority priority)
| Set the log priority for the libinput context. More...
enum libinput_log_priority | libinput_log_get_priority (const struct libinput *libinput)
| Get the context's log priority. More...
struct libinput_seat * | libinput_seat_ref (struct libinput_seat *seat)
| Increase the refcount of the seat. More...
struct libinput_seat * | libinput_seat_unref (struct libinput_seat *seat)
| Decrease the refcount of the seat. More...
void | libinput_seat_set_user_data (struct libinput_seat *seat, void *user_data)
| Set caller-specific data associated with this seat. More...
void * | libinput_seat_get_user_data (struct libinput_seat *seat)
| Get the caller-specific data associated with this seat, if any. More...
struct libinput * | libinput_seat_get_context (struct libinput_seat *seat)
| Get the libinput context from the seat. More...
const char * | libinput_seat_get_physical_name (struct libinput_seat *seat)
| Return the physical name of the seat. More...
const char * | libinput_seat_get_logical_name (struct libinput_seat *seat)
| Return the logical name of the seat. More...
struct libinput_device * | libinput_device_ref (struct libinput_device *device)
| Increase the refcount of the input device. More...
struct libinput_device * | libinput_device_unref (struct libinput_device *device)
| Decrease the refcount of the input device. More...
void | libinput_device_set_user_data (struct libinput_device *device, void *user_data)
| Set caller-specific data associated with this input device. More...
void * | libinput_device_get_user_data (struct libinput_device *device)
| Get the caller-specific data associated with this input device, if any. More...
struct libinput * | libinput_device_get_context (struct libinput_device *device)
| Get the libinput context from the device. More...
struct libinput_device_group * | libinput_device_get_device_group (struct libinput_device *device)
| Get the device group this device is assigned to. More...
const char * | libinput_device_get_sysname (struct libinput_device *device)
| Get the system name of the device. More...
const char * | libinput_device_get_name (struct libinput_device *device)
| The descriptive device name as advertised by the kernel and/or the hardware itself. More...
unsigned int | libinput_device_get_id_product (struct libinput_device *device)
| Get the product ID for this device. More...
unsigned int | libinput_device_get_id_vendor (struct libinput_device *device)
| Get the vendor ID for this device. More...
const char * | libinput_device_get_output_name (struct libinput_device *device)
| A device may be mapped to a single output, or all available outputs. More...
struct libinput_seat * | libinput_device_get_seat (struct libinput_device *device)
| Get the seat associated with this input device, see Seats for details. More...
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 seat. More...
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. More...
void | libinput_device_led_update (struct libinput_device *device, enum libinput_led leds)
| Update the LEDs on the device, if any. More...
int | libinput_device_has_capability (struct libinput_device *device, enum libinput_device_capability capability)
| Check if the given device has the specified capability. More...
int | libinput_device_get_size (struct libinput_device *device, double *width, double *height)
| Get the physical size of a device in mm, where meaningful. More...
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.h). More...
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.h). More...
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. More...
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. More...
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. More...
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. More...
struct libinput_device_group * | libinput_device_group_ref (struct libinput_device_group *group)
| Increase the refcount of the device group. More...
struct libinput_device_group * | libinput_device_group_unref (struct libinput_device_group *group)
| Decrease the refcount of the device group. More...
void | libinput_device_group_set_user_data (struct libinput_device_group *group, void *user_data)
| Set caller-specific data associated with this device group. More...
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. More...
const char * | libinput_config_status_to_str (enum libinput_config_status status)
| Return a string describing the error. More...
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. More...
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 to left, right, middle click, respectively. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
int | libinput_device_config_calibration_has_matrix (struct libinput_device *device)
| Check if the device can be calibrated via a calibration matrix. More...
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. More...
int | libinput_device_config_calibration_get_matrix (struct libinput_device *device, float matrix[6])
| Return the current calibration matrix for this device. More...
int | libinput_device_config_calibration_get_default_matrix (struct libinput_device *device, float matrix[6])
| Return the default calibration matrix for this device. More...
uint32_t | libinput_device_config_send_events_get_modes (struct libinput_device *device)
| Return the possible send-event modes for this device. More...
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. More...
uint32_t | libinput_device_config_send_events_get_mode (struct libinput_device *device)
| Get the send-event mode for this device. More...
uint32_t | libinput_device_config_send_events_get_default_mode (struct libinput_device *device)
| Get the default send-event mode for this device. More...
int | libinput_device_config_accel_is_available (struct libinput_device *device)
| Check if a device uses libinput-internal pointer-acceleration. More...
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], where 0 is the default acceleration for this device, -1 is the slowest acceleration and 1 is the maximum acceleration available on this device. More...
double | libinput_device_config_accel_get_speed (struct libinput_device *device)
| Get the current pointer acceleration setting for this pointer device. More...
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]. More...
uint32_t | libinput_device_config_accel_get_profiles (struct libinput_device *device)
| Returns a bitmask of the configurable acceleration modes available on this device. More...
enum libinput_config_status | libinput_device_config_accel_set_profile (struct libinput_device *device, enum libinput_config_accel_profile mode)
| Set the pointer acceleration profile of this pointer device to the given mode. More...
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. More...
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. More...
int | libinput_device_config_scroll_has_natural_scroll (struct libinput_device *device)
| Return non-zero if the device supports "natural scrolling". More...
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. More...
int | libinput_device_config_scroll_get_natural_scroll_enabled (struct libinput_device *device)
| Get the current mode for scrolling on this device. More...
int | libinput_device_config_scroll_get_default_natural_scroll_enabled (struct libinput_device *device)
| Get the default mode for scrolling on this device. More...
int | libinput_device_config_left_handed_is_available (struct libinput_device *device)
| Check if a device has a configuration that supports left-handed usage. More...
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. More...
int | libinput_device_config_left_handed_get (struct libinput_device *device)
| Get the current left-handed configuration of the device. More...
int | libinput_device_config_left_handed_get_default (struct libinput_device *device)
| Get the default left-handed configuration of the device. More...
uint32_t | libinput_device_config_click_get_methods (struct libinput_device *device)
| Check which button click methods a device supports. More...
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. More...
enum libinput_config_click_method | libinput_device_config_click_get_method (struct libinput_device *device)
| Get the button click method for this device. More...
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. More...
int | libinput_device_config_middle_emulation_is_available (struct libinput_device *device)
| Check if middle mouse button emulation configuration is available on this device. More...
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. More...
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. More...
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. More...
uint32_t | libinput_device_config_scroll_get_methods (struct libinput_device *device)
| Check which scroll methods a device supports. More...
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. More...
enum libinput_config_scroll_method | libinput_device_config_scroll_get_method (struct libinput_device *device)
| Get the scroll method for this device. More...
enum libinput_config_scroll_method | libinput_device_config_scroll_get_default_method (struct libinput_device *device)
| Get the default scroll method for this device. More...
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. More...
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. More...
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. More...
int | libinput_device_config_dwt_is_available (struct libinput_device *device)
| Check if this device supports configurable disable-while-typing feature. More...
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. More...
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. More...
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. More...
int | libinput_device_config_rotation_is_available (struct libinput_device *device)
| Check whether a device can have a custom rotation applied. More...
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. More...
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. More...
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. More...

## Macro Definition Documentation

## ◆ LIBINPUT_ATTRIBUTE_DEPRECATED

#define LIBINPUT_ATTRIBUTE_DEPRECATED

## ◆ LIBINPUT_ATTRIBUTE_PRINTF

#define LIBINPUT_ATTRIBUTE_PRINTF | ( |  | _format,
|  |  | _args
| ) |  |