[xmonad] Bug in X.A.Submap
byorgey at seas.upenn.edu
Sun Jul 26 12:25:49 EDT 2009
On Tue, Jun 23, 2009 at 08:58:04PM +0400, Khudyakov Alexey wrote:
> On Суббота 20 июня 2009 12:59:02 Khudyakov Alexey wrote:
> > On Суббота 20 июня 2009 07:37:03 you wrote:
> > > According to X11/extensions/XKB.h, modifier mask bits starting at
> > > (1<<13) indicate group state. (See XkbBuildCoreState() which builds
> > > an event value when Xkb is active.) I think you want this; while I
> > > don't know the Russian keyboard layout, xmonad's default key bindings
> > > are less than mnemonic if you're using the Hebrew or Arabic layouts :)
> > > so you may want to define a separate, mnemonic key mapping for use in
> > > Russian.
> > >
> > > (The flip side of this is if you change the group number the Russian
> > > layout maps to, you need to make the same change to your xmonad key
> > > bindings; this strikes me as bad.)
> > I think key binding should work regardless of current layout. At least
> > normal (not Submap based) key bindings works this way.
> > So masks >= (1<<13) should be filtered out. I'm not sure where groupmasks
> > should be stripped. It's possible either in xmonad's core function
> > 'cleanMask' or in Submap itself. I coded latter variant and it works.
> Here is patch which fixes Submap.
> * Clean Xkb masks in X.A.Submap
> Xkb adds its own mask and prevent Submap keybindings from normal
> functioning when alternate layout is used. This patch cleans
> these masks.
More information about the xmonad