Re: [dev] dwm bug: mouse click not working on statusbar with Lithuanian keyboard layout

From: Eckehard Berns <ecki-suckless_AT_ecki.to>
Date: Wed, 15 Jun 2011 11:31:25 +0200

> Whenever I am using the Lithuanian keyboard layout, mouse click on
> statusbar does nothing.

Running xev I saw that when the grp_toggle is active, the button events
report a mask of 8192 (instead of 0). So something like this helps:

diff -r 5248279b9601 dwm.c
--- a/dwm.c Tue Jun 14 05:51:21 2011 +0100
+++ b/dwm.c Wed Jun 15 11:22:26 2011 +0200
@@ -42,7 +42,7 @@
 
 /* macros */
 #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask)
-#define CLEANMASK(mask) (mask & ~(numlockmask|LockMask))
+#define CLEANMASK(mask) (mask & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
 #define INRECT(X,Y,RX,RY,RW,RH) ((X) >= (RX) && (X) < (RX) + (RW) && (Y) >= (RY) && (Y) < (RY) + (RH))
 #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags]))
 #define LENGTH(X) (sizeof X / sizeof X[0])

I couldn't find a #define in the X header files that would represent
the 8192 mask.

Using a list of expected masks breaks the numlockmask behavior somewhat,
but I'm not sure what numlockmask tries to fix anyway. If it is
important, one could use

(mask & (ShiftMask|...|Mod5Mask) & ~numlockmask)

-- 
Eckehard Berns
Received on Wed Jun 15 2011 - 11:31:25 CEST

This archive was generated by hypermail 2.2.0 : Wed Jun 15 2011 - 11:36:02 CEST