From 63635f970384c01ae4cc6dfd70ea5efc77a4b145 Mon Sep 17 00:00:00 2001 From: Khudyakov Alexey Date: Tue, 23 Jun 2009 18:46:53 +0200 Subject: Clean Xkb masks in X.A.Submap Ignore-this: 930e2bca230d5f403bf9c06650afc57b Xkb adds its own mask and prevent Submap keybindings from normal functioning when alternate layout is used. This patch cleans these masks. darcs-hash:20090623164653-7ba7e-d80f4f1ac09f4985e8d3ed9d2885a2c80058cb83.gz --- XMonad/Actions/Submap.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'XMonad/Actions/Submap.hs') diff --git a/XMonad/Actions/Submap.hs b/XMonad/Actions/Submap.hs index 469f97d..a4e2cd9 100644 --- a/XMonad/Actions/Submap.hs +++ b/XMonad/Actions/Submap.hs @@ -18,7 +18,7 @@ module XMonad.Actions.Submap ( submap, submapDefault ) where - +import Data.Bits import XMonad hiding (keys) import qualified Data.Map as M import Control.Monad.Fix (fix) @@ -74,8 +74,8 @@ submapDefault def keys = do if isModifierKey keysym then nextkey else return (m, keysym) - - m' <- cleanMask m + -- Remove num lock mask and Xkb group state bits + m' <- cleanMask $ m .&. ((1 `shiftL` 12) - 1) maybe def id (M.lookup (m', s) keys) io $ ungrabKeyboard d currentTime -- cgit v1.2.3