[xmonad] Bug in X.A.Submap

Khudyakov Alexey alexey.skladnoy at gmail.com
Wed Aug 5 17:16:08 EDT 2009


On Воскресенье 26 июля 2009 20:25:49 Brent Yorgey wrote:
> 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.
>
> Applied, thanks!
>
BTW this patch fixes issue 295. 


More information about the xmonad mailing list