Super important feature req: QEMU VNC server: Introduce a keyboard "norepeat" option!

Bug #1502884 reported by Mikael
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Wishlist
Unassigned

Bug Description

Hi,

A big issue when using QEMU's VNC server (VNC KVM) is that, when there's a network lag, unintended keypresses go through to the QEMU guest VM.

This is frequently "enter" keypresses, causing all kinds of unintended consequences in the VM. So basically it's extremely dangerous.

This is because the VNC protocol's keyboard interaction is implemented in terms of key down - key up events, making the server's keyboard autorepeat kick in when it should not.

For this reason, it would be great if QEMU's VNC server part would be enhanced with an option such that when a VNC protocol key down is received, then locally that is treated as one single keypress only (I don't know how that should be implemented but I guess either as an immediate key down - key up sequence locally, or key down + key up after say 0.05 seconds), instead of waiting for the key up event from the VNC client.

Thanks!

Revision history for this message
Mikael (mikael-trash) wrote :

What I request seems to be the same option as x11vnc's "-norepeat", http://linux.die.net/man/1/x11vnc

Thomas Huth (th-huth)
Changed in qemu:
importance: Undecided → Wishlist
Revision history for this message
Marcel Partap (empee584) wrote :

... this doesn't seem to be a VNC-only issue.. I get quite the big of repeat/stuck key presses with the GTK frontend as well.. Also, lines like these frequently show up in the logs:

> [15512.846716] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [15513.031586] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [15513.931140] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [15513.935319] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [15994.802058] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [15994.807817] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [18243.163746] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [18243.165704] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [18243.372671] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [18243.374203] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [18576.754033] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [18576.771257] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [18584.556247] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [18585.168172] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [18628.989958] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [18628.992058] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
> [20227.153135] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
> [20227.161066] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.

Revision history for this message
Daniel Berrange (berrange) wrote :

The VNC server doesn't get involved in key repeat functionality, it just passes keys from the client onto the guest OS. The client can indicate that it is doing key repeat by sending a series of "key down" events, and only 1 "key up" event to indicate end of auto-repeat. The guest OS can itself implement auto-repeat at any frequency it wishes by watching the key stream. The "-norepeat" option to X11 VNC that is referred to here isn't something related to the VNC part of x11vnc, but rather it appears related to the X11 part which corresponds to the guest OS in QEMU's case. I don't see there is much QEMU can do here.

Revision history for this message
Thomas Huth (th-huth) wrote :

The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now.
If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience.

Changed in qemu:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QEMU because there has been no activity for 60 days.]

Changed in qemu:
status: Incomplete → Expired
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.