wayland::zwp_tablet_seat_v2_t(3)

πŸ’… wayland::zwp_tablet_seat_v2_t β€” Wayland++ (3) πŸŽ€

okay so bestie, welcome to the Wayland++ corner of the manual, section 3, and this page is literally all about wayland::zwp_tablet_seat_v2_t β€” the little controller object that's the main character for all the graphic tablet devices chillin' on one seat. grab a strawberry πŸ“ and let's get into it.


🌸 NAME 🌸

wayland::zwp_tablet_seat_v2_t β€” controller object for graphic tablet devices of a seat. yes that's the whole vibe, no cap.


✨ SYNOPSIS ✨

#include <wayland-client-protocol-unstable.hpp>

Inherits wayland::proxy_t. πŸ’–

πŸ¦‹ Public Types πŸ¦‹

  • enum class wrapper_type { standard, display, foreign, proxy_wrapper }

🫢 Public Member Functions 🫢

  • std::function< void(zwp_tablet_v2_t)> & on_tablet_added () β€” new device notification πŸ”₯
  • std::function< void(zwp_tablet_tool_v2_t)> & on_tool_added () β€” a new tool has been used with a tablet ✏️
  • std::function< void(zwp_tablet_pad_v2_t)> & on_pad_added () β€” new pad notification πŸŽ›οΈ
  • uint32_t get_id () const β€” Get the id of a proxy object.
  • std::string get_class () const β€” Get the interface name (class) of a proxy object.
  • uint32_t get_version () const β€” Get the protocol object version of a proxy object.
  • wrapper_type get_wrapper_type () const β€” Get the type of a proxy object.
  • void set_queue (event_queue_t queue) β€” Assign a proxy to an event queue.
  • wl_proxy * c_ptr () const β€” Get a pointer to the underlying C struct.
  • bool proxy_has_object () const β€” Check whether this wrapper actually wraps an object.
  • operator bool () const β€” Check whether this wrapper actually wraps an object.
  • bool operator== (const proxy_t &right) const β€” Check whether two wrappers refer to the same object.
  • bool operator!= (const proxy_t &right) const β€” Check whether two wrappers refer to different objects.
  • void proxy_release () β€” Release the wrapped object (if any), making this an empty wrapper.

πŸ‘‘ Detailed Description πŸ‘‘

controller object for graphic tablet devices of a seat πŸ’…

so like β€” it's an object that provides access to the graphics tablets available on this seat. After binding to this interface, the compositor sends a set of wp_tablet_seat.tablet_added and wp_tablet_seat.tool_added events. that's the whole flow, bestie. 🌈

Definition at line 4278 of file wayland-client-protocol-unstable.hpp.


🧚 Member Enumeration Documentation 🧚

⭐ enum class wayland::proxy_t::wrapper_type [strong], [inherited] ⭐

Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling. iykyk β€” this enum is the vibe check for how a wrapper behaves 🫢

πŸ’œ standard

C pointer is a standard type compatible with wl_proxy*. Events are dispatched and it is destructed when the proxy_t is destructed. User data is set.

πŸ’œ display

C pointer is a wl_display*. No events are dispatched, wl_display_disconnect is called when the proxy_t is destructed. User data is set.

πŸ’œ foreign

C pointer is a standard type compatible with wl_proxy*, but another library owns it and it should not be touched in a way that could affect the operation of the other library. No events are dispatched, wl_proxy_destroy is not called when the proxy_t is destructed, user data is not touched. Consequently, there is no reference counting for the proxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy the wl_proxy.

ngl this one's the "look, don't touch" one πŸ™ˆ the owning library could literally destroy the wl_proxy out from under you, so keep these wrappers short-lived.

πŸ’œ proxy_wrapper

C pointer is a wl_proxy* that was constructed with wl_proxy_create_wrapper. No events are dispatched, wl_proxy_wrapper_destroy is called when the proxy_t is destroyed. Reference counting is active. A reference to the proxy_t creating this proxy wrapper is held to extend its lifetime until after the proxy wrapper is destroyed.

Definition at line 117 of file wayland-client.hpp.


πŸ’€ Member Function Documentation πŸ’€

🌟 wl_proxy * wayland::proxy_t::c_ptr () const [inherited] 🌟

Get a pointer to the underlying C struct.

Returns: The underlying wl_proxy wrapped by this proxy_t if it exists, otherwise an exception is thrown 😭

