From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Iua2guWgguiokyhUYW5nLUhzdW4gVHUpIg==?= Subject: Re: Send A Fake PS/2 Packet to QEMU and Mouse Pointer on PV OS Date: Tue, 21 Sep 2010 11:27:20 +0800 Message-ID: <4C982618.6040600@gmail.com> References: <4C97434E.4000109@gmail.com> <4C975F8A.4040704@desaster-games.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2138534562==" Return-path: In-Reply-To: <4C975F8A.4040704@desaster-games.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Felix Kuperjans , Xen Devel List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --===============2138534562== Content-Type: multipart/alternative; boundary="------------070409060105000604020006" This is a multi-part message in MIME format. --------------070409060105000604020006 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi, Thanks for your reply, the audio patch works. I can play audio between DomUs. =E6=96=BC 2010/9/20 =E4=B8=8B=E5=8D=88 09:20, Felix Kuperjans =E6=8F=90=E5= =88=B0: > I can only answer your third question: > > You can switch to using ALSA with qemu (no idea why this is *not* the > default), e.g. by recompiling xen-tools with the attached patch. In KVM= , > a QEMU_AUDIO_DRV=3D"alsa" environment variable works, too. No idea whet= her > XEN accepts it or not. > > Another way with further control would be to use PulseAudio in the Dom0 > and in the DomUs (I think there is even a windows port), which is able > to send the audio data over network connections, so you won't need any > virtual sound cards. I have no setup/tutorial at hand, but it should be > easy to find on the internet. > > Regards, > Felix > > Am 20.09.2010 13:19, schrieb "=E6=B6=82=E5=A0=82=E8=A8=93(Tang-Hsun Tu)= ": >> Dear all: >> >> I am trying to send a fake event to input layer of QEMU, >> i.e. keyboard and mouse. >> >> QEMU provides two API to send these input event, >> that is, kbd_put_keycode() and kbd_mouse_event() for keyboard and >> mouse, respectively. >> And these functions will make a suitable packet for low-level >> hardware, e.g. PS/2 or USB. >> >> For a PS/2 mouse, there is a call chain ps2_mouse_event() =3D> >> ps2_mouse_send_packet() =3D> ps2_queue() >> when the function kbd_mouse_event() is called. >> However, when I make a fake PS/2 mouse packet and directly call >> ps2_queue() >> to put the packet to PS/2 queue. >> I store the PS2MouseState "s" when 8042 initializes and call >> ps2_queue() to send a event, >> for example, >> ps2_queue(&s->common, 0x1001); >> ps2_queue(&s->common, 0); >> ps2_queue(&s->common, 0); >> >> And I also insert some debug message in ps2_read_data() function, >> it works well and reads data from queue correctly.. >> But the mouse pointer does not move (even right/left click). >> I also set the default mouse to "Mouse $0: QEMU PS/2 Mouse" in QEMU >> consloe, >> but the result is the same. What else I forgot to signal? How could I >> fix it? >> >> >> The second question is when I create a PV Linux (Ubuntu), >> the mouse pointer does not move correctly. >> The screen (VNC) shows a black point and a mouse pointer, >> and their speed does not the same. >> In HVM XP, we can use usbdevice=3D'tablet' to fix it, >> but the same line does not work in PV Linux. How could I fix it? >> >> >> The last question is that does the sound can be shared (mixed) >> between multiple DomainUs? >> (The device will be busy when I create a domain.) If can, how could I = do? >> >> >> Thanks! >> >> Best Regards, >> Tang-Hsun Tu >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel --------------070409060105000604020006 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi,

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Thanks for your reply, the audio= patch works.
I can play audio between DomUs.

=E6=96=BC 2010/9/20 =E4=B8=8B=E5=8D=88 09:20, Felix Kuperjans =E6=8F=90= =E5=88=B0:
 I can only answer your third question:

You can switch to using ALSA with qemu (no idea why this is *not* the
default), e.g. by recompiling xen-tools with the attached patch. In KVM,
a QEMU_AUDIO_DRV=3D"alsa" environment variable works, too. No idea whethe=
r
XEN accepts it or not.

Another way with further control would be to use PulseAudio in the Dom0
and in the DomUs (I think there is even a windows port), which is able
to send the audio data over network connections, so you won't need any
virtual sound cards. I have no setup/tutorial at hand, but it should be
easy to find on the internet.

Regards,
Felix

Am 20.09.2010 13:19, schrieb "=E6=B6=82=E5=A0=82=E8=A8=93(Tang-Hsun Tu)":
 Dear all:

      I am trying to send a fake event to input layer of QEMU,
i.e. keyboard and mouse.

      QEMU provides two API to send these input event,
that is, kbd_put_keycode() and kbd_mouse_event() for keyboard and
mouse, respectively.
And these functions will make a suitable packet for low-level
hardware, e.g. PS/2 or USB.

      For a PS/2 mouse, there is a call chain  ps2_mouse_event() =3D>
ps2_mouse_send_packet() =3D> ps2_queue()
when the function kbd_mouse_event() is called.
However, when I make a fake PS/2 mouse packet and directly call
ps2_queue()
to put the packet to PS/2 queue.
I store the PS2MouseState "s" when 8042 initializes and call
ps2_queue() to send a event,
for example,
          ps2_queue(&s->common, 0x1001);
          ps2_queue(&s->common, 0);
          ps2_queue(&s->common, 0);

And I also insert some debug  message in ps2_read_data() function,
it works well and reads data from queue correctly..
But the mouse pointer does not move (even right/left click).
I also set the default mouse to "Mouse $0: QEMU PS/2 Mouse" in QEMU
consloe,
but the result is the same. What else I forgot to signal? How could I
fix it?


       The second question is when I create a PV Linux (Ubuntu),
the mouse pointer does not move correctly.
The screen (VNC) shows a black point and a mouse pointer,
and their speed does not the same.
In HVM XP, we can use usbdevice=3D'tablet' to fix it,
but the same line does not work in PV Linux. How could I fix it?


      The last question is that does the sound can be shared (mixed)
between multiple DomainUs?
(The device will be busy when I create a domain.) If can, how could I do?


     Thanks!

Best Regards,
Tang-Hsun Tu

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
--------------070409060105000604020006-- --===============2138534562== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============2138534562==--