Haskell Graphics.X11 keysym definitions
First look to see if the XMonad.Util.EZConfig module supports the key you are binding. EZConfig bindings use a more human friendly syntax than the default raw haskell bindings. An example is:
-- See xmonad-extras for mpd and volume tools nicer -- than a collection of shell scripts. ("M-S-<XF86AudioMute>", spawn "mute-it.sh")
- Here is xmonad-extras.
If you need something EZConfig doesn't provide, see the hackage X11 package page has links to the current Types and ExtraTypes.* modules where keysyms are defined. Types contains the basics, media keys are in ExtraTypes.XF86, and international keyboard symbols are in Extra.Types.XorgDefault
You can also search in
/usr/include/X11/keysymdef.h and lower-case the first character (XK* becomes xK*).