Pointer lock and warping

Pekka Paalanen ppaalanen at gmail.com
Wed Apr 24 00:12:58 PDT 2013


On Tue, 23 Apr 2013 08:47:59 -0700
Bill Spitzak <spitzak at gmail.com> wrote:

> On 04/23/2013 12:11 AM, Pekka Paalanen wrote:
> 
> > Here's a lot simpler solution for non-jittery dragging of objects: just
> > hide the pointer cursor, when starting the move. If you still want the
> > pointer cursor visible, draw it yourself with the object you are
> > moving. That is already possible today, and sub-surfaces will make that
> > even simpler to implement in the future.
> 
> 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. Or just don't.

> And I don't see how this helps Todd's request for the "slow scrollbar". 
> The pointer has to end up at the warped position, it cannot jump from 
> where the user sees it to where it really is.

This does not, the cursor position updates addition to pointer lock
proposal would. You brought up the jittery moving. And we already have
the jittery moving for window resizing, where it actually is the
desired behaviour: if the client struggles to resize, the user input
response is still not hindered. The mismatch is actually quite
important, if the window size is limited to e.g. discrete steps.

To be honest, your proposal was just TL;DR, since it started by
combining many unrelated use cases into one.

*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. 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.

Just another point of view for jitter issue.


Thanks,
pq


More information about the wayland-devel mailing list