[xmonad] Bug in X.A.Submap

Brent Yorgey 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.
> 

Applied, thanks!



More information about the xmonad mailing list