Product SiteDocumentation Site

4.7.3. Mice, Keyboard & Tablets

To discover the guest domain's input devices find and display the input XML tags.

Example 4.50. Get domain's input device information

# Example-40.py
#!/usr/bin/env python3
import sys
import libvirt
from xml.dom import minidom

domName = 'Fedora22-x86_64-1'

conn = None
try:
    conn = libvirt.open("qemu:///system")
except libvirt.libvirtError as e:
    print(repr(e), file=sys.stderr)
    exit(1)

dom = conn.lookupByID(1)
if dom == None:
    print('Failed to find the domain '+domName, file=sys.stderr)
    exit(1)

raw_xml = dom.XMLDesc(0)
xml = minidom.parseString(raw_xml)
devicesTypes = xml.getElementsByTagName('input')
for inputType in devicesTypes:
    print('input: type='+inputType.getAttribute('type')+' bus='+inputType.getAttribute('bus'))
    inputNodes = inputType.childNodes
    for inputNode in inputNodes:
        if inputNode.nodeName[0:1] != '#':
            print('  '+inputNode.nodeName)
            for attr in inputNode.attributes.keys():
                print('    '+inputNode.attributes[attr].name+' = '+
                 inputNode.attributes[attr].value)

conn.close()
exit(0)
The XML configuration for mouse, keyboard and tablet is typically as follows:

Example 4.51. Domain mouse, keyboard and tablet XML information

<domain type='kvm'>
    ...
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    ...
</domain>