tapplied Cedric's NumLock patch - dwm - [fork] customized build of dwm, the dyn… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 57416beefec4db451a75a1d25434b69cf50badad | |
parent 1b63f832c528958042d72fddc318af5aefdcb68a | |
Author: [email protected] <unknown> | |
Date: Tue, 1 Aug 2006 12:41:38 +0200 | |
applied Cedric's NumLock patch | |
Diffstat: | |
M event.c | 18 +++++++++++++++++- | |
1 file changed, 17 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/event.c b/event.c | |
t@@ -57,6 +57,9 @@ static Key key[] = { | |
{ MODKEY|ShiftMask, XK_w, spawn, … | |
}; | |
+#define NumLockMask Mod2Mask | |
+unsigned int valid_mask = 255 & ~( NumLockMask | LockMask); | |
+ | |
/* END CUSTOMIZE */ | |
/* static */ | |
t@@ -271,10 +274,11 @@ keypress(XEvent *e) | |
unsigned int i; | |
KeySym keysym; | |
XKeyEvent *ev = &e->xkey; | |
+ ev->state &= valid_mask; | |
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | |
for(i = 0; i < len; i++) | |
- if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { | |
+ if((keysym == key[i].keysym) && ((key[i].mod & valid_mask) == … | |
if(key[i].func) | |
key[i].func(&key[i].arg); | |
return; | |
t@@ -377,7 +381,19 @@ grabkeys() | |
for(i = 0; i < len; i++) { | |
code = XKeysymToKeycode(dpy, key[i].keysym); | |
XUngrabKey(dpy, code, key[i].mod, root); | |
+ if (NumLockMask) | |
+ { | |
+ XUngrabKey(dpy, code, key[i].mod | NumLockMask, root); | |
+ XUngrabKey(dpy, code, key[i].mod | NumLockMask | LockM… | |
+ } | |
XGrabKey(dpy, code, key[i].mod, root, True, | |
GrabModeAsync, GrabModeAsync); | |
+ if (NumLockMask) | |
+ { | |
+ XGrabKey(dpy, code, key[i].mod | NumLockMask, root, Tr… | |
+ GrabModeAsync, GrabModeAsync); | |
+ XGrabKey(dpy, code, key[i].mod | NumLockMask | LockMas… | |
+ GrabModeAsync, GrabModeAsync); | |
+ } | |
} | |
} |