Xinqi Bao's Git
projects
/
dwm.git
/ diff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
87adcd2
)
applied Neil Klopfstein's patch, slightly modified
author
[email protected]
<unknown>
Sat, 17 Nov 2012 18:10:39 +0000
(19:10 +0100)
committer
[email protected]
<unknown>
Sat, 17 Nov 2012 18:10:39 +0000
(19:10 +0100)
dwm.c
diff
|
blob
|
history
diff --git
a/dwm.c
b/dwm.c
index
95b0a7e
..
32b7b61
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-282,7
+282,7
@@
static void (*handler[LASTEvent]) (XEvent *) = {
[UnmapNotify] = unmapnotify
};
static Atom wmatom[WMLast], netatom[NetLast];
[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;
static Cursor cursor[CurLast];
static Display *dpy;
static DC dc;
@@
-1069,7
+1069,10
@@
keypress(XEvent *e) {
XKeyEvent *ev;
ev = &e->xkey;
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)
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;
void
setup(void) {
XSetWindowAttributes wa;
+ int dummy = 0, xkbmajor = XkbMajorVersion, xkbminor = XkbMinorVersion;
/* clean up any zombies immediately */
sigchld(0);
/* 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);
|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();
}
grabkeys();
}