I've developed an xmonad configuration file for using this window manager with the Palm Pre smart phone. (I described how I run X on the Pre in VNC here.)

The tricky part is that the Pre has absolutely no keys or key combinations that can be stolen by xmonad and used as the mod key.

So at first I looked at using xmonad's support for gestures. That would be a perfect fit with the Pre. But, if taps are bound to gestures with no mod key, xmonad eats them all. Applications receive no taps! Not good.

I also tried using a submap. But, the key that triggers a submap never gets sent through to the application, even if none of the actions in the submap are triggered. Xmonad could handle these things better..

Instead, I had to use PalmVNC's support for sending special keys via a menu. So the mod "key" consists of tapping the Menu icon in the emulator (on the left hand side) and then pressing "a".

Thus, to start a new terminal, use "Menu a x"; to close a window use "Menu a c"; to change layout, use "Menu a space"; and you can read the rest of the bindings in the config file.