On 2014年02月18日 20:51, Ján Tomko wrote:
On 02/17/2014 11:17 AM, Li Zhang wrote:
> From: Li Zhang <zhlcindy(a)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(a)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
Ah, I can't get any errors when doing 'make check' on my side. :(
> @@ -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>