| tapplied Neil Klopfstein's patch, slightly modified - dwm - [fork] customized b… | |
| git clone git://src.adamsgaard.dk/dwm | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 344f35f9f55b615e5d7c46f863578f1cc974cc54 | |
| parent 87adcd263b1fc75f7eb3172dac55ca641fd7a96a | |
| Author: [email protected] <unknown> | |
| Date: Sat, 17 Nov 2012 19:10:39 +0100 | |
| applied Neil Klopfstein's patch, slightly modified | |
| Diffstat: | |
| M dwm.c | 10 ++++++++-- | |
| 1 file changed, 8 insertions(+), 2 deletions(-) | |
| --- | |
| diff --git a/dwm.c b/dwm.c | |
| t@@ -282,7 +282,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { | |
| [UnmapNotify] = unmapnotify | |
| }; | |
| static Atom wmatom[WMLast], netatom[NetLast]; | |
| -static Bool running = True; | |
| +static Bool running = True, usexkb; | |
| static Cursor cursor[CurLast]; | |
| static Display *dpy; | |
| static DC dc; | |
| t@@ -1069,7 +1069,10 @@ keypress(XEvent *e) { | |
| XKeyEvent *ev; | |
| ev = &e->xkey; | |
| - keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); | |
| + if(usexkb) { | |
| + keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); | |
| + else | |
| + keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | |
| for(i = 0; i < LENGTH(keys); i++) | |
| if(keysym == keys[i].keysym | |
| && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) | |
| t@@ -1579,6 +1582,7 @@ setmfact(const Arg *arg) { | |
| void | |
| setup(void) { | |
| XSetWindowAttributes wa; | |
| + int dummy = 0, xkbmajor = XkbMajorVersion, xkbminor = XkbMinorVersion; | |
| /* clean up any zombies immediately */ | |
| sigchld(0); | |
| t@@ -1631,6 +1635,8 @@ setup(void) { | |
| |EnterWindowMask|LeaveWindowMask|StructureNotifyMask|P… | |
| XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); | |
| XSelectInput(dpy, root, wa.event_mask); | |
| + /* init xkb */ | |
| + usexkb = XkbQueryExtension(dpy, &dummy, &dummy, &dummy, &xkb_major, &x… | |
| grabkeys(); | |
| } | |