qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Jim C. Brown" <jma5@umd.edu>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] quick gtk2.c update
Date: Mon, 27 Jun 2005 14:15:25 -0400	[thread overview]
Message-ID: <20050627181524.GA17928@jbrown.mylinuxbox.org> (raw)
In-Reply-To: <003601c57b3b$73765930$334d21d1@organiza3bfb0e>

On Mon, Jun 27, 2005 at 12:11:10PM -0500, jeebs@yango.us wrote:
> >
> > This should be fixed now. (At least, this now works in Windows 98 and XP.) 
> > I
> > managed to combine the 3 separate mouse handlers into a single function as 
> > well,
> > so there is less redundant code.
> 
> It does appear to be fixed.
> 

Excellent.

> > Also, I managed to get rid of the all of the GTK warnings.
> 
> That's always good.  Although this time I didn't watch it build to see if 
> there were any new ones.
> 

I meant the GTK warnings that appear at run time (the "assert failed" warnings).
I've never gotten GTK warnings when building a working version...but I've never
built under Windows either.

> 
> There *is* still an <insert> key problem.
> 
> I tested it under Win3, Win95 and Win98
> 
> That's the only key I've noticed that still has problems.  But I may not 
> have tested them all, so I might have missed one or two others.
> 

Did you test with Windows 98SE?

Windows 98SE has no issues with the insert key when running under GTK in Linux..
which would mean the problem is with VK_INSERT.

> 
> When I run the gtk version from the qgui program (which just lets you select 
> which VM, what options etc., and then runs it) the qemu window doesn't pop 
> up as visible.  I have to clcik on its title on the task bar to bring it 
> forward.  Probably needs a command to bring it into 'focus' or some such.
> 
> > Most fullscreen glitches are gone now. (The only one left is that, if you 
> > change

I should have been clearer.

The glitches that I fixed were for the Xvid fullscreen driver. Windows build
still uses the null fullscreen driver.

> 
> I haven't really tested that much...
> 
> Okay, it looks like the full screen mode has problems.
> 
> First, it doesn't really go 'full screen'.  It just makes a borderless 
> window.
> 

Thats to be expected with the null fullscreen driver. qemu's GTK support
expects the fullscreen driver to change the resolution of the host to match
that of the guest (that way the window will take up the entire screen).

I'm working on an SDL fullscreen driver, but it is uglier. (It'd require
usurping the internal DisplayState structure and replace the GTK routines with
custom SDL versions for the duration of fullscreen mode Exiting fullscreen mode
would then have to restore the GTK routines. Not to mention syncing the 2
frame buffers between switches.)

> That means you can't use a guest window the same size as the host, otherwise 
> the host XP toolbar will cover up part of the guest window.  (XP's toolbar 
> can be on any side of the screen.  There can even be multiple toobars.  So 
> you really can't depend on having any certain amount of visible screen 
> available.)
> 

I never thought about that. Does the XP toolbar show up when using SDL's
fullscreen mode?

> As a test, I decided to see what would happen if I made Win98's screen 
> larger than what my real one is.  The results were interesting!
> 
> The interesting part was the mouse behavior!  I ended up with *two* mouse 
> cursors on the screen. 

That is weird. I've seen that once before, when the pointer grab failed (because
the host pointer was outside the GTK window) but then GDK later grabbed it
anyways. When it did the grab, it failed to render the host pointer invisible.
The effect was a "swirling mouse" in the middle of the guest screen.

> And they weren't moving quite right.  I couldn't 
> move the guest Win98 one where I needed to.
> 

This is expected behavior. Currently the GTK code assumes that the entire window
fits in a single screen. When it grabs the mouse (and after it renders the mouse
invisible), it confines the pointer to an area in the very middle of the window
that is approximately half the size of the full area of the window. When the
host pointer hits the border of this inner area, it is wrapped to the other
side.

Because the GTK window was larger than the screen, when the host pointer hit the
edge of the screen it wouldn't be able to move any more .. which means the guest
pointer wouldn't be able to either. Even if it was at the top corner of the
window.

> I don't know if this was a gtk issue, or a Windows host issue....
> 

It's really a hack around a GDK limitation.

