diff options
Diffstat (limited to 'src/Rahm/Desktop/RebindKeys.hs')
| -rw-r--r-- | src/Rahm/Desktop/RebindKeys.hs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Rahm/Desktop/RebindKeys.hs b/src/Rahm/Desktop/RebindKeys.hs index 0b4d768..040946f 100644 --- a/src/Rahm/Desktop/RebindKeys.hs +++ b/src/Rahm/Desktop/RebindKeys.hs @@ -77,6 +77,15 @@ doGrab dpy win (keyMask, keysym) = do forM_ codes $ \kc -> mapM_ (grab kc . (keyMask .|.)) =<< extraModifiers +doUngrab :: Display -> Window -> (KeyMask, KeySym) -> X () +doUngrab dpy win (keyMask, keysym) = do + let grab kc m = io $ ungrabKey dpy kc m win + + codes <- io $ getKeyCodesForKeysym dpy keysym + + forM_ codes $ \kc -> + mapM_ (grab kc . (keyMask .|.)) =<< extraModifiers + disableKey :: (KeyMask, KeySym) -> WindowHook disableKey key = remapKey key (return ()) |