diff options
| author | Christoph Lohmann <20h@r-36.net> | 2013-01-26 16:00:52 +0100 | 
|---|---|---|
| committer | Christoph Lohmann <20h@r-36.net> | 2013-01-26 16:00:52 +0100 | 
| commit | 0415175e10880585c765613af0bd43e02de87116 (patch) | |
| tree | e1df8b32673a1b64f9938dd0ecd184800264433e | |
| parent | e784d925dfab0405cb4bf2ac7466045d8089a189 (diff) | |
| download | surf-0415175e10880585c765613af0bd43e02de87116.tar.gz surf-0415175e10880585c765613af0bd43e02de87116.tar.bz2 surf-0415175e10880585c765613af0bd43e02de87116.zip | |
Making more than one Modkey to work in keys.
| -rw-r--r-- | config.def.h | 4 | ||||
| -rw-r--r-- | surf.c | 3 | 
2 files changed, 6 insertions, 1 deletions
| diff --git a/config.def.h b/config.def.h index 8a27a03..1cba4d7 100644 --- a/config.def.h +++ b/config.def.h @@ -45,6 +45,10 @@ static Bool hidebackground  = FALSE;  #define MODKEY GDK_CONTROL_MASK  /* hotkeys */ +/* + * If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to + * edit the CLEANMASK() macro. + */  static Key keys[] = {      /* modifier	            keyval      function    arg             Focus */      { MODKEY|GDK_SHIFT_MASK,GDK_r,      reload,     { .b = TRUE } }, @@ -28,6 +28,7 @@  char *argv0;  #define LENGTH(x)               (sizeof x / sizeof x[0]) +#define CLEANMASK(mask)		(mask & (MODKEY|GDK_SHIFT_MASK))  #define COOKIEJAR_TYPE          (cookiejar_get_type ())  #define COOKIEJAR(obj)          (G_TYPE_CHECK_INSTANCE_CAST ((obj), COOKIEJAR_TYPE, CookieJar)) @@ -543,7 +544,7 @@ keypress(GtkWidget* w, GdkEventKey *ev, Client *c) {  	updatewinid(c);  	for(i = 0; i < LENGTH(keys); i++) {  		if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval -				&& (ev->state & keys[i].mod) == keys[i].mod +				&& CLEANMASK(ev->state) == keys[i].mod  				&& keys[i].func) {  			keys[i].func(c, &(keys[i].arg));  			processed = TRUE; | 
