[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Problem with QEMU on KVM

From: Gerhard Wiesinger
Subject: Re: [Qemu-devel] Problem with QEMU on KVM
Date: Sat, 24 Apr 2010 08:58:38 +0200 (CEST)
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)

On Fri, 23 Apr 2010, Gerhard Wiesinger wrote:

On Thu, 22 Apr 2010, Gerd Hoffmann wrote:


Had also a look at ps2.c/ps2.h, pckbd.c: There were no changes which
could explain such a behaviour. Also keyboard is very strange which
switches to CAPS LOCK (shift state) very unmotivated.

Hmm. Recent qemu tries hard to make sure vncviewer and guest capslock/numlock state are in sync. It is a heuristic though and can fail in certain cases. Try "-vnc $display,no-lock-key-sync", does that help?

Tracked down the problem of the mouse that te mouse is in absolute mouse mode (verified by logging, therefore coordinates are very high and absolute and not relative):
static void pointer_event(VncState *vs, int button_mask, int x, int y)
   if (vs->absolute) {
       kbd_mouse_event(ds_get_width(vs->ds) > 1 ?
                         x * 0x7FFF / (ds_get_width(vs->ds) - 1) : 0x4000,
                       ds_get_height(vs->ds) > 1 ?
                         y * 0x7FFF / (ds_get_height(vs->ds) - 1) : 0x4000,
                       dz, buttons);
   } else if (vnc_has_feature(vs, VNC_FEATURE_POINTER_TYPE_CHANGE)) {
       x -= 0x7FFF;
       y -= 0x7FFF;
// We get here in (verified by core dump), but we should get into last
// else
       kbd_mouse_event(x, y, dz, buttons);
   } else {
       if (vs->last_x != -1)
           kbd_mouse_event(x - vs->last_x,
                           y - vs->last_y,
                           dz, buttons);
       vs->last_x = x;
       vs->last_y = y;


Guess problems comes from the following commit (not yet verified):
commit 37c34d9d5d87ea9d51760310c8863b82cb8c055a
Author: Anthony Liguori <address@hidden>
Date:   Wed Mar 10 09:38:29 2010 -0600

   input: make vnc use mouse mode notifiers

When we switch to absolute mode, we send out a notification (if the client supports it). Today, we only send this notification when the client sends us
   a mouse event and we're in the wrong mode.

   Signed-off-by: Anthony Liguori <address@hidden>

Ok, verified:
git revert -n 37c34d9d5d87ea9d51760310c8863b82cb8c055a
=> works well.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]