applied Neil Klopfstein's patch, slightly modified
This commit is contained in:
parent
87adcd263b
commit
344f35f9f5
10
dwm.c
10
dwm.c
@ -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;
|
||||
@ -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)
|
||||
@ -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);
|
||||
@ -1631,6 +1635,8 @@ setup(void) {
|
||||
|EnterWindowMask|LeaveWindowMask|StructureNotifyMask|PropertyChangeMask;
|
||||
XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa);
|
||||
XSelectInput(dpy, root, wa.event_mask);
|
||||
/* init xkb */
|
||||
usexkb = XkbQueryExtension(dpy, &dummy, &dummy, &dummy, &xkb_major, &xkb_minor);
|
||||
grabkeys();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user