[comp.windows.x] Automatic mouse cursor movement

guido@cwi.nl (Guido van Rossum) (06/07/88)

[I've redirected this to xpert/comp.windows.x from comp.windows.misc]

In article <13091@jumbo.dec.com> jg@jumbo.UUCP (Jim Gettys) writes:
>I certainly heartily agree that "warping" the pointer is a VERY bad idea.
>[...]
>And therefore in line with X's mechanism orientation, X provides the
>capability.  So as usual, X provides the length of rope to hang yourself.

Not quite.  A modification that would seem to be very useful is to
*offset* the pointer by a certain distance rather than moving it to an
absolute position (in a window).  This was mentioned in the example of
the pie menu near the window border.  I believe that X11's solution of
specifying an origin region is not enough to emulate such a relative
warp.

I also agree that pointer warps are bad, and in fact they form one of
the more annoying features of my otherwise favourite window manager,
twm.  (Maybe a more ovbvious DANGER sign should be added to the
description of XWarpPointer -- obviously not all readers of the Xlib
documentation are also skilled in human factors.)

--
Guido van Rossum, Centre for Mathematics and Computer Science (CWI), Amsterdam
guido@piring.cwi.nl or mcvax!piring!guido or guido%piring.cwi.nl@uunet.uu.net

RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (06/09/88)

    Date: 7 Jun 88 09:37:02 GMT
    From: mcvax!guido@uunet.uu.net  (Guido van Rossum)

    Not quite.  A modification that would seem to be very useful is to
    *offset* the pointer by a certain distance rather than moving it to an
    absolute position (in a window).

X11 already supports this.  Reread the documentation.

jg@jumbo.dec.com (Jim Gettys) (06/10/88)

>In article <13091@jumbo.dec.com> jg@jumbo.UUCP (Jim Gettys) writes:
>>I certainly heartily agree that "warping" the pointer is a VERY bad idea.
>>[...]
>>And therefore in line with X's mechanism orientation, X provides the
>>capability.  So as usual, X provides the length of rope to hang yourself.
>
>Not quite.  A modification that would seem to be very useful is to
>*offset* the pointer by a certain distance rather than moving it to an
>absolute position (in a window).  This was mentioned in the example of
>the pie menu near the window border.  I believe that X11's solution of
>specifying an origin region is not enough to emulate such a relative
>warp.

From the protocol document:

If dst-window is None, this request moves the pointer by offsets [dst-x,
dst-y] relative to the current position of the pointer.

The src-region only has an effect if it is not None, and its purpose
is to avoid warping if the user has moved the mouse outside an area
in the meanwhile, to avoid certain races.

I believe WarpPointer does what you want already.
				- Jim Gettys

guido@cwi.nl (Guido van Rossum) (06/10/88)

I stand corrected.  Accept my apologies.  Case closed.
	--Guido