From a9d6a34708f846952f423d078397352858f7b1a4 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Sat, 12 May 2012 18:48:05 +0200 Subject: [PATCH] keymap: Treat ALT as META https://bugzilla.gnome.org/show_bug.cgi?id=663779 --- src/vte.c | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/vte.c b/src/vte.c index dd27e9a..0657921 100644 --- a/src/vte.c +++ b/src/vte.c @@ -5170,19 +5170,24 @@ static void vte_terminal_read_modifiers (VteTerminal *terminal, GdkEvent *event) { + GdkKeymap *keymap; GdkModifierType modifiers; /* Read the modifiers. */ - if (gdk_event_get_state((GdkEvent*)event, &modifiers)) { - GdkKeymap *keymap; -#if GTK_CHECK_VERSION (2, 90, 8) - keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window)); -#else - keymap = gdk_keymap_get_for_display(gdk_drawable_get_display(((GdkEventAny*)event)->window)); + if (!gdk_event_get_state((GdkEvent*)event, &modifiers)) + return; + + keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window)); + + gdk_keymap_add_virtual_modifiers (keymap, &modifiers); + +#if 1 + /* HACK! Treat ALT as META; see bug #663779. */ + if (modifiers & GDK_MOD1_MASK) + modifiers |= VTE_META_MASK; #endif - gdk_keymap_add_virtual_modifiers (keymap, &modifiers); - terminal->pvt->modifiers = modifiers; - } + + terminal->pvt->modifiers = modifiers; } /* Read and handle a keypress event. */ -- 1.7.5.1.217.g4e3aa.dirty