From 4f2d4724c961aac55558069973f8a20bf01d8338 Mon Sep 17 00:00:00 2001 From: oga Date: Tue, 17 Jun 2008 23:40:33 +0000 Subject: Ignore caps lock and numlock for keyboard bindings. The way Xlib makes you do this is ugly. Also remove mod2 (numlock) and mod3 (odd) from the list of keybinding modifiers. They don't make much sense here. based on a heavily modified diff from Martynas. ok okan. --- xevents.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'xevents.c') diff --git a/xevents.c b/xevents.c index dc3ac87..b4f068c 100644 --- a/xevents.c +++ b/xevents.c @@ -228,6 +228,9 @@ xev_handle_buttonpress(struct xevent *xev, XEvent *ee) cc = client_find(e->window); + /* Ignore caps lock and numlock */ + e->state &= ~(Mod2Mask | LockMask); + TAILQ_FOREACH(mb, &Conf.mousebindingq, entry) { if (e->button == mb->button && e->state == mb->modmask) break; @@ -273,6 +276,9 @@ xev_handle_keypress(struct xevent *xev, XEvent *ee) keysym = XKeycodeToKeysym(X_Dpy, e->keycode, 0); skeysym = XKeycodeToKeysym(X_Dpy, e->keycode, 1); + /* we don't care about caps lock and numlock here */ + e->state &= ~(LockMask | Mod2Mask); + TAILQ_FOREACH(kb, &Conf.keybindingq, entry) { if (keysym != kb->keysym && skeysym == kb->keysym) modshift = ShiftMask; -- cgit 1.4.1