]> git.proxmox.com Git - pve-qemu-kvm.git/blobdiff - debian/patches/keymap.diff
update to qemu 2.2.0-rc2
[pve-qemu-kvm.git] / debian / patches / keymap.diff
index 3b315ff98e50e6f908c533cab0e00197f24630bc..1bd17d1c013f60f8e289e86e861610559e88b7ac 100644 (file)
@@ -1,8 +1,8 @@
 Index: new/ui/vnc.c
 ===================================================================
---- new.orig/ui/vnc.c  2012-09-24 07:15:00.000000000 +0200
-+++ new/ui/vnc.c       2012-09-24 07:15:22.000000000 +0200
-@@ -1496,6 +1496,10 @@
+--- new.orig/ui/vnc.c  2014-11-20 06:45:06.000000000 +0100
++++ new/ui/vnc.c       2014-11-20 06:50:51.000000000 +0100
+@@ -1633,6 +1633,10 @@
  
  static void do_key_event(VncState *vs, int down, int keycode, int sym)
  {
@@ -13,10 +13,10 @@ Index: new/ui/vnc.c
      /* QEMU console switch */
      switch(keycode) {
      case 0x2a:                          /* Left Shift */
-@@ -1566,12 +1570,42 @@
+@@ -1712,7 +1716,24 @@
      }
  
-     if (is_graphic_console()) {
+     if (qemu_console_is_graphic(NULL)) {
 +
 +      /* our java vnc client never sends ALTGR, so we create
 +         an artificial up/down event */
@@ -25,44 +25,35 @@ Index: new/ui/vnc.c
 +          !vs->modifiers_state[0xb8];
 +
 +      if (emul_altgr) {
-+              reset_keys(vs);
-+              kbd_put_keycode(SCANCODE_EMUL0);
-+              kbd_put_keycode(0xb8 & SCANCODE_KEYCODEMASK);
++            reset_keys(vs);
++            qemu_input_event_send_key_number(vs->vd->dcl.con, 0xb8, true);
 +      }
 +
-+      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)
-             kbd_put_keycode(keycode & SCANCODE_KEYCODEMASK);
-         else
-             kbd_put_keycode(keycode | SCANCODE_UP);
-+
-+      if (emul_shift) {
-+          kbd_put_keycode(0x2a | SCANCODE_UP);
-+      }
+         qemu_input_event_send_key_number(vs->vd->dcl.con, keycode, down);
 +
 +      if (emul_altgr) {
-+          kbd_put_keycode(SCANCODE_EMUL0);
-+          kbd_put_keycode(0xb8 | SCANCODE_UP);
++             qemu_input_event_send_key_number(vs->vd->dcl.con, 0xb8, false);
 +      }
 +
      } else {
          bool numlock = vs->modifiers_state[0x45];
          bool control = (vs->modifiers_state[0x1d] ||
-@@ -1708,7 +1742,8 @@
+@@ -1851,7 +1872,8 @@
          lsym = lsym - 'A' + 'a';
      }
  
 -    keycode = keysym2scancode(vs->vd->kbd_layout, lsym & 0xFFFF) & SCANCODE_KEYMASK;
 +    keycode = keysym2scancode(vs->vd->kbd_layout, lsym & 0xFFFF);
 +
+     trace_vnc_key_event_map(down, sym, keycode, code2name(keycode));
      do_key_event(vs, down, keycode, sym);
  }
+@@ -3046,7 +3068,7 @@
+ char *vnc_display_local_addr(DisplayState *ds)
+ {
+     VncDisplay *vs = vnc_display;
+-    
++
+     return vnc_socket_local_addr("%s:%s", vs->lsock);
+ }