Hello,
the attached patch makes Qemu ungrab the mouse cursor when the guest mouse
cursor hits the window edges. It also makes qemu automatically grab the
mouse when the host mouse cursor enters the window.
The patch uses the hardware cursor position (in cirrus_vga.c); this means
that it only works when the guest system uses a hardware cursor and when
Cirrus VGA is used.
For Linux guest (tested with GamesKnoppix), it works when enabling
"hw_cursor" in XF86Config-4 (in "Device" setion for "cirrus" driver).
For Win98se, it works when setting display hardware acceleration to maximum
and using the standard b/w, non-animated cursor set.
For Win2k Professional, it requires a newer Cirrus driver (old standard
Win2k driver for "GD5446 compatible" is from 1999, new driver from ISDCorp
is from 2000). It can be found
at
<http://www.hofnet.com/fire/browse.asp?target=%5CCIRRUS%20LOGIC%5CCL-GD5446%5CDRIVERS%5CWIN2000>.
Besides the new driver, you have to do the same as under Win98, and you must
disable mouse shadow.
The patch applies cleanly to qemu-snapshot-2005-02-25_23.tar.bz2.
Oliver Gerlich