🌟 std::string wayland::proxy_t::get_class () const [inherited] 🌟

Get the interface name (class) of a proxy object.

Returns: The interface name of the object associated with the proxy

🌟 uint32_t wayland::proxy_t::get_id () const [inherited] 🌟

Get the id of a proxy object.

Returns: The id the object associated with the proxy

🌟 uint32_t wayland::proxy_t::get_version () const [inherited] 🌟

Get the protocol object version of a proxy object. Gets the protocol object version of a proxy object, or 0 if the proxy was created with unversioned API.

A returned value of 0 means that no version information is available, so the caller must make safe assumptions about the object's real version. 🫢

display_t will always return version 0.

Returns: The protocol object version of the proxy or 0

🌟 wrapper_type wayland::proxy_t::get_wrapper_type () const [inline], [inherited] 🌟

Get the type of a proxy object.

Definition at line 303 of file wayland-client.hpp.

πŸŽ›οΈ std::function< void(zwp_tablet_pad_v2_t)> & zwp_tablet_seat_v2_t::on_pad_added () πŸŽ›οΈ

new pad notification ✨

Parameters: id β€” the newly added pad

This event is sent whenever a new pad is known to the system. Typically, pads are physically attached to tablets and a pad_added event is sent immediately after the wp_tablet_seat.tablet_added. However, some standalone pad devices logically attach to tablets at runtime, and the client must wait for wp_tablet_pad.enter to know the tablet a pad is attached to. πŸ‘€

This event only provides the object id of the pad. All further features (buttons, strips, rings) are sent through the wp_tablet_pad interface.

Definition at line 7305 of file wayland-client-protocol-unstable.cpp.

πŸ¦‹ std::function< void(zwp_tablet_v2_t)> & zwp_tablet_seat_v2_t::on_tablet_added () πŸ¦‹

new device notification 🌸

Parameters: id β€” the newly added graphics tablet

This event is sent whenever a new tablet becomes available on this seat. This event only provides the object id of the tablet, any static information about the tablet (device name, vid/pid, etc.) is sent through the wp_tablet interface.

Definition at line 7295 of file wayland-client-protocol-unstable.cpp.

✏️ std::function< void(zwp_tablet_tool_v2_t)> & zwp_tablet_seat_v2_t::on_tool_added () ✏️

a new tool has been used with a tablet

Parameters: id β€” the newly added tablet tool

This event is sent whenever a tool that has not previously been used with a tablet comes into use. This event only provides the object id of the tool; any static information about the tool (capabilities, type, etc.) is sent through the wp_tablet_tool interface.

Definition at line 7300 of file wayland-client-protocol-unstable.cpp.

🌟 wayland::proxy_t::operator bool () const [inherited] 🌟

Check whether this wrapper actually wraps an object.

Returns: true if there is an underlying object, false if this wrapper is empty

🌟 bool wayland::proxy_t::operator!= (const proxy_t & right) const [inherited] 🌟

Check whether two wrappers refer to different objects.

🌟 bool wayland::proxy_t::operator== (const proxy_t & right) const [inherited] 🌟

Check whether two wrappers refer to the same object.

🌟 bool wayland::proxy_t::proxy_has_object () const [inherited] 🌟

Check whether this wrapper actually wraps an object.

Returns: true if there is an underlying object, false if this wrapper is empty

🌟 void wayland::proxy_t::proxy_release () [inherited] 🌟

Release the wrapped object (if any), making this an empty wrapper. Note that display_t instances cannot be released this way. Attempts to do so are ignored. πŸ’€

Examples: foreign_display.cpp.

🌟 void wayland::proxy_t::set_queue (event_queue_t queue) [inherited] 🌟

Assign a proxy to an event queue.

Parameters: queue β€” The event queue that will handle this proxy

Assign proxy to event queue. Events coming from proxy will be queued in queue instead of the display's main queue.

See also: display_t::dispatch_queue().

Examples: proxy_wrapper.cpp.


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for Wayland++ from the source code. (not a human, just a very organized robot 🧚)


okay that's the whole page bestie, you ate that πŸ’…βœ¨

Version 1.0.1 β€” Fri Mar 27 2026. that's genuinely the footer info, handing it to you with a little bow πŸŽ€πŸ«Ά periodt.

πŸ“¦ where this page comes from