aboutsummaryrefslogtreecommitdiffstats
path: root/xevents.c
diff options
context:
space:
mode:
authorokan2012-09-10 13:28:04 +0000
committerokan2012-09-10 13:28:04 +0000
commit18f6d8c47cf47e9d0197ef24fe8221d506ea4566 (patch)
treeb5a820e7b861da2ddc0b666ab3490a2902b6d27d /xevents.c
parent9bfc8ac147e2545a361ea05657bc0c705458ca8f (diff)
downloadcwm-18f6d8c47cf47e9d0197ef24fe8221d506ea4566.tar.gz
be explicit in which key masks we allow during keypress and buttonpress
events; from Alexander Polakov - makes non-us layout reliable.
Diffstat (limited to 'xevents.c')
-rw-r--r--xevents.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/xevents.c b/xevents.c
index 6d98e71..b20adbc 100644
--- a/xevents.c
+++ b/xevents.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: xevents.c,v 1.65 2012/07/13 17:01:04 okan Exp $
+ * $OpenBSD: xevents.c,v 1.66 2012/09/10 13:28:04 okan Exp $
*/
/*
@@ -240,8 +240,8 @@ xev_handle_buttonpress(XEvent *ee)
sc = screen_fromroot(e->root);
cc = client_find(e->window);
- /* Ignore caps lock and numlock */
- e->state &= ~(Mod2Mask | LockMask);
+ /* only allow the ones we care about */
+ e->state &= (ControlMask | Mod1Mask | Mod4Mask | ShiftMask);
TAILQ_FOREACH(mb, &Conf.mousebindingq, entry) {
if (e->button == mb->button && e->state == mb->modmask)
@@ -282,8 +282,8 @@ xev_handle_keypress(XEvent *ee)
keysym = XkbKeycodeToKeysym(X_Dpy, e->keycode, 0, 0);
skeysym = XkbKeycodeToKeysym(X_Dpy, e->keycode, 0, 1);
- /* we don't care about caps lock and numlock here */
- e->state &= ~(LockMask | Mod2Mask);
+ /* only allow the ones we care about */
+ e->state &= (ControlMask | Mod1Mask | Mod4Mask | ShiftMask);
TAILQ_FOREACH(kb, &Conf.keybindingq, entry) {
if (keysym != kb->keysym && skeysym == kb->keysym)