data KeyCode = KeyCode Int instance Eq KeyCode instance Ord KeyCode instance Read KeyCode instance Show KeyCode data Pressed = Pressed | Released | MultiClick Int instance Eq Pressed instance Ord Pressed instance Read Pressed instance Show Pressed type KeyLookup = String data Detail = NotifyAncestor | NotifyVirtual | NotifyInferior | NotifyNonlinear | NotifyNonlinearVirtual | NotifyPointer | NotifyPointerRoot | NotifyDetailNothing instance Bounded Detail instance Enum Detail instance Eq Detail instance Ord Detail instance Read Detail instance Show Detail data Mode = NotifyNormal | NotifyGrab | NotifyUngrab | NotifyWhileGrabbed instance Bounded Mode instance Enum Mode instance Eq Mode instance Ord Mode instance Read Mode instance Show Mode data Visibility = VisibilityUnobscured | VisibilityPartiallyObscured | VisibilityFullyObscured instance Bounded Visibility instance Enum Visibility instance Eq Visibility instance Ord Visibility instance Read Visibility instance Show Visibility data ClientData = Byte String | Short [Int] | Long [Int] instance Eq ClientData instance Ord ClientData instance Read ClientData instance Show ClientData
XEvent
type. Most of them correspond directly
to things defined in the Xlib library.