Bug 487735 - virt-manager/virtinst should not set a keymap unless one is explicitly requested
virt-manager/virtinst should not set a keymap unless one is explicitly requested
Product: Fedora
Classification: Fedora
Component: python-virtinst (Show other bugs)
x86_64 Linux
low Severity medium
: ---
: ---
Assigned To: Daniel Berrange
Fedora Extras Quality Assurance
Depends On:
Blocks: F11VirtTarget
  Show dependency treegraph
Reported: 2009-02-27 12:47 EST by Klaus-Peter Schrage
Modified: 2009-04-09 11:22 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-04-09 11:22:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Klaus-Peter Schrage 2009-02-27 12:47:19 EST
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):

How reproducible:

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.
Comment 1 Klaus-Peter Schrage 2009-03-01 05:54:40 EST
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.
Comment 2 Daniel Berrange 2009-03-01 06:50:55 EST
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
Comment 3 Klaus-Peter Schrage 2009-03-01 08:01:20 EST
Thanks, Daniel,
that sounds good (as far as I can understand it), and I can wait until Fedora 11 comes up.
Comment 4 Cole Robinson 2009-03-04 11:54:54 EST
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?
Comment 5 Daniel Berrange 2009-03-04 14:49:32 EST
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)
Comment 6 Klaus-Peter Schrage 2009-03-09 12:57:07 EDT
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.
Comment 7 Cole Robinson 2009-04-09 11:22:38 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.