.TH "wayland::server::zwp_tablet_pad_group_v2_t" 3 "Wed May 3 2023" "Version 1.0.0" "Wayland++" \" -*- nroff -*- .ad l .nh .SH NAME wayland::server::zwp_tablet_pad_group_v2_t \- a set of buttons, rings and strips .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits wayland::server::resource_t\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "std::function< void()> & \fBon_destroy\fP ()" .br .RI "destroy the pad object " .ti -1c .RI "void \fBbuttons\fP (array_t const &buttons, bool post=true)" .br .RI "buttons announced " .ti -1c .RI "void \fBring\fP (bool post=true)" .br .RI "ring announced " .ti -1c .RI "void \fBstrip\fP (bool post=true)" .br .RI "strip announced " .ti -1c .RI "void \fBmodes\fP (uint32_t modes, bool post=true)" .br .RI "mode-switch ability announced " .ti -1c .RI "void \fBdone\fP (bool post=true)" .br .RI "tablet group description events sequence complete " .ti -1c .RI "void \fBmode_switch\fP (uint32_t time, uint32_t serial, uint32_t mode, bool post=true)" .br .RI "mode switch event " .ti -1c .RI "bool \fBproxy_has_object\fP () const" .br .RI "Check whether this wrapper actually wraps an object\&. " .ti -1c .RI "void \fBpost_no_memory\fP () const" .br .ti -1c .RI "uint32_t \fBget_id\fP () const" .br .ti -1c .RI "client_t \fBget_client\fP () const" .br .ti -1c .RI "unsigned int \fBget_version\fP () const" .br .ti -1c .RI "std::string \fBget_class\fP ()" .br .in -1c .SS "Static Public Attributes" .in +1c .ti -1c .RI "static constexpr std::uint32_t \fBbuttons_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBbuttons\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBring_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBring\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBstrip_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBstrip\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBmodes_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBmodes\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBdone_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBdone\fP function\&. " .ti -1c .RI "static constexpr std::uint32_t \fBmode_switch_since_version\fP = 1" .br .RI "Minimum protocol version required for the \fBmode_switch\fP function\&. " .in -1c .SH "Detailed Description" .PP a set of buttons, rings and strips A pad group describes a distinct (sub)set of buttons, rings and strips present in the tablet\&. The criteria of this grouping is usually positional, eg\&. if a tablet has buttons on the left and right side, 2 groups will be presented\&. The physical arrangement of groups is undisclosed and may change on the fly\&. .PP Pad groups will announce their features during pad initialization\&. Between the corresponding wp_tablet_pad\&.group event and wp_tablet_pad_group\&.done, the pad group will announce the buttons, rings and strips contained in it, plus the number of supported modes\&. .PP Modes are a mechanism to allow multiple groups of actions for every element in the pad group\&. The number of groups and available modes in each is persistent across device plugs\&. The current mode is user-switchable, it will be announced through the wp_tablet_pad_group\&.mode_switch event both whenever it is switched, and after wp_tablet_pad\&.enter\&. .PP The current mode logically applies to all elements in the pad group, although it is at clients' discretion whether to actually perform different actions, and/or issue the respective \&.set_feedback requests to notify the compositor\&. See the wp_tablet_pad_group\&.mode_switch event for more details\&. .PP Definition at line \fB5993\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SH "Member Function Documentation" .PP .SS "void zwp_tablet_pad_group_v2_t::buttons (array_t const & buttons, bool post = \fCtrue\fP)" .PP buttons announced .PP \fBParameters\fP .RS 4 \fIbuttons\fP buttons in this group .RE .PP Sent on wp_tablet_pad_group initialization to announce the available buttons in the group\&. Button indices start at 0, a button may only be in one group at a time\&. .PP This event is first sent in the initial burst of events before the wp_tablet_pad_group\&.done event\&. .PP Some buttons are reserved by the compositor\&. These buttons may not be assigned to any wp_tablet_pad_group\&. Compositors may broadcast this event in the case of changes to the mapping of these reserved buttons\&. If the compositor happens to reserve all buttons in a group, this event will be sent with an empty array\&. .PP Definition at line \fB6839\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zwp_tablet_pad_group_v2_t::done (bool post = \fCtrue\fP)" .PP tablet group description events sequence complete This event is sent immediately to signal the end of the initial burst of descriptive events\&. A client may consider the static description of the tablet to be complete and finalize initialization of the tablet group\&. .PP Definition at line \fB6859\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "std::string wayland::server::resource_t::get_class ()\fC [inherited]\fP" Retrieve the interface name (class) of a resource object\&. .PP \fBReturns\fP .RS 4 Interface name of the resource object\&. .RE .PP .SS "client_t wayland::server::resource_t::get_client () const\fC [inherited]\fP" Get the associated client .PP \fBReturns\fP .RS 4 the client that owns the resource\&. .RE .PP .SS "uint32_t wayland::server::resource_t::get_id () const\fC [inherited]\fP" Get the internal ID of the resource .PP \fBReturns\fP .RS 4 the internal ID of the resource .RE .PP .SS "unsigned int wayland::server::resource_t::get_version () const\fC [inherited]\fP" Get interface version .PP \fBReturns\fP .RS 4 Interface version this resource has been constructed with\&. .RE .PP .SS "void zwp_tablet_pad_group_v2_t::mode_switch (uint32_t time, uint32_t serial, uint32_t mode, bool post = \fCtrue\fP)" .PP mode switch event .PP \fBParameters\fP .RS 4 \fItime\fP the time of the event with millisecond granularity .br \fIserial\fP .br \fImode\fP the new mode of the pad .RE .PP Notification that the mode was switched\&. .PP A mode applies to all buttons, rings and strips in a group simultaneously, but a client is not required to assign different actions for each mode\&. For example, a client may have mode-specific button mappings but map the ring to vertical scrolling in all modes\&. Mode indices start at 0\&. .PP Switching modes is compositor-dependent\&. The compositor may provide visual cues to the client about the mode, e\&.g\&. by toggling LEDs on the tablet device\&. Mode-switching may be software-controlled or controlled by one or more physical buttons\&. For example, on a Wacom Intuos Pro, the button inside the ring may be assigned to switch between modes\&. .PP The compositor will also send this event after wp_tablet_pad\&.enter on each group in order to notify of the current mode\&. Groups that only feature one mode will use mode=0 when emitting this event\&. .PP If a button action in the new mode differs from the action in the previous mode, the client should immediately issue a wp_tablet_pad\&.set_feedback request for each changed button\&. .PP If a ring or strip action in the new mode differs from the action in the previous mode, the client should immediately issue a wp_tablet_ring\&.set_feedback or wp_tablet_strip\&.set_feedback request for each changed ring or strip\&. .PP Definition at line \fB6864\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zwp_tablet_pad_group_v2_t::modes (uint32_t modes, bool post = \fCtrue\fP)" .PP mode-switch ability announced .PP \fBParameters\fP .RS 4 \fImodes\fP the number of modes .RE .PP Sent on wp_tablet_pad_group initialization to announce that the pad group may switch between modes\&. A client may use a mode to store a specific configuration for buttons, rings and strips and use the wl_tablet_pad_group\&.mode_switch event to toggle between these configurations\&. Mode indices start at 0\&. .PP Switching modes is compositor-dependent\&. See the wp_tablet_pad_group\&.mode_switch event for more details\&. .PP This event is sent in the initial burst of events before the wp_tablet_pad_group\&.done event\&. This event is only sent when more than more than one mode is available\&. .PP Definition at line \fB6854\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "std::function< void()> & zwp_tablet_pad_group_v2_t::on_destroy ()" .PP destroy the pad object Destroy the wp_tablet_pad_group object\&. Objects created from this object are unaffected and should be destroyed separately\&. .PP Definition at line \fB6833\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void wayland::server::resource_t::post_no_memory () const\fC [inherited]\fP" Post 'not enough memory' error to the client .PP If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance\&. .SS "bool wayland::server::resource_t::proxy_has_object () const\fC [inherited]\fP" .PP Check whether this wrapper actually wraps an object\&. .PP \fBReturns\fP .RS 4 true if there is an underlying object, false if this wrapper is empty .RE .PP .SS "void zwp_tablet_pad_group_v2_t::ring (bool post = \fCtrue\fP)" .PP ring announced Sent on wp_tablet_pad_group initialization to announce available rings\&. One event is sent for each ring available on this pad group\&. .PP This event is sent in the initial burst of events before the wp_tablet_pad_group\&.done event\&. .PP Definition at line \fB6844\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void zwp_tablet_pad_group_v2_t::strip (bool post = \fCtrue\fP)" .PP strip announced Sent on wp_tablet_pad initialization to announce available strips\&. One event is sent for each strip available on this pad group\&. .PP This event is sent in the initial burst of events before the wp_tablet_pad_group\&.done event\&. .PP Definition at line \fB6849\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SH "Member Data Documentation" .PP .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::buttons_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBbuttons\fP function\&. .PP Definition at line \fB6048\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::done_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBdone\fP function\&. .PP Definition at line \fB6115\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::mode_switch_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBmode_switch\fP function\&. .PP Definition at line \fB6155\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::modes_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBmodes\fP function\&. .PP Definition at line \fB6101\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::ring_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBring\fP function\&. .PP Definition at line \fB6063\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SS "constexpr std::uint32_t wayland::server::zwp_tablet_pad_group_v2_t::strip_since_version = 1\fC [static]\fP, \fC [constexpr]\fP" .PP Minimum protocol version required for the \fBstrip\fP function\&. .PP Definition at line \fB6078\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Wayland++ from the source code\&.