aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Actions/Submap.hs
diff options
context:
space:
mode:
authorKhudyakov Alexey <alexey.skladnoy@gmail.com>2009-06-23 18:46:53 +0200
committerKhudyakov Alexey <alexey.skladnoy@gmail.com>2009-06-23 18:46:53 +0200
commit63635f970384c01ae4cc6dfd70ea5efc77a4b145 (patch)
tree2b053aaa2aeb4170b238c50281b447183cf87184 /XMonad/Actions/Submap.hs
parent0cf2a2fd9f28b4f29b5ce66dbf21730f6f4cb87d (diff)
downloadXMonadContrib-63635f970384c01ae4cc6dfd70ea5efc77a4b145.tar.gz
XMonadContrib-63635f970384c01ae4cc6dfd70ea5efc77a4b145.tar.xz
XMonadContrib-63635f970384c01ae4cc6dfd70ea5efc77a4b145.zip
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
Diffstat (limited to '')
-rw-r--r--XMonad/Actions/Submap.hs6
1 files changed, 3 insertions, 3 deletions
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