Red Hat Bugzilla – Bug 1474464
Unable to send PAUSE/BREAK to guests in VNC or SPICE
Last modified: 2018-04-10 20:30:00 EDT
Description of problem: In VNC if pressing the PAUSE or BREAK key, nothing will be received by the guest OS In SPICE if pressing the BREAK key (ie Ctrl + PAUSE), nothing will be received by the guest OS In SPICE if pressing the PAUSE key, the guest will see Control_L + NumLock instead. This is a regression introduced in QEMU 2.8.0 in commit 8c10e0baf0260b59a4e984744462a18016662e3e Author: Hervé Poussineau <hpoussin@reactos.org> Date: Thu Sep 15 22:06:26 2016 +0200 ps2: use QEMU qcodes instead of scancodes This fixes problems with translated set 1, where most make code were wrong. This fixes problems with set 3 for extended keys (like arrows) and lot of other keys. Added a FIXME for set 3, where most keys must not (by default) deliver a break code. Detailed list of changes on untranslated set 2: - change of ALTGR break code from 0xe4 to 0xf0 0x08 - change of ALTGR_R break code from 0xe0 0xe4 to 0xe0 0xf0 0x08 - change of F7 make code from 0x02 to 0x83 - change of F7 break code from 0xf0 0x02 to 0xf0 0x83 - change of PRINT make code from 0xe0 0x7c to 0xe0 0x12 0xe0 0x7c - change of PRINT break code from 0xe0 0xf0 0x7c to 0xe0 0xf0 0x7c 0xe0 0xf0 0x12 - change of PAUSE key: new make code = old make code + old break code, no more break code - change on RO break code from 0xf3 to 0xf0 0x51 - change on KP_COMMA break code from 0xfe to 0xf0 0x6d Detailed list of changes on translated set 2 (the most commonly used): - change of PRINT make code from 0xe0 0x37 to 0xe0 0x2a 0xe0 0x37 - change of PRINT break code from 0xe0 0xb7 to 0xe0 0xb7 0xe0 0xaa - change of PAUSE key: new make code = old make code + old break code, no more break code Reference: http://www.computer-engineering.org/ps2keyboard/scancodes1.html http://www.computer-engineering.org/ps2keyboard/scancodes2.html http://www.computer-engineering.org/ps2keyboard/scancodes3.html Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Message-id: 1473969987-5890-5-git-send-email-hpoussin@reactos.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> It affects x86 guests using the default PS2 keyboard. If a USB keyboard is present for the guest, everything works correctly. Version-Release number of selected component (if applicable): qemu-kvm-rhev-2.9.0-16.el7.3 How reproducible: Always Steps to Reproduce: 1. Open a VNC or SPICE client to a RHEL Linux guest 2. Launch 'gnome-terminal' in the guest 3. Launch 'xev' in the guest from the 'gnome-terminal' 4. Press the 'Pause' key 5. Press the 'Control' + 'Pause' keys Actual results: The guest sees missing or incorrect keys (see bug description above) Expected results: 'xev' reports Pause and Break keys pressed respectively Additional info:
Patch proposed upstream at https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg07415.html
Fixed upstream: commit 7c388dbd0b2c54b3d836c23ea43e2cee38de66a4 Author: Daniel P. Berrange <berrange@redhat.com> Date: Thu Jul 27 12:32:43 2017 +0100 ps2: fix sending of PAUSE/BREAK scancodes
Hi Gerd, It's a good news that I have enabled the auto check for the input devices:). The media keys I checked are(using your emulate-key): 'NEXTSONG', 'PREVIOUSSONG', 'STOPCD', 'PLAYPAUSE', 'MUTE', 'VOLUMEUP', 'VOLUMEDOWN', 'MAIL', 'CALC', 'COMPUTER', 'SEARCH', 'HOMEPAGE', 'BACK', 'FORWARD', 'STOP', 'REFRESH', 'FAVORITES' Check with rhel7.5 guest and qemu-kvm-rhev-2.10.0-5.el7.x86_64, above keys are visible for ps2-kbd in both vnc and spice. But they are all missing for usb-kbd/virtio-keyboard-pci in both vnc and spice. Do I need to report a bug to track mediakey functions for usb-kbd and virtio-keyboard-pci? BR/ Guo, Zhiyi
(In reply to Guo, Zhiyi from comment #7) > Check with rhel7.5 guest and qemu-kvm-rhev-2.10.0-5.el7.x86_64, above keys > are visible for ps2-kbd in both vnc and spice. But they are all missing for > usb-kbd/virtio-keyboard-pci in both vnc and spice. Do I need to report a bug > to track mediakey functions for usb-kbd and virtio-keyboard-pci? Yes, please (two bugs actually, one for each kbd device).
Sorry comment 7 is for Bug 1472756 - Keys to control audio are not forwarded to the guest. For this bug, My test are consist of 104 US keyboard layout plus keycodes 'KATAKANA','HIRAGANA','HENKAN'(through the google, I think these 3 keys are more important to JP input method,if you think other jp keys are important too, please comment), results are: 'KATAKANA','HIRAGANA' are missing in ps2 kbd/usb-kbd/virtio-keyboard-pci with vnc/spice connections HENKAN is missing in usb-kbd/virtio-keyboard-pci with vnc/spice connections Do I need to report a bug to track these three keys? BR/ Zhiyi, Guo
> Do I need to report a bug to track these three keys? Again, one bug per device please. You can list all the non-working keys in the same bug though, no need to have separate bugs for the jp layout keys and multimedia keys.
Verified per comment 7 - 10. Keycode issues for other input devices like usb-kbd/virtio-keyboard-pci have been tracked by other bugs: [Bug 1512459] Media keys are missing for qemu virtio-keyboard-pci [Bug 1512456] Media keys are missing for qemu usb-kbd [Bug 1512762] ps2 keyboard missing some keys
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:1104