[pve-devel] r5337 - in pve-qemu-kvm/trunk: . debian debian/patches

svn-commits at proxmox.com svn-commits at proxmox.com
Tue Dec 7 12:46:15 CET 2010


Author: dietmar
Date: 2010-12-07 12:46:15 +0100 (Tue, 07 Dec 2010)
New Revision: 5337

Modified:
   pve-qemu-kvm/trunk/Makefile
   pve-qemu-kvm/trunk/debian/changelog
   pve-qemu-kvm/trunk/debian/patches/keymap.diff
Log:


Modified: pve-qemu-kvm/trunk/Makefile
===================================================================
--- pve-qemu-kvm/trunk/Makefile	2010-12-06 13:01:40 UTC (rev 5336)
+++ pve-qemu-kvm/trunk/Makefile	2010-12-07 11:46:15 UTC (rev 5337)
@@ -2,7 +2,7 @@
 
 # also update debian/changelog
 KVMVER=0.13.0
-KVMPKGREL=2
+KVMPKGREL=3
 
 KVMPACKAGE=pve-qemu-kvm
 KVMDIR=qemu-kvm

Modified: pve-qemu-kvm/trunk/debian/changelog
===================================================================
--- pve-qemu-kvm/trunk/debian/changelog	2010-12-06 13:01:40 UTC (rev 5336)
+++ pve-qemu-kvm/trunk/debian/changelog	2010-12-07 11:46:15 UTC (rev 5337)
@@ -1,3 +1,9 @@
+pve-qemu-kvm (0.13.0-3) unstable; urgency=low
+
+  * fix vnc keyboard altgr/shift emulation
+
+ -- Proxmox Support Team <support at proxmox.com>  Tue, 07 Dec 2010 12:45:16 +0100
+
 pve-qemu-kvm (0.13.0-2) unstable; urgency=low
 
   * do not install unnecessary blobs (manually install blobs, use

Modified: pve-qemu-kvm/trunk/debian/patches/keymap.diff
===================================================================
--- pve-qemu-kvm/trunk/debian/patches/keymap.diff	2010-12-06 13:01:40 UTC (rev 5336)
+++ pve-qemu-kvm/trunk/debian/patches/keymap.diff	2010-12-07 11:46:15 UTC (rev 5337)
@@ -1,7 +1,7 @@
 Index: qemu-new/ui/vnc.c
 ===================================================================
---- qemu-new.orig/ui/vnc.c	2010-10-25 08:43:10.000000000 +0200
-+++ qemu-new/ui/vnc.c	2010-10-25 11:55:05.000000000 +0200
+--- qemu-new.orig/ui/vnc.c	2010-10-25 13:19:55.000000000 +0200
++++ qemu-new/ui/vnc.c	2010-12-07 11:52:24.000000000 +0100
 @@ -1472,6 +1472,10 @@
  
  static void do_key_event(VncState *vs, int down, int keycode, int sym)
@@ -13,7 +13,7 @@
      /* QEMU console switch */
      switch(keycode) {
      case 0x2a:                          /* Left Shift */
-@@ -1542,12 +1546,30 @@
+@@ -1542,12 +1546,42 @@
      }
  
      if (is_graphic_console()) {
@@ -25,10 +25,18 @@
 +	    !vs->modifiers_state[0xb8];
 +
 +	if (emul_altgr) {
-+	    kbd_put_keycode(SCANCODE_EMUL0);
-+	    kbd_put_keycode(0xb8 & SCANCODE_KEYCODEMASK);
++		reset_keys(vs);
++		kbd_put_keycode(SCANCODE_EMUL0);
++		kbd_put_keycode(0xb8 & SCANCODE_KEYCODEMASK);
 +	}
 +
++	int emul_shift = (mods & SCANCODE_SHIFT) &&
++	    !vs->modifiers_state[0x2a];
++
++	if (emul_shift) {
++	    kbd_put_keycode(0x2a & SCANCODE_KEYCODEMASK);
++	}
++
          if (keycode & SCANCODE_GREY)
              kbd_put_keycode(SCANCODE_EMUL0);
          if (down)
@@ -36,6 +44,10 @@
          else
              kbd_put_keycode(keycode | SCANCODE_UP);
 +
++	if (emul_shift) {
++	    kbd_put_keycode(0x2a | SCANCODE_UP);
++	}
++
 +	if (emul_altgr) {
 +	    kbd_put_keycode(SCANCODE_EMUL0);
 +	    kbd_put_keycode(0xb8 | SCANCODE_UP);
@@ -44,12 +56,13 @@
      } else {
          /* QEMU console emulation */
          if (down) {
-@@ -1655,7 +1677,7 @@
+@@ -1655,7 +1689,8 @@
          lsym = lsym - 'A' + 'a';
      }
  
 -    keycode = keysym2scancode(vs->vd->kbd_layout, lsym & 0xFFFF) & SCANCODE_KEYMASK;
 +    keycode = keysym2scancode(vs->vd->kbd_layout, lsym & 0xFFFF);
++
      do_key_event(vs, down, keycode, sym);
  }
  




More information about the pve-devel mailing list