[gtk-vnc] Re-fix Shift+Tab keyval translation from 1e121b4084788399c4d71d60b513997661e3116e, accidentally reve
- From: Daniel P. Berrange <dberrange src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk-vnc] Re-fix Shift+Tab keyval translation from 1e121b4084788399c4d71d60b513997661e3116e, accidentally reve
- Date: Mon, 6 Jul 2009 11:25:04 +0000 (UTC)
commit b0a5d4d92884c4380bfbd23de6520ddbf41d91ca
Author: Daniel P. Berrange <berrange redhat com>
Date: Mon Jul 6 12:11:18 2009 +0100
Re-fix Shift+Tab keyval translation from 1e121b4084788399c4d71d60b513997661e3116e, accidentally reverted in 4f4103fbc7021a3ae8e9c43e1f561cd8f65481aa
src/vncdisplay.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/src/vncdisplay.c b/src/vncdisplay.c
index 3c96869..d0997ce 100644
--- a/src/vncdisplay.c
+++ b/src/vncdisplay.c
@@ -678,6 +678,7 @@ static gboolean key_event(GtkWidget *widget, GdkEventKey *key)
{
VncDisplayPrivate *priv = VNC_DISPLAY(widget)->priv;
int i;
+ int keyval = key->keyval;
if (priv->gvnc == NULL || !gvnc_is_initialized(priv->gvnc))
return FALSE;
@@ -687,7 +688,9 @@ static gboolean key_event(GtkWidget *widget, GdkEventKey *key)
GVNC_DEBUG("%s keycode: %d state: %d group %d, keyval: %d",
key->type == GDK_KEY_PRESS ? "press" : "release",
- key->hardware_keycode, key->state, key->group, key->keyval);
+ key->hardware_keycode, key->state, key->group, keyval);
+
+ keyval = x_keymap_get_keyval_from_keycode(key->hardware_keycode, keyval);
/*
* Some VNC suckiness with key state & modifiers in particular
@@ -737,18 +740,18 @@ static gboolean key_event(GtkWidget *widget, GdkEventKey *key)
if (key->type == GDK_KEY_PRESS) {
for (i = 0 ; i < (int)(sizeof(priv->down_keyval)/sizeof(priv->down_keyval[0])) ; i++) {
if (priv->down_scancode[i] == 0) {
- priv->down_keyval[i] = key->keyval;
+ priv->down_keyval[i] = keyval;
priv->down_scancode[i] = key->hardware_keycode;
/* Send the actual key event we're dealing with */
- gvnc_key_event(priv->gvnc, 1, key->keyval, key->hardware_keycode);
+ gvnc_key_event(priv->gvnc, 1, keyval, key->hardware_keycode);
break;
}
}
}
if (key->type == GDK_KEY_PRESS &&
- ((key->keyval == GDK_Control_L && (key->state & GDK_MOD1_MASK)) ||
- (key->keyval == GDK_Alt_L && (key->state & GDK_CONTROL_MASK)))) {
+ ((keyval == GDK_Control_L && (key->state & GDK_MOD1_MASK)) ||
+ (keyval == GDK_Alt_L && (key->state & GDK_CONTROL_MASK)))) {
if (priv->in_pointer_grab)
do_pointer_ungrab(VNC_DISPLAY(widget), FALSE);
else if (!priv->grab_keyboard || !priv->absolute)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]