Making more than one Modkey to work in keys.
This commit is contained in:
parent
e784d925df
commit
0415175e10
|
@ -45,6 +45,10 @@ static Bool hidebackground = FALSE;
|
||||||
#define MODKEY GDK_CONTROL_MASK
|
#define MODKEY GDK_CONTROL_MASK
|
||||||
|
|
||||||
/* hotkeys */
|
/* hotkeys */
|
||||||
|
/*
|
||||||
|
* If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to
|
||||||
|
* edit the CLEANMASK() macro.
|
||||||
|
*/
|
||||||
static Key keys[] = {
|
static Key keys[] = {
|
||||||
/* modifier keyval function arg Focus */
|
/* modifier keyval function arg Focus */
|
||||||
{ MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } },
|
{ MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } },
|
||||||
|
|
3
surf.c
3
surf.c
|
@ -28,6 +28,7 @@
|
||||||
char *argv0;
|
char *argv0;
|
||||||
|
|
||||||
#define LENGTH(x) (sizeof x / sizeof x[0])
|
#define LENGTH(x) (sizeof x / sizeof x[0])
|
||||||
|
#define CLEANMASK(mask) (mask & (MODKEY|GDK_SHIFT_MASK))
|
||||||
#define COOKIEJAR_TYPE (cookiejar_get_type ())
|
#define COOKIEJAR_TYPE (cookiejar_get_type ())
|
||||||
#define COOKIEJAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COOKIEJAR_TYPE, CookieJar))
|
#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);
|
updatewinid(c);
|
||||||
for(i = 0; i < LENGTH(keys); i++) {
|
for(i = 0; i < LENGTH(keys); i++) {
|
||||||
if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
|
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) {
|
||||||
keys[i].func(c, &(keys[i].arg));
|
keys[i].func(c, &(keys[i].arg));
|
||||||
processed = TRUE;
|
processed = TRUE;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user