[libvirt] [PATCH v9 2/7] conf: Add a keyboard input device type

Ján Tomko jtomko at redhat.com
Tue Feb 18 12:51:20 UTC 2014


On 02/17/2014 11:17 AM, Li Zhang wrote:
> From: Li Zhang <zhlcindy at linux.vnet.ibm.com>
> 
> There is no keyboard support currently in libvirt .
> For some platforms, it needs to add a USB keyboard when graphics are enabled.
> 
> This patch is to add keyboard input device type.
> 
> Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
> ---
>  docs/schemas/domaincommon.rng                      |  1 +
>  src/conf/domain_conf.c                             | 70 ++++++++++++----------
>  src/conf/domain_conf.h                             |  1 +
...
>  tests/vmx2xmldata/vmx2xml-graphics-vnc.xml         |  1 +
>  27 files changed, 66 insertions(+), 31 deletions(-)
> 

This fails 'make check' for me:
FAIL: sexpr2xmltest
FAIL: xmconfigtest


> @@ -7805,9 +7806,10 @@ virDomainInputDefParseXML(const char *ostype,
>              goto error;
>          }
>  
> -        if (STREQ(ostype, "hvm")) {
> -            if (def->bus == VIR_DOMAIN_INPUT_BUS_PS2 && /* Only allow mouse for ps2 */
> -                def->type != VIR_DOMAIN_INPUT_TYPE_MOUSE) {
> +        if (STREQ(dom->os.type, "hvm")) {
> +            if (def->bus == VIR_DOMAIN_INPUT_BUS_PS2 && /* PS2 can be mouse or keyboard */
> +                !(def->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
> +                def->type == VIR_DOMAIN_INPUT_TYPE_KBD)) {

This is easier to read as:
def->type != MOUSE && def->type != KBD

>                  virReportError(VIR_ERR_INTERNAL_ERROR,
>                                 _("ps2 bus does not support %s input device"),
>                                 type);

> @@ -7833,8 +7836,9 @@ virDomainInputDefParseXML(const char *ostype,
>              }
>          }
>      } else {
> -        if (STREQ(ostype, "hvm")) {
> -            if (def->type == VIR_DOMAIN_INPUT_TYPE_MOUSE)
> +        if (STREQ(dom->os.type, "hvm")) {
> +            if ((def->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
> +                def->type == VIR_DOMAIN_INPUT_TYPE_KBD)) 

Trailing space breaks 'make syntax-check'

>                  def->bus = VIR_DOMAIN_INPUT_BUS_PS2;
>              else
>                  def->bus = VIR_DOMAIN_INPUT_BUS_USB;

> @@ -12491,29 +12497,26 @@ virDomainDefParseXML(xmlDocPtr xml,
>      VIR_FREE(nodes);
>  
>      /* If graphics are enabled, there's an implicit PS2 mouse */
> -    if (def->ngraphics > 0) {
> -        virDomainInputDefPtr input;
> +    if (def->ngraphics > 0) { 

Another trailing space.

> +        int input_bus = VIR_DOMAIN_INPUT_BUS_XEN;
>  
> -        if (VIR_ALLOC(input) < 0) {
> -            goto error;
> -        }
> -        if (STREQ(def->os.type, "hvm")) {
> -            input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
> -            input->bus = VIR_DOMAIN_INPUT_BUS_PS2;
> -        } else {
> -            input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
> -            input->bus = VIR_DOMAIN_INPUT_BUS_XEN;
> -        }
> +        if (STREQ(def->os.type, "hvm"))
> +            input_bus = VIR_DOMAIN_INPUT_BUS_PS2;
>  
> -        if (VIR_REALLOC_N(def->inputs, def->ninputs + 1) < 0) {
> -            virDomainInputDefFree(input);
> +        if (virDomainDefMaybeAddInput(def,
> +                                      VIR_DOMAIN_INPUT_TYPE_MOUSE,
> +                                      input_bus) < 0)
>              goto error;
> +
> +        /*Ignore keyboard for XEN, only add a PS2 keyboard device for hvm*/
> +        if (STREQ(def->os.type, "hvm")) {

Xen has "hvm" domains too, and since we were adding the mouse for non-hvm
domains, I think we should get rid of this condition and add keyboards too (I
think this is different from what I said earlier)

> +            if (virDomainDefMaybeAddInput(def,
> +                                          VIR_DOMAIN_INPUT_TYPE_KBD,
> +                                          input_bus) < 0)
> +                goto error;
>          }
> -        def->inputs[def->ninputs] = input;
> -        def->ninputs++;
>      }
>  
> -
>      /* analysis of the sound devices */
>      if ((n = virXPathNodeSet("./devices/sound", ctxt, &nodes)) < 0) {
>          goto error;

> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
> index f9fdf37..341322c 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
> @@ -71,7 +71,9 @@
>      </console>
>      <input type='tablet' bus='usb'/>
>      <input type='mouse' bus='ps2'/>
> +    <input type='keyboard' bus='ps2'/>
>      <graphics type='spice' port='5900' autoport='no' passwd='sercet' passwdValidTo='2011-05-31T16:11:22' connected='disconnect'/>
> +    <input type='keyboard' bus='ps2'/>
>      <sound model='ac97'>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>      </sound>

Double keyboard entry.

ACK with this squashed in:

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5031441..75b87d1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -7808,9 +7808,9 @@ virDomainInputDefParseXML(const virDomainDef *dom,
         }

         if (STREQ(dom->os.type, "hvm")) {
-            if (def->bus == VIR_DOMAIN_INPUT_BUS_PS2 && /* PS2 can be mouse
or keyboard */
-                !(def->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
-                def->type == VIR_DOMAIN_INPUT_TYPE_KBD)) {
+            if (def->bus == VIR_DOMAIN_INPUT_BUS_PS2 &&
+                def->type != VIR_DOMAIN_INPUT_TYPE_MOUSE &&
+                def->type != VIR_DOMAIN_INPUT_TYPE_KBD) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
                                _("ps2 bus does not support %s input device"),
                                type);
@@ -7839,7 +7839,7 @@ virDomainInputDefParseXML(const virDomainDef *dom,
     } else {
         if (STREQ(dom->os.type, "hvm")) {
             if ((def->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
-                def->type == VIR_DOMAIN_INPUT_TYPE_KBD))
+                def->type == VIR_DOMAIN_INPUT_TYPE_KBD))
                 def->bus = VIR_DOMAIN_INPUT_BUS_PS2;
             else
                 def->bus = VIR_DOMAIN_INPUT_BUS_USB;
@@ -12498,7 +12498,7 @@ virDomainDefParseXML(xmlDocPtr xml,
     VIR_FREE(nodes);

     /* If graphics are enabled, there's an implicit PS2 mouse */
-    if (def->ngraphics > 0) {
+    if (def->ngraphics > 0) {
         int input_bus = VIR_DOMAIN_INPUT_BUS_XEN;

         if (STREQ(def->os.type, "hvm"))
@@ -12509,13 +12509,10 @@ virDomainDefParseXML(xmlDocPtr xml,
                                       input_bus) < 0)
             goto error;

-        /*Ignore keyboard for XEN, only add a PS2 keyboard device for hvm*/
-        if (STREQ(def->os.type, "hvm")) {
-            if (virDomainDefMaybeAddInput(def,
-                                          VIR_DOMAIN_INPUT_TYPE_KBD,
-                                          input_bus) < 0)
-                goto error;
-        }
+        if (virDomainDefMaybeAddInput(def,
+                                      VIR_DOMAIN_INPUT_TYPE_KBD,
+                                      input_bus) < 0)
+            goto error;
     }

     /* analysis of the sound devices */
@@ -17540,6 +17537,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
             VIR_DOMAIN_INPUT_BUS_PS2 : VIR_DOMAIN_INPUT_BUS_XEN,
             { .alias = NULL },
         };
+
         if (virDomainInputDefFormat(buf, &autoInput, flags) < 0)
             goto error;

diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
index 341322c..e6ecbed 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.xml
@@ -73,7 +73,6 @@
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
     <graphics type='spice' port='5900' autoport='no' passwd='sercet'
passwdValidTo='2011-05-31T16:11:22' connected='disconnect'/>
-    <input type='keyboard' bus='ps2'/>
     <sound model='ac97'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </sound>
diff --git a/tests/sexpr2xmldata/sexpr2xml-curmem.xml
b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
index 1edc52b..2e68fc4 100644
--- a/tests/sexpr2xmldata/sexpr2xml-curmem.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
@@ -31,6 +31,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
index 9883a4b..0f29f03 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
@@ -43,6 +43,7 @@
     </console>
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5925' autoport='yes' keymap='en-us'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
index d5b0f23..b5bd19b 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
index ae45357..ae056c8 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
@@ -39,6 +39,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
index c502ff3..27090be 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
@@ -39,6 +39,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
index 837b97f..b896e51 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
index ad2e212..8dda7ff 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
@@ -37,6 +37,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
index a70b005..788d319 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
@@ -37,6 +37,7 @@
       <model type='netfront'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
index 1c667cc..a9450ec 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
@@ -41,6 +41,7 @@
       <target port='0'/>
     </parallel>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
index 8938ee3..f05db8d 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
@@ -48,6 +48,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
index 96062cf..10a331e 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='1'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
index 3dcd7e7..c1c717e 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
index 301c3ee..ea19144 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
@@ -42,6 +42,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
index e6e6e5d..447d4a3 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
index f2e7952..328bc45 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
@@ -42,6 +42,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
index 9a4e1cb..5a92433 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
@@ -42,6 +42,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
index 4ba84cd..1f800bc 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
index 11f7daa..23dabbd 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
index 90c89f3..29ba6e5 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
index b67df0f..0379e0d 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5901' autoport='no'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
index ba0f7e1..0785041 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
     <sound model='sb16'/>
     <sound model='es1370'/>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
index ba0f7e1..0785041 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
     <sound model='sb16'/>
     <sound model='es1370'/>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
index 6a7bec4..b9c2aaf 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
@@ -37,6 +37,7 @@
     </interface>
     <input type='mouse' bus='usb'/>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
index 31fbeea..44a0867 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
@@ -37,6 +37,7 @@
     </interface>
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
index 3da882b..584fbfb 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
index 7bbe780..f910412 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv.xml
b/tests/sexpr2xmldata/sexpr2xml-fv.xml
index 3da882b..584fbfb 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv.xml
@@ -36,6 +36,7 @@
       <target dev='vif3.0'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' keymap='ja'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
index 1cd5d68..055b0d3 100644
--- a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
@@ -41,6 +41,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes'/>
   </devices>
 </domain>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml
b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml
index 74d4316..e8c3cda 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml
@@ -24,6 +24,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='5925' autoport='no' listen='0.0.0.0' keymap='ja'>
       <listen type='address' address='0.0.0.0'/>
     </graphics>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
index d6b81bf..365d3c9 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
@@ -24,6 +24,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='ja'>
       <listen type='address' address='0.0.0.0'/>
     </graphics>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
index d6b81bf..365d3c9 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
@@ -24,6 +24,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='ja'>
       <listen type='address' address='0.0.0.0'/>
     </graphics>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
index 6f22dd4..5333292 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
@@ -29,6 +29,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes'/>
   </devices>
 </domain>
diff --git a/tests/xmconfigdata/test-escape-paths.xml
b/tests/xmconfigdata/test-escape-paths.xml
index 40c9b3e..de3a7e2 100644
--- a/tests/xmconfigdata/test-escape-paths.xml
+++ b/tests/xmconfigdata/test-escape-paths.xml
@@ -43,6 +43,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-force-hpet.xml
b/tests/xmconfigdata/test-fullvirt-force-hpet.xml
index bb74bae..75f8724 100644
--- a/tests/xmconfigdata/test-fullvirt-force-hpet.xml
+++ b/tests/xmconfigdata/test-fullvirt-force-hpet.xml
@@ -40,6 +40,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-force-nohpet.xml
b/tests/xmconfigdata/test-fullvirt-force-nohpet.xml
index 1f45c73..e5741b6 100644
--- a/tests/xmconfigdata/test-fullvirt-force-nohpet.xml
+++ b/tests/xmconfigdata/test-fullvirt-force-nohpet.xml
@@ -40,6 +40,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-localtime.xml
b/tests/xmconfigdata/test-fullvirt-localtime.xml
index 2fba66e..8b97e5b 100644
--- a/tests/xmconfigdata/test-fullvirt-localtime.xml
+++ b/tests/xmconfigdata/test-fullvirt-localtime.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-net-ioemu.xml
b/tests/xmconfigdata/test-fullvirt-net-ioemu.xml
index d34368e..f22c085 100644
--- a/tests/xmconfigdata/test-fullvirt-net-ioemu.xml
+++ b/tests/xmconfigdata/test-fullvirt-net-ioemu.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-net-netfront.xml
b/tests/xmconfigdata/test-fullvirt-net-netfront.xml
index bba4ae5..177bb6a 100644
--- a/tests/xmconfigdata/test-fullvirt-net-netfront.xml
+++ b/tests/xmconfigdata/test-fullvirt-net-netfront.xml
@@ -38,6 +38,7 @@
       <model type='netfront'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
index d34368e..f22c085 100644
--- a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
+++ b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
b/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
index 78c8a88..a592630 100644
--- a/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
+++ b/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml
b/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml
index 2b52e03..738e5ab 100644
--- a/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml
+++ b/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml
@@ -43,6 +43,7 @@
       <target port='0'/>
     </parallel>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-dev-2-ports.xml
b/tests/xmconfigdata/test-fullvirt-serial-dev-2-ports.xml
index af38ee5..753831a 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-dev-2-ports.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-dev-2-ports.xml
@@ -50,6 +50,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-dev-2nd-port.xml
b/tests/xmconfigdata/test-fullvirt-serial-dev-2nd-port.xml
index 93cf83d..1a55080 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-dev-2nd-port.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-dev-2nd-port.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='1'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-file.xml
b/tests/xmconfigdata/test-fullvirt-serial-file.xml
index 6d51f71..0d2ac79 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-file.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-file.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-null.xml
b/tests/xmconfigdata/test-fullvirt-serial-null.xml
index 59bac70..d4b4ae9 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-null.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-null.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-pipe.xml
b/tests/xmconfigdata/test-fullvirt-serial-pipe.xml
index dd8ffbc..6596dfc 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-pipe.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-pipe.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-pty.xml
b/tests/xmconfigdata/test-fullvirt-serial-pty.xml
index 9561ca2..6c55abb 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-pty.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-pty.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-stdio.xml
b/tests/xmconfigdata/test-fullvirt-serial-stdio.xml
index 4fb6908..461f143 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-stdio.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-stdio.xml
@@ -44,6 +44,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml
b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml
index ba2ae7e..d2fa7bf 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml
@@ -48,6 +48,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp.xml
b/tests/xmconfigdata/test-fullvirt-serial-tcp.xml
index a47b4e8..60ab8bd 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-tcp.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-tcp.xml
@@ -48,6 +48,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-udp.xml
b/tests/xmconfigdata/test-fullvirt-serial-udp.xml
index e939229..6c21cd2 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-udp.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-udp.xml
@@ -48,6 +48,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-serial-unix.xml
b/tests/xmconfigdata/test-fullvirt-serial-unix.xml
index 3166e70..f21534e 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-unix.xml
+++ b/tests/xmconfigdata/test-fullvirt-serial-unix.xml
@@ -46,6 +46,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-sound.xml
b/tests/xmconfigdata/test-fullvirt-sound.xml
index 3011a47..f09c16d 100644
--- a/tests/xmconfigdata/test-fullvirt-sound.xml
+++ b/tests/xmconfigdata/test-fullvirt-sound.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-usbmouse.xml
b/tests/xmconfigdata/test-fullvirt-usbmouse.xml
index 26fbae5..18a7ff0 100644
--- a/tests/xmconfigdata/test-fullvirt-usbmouse.xml
+++ b/tests/xmconfigdata/test-fullvirt-usbmouse.xml
@@ -39,6 +39,7 @@
     </interface>
     <input type='mouse' bus='usb'/>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet.xml
b/tests/xmconfigdata/test-fullvirt-usbtablet.xml
index 7e2e6c7..5cbb007 100644
--- a/tests/xmconfigdata/test-fullvirt-usbtablet.xml
+++ b/tests/xmconfigdata/test-fullvirt-usbtablet.xml
@@ -39,6 +39,7 @@
     </interface>
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-fullvirt-utc.xml
b/tests/xmconfigdata/test-fullvirt-utc.xml
index d34368e..f22c085 100644
--- a/tests/xmconfigdata/test-fullvirt-utc.xml
+++ b/tests/xmconfigdata/test-fullvirt-utc.xml
@@ -38,6 +38,7 @@
       <model type='e1000'/>
     </interface>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-no-source-cdrom.xml
b/tests/xmconfigdata/test-no-source-cdrom.xml
index 697ba2f..2a457b2 100644
--- a/tests/xmconfigdata/test-no-source-cdrom.xml
+++ b/tests/xmconfigdata/test-no-source-cdrom.xml
@@ -43,6 +43,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes'/>
   </devices>
 </domain>
diff --git a/tests/xmconfigdata/test-paravirt-net-e1000.xml
b/tests/xmconfigdata/test-paravirt-net-e1000.xml
index 4fa2a2d..3466344 100644
--- a/tests/xmconfigdata/test-paravirt-net-e1000.xml
+++ b/tests/xmconfigdata/test-paravirt-net-e1000.xml
@@ -28,6 +28,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-paravirt-net-vifname.xml
b/tests/xmconfigdata/test-paravirt-net-vifname.xml
index 2a93918..20d96aa 100644
--- a/tests/xmconfigdata/test-paravirt-net-vifname.xml
+++ b/tests/xmconfigdata/test-paravirt-net-vifname.xml
@@ -29,6 +29,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml
b/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml
index 4ee8329..c02963d 100644
--- a/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml
+++ b/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml
@@ -27,6 +27,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='5925' autoport='no' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb.xml
b/tests/xmconfigdata/test-paravirt-new-pvfb.xml
index 1b3a05a..ee25550 100644
--- a/tests/xmconfigdata/test-paravirt-new-pvfb.xml
+++ b/tests/xmconfigdata/test-paravirt-new-pvfb.xml
@@ -27,6 +27,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-paravirt-old-pvfb-vncdisplay.xml
b/tests/xmconfigdata/test-paravirt-old-pvfb-vncdisplay.xml
index 4ee8329..c02963d 100644
--- a/tests/xmconfigdata/test-paravirt-old-pvfb-vncdisplay.xml
+++ b/tests/xmconfigdata/test-paravirt-old-pvfb-vncdisplay.xml
@@ -27,6 +27,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='5925' autoport='no' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-paravirt-old-pvfb.xml
b/tests/xmconfigdata/test-paravirt-old-pvfb.xml
index 1b3a05a..ee25550 100644
--- a/tests/xmconfigdata/test-paravirt-old-pvfb.xml
+++ b/tests/xmconfigdata/test-paravirt-old-pvfb.xml
@@ -27,6 +27,7 @@
       <target type='xen' port='0'/>
     </console>
     <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'
passwd='123poi'>
       <listen type='address' address='127.0.0.1'/>
     </graphics>
diff --git a/tests/xmconfigdata/test-pci-devs.xml
b/tests/xmconfigdata/test-pci-devs.xml
index 89a7490..f828056 100644
--- a/tests/xmconfigdata/test-pci-devs.xml
+++ b/tests/xmconfigdata/test-pci-devs.xml
@@ -43,6 +43,7 @@
       <target type='serial' port='0'/>
     </console>
     <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes'/>
     <hostdev mode='subsystem' type='pci' managed='no'>
       <source>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140218/459193c0/attachment-0001.sig>


More information about the libvir-list mailing list