Re: DGA and PointerMoved()

Thomas Winischhofer <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marc Aurele La France wrote:
| On Mon, 7 Mar 2005, Mark Vojkovich wrote:
|
|>> Is it intentional that pScrn->PointerMoved() is being called (by whom?)
|>> when DGA is active?
|
|
|>> I only receive the cursor's last coordinates here from the time before
|>> DGA was activated. Any mouse movement while DGA is active has no
|>> influence on the coordinates received here.
|
|
|>   There is no cursor in DGA mode.  Clients can still get mouse
|> events, but that's not the same thing.  DGA mouse events reflect
|> relative motion rather than absolute, and the bulk of the cursor
|> paths need to be bypassed.  That is, the cursor isn't anywhere,
|> the mouse has been disconnected from the cursor and the relative
|> mouse events are sent directly to the client.
|
|
| Yes, but I don't think that answers Thomas's question.

Erm, yes.

I suspected that the cursor stuff is out of order during DGA usage. My
concern was more in the line of why calls to pScrn->PointerMoved() are
issued during DGA activity. That seems like a bug to me. (The generic
xf86PointerMoved does not contain any checks for DGA activity.)

I discovered this while enhancing MergedFB mode which has a very tricky
driver-side PointerMoved() implementation requirement in order to pan
the real display modes within current meta mode. As soon as I switch,
say, vmware to full screen, I get constant coordinates in my
PointerMoved() routine regardless of mouse movement (but synchronous to
mouse movement, ie no random calls but calls clearly related to actual
mouse movement).

I have looked at the cursor code but it goes through many layers, so I
wasn't able to locate the call yet. In xf86Input.c, a
DGAStealMotionEvent is immediately followed by a "continue" statement,
but that obvisouly doesn't keep the event in some way get through to the
PointerMoved() function.

I work around this now, by checking for DGA myself, but that should be
fixed globally.

Thmas

- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/
twini AT xfree86 DOT org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCLN9azydIRAktyUcRApVwAKCOtfrCrUAckJe64KCmMmAwe4LoYwCgnzGr
0FqH7Vc/SHgnQnpMJHoR2XU=
=TUWl
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.