Pointer lock and warping

Bill Spitzak spitzak at gmail.com
Wed Apr 24 09:46:37 PDT 2013


On 04/24/2013 12:12 AM, Pekka Paalanen wrote:

>> How do you make the cursor not blink when switching between the real and
>> fake one?
>
> Draw your own first, then hide the cursor, hope that there are no
> surface transforms in effect.

That does not work if the cursor has any transparency. The 
painting-style clients I am thinking of just hide the cursor even during 
moves and do a fake one all the time (that is what Gimp and Photoshop 
do), but that seems to be wasteful because basically the wayland cursor 
support is unused, and they lose hardware acceleration.

> *If* adding cursor position update request to the pointer lock proposal
> is acceptable, we could probably also add a flag whether to hide the
> cursor image or not.

Pointer-warp has to put the mouse into pointer-lock mode anyway, because 
otherwise the returned mouse positions are not usable since the client 
can't tell if they were before or after the warp. So yes I think 
pointer-lock and pointer-warp can be combined.

As pointer-warp outside a drag may be useful and should not cause a 
lock, I think a new pointer-warp request is needed, but it turns on 
pointer-lock if a drag is happening and does not hide the cursor.

  But thinking about user input response, maybe the
> jitter is actually wanted. It provides immediate feedback to the user
> that yes, your mouse movements are getting through, it's just the
> application being slow, your system is not freezing.

The above proposal will allow both behaviors, as well as being 
compatible with the current clients.



More information about the wayland-devel mailing list