diff -r 2533f186089d surf.c --- a/surf.c Thu Mar 31 12:52:35 2011 +0200 +++ b/surf.c Thu Sep 08 16:20:02 2011 +0200 @@ -345,7 +345,7 @@ updatewinid(c); for(i = 0; i < LENGTH(keys); i++) { if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval - && CLEANMASK(ev->state) == keys[i].mod + && (ev->state & keys[i].mod) == keys[i].mod && keys[i].func) { keys[i].func(c, &(keys[i].arg)); processed = TRUE;