From 70887df329e3921089840787e690e01b31e7f448 Mon Sep 17 00:00:00 2001 From: Daniel Carl Date: Sun, 2 Dec 2012 22:37:55 +0100 Subject: [PATCH] Fixed none working keybinds with single uppercase chars. --- src/keybind.c | 4 +--- src/keybind.h | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/keybind.c b/src/keybind.c index 390481e..e9d7836 100644 --- a/src/keybind.c +++ b/src/keybind.c @@ -199,10 +199,8 @@ static guint keybind_str_to_value(const gchar* str) static gboolean keybind_keypress_callback(WebKitWebView* webview, GdkEventKey* event) { - static GdkModifierType modifiers; - modifiers = gtk_accelerator_get_default_mod_mask(); guint keyval = event->keyval; - guint state = (event->state & modifiers); + guint state = CLEAN_STATE(event); /* check for escape or modkeys or counts */ if (IS_ESCAPE_KEY(keyval, state)) { diff --git a/src/keybind.h b/src/keybind.h index 7dab1ee..03a2001 100644 --- a/src/keybind.h +++ b/src/keybind.h @@ -21,6 +21,8 @@ #define KEYBIND_H #define IS_ESCAPE_KEY(k, s) ((k == GDK_Escape && s == 0) || (k == GDK_c && s == GDK_CONTROL_MASK)) +#define CLEAN_STATE_WITH_SHIFT(e) ((e)->state & (GDK_MOD1_MASK|GDK_MOD4_MASK|GDK_SHIFT_MASK|GDK_CONTROL_MASK)) +#define CLEAN_STATE(e) ((e)->state & (GDK_MOD1_MASK|GDK_MOD4_MASK|GDK_CONTROL_MASK)) #include #include -- 2.20.1