diff --git a/tigervnc-long-press.patch b/tigervnc-long-press.patch new file mode 100644 index 0000000..9f27d32 --- /dev/null +++ b/tigervnc-long-press.patch @@ -0,0 +1,30 @@ +Index: xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c +=================================================================== +--- xen-4.4.1-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c ++++ xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c +@@ -1651,6 +1651,25 @@ static void do_key_event(VncState *vs, i + if (down) + vs->modifiers_state[keycode] ^= 1; + break; ++ default: ++ if (qemu_console_is_graphic(NULL)) { ++ /* record key 'down' info. Some client like tigervnc ++ * will send key down repeatedly if user pressing a ++ * a key for long time. In this case, we should add ++ * additional key up event before repeated key down, ++ * so that it can display the key multiple times. ++ */ ++ if (down) { ++ if (vs->modifiers_state[keycode]) { ++ /* add a key up event */ ++ do_key_event(vs, 0, keycode, sym); ++ } ++ vs->modifiers_state[keycode] = 1; ++ } else { ++ vs->modifiers_state[keycode] = 0; ++ } ++ } ++ break; + } + + /* Turn off the lock state sync logic if the client support the led diff --git a/xen.changes b/xen.changes index 2944d3f..7ad777f 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 4 17:01:24 CST 2014 - cyliu@suse.com + +- bnc#882405 - Only one key-press event was generated while holding + a key before key-release in pv guests through xl vncviewer + tigervnc-long-press.patch + ------------------------------------------------------------------- Tue Sep 2 09:01:24 MDT 2014 - carnold@suse.com diff --git a/xen.spec b/xen.spec index e24dabf..f6bd36f 100644 --- a/xen.spec +++ b/xen.spec @@ -364,6 +364,7 @@ Patch469: libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch Patch470: qemu-xen-upstream-qdisk-cache-unsafe.patch Patch471: xen-pass-kernel-initrd-to-qemu.patch Patch472: qemu-support-xen-hvm-direct-kernel-boot.patch +Patch473: tigervnc-long-press.patch # Hypervisor and PV driver Patches Patch501: x86-ioapic-ack-default.patch Patch502: x86-cpufreq-report.patch @@ -752,6 +753,7 @@ Authors: %patch470 -p1 %patch471 -p1 %patch472 -p1 +%patch473 -p1 # Hypervisor and PV driver Patches %patch501 -p1 %patch502 -p1