virt-manager has lack of keyboard layout option, thus renderin clients unusable

Bug #252713 reported by Phoenix
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
virt-manager (Fedora)
Fix Released
Medium
virt-manager (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The virt-manager shiped with Hardy has no option to set the keyboard layout of the kvm system, thus when you fire up your windows (or probably something else) you end up with some exotic keyboard, where you can't type usefull keys like "\:= - and if available habe to hunt for it all the time. Virtualization for non-default keyboards with Hardy is broken.

I now of patches, that add the option to the XML of the virtual maschine specification for libvirt, but I don't know of patches that enable the option within libvirt.

Virtualization was a big selling point for Hardy and it's really sad to have it shipped in such a broken way...

Revision history for this message
In , Klaus-Peter (klaus-peter-redhat-bugs) wrote :

Description of problem:
I have created two virtual machines with virt-manager:
- Windows XP (32bit)
- Fedora 10 (64bit).
Both installed without problems, but when I try to make any text input in either of the guest OS, I get a strange, 'qwertyu' type keyboard layout.

On the host, I am using KDE 4.2, a German keyboard (evdev-managed) with DE layout. Changing keyboard model from edev-managed to Generic doesn't make any noticeable difference.

Version-Release number of selected component (if applicable):
kvm-74-10.fc10.x86_6
qemu-0.9.1-10.fc10.x86_64
virt-manager-0.6.0-5.fc10.x86_64

How reproducible:
always

Steps to Reproduce:
1. Create virtual machine with virt-manager
2. Start guest from virt-manager
3. Enter text in guest

Actual results:
Unexpected keyboard layout of unknown type, unusable

Expected results:
German 'qwertzu' keyboard layout

Additional info:
1. Whenever I switch the keyboard layout to "US" on the host, I immediately get a layout on the guest which is nearly ok (no symbols obtainable with the AltGr key); when I switch back to "DE", the borked layout is back.

2. When I run any of the guests with the qemu-kvm command, I get a guest layout which is nearly ok as well.

Revision history for this message
In , Klaus-Peter (klaus-peter-redhat-bugs) wrote :

There is a workaround:

1. Change a line in the virtual machines's XML file in /etc/libvirt/qemu/ from
<graphics type='vnc' port='-1' autoport='yes' keymap='en_us'/> to
<graphics type='vnc' port='-1' autoport='yes' keymap='de'/>

2. Restart the libvirtd daemon.

But a bug in virt-manager remains. This tool seems to be made for virtualization newbies like me who usually don't poke around in xml configuration files hidden from ordinary users. It would be preferrable if virt-manager asked for the desired keymap.

I still have the AltGr problem mentioned above, but that is another story.

Revision history for this message
In , Daniel (daniel-redhat-bugs) wrote :

QEMU has had a VNC extension added so that the keymap is no longer required - it will use raw scancodes across the wire & into the guest, so the guest has complete control over keymap without needing this setting. This will be in Fedora 11

Revision history for this message
In , Klaus-Peter (klaus-peter-redhat-bugs) wrote :

Thanks, Daniel,
that sounds good (as far as I can understand it), and I can wait until Fedora 11 comes up.

Revision history for this message
In , Cole (cole-redhat-bugs) wrote :

Danpb, so how will this work? Does qemu just ignore a manually specified keymap, or should libvirt drop the keymap setting for a sufficiently new version?

Revision history for this message
In , Daniel (daniel-redhat-bugs) wrote :

No, if you set a keymap, QEMU will always use that keymap. The raw scancode VNC extension is only activated if no keymap is specified. So I'd recommend that virt-install never set a keymap, unless the user explicitly asks for one with "--keymap fr". For virt-manager we should probably have a globall preference available, which defaults to no keymap at all, but which lets the user override to an explicit one if desired (eg, so it works with VNC clients not supporting the extension)

Revision history for this message
In , Klaus-Peter (klaus-peter-redhat-bugs) wrote :

FWIW: If there is no keymap specified in the xml file, i. e. if the above line reads
<graphics type='vnc' port='-1' autoport='yes'/>
then the host's keymap setting are respected, even the characters accessible by means of the AltGr key are reproduced. It seems as if the key codes are mapped directly to the guest.

But you can't set this in virt-manager, you have to make changes in the xml file manually.

Changed in virt-manager:
status: Unknown → Confirmed
Revision history for this message
In , Cole (cole-redhat-bugs) wrote :

Okay, fixed python-virtinst-0.400.3-5.fc11 (rawhide). Now the user has to explictly set a keymap via virt-install, or when adding a Graphical device via virt-manager.

Closing as RAWHIDE. Please reopen if you still see issues.

Changed in virt-manager (Fedora):
status: Confirmed → Fix Released
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

This should be fixed in the latest virt-manager and virtinst packages for Lucid.

Changed in virt-manager (Ubuntu):
status: New → Fix Released
Changed in virt-manager (Fedora):
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.