
On Wed, Mar 20, 2013 at 2:26 PM, Brandon Allbery
Again, you cannot fix this reliably with xmodmap, you must use Xkb. Your solution will work as long as the interaction *in the X server* between Xkb and xmodmap is not disturbed (luckily for you, even the xorg devs are terrified of disturbing it...).
Xkb is scary. I've looked at it, and I cannot even begin to grasp what I need to do in order to accomplish what a short xmodmap one-liner does. That said, I would of course much prefer to do this the right way, instead of my current hackish solution.
And again, this is not really an xmonad issue. You are fighting against the essential incompatibility between Xkb keymaps and xmodmap with respect to any modifier whose behavior is hardcoded into an Xkb keymap, a problem which has been known for years (the XFree86/xorg folks have tried to deprecate xmodmap many times since Xkb was added because of this incompatibility, but users won't use complex-looking Xkb mechanisms to e.g. swap caps lock and control keys).
I'm not saying this is an xmonad issue as such, I'm saying that when I'm using xmonad, weird stuff happens when I use xmodmap to clear my numlock key. The same weird stuff does not happen when I use KDE or Fluxbox. These two WM's happily accept my .Xmodmap file and numlock stays disabled without other keyboard shortcuts being affected.
This *cannot* be fixed in xmonad; the problem is happening in the guts of the keyboard driver in the X server, and by the time xmonad gets involved it's far too late to deal with it.
I guess I need to find myself an Xkb wizard and bribe him/her to help me kill the numlock key the right way. Does anybody here happen to know such a person? :) Thomas Løcke