Skip to content

Draft: Add input-observation protocol

Philipp Kaeser requested to merge furball/wayland-protocols:main into main

Permits surfaces to observe input events also when not having input focus.

This draft provides support for monitoring the pointer's position. It is intended to later extend it to further input devices (eg. touch devices).

Pointer position is reported relative to an a provided wl_surface, for positions both within and outside the surface area, for each displayed instance of the surface, irrespective of whether it has pointer focus or not. It is intended to permit application to adapt visual appearance in reaction to pointer position.

Intended use-case: An application launcher dock that re-arranges it's contents when an additional application is dragged towards it's area: Once a drag is initiated, the dock is to re-arrange existing content to present a "landing zone", as the additional application is dragged towards the dock. That visual reaction is to start before the pointer enters the docks's surface area, and should also when parts of the dock area (or the area around the dock) is obstructed by other surfaces.

This protocol is further usable for accessbility tools, eg. to add a tool (using the layer protocol) to add a large icon to highlight the pointer's position. The protocol will allow such an application, which currently would have to be implemented in compositor space. And yeah, the protocol will also permit gadgets such as xeyes.

Justification

Requirements for merging

  • Review
  • Implementations
  • ACKs from members
Edited by Philipp Kaeser

Merge request reports

Loading