[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