> This time, I didn't even test the full screen mode (since you said it does 
> still have problems.).  But, I definetly have mouse problems.  After I 
> switched to a screen larger than my real screen, I couldn't move the mouse 
> much.  It was very limited amount of movement.  Much less than the visible 
> part of the qemu screen was.
> 

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

  reply	other threads:[~2005-06-27 18:19 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-19 19:09 [Qemu-devel] quick gtk2.c update Jim C. Brown
2005-06-19 22:25 ` Sebastien Bechet
2005-06-20  0:01   ` Jim C. Brown
2005-06-19 22:57 ` jeebs
2005-06-19 23:53   ` Jim C. Brown
     [not found]     ` <002c01c57535$60064fb0$334d21d1@organiza3bfb0e>
2005-06-20  1:59       ` Jim C. Brown
2005-06-21  2:27         ` jeebs
2005-06-21  2:39           ` Jim C. Brown
2005-06-21  2:58             ` jeebs
2005-06-21  4:28               ` Jim C. Brown
2005-06-21 10:45                 ` Jernej Simončič
2005-06-21 16:27                 ` jeebs
2005-06-21 17:20                   ` Jernej Simončič
2005-06-21 19:40                     ` jeebs
2005-06-21 20:22                       ` Jernej Simončič
2005-06-21 21:19                         ` jeebs
2005-06-21 22:24                           ` Jim C. Brown
2005-06-21 22:45                             ` jeebs
2005-06-21 23:58                               ` Jim C. Brown
2005-06-22  4:14                                 ` jeebs
2005-06-22  5:15                                   ` Damien Mascord
2005-06-22  9:31                                   ` Jernej Simončič
2005-06-22 12:31                                   ` Jim C. Brown
2005-06-22  9:16                                 ` Jernej Simončič
2005-06-22 13:17                                 ` Jim C. Brown
2005-06-22 18:36                                   ` Jim C. Brown
2005-06-22 18:53                                   ` Jim C. Brown
2005-06-22 20:59                                     ` Jim C. Brown
2005-06-23  2:26                                       ` jeebs
2005-06-24  0:32                                         ` Jim C. Brown
2005-06-26 16:13                                           ` Jim C. Brown
2005-06-27 17:11                                             ` jeebs
2005-06-27 18:15                                               ` Jim C. Brown [this message]
2005-06-22 13:22                                 ` Jim C. Brown
2005-06-22  3:53                               ` Herbert Poetzl
2005-06-22 12:41                                 ` Jim C. Brown
2005-06-21 21:52                       ` Jim C. Brown
2005-06-21 19:45                   ` Jim C. Brown
2005-06-21 20:32                     ` [Qemu-devel] Build environment image Tim Walker
2005-06-24 17:19                       ` Tim Walker
2005-06-24 17:48                         ` John R. Hogerhuis
2005-06-24 18:24                           ` Christian MICHON
2005-06-24 18:41                             ` John R. Hogerhuis
2005-06-24 18:41                               ` Christian MICHON
2005-06-24 19:09                             ` jeebs
2005-06-24 19:13                           ` jeebs
2005-06-24 20:25                             ` John R. Hogerhuis
2005-06-24 20:52                               ` jeebs
2005-06-28 18:39                                 ` Jim C. Brown
2005-06-24 21:30                               ` Tim Walker
2005-06-24 21:55                                 ` John R. Hogerhuis
2005-06-24 22:46                                 ` [Qemu-devel] " Ronald
2005-06-24 18:07                         ` [Qemu-devel] " Christian MICHON
2005-06-21 10:42               ` [Qemu-devel] quick gtk2.c update Jernej Simončič
2005-06-21 12:36                 ` Jim C. Brown
2005-06-21 16:30                 ` jeebs
2005-06-21 17:25                   ` Jernej Simončič
2005-06-21 10:39           ` Jernej Simončič
2005-06-21 10:32         ` Jernej Simončič
  -- strict thread matches above, loose matches on Subject: below --
2005-06-27 21:19 Christian Bourque
2005-06-27 21:37 ` Brad Campbell
2005-06-28  1:04 ` Jim C. Brown
     [not found]   ` <a6ee49d305062720121d6fcc4e@mail.gmail.com>
     [not found]     ` <a6ee49d30506272028f772930@mail.gmail.com>
     [not found]       ` <20050628033526.GA23166@jbrown.mylinuxbox.org>
     [not found]         ` <a6ee49d3050628075662b7ec4c@mail.gmail.com>
2005-06-28 18:46           ` Jim C. Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050627181524.GA17928@jbrown.mylinuxbox.org \
    --to=jma5@umd.edu \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).