package wayland

  1. Overview
  2. Docs
Pure OCaml Wayland protocol library

Install

dune-project
 Dependency

Authors

Maintainers

Sources

wayland-2.3.tbz
sha256=10627a94f4cef97147991528fcd246f8f27ccbf3026eafdece995b53ee9468a0
sha512=8e319dc236d04cc9084bf81782497899dca12a392d649a2ac7bd1d5edc1101ebe2bc266a033e23ab9ed46a8b692018bc47005036d10872f7825f4aa4009ab825

doc/wayland.protocols/Wayland_protocols/Tablet_v2_client/Zwp_tablet_tool_v2/index.html

Module Tablet_v2_client.Zwp_tablet_tool_v2Source

A physical tablet tool.

An object that represents a physical tool that has been, or is currently in use with a tablet in this seat. Each zwp_tablet_tool_v2 object stays valid until the client destroys it; the compositor reuses the zwp_tablet_tool_v2 object to indicate that the object's respective physical tool has come into proximity of a tablet again.

A zwp_tablet_tool_v2 object's relation to a physical tool depends on the tablet's ability to report serial numbers. If the tablet supports this capability, then the object represents a specific physical tool and can be identified even when used on multiple tablets.

A tablet tool has a number of static characteristics, e.g. tool type, hardware_serial and capabilities. These capabilities are sent in an event sequence after the zwp_tablet_seat_v2.tool_added event before any actual events from this tool. This initial event sequence is terminated by a zwp_tablet_tool_v2.done event.

Tablet tool events are grouped by zwp_tablet_tool_v2.frame events. Any events received before a zwp_tablet_tool_v2.frame event should be considered part of the same hardware state change.

Sourcetype 'v t = ([ `Zwp_tablet_tool_v2 ], 'v, [ `Client ]) Wayland.Proxy.t

Version 1, 2

Sourceval destroy : [< `V1 | `V2 ] t -> unit

Destroy the tool object.

This destroys the client's resource for this tool object.

Sourceval set_cursor : [< `V1 | `V2 ] t -> serial:int32 -> surface:([ `Wl_surface ], 'a, [ `Client ]) Wayland.Proxy.t option -> hotspot_x:int32 -> hotspot_y:int32 -> unit

Set the tablet tool's surface.

Sets the surface of the cursor used for this tool on the given tablet. This request only takes effect if the tool is in proximity of one of the requesting client's surfaces or the surface parameter is the current pointer surface. If there was a previous surface set with this request it is replaced. If surface is NULL, the cursor image is hidden.

The parameters hotspot_x and hotspot_y define the position of the pointer surface relative to the pointer location. Its top-left corner is always at (x, y) - (hotspot_x, hotspot_y), where (x, y) are the coordinates of the pointer location, in surface-local coordinates.

On surface.attach requests to the pointer surface, hotspot_x and hotspot_y are decremented by the x and y parameters passed to the request. Attach must be confirmed by wl_surface.commit as usual.

The hotspot can also be updated by passing the currently set pointer surface to this request with new values for hotspot_x and hotspot_y.

The current and pending input regions of the wl_surface are cleared, and wl_surface.set_input_region is ignored until the wl_surface is no longer used as the cursor. When the use as a cursor ends, the current and pending input regions become undefined, and the wl_surface is unmapped.

This request gives the surface the role of a zwp_tablet_tool_v2 cursor. A surface may only ever be used as the cursor surface for one zwp_tablet_tool_v2. If the surface already has another role or has previously been used as cursor surface for a different tool, a protocol error is raised.

Handlers

Note: Servers will always want to use v1.

Sourceclass virtual +'a v1 : object ... end

Handler for a proxy with version >= 1.

Sourceclass virtual +'a v2 : object ... end

Handler for a proxy with version >= 2.