wayland::zwp_tablet_v1_t(3)
β¨ wayland::zwp_tablet_v1_t β graphics tablet device β¨
okay so real talk, this is a page from the Wayland++ manual, section 3 (wayland::zwp_tablet_v1_t(3)), and it's all about one single graphics tablet device. bestie, it's giving "small but iconic." let's get into it π
πΈ NAME πΈ
wayland::zwp_tablet_v1_t β graphics tablet device. literally that's the whole thing. one tablet. one vibe. π
π¦ SYNOPSIS π¦
#include <wayland-client-protocol-unstable.hpp>
Inherits wayland::proxy_t. so like, it's a proxy at heart, it just has tablet main character energy β¨
π Public Types π
enum class wrapper_type { standard, display, foreign, proxy_wrapper }β the whole roster of wrapper flavours, more on each of them below π
π Public Member Functions π
std::function< void(std::string)> & on_name ()β tablet device namestd::function< void(uint32_t, uint32_t)> & on_id ()β tablet device USB vendor/product idstd::function< void(std::string)> & on_path ()β path to the devicestd::function< void()> & on_done ()β tablet description events sequence completestd::function< void()> & on_removed ()β tablet removed eventuint32_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 π
graphics tablet device. yes, again. it's a graphics tablet device, we been knew πββοΈ
The wp_tablet interface represents one graphics tablet device. and here's the tea: the tablet interface itself does not generate events β all events are generated by wp_tablet_tool objects when in proximity above a tablet. so the tablet is like, the backstage manager, and the tools are the ones actually performing π€
A tablet has a number of static characteristics, e.g. device name and pid/vid. These capabilities are sent in an event sequence after the wp_tablet_seat.tablet_added event. This initial event sequence is terminated by a wp_tablet.done event. so the order is: tablet_added β the little burst of description events β done, and then you can go off and live your life π¦
Definition at line 4135 of file wayland-client-protocol-unstable.hpp. iykyk π
π§ 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. like a personality type but for C pointers, no cap.
π Enumerator
standardβ C pointer is a standard type compatible withwl_proxy*. Events are dispatched and it is destructed when theproxy_tis destructed. User data is set. the default, the classic, the blueprint πdisplayβ C pointer is awl_display*. No events are dispatched,wl_display_disconnectis called when theproxy_tis destructed. User data is set.foreignβ C pointer is a standard type compatible withwl_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_destroyis not called when theproxy_tis destructed, user data is not touched. Consequently, there is no reference counting for theproxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy thewl_proxy. π like borrowing your bestie's charger β return it fast.proxy_wrapperβ C pointer is awl_proxy*that was constructed withwl_proxy_create_wrapper. No events are dispatched,wl_proxy_wrapper_destroyis called when theproxy_tis destroyed. Reference counting is active. A reference to theproxy_tcreating 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. so like, it's there or it's not and you're getting yelled at π
β 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. fr fr, don't assume β stay safe π«Ά
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_v1_t::on_done ()
tablet 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. it's the "okay we're done here, go set yourself up" moment β¨
Definition at line 7147 of file wayland-client-protocol-unstable.cpp. π
β std::function< void(uint32_t, uint32_t)> & zwp_tablet_v1_t::on_id ()
tablet device USB vendor/product id.
Parameters:
vidβ USB vendor idpidβ USB product id
This event is sent in the initial burst of events before the wp_tablet.done event.
Definition at line 7137 of file wayland-client-protocol-unstable.cpp. π
β std::function< void(std::string)> & zwp_tablet_v1_t::on_name ()
tablet device name.
Parameters:
nameβ the device name
This event is sent in the initial burst of events before the wp_tablet.done event.
Definition at line 7132 of file wayland-client-protocol-unstable.cpp. π
β std::function< void(std::string)> & zwp_tablet_v1_t::on_path ()
path to the device.
Parameters:
pathβ path to local device
A system-specific device path that indicates which device is behind this wp_tablet. This information may be used to gather additional information about the device, e.g. through libwacom. bestie, it's the tablet's origin story π΅οΈββοΈ
A device may have more than one device path. If so, multiple wp_tablet.path events are sent. A device may be emulated and not have a device path, and in that case this event will not be sent. so don't come for it if it ghosts you π
The format of the path is unspecified, it may be a device node, a sysfs path, or some other identifier. It is up to the client to identify the string provided. literally whatever it wants to be, iconic behaviour.
This event is sent in the initial burst of events before the wp_tablet.done event.
Definition at line 7142 of file wayland-client-protocol-unstable.cpp. π
β std::function< void()> & zwp_tablet_v1_t::on_removed ()
tablet removed event. Sent when the tablet has been removed from the system. When a tablet is removed, some tools may be removed. π rip bozo
warning bestie: When this event is received, the client must wp_tablet.destroy the object. not optional. not "later." do it. π
Definition at line 7152 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. vibe check: is there actually something in there or are we empty inside π«
β 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. so like, don't even try with display, it said no π
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. it's giving "put me in a different group chat" energy π²
See also: display_t::dispatch_queue().
Examples: proxy_wrapper.cpp.
π Author π
Generated automatically by Doxygen for Wayland++ from the source code. not me being written by a robot and still having more personality than some humans ππ
β¨ that's the whole page bestie, every last flag and line number, nothing skipped, periodt β¨
π Version1.0.1Β·Fri Mar 27 2026 13:15:00Β·wayland::zwp_tablet_v1_t(3)β mwah, go forth and slay your tablet protocol ππΈπ«Ά
π¦ where this page comes from
- ubuntu stonking: waylandpp-dev 1.0.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms