Skip to content

Rewrite the pointer interface to adhere to new design principles

Vlad Zahorodnii requested to merge work/wl-pointer-new-approach into master

With this design, a single PointerInterface manages multiple wl_pointer objects. This makes the API tidier and allows implementing things such as keyboard grabs more easier.

In addition to that, the PointerInterface doesn't inject its own frame events anymore. It's up to the compositor to decide when it has to be sent. However, the PointerInterface may still send a frame event if the pointer focus changes.

Besides re-writing the pointer interface, this change, unfortunately, also affects the implementation of pointer-gestures and relative-pointer protocols because previously they were coupled to individual instances of PointerInterface.

Edited by Vlad Zahorodnii

Merge request reports