You can use this module with the following in your ~/.xmonad/xmonad.hs:
import XMonad.Actions.Warp
then add appropriate keybindings to warp the pointer; for example:
, ((modMask x, xK_z ), warpToWindow (1%2) (1%2)) -- @@ Move pointer to currently focused window
-- mod-ctrl-{w,e,r} @@ Move mouse pointer to screen 1, 2, or 3
[((modMask x .|. controlMask, key), warpToScreen sc (1%2) (1%2))
| (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]]
Note that warping to a particular screen may change the focus.
warpToScreen and warpToWindow can be used in a variety of
ways. Suppose you wanted to emulate Ratpoison's 'banish' command,
which moves the mouse pointer to a corner; you could define:
banish :: X ()
banish = warpToWindow 1 1 -- lower left
|