[PATCH weston 1/3] Introduce pointer lock interface

Bill Spitzak spitzak at gmail.com
Fri Sep 26 12:06:10 PDT 2014

On 09/26/2014 05:31 AM, Matthieu Gautier wrote:

> Client can't know what is the transformation matrix applied to the
> surface. So it can't calculate the raw event from the absolute position
> of the pointer.
> So we need to send relative/raw/untransformed events on top of absolute
> position. We cannot just keeping send absolute events and lets the
> client decide.

If so I think you want to call these things "raw" events, or some other 
term. "relative" is pretty misleadiing.

I am a bit stumped as to when these would be useful compared to events 
reported in the client's space. Do you have examples?

All I can guess is that you want to avoid acceleration, but that is 
independent of scale. Or that you don't think the 24.8 format the move 
events are delivered is precise enough.

I'm pretty certain what I wanted as "relative events" would be satisfied 
by absolute events in pointer-lock mode as long as it acts like the 
surface is infinite (ie the xy position does not stop at the edge of the 
screen). So that is independent of your request.

If such raw events are useful they should act the same whether pointer 
lock is on or not. When pointer lock is on the client just does not get 
a leave event and will get both the absolute and raw events no matter 
how the user moves the mouse.

More information about the wayland-devel mailing list