diff mbox

[RFC,08/15] input: keyboard: switch gtk ui to new core

Message ID 1385649010-7034-9-git-send-email-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann Nov. 28, 2013, 2:30 p.m. UTC
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)
diff mbox

Patch

diff --git a/ui/gtk.c b/ui/gtk.c
index b5f4f0b..3a97b36 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -54,6 +54,7 @@ 
 #include <math.h>
 
 #include "ui/console.h"
+#include "ui/input.h"
 #include "sysemu/sysemu.h"
 #include "qmp-commands.h"
 #include "x_keymap.h"
@@ -283,10 +284,7 @@  static void gtk_release_modifiers(GtkDisplayState *s)
         if (!s->modifier_pressed[i]) {
             continue;
         }
-        if (keycode & SCANCODE_GREY) {
-            kbd_put_keycode(SCANCODE_EMUL0);
-        }
-        kbd_put_keycode(keycode | SCANCODE_UP);
+        qemu_input_event_send_key(s->dcl.con, keycode, false);
         s->modifier_pressed[i] = false;
     }
 }
@@ -742,17 +740,8 @@  static gboolean gd_key_event(GtkWidget *widget, GdkEventKey *key, void *opaque)
         }
     }
 
-    if (qemu_keycode & SCANCODE_GREY) {
-        kbd_put_keycode(SCANCODE_EMUL0);
-    }
-
-    if (key->type == GDK_KEY_PRESS) {
-        kbd_put_keycode(qemu_keycode & SCANCODE_KEYCODEMASK);
-    } else if (key->type == GDK_KEY_RELEASE) {
-        kbd_put_keycode(qemu_keycode | SCANCODE_UP);
-    } else {
-        g_assert_not_reached();
-    }
+    qemu_input_event_send_key(s->dcl.con, qemu_keycode,
+                              key->type == GDK_KEY_PRESS);
 
     return TRUE;
 }