[in.xpert] Warping the pointer and social behaviour

afzal@cui.unige.ch (Afzal Ballim) (03/14/91)

from: dshr@eng.sun.COM (David Rosenthal)
>> Is it possible to change the position of the mouse pointer through software?
>It is possible to do so,  but doing so is strongly deprecated.
>The point here is that the pointer is a shared resource between all the
>clients.  You may think its just fine for your client to randomly warp
>the pointer.  I may think so too.  The user who ends up running your
>client and mine together sees chaos as they both fight over where the
>pointer should be.  So,  don't warp the pointer.  Leave it to the user
>to decide where it should be.

Certainly one should not randomly warp the pointer around, however there are
cases where pointer warping is necessary, and it is not just toolkit writers
who may need to do it.  For example, suppose you are writing a client which
requires a choice be made on startup for proper functionality.  In this case
it seems to me reasonable to popup a menu of choices and warp the pointer to
the menu.  Sure, the rest of the functionality of the client should be
defined such that until this choice is made a warning is given.  However,
the warping is a strong way of indicating to the user that the choice must
be made.  You might reply that the warning should suffice, and that the
warping is anti-social.  However, in my experience naive users find warning
messages to make a choice, when they try any action in a widget, far more
annoying than warping the pointer to a popup on startup.

(Note:  to minimise conflict with other applications, such warping as I
mentioned above should only take place if the pointer is within the bounds
of the top level window for the application.  So, what one should do is have
an entry action for the top level window which checks to see if the
selection has been made, and if not pops up the popup (if not already popped
up) and warps the pointer.)
Afzal Ballim |EAN,BITNET,EARN,MHS,X.400:  afzal@divsun.unige.ch ISSCO,
University of Geneva |UUCP:  mcvax!cernvax!cui!divsun.unige.ch!afzal 54
route des Acacias |JANET:  afzal%divsun.unige.ch@uk.ac.ean-relay CH-1227
GENEVA,Switzerland |CSNET,ARPA:  afzal%divsun.unige.ch@relay.cs.net