This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Re: PVFB wheel events (z-axis)

To: Pat Campbell <plc@xxxxxxxxxx>
Subject: Re: [Xen-devel] Re: PVFB wheel events (z-axis)
From: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed, 27 Feb 2008 17:01:28 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 27 Feb 2008 08:01:54 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <47C2FE4D.1030502@xxxxxxxxxx> (Pat Campbell's message of "Mon\, 25 Feb 2008 10\:43\:41 -0700")
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <87tzk19xqf.fsf@xxxxxxxxxxxxxxxxx> <47C0287F.5070901@xxxxxxxxxx> <87bq656tzb.fsf@xxxxxxxxxxxxxxxxx> <47C2FE4D.1030502@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)
All right, I think I understand now how this works.

1. X reports wheel motion as button 4 & 5.

2. VNC viewer duly transmits that into QEMU.

3. QEMU converts it to -1/+1 on z-axis (pointer_event() in vnc.c).

4. Your patch transmits that to the vkbd frontend.

   Bug: struct xenkbd_position claims abs_z is absolute, which is not

   Question: is that the protocol we want?  More below.

5. The vkbd frontend stuffs the z-axis motion into the input layer as
   REL_WHEEL, with the sign reversed.

   Bug: it ignores movement other than -1/+1.  A case can be made for
   ignoring 0.

   Bug: when it acts on z-axis movement, it ignores x/y movement /

6. X converts the wheel movement back to button 4 & 5.

Weird, isn't it?

I'm not sure we want to encode wheel events as z-axis motion in the
vkbd frontend/backend protocol.  Wouldn't it make more sense to encode
it as buttons?

Xen-devel mailing list