Data Structures | Enumerations | Functions
Tablet pad events

Events that come from the pad of tablet devices. More...

## Data Structures
struct | libinput_event_tablet_pad
| Tablet pad event representing a button press, or ring/strip update on the tablet pad itself. More...

## Enumerations
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...

## Functions
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)

## Detailed Description

Events that come from the pad of tablet devices.

For events from the tablet tools, see Tablet events.

## Enumeration Type Documentation

## ◆ libinput_tablet_pad_ring_axis_source

enum libinput_tablet_pad_ring_axis_source

The source for a LIBINPUT_EVENT_TABLET_PAD_RING event.

See libinput_event_tablet_pad_get_ring_source() for details.

Enumerator
LIBINPUT_TABLET_PAD_RING_SOURCE_UNKNOWN |
LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER | The event is caused by the movement of one or more fingers on the ring.

## ◆ libinput_tablet_pad_strip_axis_source

enum libinput_tablet_pad_strip_axis_source

The source for a LIBINPUT_EVENT_TABLET_PAD_STRIP event.

See libinput_event_tablet_pad_get_strip_source() for details.

Enumerator
LIBINPUT_TABLET_PAD_STRIP_SOURCE_UNKNOWN |
LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER | The event is caused by the movement of one or more fingers on the strip.

## Function Documentation

## ◆ libinput_event_tablet_pad_get_base_event()

struct libinput_event* libinput_event_tablet_pad_get_base_event | ( | struct libinput_event_tablet_pad * | event | ) |

Returns
  The generic libinput_event of this event

## ◆ libinput_event_tablet_pad_get_button_number()

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.

For events that are not of type LIBINPUT_EVENT_TABLET_PAD_BUTTON, this function returns 0.

Note that the number returned is a generic sequential button number and not a semantic button code as defined in linux/input.h. See Tablet pad button numbers for more details.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_BUTTON. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  the button triggering this event

## ◆ libinput_event_tablet_pad_get_button_state()

enum libinput_button_state libinput_event_tablet_pad_get_button_state | ( | struct libinput_event_tablet_pad * | event | ) |

Return the button state of the event.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_BUTTON. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  the button state triggering this event

## ◆ libinput_event_tablet_pad_get_mode()

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.

The mode is a virtual grouping of functionality, usually based on some visual feedback like LEDs on the pad. See Tablet pad modes for details. Mode indices start at 0, a device that does not support modes always returns 0.

Mode switching is controlled by libinput and more than one mode may exist on the tablet. This function returns the mode that this event's button, ring or strip is logically in. If the button is a mode toggle button and the button event caused a new mode to be toggled, the mode returned is the new mode the button is in.

Note that the returned mode is the mode valid as of the time of the event. The returned mode may thus be different to the mode returned by libinput_tablet_pad_mode_group_get_mode(). See libinput_tablet_pad_mode_group_get_mode() for details.

Parameters

  event | The libinput tablet pad event

Returns
  the 0-indexed mode of this button, ring or strip at the time of the event

See also
  libinput_tablet_pad_mode_group_get_mode

## ◆ libinput_event_tablet_pad_get_mode_group()

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.

The mode is a virtual grouping of functionality, usually based on some visual feedback like LEDs on the pad. See Tablet pad modes for details.

The returned mode group is not refcounted and may become invalid after the next call to libinput. Use libinput_tablet_pad_mode_group_ref() and libinput_tablet_pad_mode_group_unref() to continue using the handle outside of the immediate scope.

Parameters

  event | The libinput tablet pad event

Returns
  the mode group of the button, ring or strip that caused this event

See also
  libinput_device_tablet_pad_get_mode_group

## ◆ libinput_event_tablet_pad_get_ring_number()

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.

On tablets with only one ring, this function always returns 0.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_RING. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The index of the ring that changed state

## ◆ libinput_event_tablet_pad_get_ring_position()

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.

If the source is LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER, libinput sends a terminating event with a ring value of -1 when the finger is lifted from the ring. A caller may use this information to e.g. determine if kinetic scrolling should be triggered.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_RING. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The current value of the the axis

Return values

  -1 | The finger was lifted

## ◆ libinput_event_tablet_pad_get_ring_source()

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.

If the source is LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER, libinput sends a ring position value of -1 to terminate the current interaction.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_RING. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The source of the ring interaction

## ◆ libinput_event_tablet_pad_get_strip_number()

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.

On tablets with only one strip, this function always returns 0.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_STRIP. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The index of the strip that changed state

## ◆ libinput_event_tablet_pad_get_strip_position()

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.

If the source is LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER, libinput sends a terminating event with a ring value of -1 when the finger is lifted from the ring. A caller may use this information to e.g. determine if kinetic scrolling should be triggered.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_STRIP. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The current value of the the axis

Return values

  -1 | The finger was lifted

## ◆ libinput_event_tablet_pad_get_strip_source()

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.

If the source is LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER, libinput sends a strip position value of -1 to terminate the current interaction.

Note
  It is an application bug to call this function for events other than LIBINPUT_EVENT_TABLET_PAD_STRIP. For other events, this function returns 0.

Parameters

  event | The libinput tablet pad event

Returns
  The source of the strip interaction

## ◆ libinput_event_tablet_pad_get_time()

uint32_t libinput_event_tablet_pad_get_time | ( | struct libinput_event_tablet_pad * | event | ) |

Note
  Timestamps may not always increase. See Event timestamps for details.

Parameters

  event | The libinput tablet pad event

Returns
  The event time for this event

## ◆ libinput_event_tablet_pad_get_time_usec()

uint64_t libinput_event_tablet_pad_get_time_usec | ( | struct libinput_event_tablet_pad * | event | ) |

Note
  Timestamps may not always increase. See Event timestamps for details.

Parameters

  event | The libinput tablet pad event

Returns
  The event time for this event in microseconds