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