On Sun, Jun 26, 2011 at 07:23, Mikhail Gonchar <m...@reji.ru> wrote:

> On Sat, Jun 25, 2011 at 09:32:24AM +0100, garbeam wrote:
> > Hi there,
> >
> > I'd like you to test it and let me know any issues.
>
> Hello.
>
> dwm hotkeys and mouse buttons doesn't work for me when Num Lock is on.
> Patch attached.
>
> My keyboard setup:
>  setxkbmap us,ru
>  xmodmap -e "keysym Caps_Lock = ISO_First_Group ISO_Last_Group"
>  numlockx on
>
> xmodmap output:
>  xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
>
>  shift       Shift_L (0x32),  Shift_R (0x3e)
>  lock        ISO_First_Group (0x42)
>  control     Control_L (0x25),  Control_R (0x69)
>  mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
>  mod2        Num_Lock (0x4d)
>  mod3
>  mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L
> (0xcf)
>  mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)
>
> x86-64 Linux system, X.Org 7.6, evdev, 105 key PC keyboard.
>
>
it works with num lock, but not with scroll lock on.
--- a/dwm.c     2011-06-27 21:35:11.000000000 +0300
+++ b/dwm.c     2011-06-27 21:48:55.443000001 +0300
@@ -42,7 +42,7 @@
 
 /* macros */
 #define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
-#define CLEANMASK(mask)         (mask & ~numlockmask & 
(ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
+#define CLEANMASK(mask)         (mask & ~(numlockmask|LockMask) & 
(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])

Reply via email to