Hi all,
I've just pushed (what I hope is) an exciting patch to XMonad.Util.EZConfig. It now exports a bunch of functions for parsing keybindings, emacs-style. That's right, instead of typing
((modMask x .|. shiftMask .|. controlMask, xK_F12), action)
or other such boilerplate drudgery, you can now just say
("M-S-C-<F12>", action).
Submaps are also supported -- just do something like
("M-x p", action1)
("M-x q", action2)
and it does the right thing. Detailed documentation is included, so look there for a more thorough explanation and examples. As always, comments, bug reports, and patches welcome.
Enjoy!
-Brent