key.c
changeset 9 d567f430a81d
parent 8 7066ff2fe8bc
child 14 5c078b66347b
--- a/key.c	Tue Jul 11 11:50:18 2006 +0200
+++ b/key.c	Tue Jul 11 12:52:57 2006 +0200
@@ -24,3 +24,20 @@
 		XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync);
 	}
 }
+
+void
+keypress(XEvent *e)
+{
+	XKeyEvent *ev = &e->xkey;
+	unsigned int i, len;
+	KeySym keysym;
+
+	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
+	len = sizeof(key) / sizeof(key[0]);
+	for(i = 0; i < len; i++)
+		if((keysym == key[i].keysym) && (key[i].mod == ev->state)) {
+			if(key[i].func)
+				key[i].func(key[i].arg);
+			return;
+		}
+}