wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 4d037de26c233b6f1dc526d3dbc2cf6bd4f904ee
parent 3992bed09283e359422aeef9fe8559d6065fe539
Author: Kris Maglione <jg@suckless.org>
Date:   Wed, 24 Dec 2008 00:24:23 -0500

Fix binding of unknown keycodes

Diffstat:
cmd/click/main.c | 32++++++--------------------------
cmd/wmii/key.c | 2++
2 files changed, 8 insertions(+), 26 deletions(-)

diff --git a/cmd/click/main.c b/cmd/click/main.c @@ -18,38 +18,18 @@ usage(void) { static void click(Window *w, Point p) { - Point rp, restore; + Rectangle r; + Point rp; - restore = querypointer(&scr.root); - - rp = translate(w, &scr.root, p); + r = getwinrect(w); + rp = subpt(r.max, p); XTestFakeMotionEvent(display, 0, rp.x, rp.y, 0); XTestFakeButtonEvent(display, 1, true, 0); XTestFakeButtonEvent(display, 1, false, 0); - rp = getwinrect(w).max; - XTestFakeMotionEvent(display, 0, rp.x - 1, rp.y - 1, 0); - - return; - XButtonEvent e = { 0, }; - - e.root = scr.root.w; - e.window = w->w; - e.same_screen = true; - - e.x = p.x; - e.y = p.y; - e.x_root = rp.x; - e.y_root = rp.y; - e.button = 1; /* Hopefully ignored, except enough to do the trick. */ - - e.type = ButtonPress; - sendevent(w, true, ButtonPressMask, (XEvent*)&e); - e.type = ButtonRelease; - e.state = Button1Mask; - sendevent(w, true, ButtonReleaseMask, (XEvent*)&e); + XTestFakeMotionEvent(display, 0, r.max.x, r.max.y, 0); } int @@ -74,7 +54,7 @@ main(int argc, char *argv[]) { if(argc) usage(); - click(&win, Pt(0, 0)); + click(&win, Pt(1, 1)); XCloseDisplay(display); return 0; diff --git a/cmd/wmii/key.c b/cmd/wmii/key.c @@ -124,6 +124,8 @@ getkey(const char *name) { kstr = seq[i]; k->key = XKeysymToKeycode(display, XStringToKeysym(kstr)); k->mod = str2modmask(seq[i]); + if (k->key == NoSymbol) + return nil; } if(r) { r->id = id++;