Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#56244 closed defect (fixed)

QEMU v2.11 has incorrect keymap issue with VNC

Reported by: aikchar (Hamza Sheikh) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: upstream Cc:
Port: qemu

Description (last modified by aikchar (Hamza Sheikh))

I reported to Packer(2), copy/paste'd here, how there are issues with QEMU+VNC. Reported by others to Packer(0) and QEMU(1).

I am running into the same symptoms on macOS 10.12.6. Cannot repro on Ubuntu 17.10.

I have qemu from MacPorts on macOS.

    $ port installed | grep qemu
      qemu @2.11.0_0+cocoa+target_i386+target_x86_64+usb+vnc (active)

Here's snippet of my config:

    {
        "builders": [
            {
                "boot_command": [
                    "S<enter>",
                    "cat <<EOF >>install.conf<enter>",
                    "Choose your keyboard layout = default<enter>",
    ================== SNIP ==================
                    "EOF<enter>",
                    "install -af install.conf && reboot<enter>"
                ],
                "boot_wait": "30s",
                "disk_interface": "virtio",
                "disk_size": 80000,
                "format": "qcow2",
                "headless": true,
                "iso_checksum": "b7994d29c7db3087db65158901d700fb7d10500b9b7496c1d86b285cabce0a2b",
                "iso_checksum_type": "sha256",
                "iso_checksum_url": "{{user `iso_mirror`}}/pub/OpenBSD/6.2/amd64/SHA256",
                "iso_url": "{{user `iso_mirror`}}/pub/OpenBSD/6.2/amd64/install62.iso",
                "net_device": "e1000",
                "output_directory": "openbsd62",
                "shutdown_command": "/sbin/halt -p",
                "type": "qemu",
                "ssh_host_port_min": 2222,
                "ssh_host_port_max": 2229,
                "ssh_password": "root",
                "ssh_port": 22,
                "ssh_username": "root",
                "ssh_wait_timeout": "1800s",
                "vm_name": "openbsd62.qcow2"
            }
        ],
        "post-processors": [],
        "provisioners": [],
        "variables": {
            "iso_mirror": "http://ftp.openbsd.org"
        }
    }

As can be seen in the attached screenshot, << does not get printed. Below is a snippet of Packer trace.

    ==> qemu: Typing the boot command over VNC...
    2018/02/27 13:47:12 packer: 2018/02/27 13:47:12 Sending char 'S', code 83, shift true
    2018/02/27 13:47:12 packer: 2018/02/27 13:47:12 Special code '<enter>' found, replacing with: 65293
    2018/02/27 13:47:13 packer: 2018/02/27 13:47:13 Sending char 'c', code 99, shift false
    2018/02/27 13:47:13 packer: 2018/02/27 13:47:13 Sending char 'a', code 97, shift false
    2018/02/27 13:47:13 packer: 2018/02/27 13:47:13 Sending char 't', code 116, shift false
    2018/02/27 13:47:13 packer: 2018/02/27 13:47:13 Sending char ' ', code 32, shift false
    2018/02/27 13:47:14 packer: 2018/02/27 13:47:14 Sending char '<', code 60, shift true
    2018/02/27 13:47:14 packer: 2018/02/27 13:47:14 Sending char '<', code 60, shift true
    2018/02/27 13:47:14 packer: 2018/02/27 13:47:14 Sending char 'E', code 69, shift true
    2018/02/27 13:47:15 packer: 2018/02/27 13:47:15 Sending char 'O', code 79, shift true
    2018/02/27 13:47:15 packer: 2018/02/27 13:47:15 Sending char 'F', code 70, shift true
    2018/02/27 13:47:15 packer: 2018/02/27 13:47:15 Sending char ' ', code 32, shift false
    2018/02/27 13:47:16 packer: 2018/02/27 13:47:16 Sending char '>', code 62, shift true
    2018/02/27 13:47:16 packer: 2018/02/27 13:47:16 Sending char '>', code 62, shift true
    2018/02/27 13:47:16 packer: 2018/02/27 13:47:16 Sending char 'i', code 105, shift false
    2018/02/27 13:47:16 packer: 2018/02/27 13:47:16 Sending char 'n', code 110, shift false
    2018/02/27 13:47:17 packer: 2018/02/27 13:47:17 Sending char 's', code 115, shift false
    2018/02/27 13:47:17 packer: 2018/02/27 13:47:17 Sending char 't', code 116, shift false
    2018/02/27 13:47:17 packer: 2018/02/27 13:47:17 Sending char 'a', code 97, shift false
    2018/02/27 13:47:18 packer: 2018/02/27 13:47:18 Sending char 'l', code 108, shift false
    2018/02/27 13:47:18 packer: 2018/02/27 13:47:18 Sending char 'l', code 108, shift false
    2018/02/27 13:47:18 packer: 2018/02/27 13:47:18 Sending char '.', code 46, shift false

(0) https://github.com/hashicorp/packer/issues/5769

(1) https://bugs.launchpad.net/qemu/+bug/1754295

(2) https://github.com/hashicorp/packer/issues/5769#issuecomment-369042577

Attachments (1)

36757502-9cabd8b8-1bc6-11e8-8b3b-66a62b770b3d.png (26.4 KB) - added by aikchar (Hamza Sheikh) 2 years ago.
Screenshot of VNC

Download all attachments as: .zip

Change History (6)

Changed 2 years ago by aikchar (Hamza Sheikh)

Screenshot of VNC

comment:1 Changed 2 years ago by aikchar (Hamza Sheikh)

Description: modified (diff)
Port: qemu added

comment:2 Changed 2 years ago by aikchar (Hamza Sheikh)

Keywords: upstream added

comment:3 Changed 2 years ago by aikchar (Hamza Sheikh)

Description: modified (diff)

comment:4 Changed 2 years ago by raimue (Rainer Müller)

Owner: set to raimue
Resolution: fixed
Status: newclosed

In 9131e911873fc6274e7c29bffaf2dfd26206f1a7/macports-ports:

qemu: Fix broken en-us keymap

Closes: #56244

comment:5 Changed 2 years ago by raimue (Rainer Müller)

Thank you for the report. I pushed an update to qemu that is supposed to fix this issue. Please let me know if it does not help.

Note: See TracTickets for help on using tickets.